Friday, January 30, 2009

The Virtual Handbrake

This story is dedicated to all the developers who have found themselves in a situation where they have set something in motion that they desperately wish they could stop...

When I was a kid, I used to think that computers were good at arithmetic and logic. It turns out that computers are horrible at numbers. They can't round, don't understand that 1.9999999999999 is effectively equal to 2, can't handle floating point without a human holding their hand. And LOGIC? Not on your life. They are exceptional at doing what you tell them - and not doing anything you forget to tell them. They seem to have a secret, perverse delight in doing the most illogical thing in response to your instructions. If you gave half the detail to a human they'd feel that you were patronizing them, but a computer will get it wrong every time.

The one thing they have working for them, is that if you can give them instructions that are clear and complete enough, they will do the most mundane things at absolutely inhuman speed. Things that would cause a human to die of boredom just thinking of doing, they seem to delight in eating up and spitting out in almost no time at all.

Every once in a while their greatest weakness combines with their greatest strength. Then things go really bad! There is nothing like the feeling you get when you've typed in the name of your latest program to fix the database, and after a moment of trepidation you hit the Enter key. Only to see a stream of error messages scrolling up the screen.

You frantically pound the Break key but nothing happens, finally you turn the terminal's power off and on in hopes of resetting your session and stopping the nearly-as-fast-as-light carnage! It's a moment like that that you really wish your computer had a virtual handbrake. Something that you could run to an pull (or push) and make it all stop!

I knew someone who used to tell a story about an airline reservation software system that they had. A pilot was working on a terminal, using a word processor program. With this program, you would hit a function key to save your document, and a prompt would come up saying "OK to save (Y/N)?" and you would hit the letter 'Y'. Your document would save and the message "Saved" would show on the status bar. If you happened to hit the wrong function key, it would prompt you with "OK to delete (Y/N)?" and if you happened to hit the letter 'Y', your document vanished without a trace, the status bar said "Deleted", and you got to repeat the last hour's work.

Well, one day a pilot managed to hit the wrong key, and the very moment that he hit the letter 'Y', he realized what he had done. Airline pilots have great reflexes. This guy was no exception. Without missing a beat, his hands flew from the keyboard to the cable on the back of his terminal, that connected it to the server. He yanked the cable off. As he was doing this, the man of might was rising up from his seat and attracted the attention of the entire office as he sprinted madly to the computer room. In there, he dove to the back of the computer to catch the other end of his cable and yank it off the server before his instructions could reach it.

Somehow the fact that the word "Deleted" was on his status bar didn't tip him to the fact that he hadn't been fast enough. I give him an 'A' for effort, though!

Oh! For a virtual Handbrake!

No comments:

Post a Comment