Friday, April 29, 2005

But, whaddya mean the domain model shouldn't capture everything?

One of the problems I'm currently looking at is how to capture real-time domain knowledge in such a way that it can be machine-checkable against the implementation. Admittedly, that's a big sentence filled with big words, but let me give an illustrating example. Suppose you're bouncing a basketball on the ground. This is an control system, because you are trying to bounce the ball against the imperfect ground in a 1-G environment just right so that it gracefully returns to your hand with each bounce. Too much bounce last time? Well, then you'll stop it a bit with your hand. Too little bounce last time? Well, then you'll hunch over a bit to reach it and bounce it a bit extra. Similarly, a rocket is a control system. Using trajectory feedback, engineers and scientists write software to keep the rocket pointing at the right angle and going the right speed to escape the atmosphere of Earth.

Let's suppose that, without telling you, I replace the basketball with a similar-looking ball, but made of extra bouncy material. Now, when you bounce that ball with the same amount of force you'd use for a basketball, the bouncy ball is going to go out of control, likely hitting the ceiling or bouncing into the street. This what happened with the Ariane 5. The same horizontal control from the Ariane 4 was used for the Ariane 5, though it was a much faster rocket. The rocket went faster than expected by the software, an uncaught exception occurred, and the rocket went on a self-destructive spree.

What happened with the Ariane 5? There are a number of really smart people who have opinions about how it could have prevented, but I think it boils down to a bad model. Somewhere, likely in a really dark closet or desk drawer, there was a document which stated that "The rocket goes XX mph." Somewhere else, there was a very unreadable line of code which stored the speed of the rocket in a variable big enough for XX mph. The very unreadable line of code was reused for a faster rocket without re-reading the dusty document. Certainly, it's hard to point fingers at any one person. When I was a programmer, I didn't have access to the models that the well-paid software architects were concocting miles away at our headquarters in Alameda. But wouldn't it have been nice if there were some magical compiler that, when that poor entry-level programmer tried to reuse the control software on the Ariane 5, said, "Ah ah ah! You should re-check your original assumptions about the speed of the rocket before doing that!"

Most of research involves reading other people's ideas about things. Currently, I'm reading "Domain-Driven Design" by Eric Evans. It's a nicely written, down-to-earth book about how to incoporate domain models into the software design process. To be clear, the word "domain" simply means "the world" to software engineers. Except that, for most software, programmers don't have to worry about the WHOLE world. A domain model is simply a description of all of the things in the world that programmers do have to worry about. For example, rocket scientists don't need to worry about the weight of a kitten, but they do have to worry about the gravitational pull of the earth.

I paused at Evans' following statement,
The trouble comes when people feel compelled to convey the whole model or design through UML [Unified Modeling Language].
I'm one of those people. I don't necessarily use UML, but what I'd like to do is capture every detail about the final implementation in the domain model such that we have some kind of "Ah ah ah!" checking mechanism like the one I dreamed up two paragraphs ago. I'm wrestling with my own visions about improving the ways that people write code for dangerous devices (like rockets), and what Evans is saying about the bad habits people have when modeling domains.

Some people, and I'm one of them at times, have the vision that someday a person will be able to write an English description of what she wants her code to do, and some magical translation will occur to generate the code given that description. More and more, I don't think that it's possible, much less desireable. Besides, it would put me out of work.

OMG, I'm a sexist pig!

For my close friends, it's hardly news that I've been having trouble with graduate school. Advisor politics are tricky, and I'm still not sure how to navigate those murky waters. In a total happenstance, I went to an awards assembly with a best friend of mine, and witnessed a female professor given mentoring award for her 41 years of service to the math and computer science departments at our university. I'd met this professor 3 years earlier on a panel discussion, but forgotten she'd been recently appointed to a graduate advisor position. I made an appointment with her the next day.

After telling her about my delicate situation, she asked me about my research. For 3 nanoseconds, I thought, "She wouldn't understand." I checked myself, remembering that she's been doing research almost twice as long as I've been alive. I explained it to her. She joked with insightful comments. The conversation was positive, and I was sent out of her office, knowing how to handle my situation. There's a very good reason why this woman won an award.

But for those 3 nanoseconds, I was a sexist pig. I immediately assumed that, because she's a woman, she wouldn't understand my computer science research. Me! I am a woman in computer science who is constantly on the battlefield fighting for female-friendly improvements to my field, but I still paused with such sexist thoughts, making me no better than Misogynist Bill. If I think sexist crap like this about her, then what do other people think about me?

I've been thinking about those 3 nanoseconds these past few days, basically trying to find excuses for my lewd behavior. The first excuse is easy. I haven't had a female professor for 11 years. The last female professor I had was Sr. Sandra E. Lincoln, S.H.C.J., Ph.D. (a doctor and a nun) at my little Catholic university. She was fabulously throughough at teaching Chemistry, and recently won the James Culligan Award for teaching in 2000. I took Chem 101 in 1994, and I haven't had a female professor since, with the exception of the fabulously edgy, female graduate student teaching my "Programming for Artists" course last Spring in the Art & Design department.

The second excuse is that there just aren't too many women in computer science. Recent studies show that the number women in CS are at an all-time low. If you take a look at the graph, you might immediately ask, "What was so special about 1983?" In that year, the female to male ratio in computer science was 2:1 and the number of women in the field hit an incredible peak. I'm sincerely convinced that pop culture has something to do with it. I've haven't any studies to back this up, I've got only anecdotal evidence. Working with girls in junior high school allows me to keep my finger on the pulse of pop culture. Five years ago, ask a girl in junior high school student what she wanted to be, and it was "Neonatal Nurse" or "Endocrinologist." That same year, E.R. was one of the most popular shows on TV. This year, it's "Ballistics Expert" thanks to C.S.I.

1983 was the year that we watched Ally Sheedy outrun Matthew Broderick in the very tech-savvy movie "War Games." It was one of the hottest years of personal computing, and the year that Apple introduced the Lisa, one of the few "feminine" personal computers. Sally K. Ride was the first female U.S. astronaut, getting launched into space on June 18, 1983, though soviet cosmonaut Valentina Tershkova had been the first woman in space almost fifty years earlier. I don't know if any one of those things is the reason for that peak in 1983, but I can say that it's been awhile since I've seen a female astronaut highlighted in the news, or since I watched a movie or TV show in which a girl programs a computer, excepting the 1995 cult classic in which Angelina Jolie plays a character with the handle "Acid Burn." But cult classics are sub-culture, not pop culture. Instead, we've got crap like 1994 Barbie dolls saying "Math is Hard." and shows about women who wear horridly uncomfortable shoes, talking about sex with Mr. Big week after week.
The third excuse is that I don't really talk about research to women. There are no other women in my research group, and the professors I work with are all men. When my girlfriends and I get together, I don't talk about research, so much so that my awards assembly best friend still isn't really sure what I actually do. I'd much rather talk about other things when I'm off the clock. This makes me quite different from most of my male counterparts, who can be found discussing compilers during a Friday evening happy hour at the local bar. Still, the guys who would rather talk about politics, good beer, books, and movies do exist in CS. They are admittedly rare, and to prove it, I'll happily report that I'm dating one.

No matter how many excuses I name, I'm still a sexist pig. If anything, I have a renewed fervor for getting more women into this field, before I start asking random female undergrads to bring me my coffee and take notes for me.

Monday, April 25, 2005

Misogynist Bill says Blogger is "girly."

Upon hearing a conversation between my friends and I about Blogger versus LiveJournal, Misogynist Bill notes, "That's so girly. I just blog on my own webserver." Horrified, I replied, "What the hell is girly about it?" He laughed and said, "You know."

I won't mention why I call Misogynist Bill by that name, because the topic is too infuriating for me to type it here. The point is that, according to M.B., "girly" means "for people who would rather do other things like watch movies, exercise, hang out with friends, and so forth, webserver maintenance is not for them." Honestly, I get plenty of computer time with my network simulations and my XML schema, neither of which I think is particularly girly. When I think of girly, I think of pink ruffles, frilly baskets, bonnets, and movies like "Princess Diaries 2" (which, by the way, my retired electrician dad thinks is better than the first).

Unfortunately, these notions of what is girly don't stop with M.B. The head of my computer science department was recently heard to have said, "Now that we have a larger HCI [Human-Computer Interaction] research group, we hope to attract more women." The graduate assistant head echoes similar statements. If I squint and rub my eyes really hard, I can sort of see what they are trying to say. This year our department accepted a pool of top students, of those only 9% were women. They want to attract more women any way they can, and there is a trend that more women are in applied areas such as HCI. But there's also a trend that there are more blacks in jails than whites. I guess to attract more African-Americans to our department, the powers that be should build a prison next to our building. It's a sick notion, but so are those about what is girly. Just because something is a trend doesn't mean you should feed it.

Still, I can't see why HCI is necessarily girly. It's a highly broad and technical field. It's not enough to know about computers. The folks in HCI need to know about psychology and statistics, not to mention how to run a good set of user tests in order to obtain worthwhile data without getting sued. Certainly, it's more applied than say Machine Learning or Theoretical Computer Science, but the meaty topics are still there. Moreover, HCI has direct applications to avionics, and killing people with missiles shot from planes certainly isn't girly.

Saturday, April 23, 2005

Noam Chomsky is my uncle

I just love being hit on by really stupid people. I went to a late night dance last night, and this guy in a stiff, white button-up shirt was telling me all about his adventures as his webmaster J.O.B. and how he was late to the dance because of work. After that thrilling story, he explained to me that his name was Jeff and not Geoff. I replied, "Who but Noam Chomsky would care about how you spell your name?" He was really surprised. Kind of giggling, he asked, "Wow! How do you know Noam Chomsky?"

Let's ignore the fact for a moment that Noam Chomsky has published a number of best-selling books on topics ranging from propaganda in the media to the hegemony of the U.S. I'll admit, I know who he is because of Chomsky-Normal form, a language construct I learned as a wee EE major in some 200-level course in 1996. Because I'm a 5'6'' blonde girl who knows how to dress fashionably and dance, it's completely inconceivable to Jeff-Not-Geoff that I would know Noam Chomsky because I couldn't possibly have read any books or have no knowledge of fundamental linguistics.

So I said, "He's my uncle."

He said, "Really?" He paused with a confused look. "Wait, isn't he kind of old to be your uncle?"

I said, "Well, he had a couple of illegitimate kids. One of them is my mom's sister."

And that was that. On the one hand, it was fun being able to convince him of such an idiotic lie. On the other, it was frustrating that to look at me, I am nothing more than a brainless girl with a big rack.

I have a solution to all of this. In my recent participation with advocacy groups for girls in science, I've found that all of them want to be ballistics experts. Why? Thanks to a little television show called C.S.I. What the CS field really needs is a television show with hot , fashionable, yet sassy chicks programming computers instead of swabbing for DNA. Then there will be more women in CS than ever before and poor jerks like Jeff-Not-Geoff will know better than to assume that women don't know who Noam Chomsky is.

Thursday, April 21, 2005

Nutrition Information

Tomorrow is Earth day. That's right, 35 years ago, a few crazy hippies got together and agreed that there should be a world-wide day in which Earthians are educated about how to live on this planet without screwing it up too much. I'd like to think that these guys were inspired by women like Rachel Carson, who, 12 years earlier published Silent Spring in which she said, "Hey dickheads, maybe the reason I'm dying of fucking breast cancer is because people are spraying fucking DDT everywhere." Well, she didn't really put it that way. She was a far more articulate scientist than I.

So, 35 years later, we end up with two different kinds of people. We have the people who throw away alumnium cans because it's just too inconvenient to return them to the store to get the deposit or, in cave-man states where deposit isn't available, take them to a recycling center. These are the same people that buy disposable furniture, disposable cars, and complain whenever a bunch of nutty environmentalists try to save a forest to protect the water table, or a endangered animal to protect an ecological niche. Then we have the people, like me, who are the nutty environmentalists that buy organic beef, unbleached toilet paper, and wear clothing made of recycled tires and plastic razors. The more extreme live in trees to prevent logging and live on the sides of city buildings just to be extra sassy. Sometimes we call these people "eco-terrorists" but in these dark ages, who isn't a terrorist?

With Earth day, my notion of eating organic foods is reaffirmed. It's also doubly reaffirmed by the idiot nutritionist at my university clinic who was educating me on my eating habits so to lower my cholesterol. It's really no surprise that my cholesterol is high given that my two favorite foods are bacon and bacon. I went with an open mind, hoping this women could be more helpful than the nurse that practically gave me an eating disorder when she told me that I'm obese as she jabbed me with a tetanus innoculation (by the way, could somebody please tell me why there's a woman serving a man coffee on the CDC tetanus info sheet?).

A typical exchange went like this:

Nutritionist: "Do you eat eggs?"
Me: "Yes, I eat eggs. I really enjoy eggs. But I try to keep to only two per week."
Nutritionist: "Well, you could eat an egg alternative such as egg beaters."

Such exchanges happened a number of times, and likely I rolled my eyes when she wasn't looking. My approach is to eat whole, nutritious food in moderation. Her approach to is to eat whatever crap is being marketed to poor assholes like myself whose cholesterol is points above the targeted 200. Among the ingredients in "egg beaters" are: natural flavor and xanthum gum.

As regulated by the federal government, a natural flavor is
the essential oil, oleoresin, essence or extractive, protein hydrolysate, distillate, or any product of roasting, heating or enzymolysis, which contains the flavoring constituents derived from a spice, fruit or fruit juice, vegetable or vegetable juice, edible yeast, herb, bark, bud, root, leaf or similar plant material, meat, seafood, poultry, eggs, dairy products, or fermentation products thereof, whose significant function in food is flavoring rather than nutritional.
Rachel Carson, may you rest in peace, if you can.

Sunday, April 17, 2005

Why don't you take notes for us?

I was a weird kid. When everyone else was struggling with their capital letters in second grade, I was already writing in cursive. I have a sample of my signature from fourth grade, and it's pretty much the same as my signature today. I take sinister pleasure in the precision of my block letters and the elegance of my script.

But at the same time, my handwriting has been my curse, thanks to the theories of the group dynamic and team building. In every group meeting, in every group project, in every science experiment I was the "secretary." Though, the feminist movement quickly changed "secretary" to "recorder" in high school. What it meant was that I never really got to look through the microscope in chemistry class because I was furiously taking notes. This haunts me even today in research group meetings where I don't get to contribute much to the brainstorming conversations because I'm furiously taking notes.

I've decided I want to be bad at handwriting again. The best way to do that is to start learning Hiragana.

Wednesday, April 13, 2005

I want to take him home and wrap him in a blanket

I have this saying, "I want to take him home and wrap him in a blanket." I said that once about my boyfriend's advisor, and he almost spit out the microbrew he was drinking. I've never been very good with colloquialisms, and was once heard saying, "That really blows my boat" in some weird mix of "toots my horn" and "floats my boat." I imagine this problem is genetic, since my mom often told me things like, "That guy couldn't pour piss out of a boot." As a kid, I always wondered how the piss got there in the first place.

In an effort to explain what I mean when I say it: I want to take him home and wrap him in a blanket.

My new favorite thing.

Monday, April 11, 2005

I'm sorry sir, you're going to have to come with us.

In an effort to relieve women from the domestic responsibilities that far exceed those of her American counterpart, Spain is looking towards passing a law which will include an equal balance of domestic work in future marriage contracts. Of course, my imagination runs wild at the idea. To think that a woman could call the police due to domestic inequity in her home. She could press charges of "assault with a lazy ass" and her husband would be thrown in jail overnight to cool off. But in reality, the law will mostly be attributed to divorce settlements. A man may not get as much time to see the kids if he didn't wash as many dishes and fold as many towels as his soon-to-be ex.

Still, domestic equity between men and women in America does not yet exist. A US Department of Labor Time Use Survey released in 2004 found that women do an hour more per day of housework than men. A 2005 University of Michigan study reports that women do an average of 27 hours of housework a week versus 16 hours for men. Some may argue that women have more time to do more housework since they work 8 hours less per week on average. More women than men have part-time jobs. However, this is a poor argument since there is a social expectation that women work part-time both because they generally have lower earnings from their jobs and because it's the women's "place" to raise the children and take care of the home. It's the man's "place" to work 80 hours a week to earn enough money to buy the family vacation in Tahiti and the 4 bedroom house in the suburbs. It's a pretty fucked up set of values if you ask me.

Friday, April 08, 2005

Maryland speaks up against Wal-Mart

In an effort to cut costs, Maryland has approved legislation which requires businesses to pay at least 8 percent of their payroll on health benefits. And by businesses, they mean Wal-Mart. Currently, 650,000 of Wal-Mart employees do not receive health-care. In response to this "uneeded intrusion," Wal-Mart spokesperson replied with the following:

Many of our competitors, let's face it, would like to continue to be rewarded for operating in ways that are less efficient.

It's good to see that at least one state government is not hesitant to slap Wal-Mart in the face for its poor labor practices. Practices, which many argue, cost taxpayers money while saving their shoppers money on sub-standard household items, such as car batteries which are over 6 months old. In a Berkeley report by Arindraijit Dube and Ken Jacobs, the families of Wal-Mart employees in California represent 40% of recipients of taxpayer-funded health care.

Thursday, April 07, 2005

Hello_World()

It's the post to christen this blog, like the bottle of champagne crushed against the Titanic's hull. Like the cellular phone, the blog was the thing I'd swore I'd never get. Look at me now.

It's hoped that this blog will contain: interesting news and computer science research tidbits, shamless plugs for my websites, and my new favorite things. Perhaps the "computer science research tidbits" will keep me focused on the goal of getting out of this graduate school gig.

A blog which saves time? Alert the Associated Press.

My new favorite thing.