Friday, March 30, 2007

My New Toy

I am proud to introduce...the Staedtler Professional General Purpose Template.
it's fer drawin' circles 'n whatnot

Strange Energy

This morning on my drive to work, I felt a kind of weird energy, like a slight charge of anticipation and excitement. It's the kind of feeling you might have after a promising first date. I'm not sure what it's about, but let's speculate.

"Wet bus stop, it's raining, his car is warm and dry"
I got a ride downtown from my professor last night after class, since it was snowing. (It's been very warm lately and then blam! spring snow!) It wasn't that exciting, but I couldn't pass up the opportunity to quote Sting.

My software engineering principles class is working on a project, and it hasn't been going that well for a couple of weeks, but last night we really sat down to design our database schema. I love designing databases, so it was right up my alley. But what was more salient was another thing, which is that the one other smart, diligent person in my class (out of the five of us), Warren, was the main one arguing with me about all of the decisions. (Only three of us even showed up - me, Warren, and a guy who isn't too bright.) So Warren, Dr. Paul, and I spent basically two hours hammering out a lot of this database design, and it was wonderful how it worked, the way that Warren and I were able to argue cogently with each other and bring up all kinds of possible situations in which one design or the other might be superior. It's rare that I've had this kind of experience in any group, much less a school project. I've respected Warren for a while, so this was just like a little capper.

Weekend Plans
Near the end of that class, we each committed to "deliverables" for Tuesday. I volunteered to write the code (PHP) to create the database that we hammered out. (Our design of it is not completely finished, but we did complete a lot of the schema.) This is a big deliverable (to judge by the reactions to my suggestion that I would do it), and it should take me a while, but it feels very doable - I know how to do it, and it's just a matter of actually doing it.

Meanwhile, in my Geometry class, we got another problem set. It's due next Thursday, and I'll probably need to spend a fair number of hours on it. Like the exam, the problem sets usually take a lot of both working time and non-working time where my brain can just mull on the difficult problems, so I need to work on this early and often. (If you're curious, you can see the problem set here.)

Meanwhile, our grant project will be winding to a close soon (there are about six weeks left in the semester), and we haven't accomplished much this semester, though overall we've accomplished what seems (from the outside) like a fair amount. Dr. Paul, who is also the advisor for that, wants us to write a small paper for a conference he thinks we can get into, and we need an abstract for that paper next week. So the idea at this point is to figure out what the paper should say (we actually do have enough material/ideas to write a small paper), write the abstract, and then figure out, based on what the paper should say, what we absolutely have to finish to be able to write the paper. (In other words, if the paper should contain a screen shot of a particular thing, we need to make the thing that will create the screen shot.) This is as good a way to organize our remaining work as anything, and a bonus of writing the paper (besides possibly getting into the conference, which publishes a journal of its proceedings) is that we should be able to fairly easily rework it into our final report for the funding agency.

This all adds up to a lot of work I need to do this weekend. Unlike what you might think, I feel pretty energized thinking about getting up tomorrow morning and tackling this stuff.

It's Friday! In addition to the usual Fridayness that everyone can appreciate, Friday night is when I have my date with Mosch. Mosch and I don't get to spend enough time together lately, and he was in Houston all last week, so I'm especially looking forward to hanging out tonight.

I'm meeting another friend (Ed) for dinner Saturday night. It's not quite a date, but should be fun anyway.

My iPod, which plays random stuff from my entire music collection on my desk at work all day, has been choosing mostly Bob Dylan, Leonard Cohen, and Tom Waits all morning. It seems like it's trying to tell me something, but I'm not sure what. (Be more cynical?)

Thursday, March 29, 2007


Mathematica logo used entirely without permission After years - or at least a few semesters - of lusting for it, I finally gave in and bought Mathematica. I purchased the Student Edition, which is just like the regular addition but cheaper, for $130; the regular edition is about $900.

Mathematica does so much cool stuff, I can't begin to understand or describe it all. It graphs stuff in 2 or 3 (and probably more) dimensions. It solves everything I've ever heard of and way more stuff I've never even heard of, not just numerically but algebraically. You can write animations, you can use it as a programming language, you can make fondue with it! (OK, maybe not that last one.)

Sally was curious whether Mathematica would prove useful or merely cool, and this is something I have thought about. In my dream life plan where I always take a math course, I can't see how Mathematica wouldn't be useful - it certainly would have helped me in most of the math courses I've ever taken, including the Geometry course I'm taking now. And in the even dreamier life where I become a math teacher, well, all the math teachers I've had recently have used Mathematica to make cool handouts, display animations to the class, and for assorted other nifty purposes. And I just really want this as a tool in my general arsenal of life.

Wednesday, March 28, 2007

My Geometry Test

Don't worry, this post is not about math. Honest. (Alternately: don't get excited, this post is not about math.)

Three weeks ago, we were given a take-home test in my Foundations of Geometry course. We had one week to complete the test, and were allowed to use any sources available to us, including friends and classmates, as long as we cited them, and as long as the work we submitted was in our own handwriting and based on our own understanding. (In other words, you could have someone explain to you how to work the problem, but then you should work it.) If the professor was in doubt about your understanding of what you submitted, he might ask you to solve it in front of him with no sources, for instance.

I got this test on a Thursday. It had 6 problems, some with two parts, and I worked on it all weekend. (By "all weekend" I mean I spent about 10 hours on it over the weekend.) I had been to every class session and felt I understood the material as well as anyone in the class, but the test asked us to do things we had never been shown. By Sunday night, I had completed 3.5 of the 6 questions, or 58%. That's an F.

I was feeling pretty bad about my chances, but forced myself to work on the test consistently during the week. I had known already that some of the questions would likely take a lot of "brain processing time," so I was sure to attempt every question over the weekend, just so my brain would have the material to work on while I wasn't doing anything.

Over the week, as a result of my work and thinking, ways of solving these problems eventually came to me. Wednesday night, I had finished 5.5 out of 6 problems, correctly I thought, and had an idea about how to approach the last 1/2 problem. I figured this would be enough to get me an A, even if I didn't quite correctly solve the last 1/2 problem. I ended up taking what I thought was a good stab at that problem though I wasn't at all sure my answer was correct.

I ended up with a 97 on the test, which was higher than I'd hoped for, and obviously a very pleasing grade. I have no idea how the class as a whole did. (I felt a bit pessimistic because some people were saying things like "That test took me 8 hours!" and I was like "8 hours?? You did that all that in 8 hours?!")

This story is pretty boring, perhaps even self-aggrandizing, until you consider that this type of experience - consistent applied effort towards something originally impossible-seeming leading to success - is very rare for me. Usually I either succeed at something pretty easily or I give up. Usually I put off assignments until the last minute, which in this case would have resulted in an F (considering that the entire weekend was only enough to get me 58% finished).

I didn't really enjoy the anxiety I had to go through with this test, but I'm really pleased that this course - which I chose for my degree plan partly because I thought it would force me to work hard to think through problems - is providing an experience where effort correlates to results so closely. It should help me move away from the model where I am either smart or stupid at something, and towards a belief that I can succeed at even difficult things if I keep working at them.

I reserve the right to change my mind if I end up with a C in the course.

Friday, March 23, 2007

Estimation vs. Guessing

When I was a kid, some book I had contained an exercise like this. Try to guess how big around your waist is, it said. It probably had a space to write down your guess. Then it recommended a technique for getting an estimate. Put your hands at your sides and use them to estimate how wide you are at the waist. Now assume your body is pretty circular. If you multiply your estimated width by 3, which is approximately pi, you can get an estimate of the circumference (diameter * pi = circumference of a circle). If you write down that estimate and then actually measure around your waist, it's probably much closer than your original guess.

I don't know if this book was trying to make a point about estimation or one about geometry, but lately the idea of estimation has come up a lot in my life. I think current school curricula for kids put more emphasis on this than when I was a kid too.

In any case, recently in our Software Engineering Principles class, Dr. Paul asked us to discuss amongst ourselves how we would set up a software testing program, how we would estimate the time that the testing would take, and how we would decide when testing was finished. So we talked about this for a few minutes, sharing what we'd learned from various readings, until the conversation ground to a halt.

"Are you done?" he asked us. We nodded, more or less.

"What did you decide?" he asked.

Our general answer was along the lines of, "Nobody knows, you can't really estimate it, and anything you come up with is just going to be kind of a way to justify your gut, so you just kind of release the software when you think it's ready."

He became theatrically angry with us. His general point was that any method of estimation would be better than a guess or "gut feeling" and that if he would accept a guess or gut feeling from anyone, it would be people with years of experience running successful projects, not a bunch of college seniors. Oops.

Let me give you a sense of how hard it is to estimate "how long testing will take." You could do it like this:

  • Our software has 100,000 line of code.
  • We know from the literature that very good programmers usually introduce about 4 bugs per line of code if the code is not too complex.
  • That means our software has about 400,000 bugs.
  • Except we had some really good reviews while we wrote this, so we bet we found half of 'em already, so there might be 200,000 bugs left.
  • Our software isn't that important (it's not for a cancer radiation machine or the Mars rover or whatever), so we can release it when 85% of the bugs are gone.
  • This means we need to find and fix 170,000 bugs in order to release our software.
  • We have a team of 20 people and we think each person can find 15 bugs per week. We think we can fix them at about that rate too.
  • So we estimate it will take about 57 weeks to test and debug this software.
Now let me point out that this is not a very good way of estimating this; an experienced person might well scoff at it. Common sense suggests that all of the numbers used could be way off.

Nevertheless, if you instead just "guess" how long testing will take, you'll most likely be off by as much as an order of magnitude (so you might guess 2 months when it will really take 20 months). Any intelligent estimation technique will get you much closer than that.

The other advantage of estimation over guessing is that you can learn from mistakes. If I made the estimate above for an actual project, and the testing instead took 80 weeks, I could see places where the model was wrong - were there way more bugs than we thought? did people find a lot fewer per week than we guessed they would? were we still finding really critical bugs even when we were no longer finding very many bugs in general? This would allow me to make a better estimate for the next project. It is much harder to adjust your gut; you can only use very crude adjustments like "I'm always too optimistic" or "things take twice as long as I tend to think."

Sometimes time estimation can brighten your day too. If you have a stack of 200 forms to process, it might feel like you'll never finish, but if you time yourself while you do 5 and find that 3 minutes have elapsed, you know you can finish in two hours, not counting breaks. So really, if you're starting in the morning, you'll easily be done by lunch.

Budgeting is another example of estimation's superiority over guessing, but that's a whole topic of its own.

Stand Back!

from After resisting buying any more nerdy t-shirts for months - months, I tell you - I finally let myself buy two. This one, from xkcd, came in the mail yesterday. It's gorgeous - even better than I hoped. The design is very large on the shirt and very detailed (you can see the buttons on the calculator).

Friday, March 16, 2007

A Geek's Story

I continue to read I Blame the Patriarchy despite its excessive anti-patriarchalism (aka too-radical feminism). But this entry "A Geek's Story" is just delightful, and you don't even have to be a feminist to enjoy it. Try it and see!

Thursday, March 08, 2007

Blog Against Sexism Day

According to Amanda Marcotte on Pandagon, today is Blog Against Sexism Day. (It is also International Women's Day.) This is something I feel pretty strongly about, so I'll try to put together a semi-coherent post. Marcotte's is better and I highly recommend it.

One question she asks is
When did you become a feminist? Either when you embraced the word or when you realized that sexism is still a problem and that feminism is still necessary?

This is a tricky one for me. As a very young child, I already had some feminist instincts, which I can only assume came from my mom. I remember my grandmother telling me, "Act like a little lady," and how much it rankled me. Being anti-feminine, as I have been as long as I can remember, is not identical to being feminist, but the two are related insofar as one agrees that femininity is a social construct to keep women down, or, alternately, a coping mechanism that allows women to survive under patriarchy.

At the same time, there were always giant gaps in my feminist understanding. I remember one time at church (First Unitarian in Houston), I visited the women's group because Houston's mayor (Kathy Whitmire) was giving a speech there. After the speech, a woman from the group cornered me (as I perceived it) and demanded to know whether I was a feminist. I think I probably stammered that I was a humanist. My view of this incident is different now, but I remember complaining to Mosch about it later. I had a resistance - one I think is typical to people my age - to describing myself as a feminist. Didn't it imply valuing women above men? Wouldn't it be wrong to consider oneself a masculinist? etc.

A more important area in which I was wrong was that my sexuality had too strong an emphasis on pleasing men. I believed that being "good in bed" (by which I meant "able to please a man") was important - far more important than getting pleasure myself. (I would have described this differently at the time, probably explaining that giving pleasure to another was how I got off.) Because of this and because I am slightly tricky to bring to orgasm, it took many years for me to learn as much as I now know about my own body.

In general, I had the view that men will not stick around, or will suffer unduly, if they don't have orgasms whenever they want them. I had an early boyfriend who definitely encouraged this view. There were many other ways in which I failed to be adequately selfish in that early relationship, especially sexually.

I remember learning that a friend of mine would, if she got tired of having intercourse (during the act, I mean), actually just stop (say "I'm done" or whatever). That kind of blew my mind at the time - wasn't it your obligation as a decent human being to continue until the guy came? Wasn't the decision to fuck basically a contract?

Well, no. I don't mean to portray myself as a totally selfish jerk - I am actually a pretty generous lover, all things considered - but I have gotten over my early ideas that (a) a man will die or be harmed by not having an orgasm, and, more importantly, that (b) a woman's duty is to be a receptacle for male pleasure. (Of course, I would never have said otherwise, but I think that was the basic idea underlying my attitudes.)

There is lots of stuff at the Pandagon post I linked earlier that is more germane to global feminist aims, so I won't address that here, but just leave this as a report of (some of) my personal experiences. Of course sexuality is not the only area in which I think feminism is important, even on a personal level - but it's one thing.

Friday, March 02, 2007

Doctor Visit

Today I visited "Dr. Lisa," the family practice physician currently being seen by my entire household. (Sweet, isn't it?) This was my first time to see her, and my first time in about three years to go in for my physical and whatnot. (I did visit the Health Fair last spring and get my bloodwork done.)

As I'd been told beforehand, Dr. Lisa was great - she took plenty of time to ask me lots of questions, and to listen to my concerns. (When I told her my maternal grandmother died of ovarian cancer, after telling her my dad and his parents all have Type II diabetes - from which my dad died last year at the age of 53 - she said, "You have a sucky family history!" Heh.)

Her other comment, later, was, "Boy, you really do not like to have your cervix touched." This is very true, but I survived, as usual.

[Note: Anyone with blood phobias - hello, Sally - should stop reading now. I'm inserting a pleasing graphic to ensure total isolation.]

See, isn't this pleasing?

When she was done with me, she sent me to get my blood drawn by one of her assistants. I used to have a lot of trouble getting blood drawn, but lately I've been fine. I basically got over my blood-draw phobia by donating blood a few times. This had the negative effect of making some of my veins no good, but I also got much calmer about having blood taken. The last time I got tested for stuff - at the Health Fair - I had no trouble at all.

Unfortunately, today was difficult. The first time the woman stuck me, it didn't hurt at all. The bad news was that it also did not pierce a vein at all. She worked in that area for a while, with increasing amounts of pain, but got nowhere, and gave up to find a different spot (nearby, as it turned out). The second attempt was very painful but successful.

I didn't like how it felt, but I was fine - after all, I am a trooper about this stuff now. I told her how they sometimes have to take it from the back of my hand, and how one person once took it from my wrist. (They use tiny needles for this and it takes forever.) I told her how the next person, after the wrist person, said, "Don't ever let them take it from your wrist! Have them do the back of your hand!"

Then I said, "We have to stop talking about this," because I was starting to feel faint. She started asking me questions about where I work, and I was answering for a bit, but then I just started feeling worse and worse and couldn't answer. I tried desperately to think of other things. Blood was rushing in my ears and I leaned over to put my head on my hand. She called in another nurse who put a cold compress on my forehead. I just felt worse and worse until I felt I could not take much more.

Eventually I managed to mutter, "Are you almost done?" and the other woman who had come in said, "She's already done, honey," and I said, "...oh, I didn't know she was done..." and she said, "That's because you were out." Oh.

I could have sworn the needle was still in, but sure enough it was gone, a band-aid was there, and the rubber-bandy tourniquet was also off my arm. After a minute, they walked me very cautiously to an exam room where I lay on a table for a few minutes and drank some Hi-C before gradually sitting up and being allowed to leave (with an admonition to eat something on the way to work; I'd been fasting for the blood tests, though I didn't feel hungry at all, even before passing out).

They made a note on my chart and will have me lie down in the future. I know this isn't uncommon but I was surprised that it happened to me, especially since lately I have not been phobic about this at all. I am also surprised how terrible it feels to pass out.

Thursday, March 01, 2007

More on Self-Efficacy and Praising Kids

(Update: Sally over at Empirical Question has a great, longer commentary on this article.)

Via Uncertain Principles, I discovered this New York Magazine article ("How Not to Talk to Your Kids" by Po Bronson, 2/19/07) about exactly what I was writing about the other day - praising kids for their efforts versus their intelligence.

The article is about a study by Carol Dweck and others from Columbia University, where they took a group of fifth graders and gave them an easy puzzle task (easy enough that everyone would do pretty well). After the test, each child was praised either for their smarts or for their effort, with a one-line remark. Being praised for smarts vs. effort had a variety of surprising negative effects on subsequent performance in the experiment. (Read the whole article if this is up your alley; it's pretty interesting.)

This type of research feels very meaningful to me, because I grew up as a smart kid who almost never worked hard at anything. ("Grew up as?" Try "still am.") I have, or used to have, a seemingly instinctive feeling of slight contempt for people who work hard, especially in an academic setting. (As the article says, "Expending effort becomes stigmatized—it’s public proof that you can’t cut it on your natural gifts.") Every bad effect described in that article (giving up on difficult tasks too soon; feeling unreasonably insecure about my abilities; unwillingness to work hard at something) is one I have observed in myself.

Contempt for effort is a really wrong value to hold. From a kind of touchy-feely moral perspective, people can't control their innate talents, while they can control how hard they work, so working hard is morally preferable to being talented. And, more importantly, working hard is what determines your results relative to your talent, and to some extent regardless of your talent. And out here in the "real world", almost anyone would (rightly) prefer to work with a diligent person of ordinary talents than with a lazy smarty-pants.