Wednesday, February 22, 2006

Unhandled Exception

There, in a frame on the wall, is my diploma. Not a nasty, dirty, wet wall, but a white, clean, dry wall. It is my office wall, and that means there’s a computer nearby.

If you look carefully at my degree (thoughtfully paid for by my parents), you’ll notice a few things. My full name and the issuing school come to mind, but those are pretty common to all of the diplomas handed out on that sunny day in May of 2003. Bachelor of Science in Computer Science and Engineering. That’s what it says. It’s pretty long. So long in fact, that it barely fits on the same line. I’m pretty sure there isn’t a longer degree title issued from my school. But what do all of those words mean?

It means that not only do computers piss me off when they fail and get a “blue screen of death,” it also means that I am ultimately accountable for everything that has ever gone wrong with computers since the Greek Gods first graced humans with the abacus. Now, as any self-respecting American working in a corporate organization would do, I shift much of the blame onto my coworkers as possible to save my own ass. Joking aside (ahem), the truth is after having studied computers and software at length for the majority of my life, I have come to realize that now more than ever I wonder how the damn things work as frequently and reliably as they do.

Don’t believe me?

Count to 1 silently in your head. Did you make it? Good. How much did you get done in that one second? Consciously you only did one thing, you counted to 1. Unconsciously, you probably counted to 1 under your breath, ignoring my instructions, shoved some blood around your circulatory system, took a breath, blinked, took the image that was projected onto your retina and flipped it, divided some cells, swallowed, used countless muscles and nerves, and did a host of other bodily functions that I won’t even mention. Take a guess at how many things were going on in your body at one time in that one second that you didn’t even think about. What’s the number? Thousands? Tens-of-thousands? Millions? I don’t know, as I said I’m only a computer geek.

What I do know is that a modern desktop computer can do somewhere in the neighborhood of 2 to 5 BILLION instructions every second. Does it make mistakes? You betcha. All the time in fact – certainly more than you realize. There are actually all kinds of nifty methods that nerds way smarter than me have used to get that error rate down, or to recover so quickly from an exception that you don’t even notice it. In fact, computer scientists specifically design software to try to handle anything that an unpredictable human can come up with. That doesn’t stop most people from shouting obscenities at machines when something unexpected arises. Keep in mind, these are machines that are only doing what some imperfect human has told them to do. (Actually, now that I think about it, some of my best insults and profane phrases are directly related to Microsoft’s mother.) In any case, if the rare exception does occur, just dial the help desk and they’ll solve the problem, or in more dire consequences, give you a new computer that is far 'superior' to your old. At the very least you can bitch at them and feel better about your current predicament.

Therein lies the irony. Think back to all of the stuff you were doing when you were counting to 1. Did you ever stop to think about how often that perfect computer in your head makes mistakes? Ever open a web browser window to a search engine and forget why? How about pick up the phone and forget whom you were about to call? When’s the last time you made a grocery list and left it sitting on the table? Every time you set the alarm to PM instead of AM, have something on the ‘tip of your tongue,’ use the phrase ‘Now why didn’t I think of that?”, put your shoe on the wrong foot, lose your car keys, or have something ‘go down the wrong pipe' you’ve had an unhandled exception…in your brain. I make mistakes like this on an hourly basis. Probably more frequently.

Who do you call when that happens? There’s no brain-fart hotline in India to answer questions or to listen to you bitch about your own absentmindedness or stupidity (Note to self: possible lucrative business opportunity in opening a brain-fart helpdesk).

Here’s an interesting thought. For every 10 minutes of an hour that your computer did something wrong, it did 3 trillion seemingly correct tasks in the other 50 minutes. When was the last time you gave the impression that you did something right 3 trillion times in a row?

2 comments:

Ernest said...

Does sex count?

km said...

Is computer science engineering really the longest degree? Or does it just take the longest to complete?