Home About Eric Topics SourceGear

2003-09-03 19:56:54

F5

Before reading this silly tale, you need five pieces of background information:

  1. My family recently had a swimming pool installed at our home.
  2. The pool has a cover with a special pump that sits on top and pumps the rain water away so it's not standing on the cover.
  3. We forgot to have an outlet installed near the pool, so we ran a long extension cord from the cover pump to an exterior outlet on the house.
  4. Here in Champaign, it rained for most of the Labor Day weekend.
  5. This has almost nothing to do with software, unless you count the rather contrived attempt to tie things together at the end.

OK, let's get started.  Sunday evening I stopped for a moment to look out the window into my backyard.  At that very moment, the extension cord on my cover pump sparked loudly and burst into flame.

Remember in Back to the Future when the model car caught fire and Doc Brown gasped?  My reaction was remarkably similar.  Those of you with a copy of the DVD might want to play that scene now to get the proper effect of the story.

Luckily the heavy rain put the fire out quickly.  The cloud of smoke didn't linger too long either.

But with more rain in the forecast I really wanted to get that pump working again.  With 20/20 hindsight it was obvious that the pouring rain had caused an electrical short at the point where the pump's cord was plugged into the extension cord.  I just hoped the pump itself was undamaged.

So I ran out into the rain, grabbed the pump and brought it back into the garage.  Luckily, it still worked!  My mission at this point is clear -- I need to get this pump working again.

If you are a geek like me, you would probably solve this problem very similar to the way I did:

At this point I went back into the house, completely soaked and covered with mud.  As I fetched some clean clothes, I realized that my approach to solving this problem was really lame.  I made more trips through the rain than were really necessary.

And then I realized that my lousy problem-solving skills are actually Visual Studio's fault.

Seriously, my approach to this problem reminded me of the way I approach a coding task when I get in too much of a hurry:  Don't take time to think about all the details.  Instead, go for the instant gratification.  Just hit F5 and see if the code works.  When it doesn't, try another quick fix and hit F5 again.  Eventually the code will work, without ever having to give it any real thought.

I think I was more careful back when compilers were slower.  One of my first coder jobs was hacking on an app which took 11 hours to compile. The linker alone took 45 minutes, and I often had to spend that time listening to my boss gripe about how spoiled I was to have machines that could recompile so quickly:  "Back when I was a coder on this project we had to submit punch cards to the mainframe operator and wait two days to see if we had a syntax error."

I don't think I was spoiled back then, but I certainly am now.  Visual Studio recompiles so fast that I can't resist hitting F5.  I want to see my code work.  Right now.

But I'd have to admit that when I hurry and do this kind of quick-fix coding, I usually end up all muddy and soaked: 

It's great to have fast developer tools, but I still do better work when I take my time.  And so do you.

P.S.  Pedantic readers will observe that Intel deserves its share of my tongue-in-cheek blame.  After all, my faster compiles are probably at least somewhat related to the fact that the CPU in my ThinkPad is over 250 times faster than the one in that Mac Plus I was using fifteen years ago.  Point conceded, but it's very fashionable to blame Microsoft these days for things that are not really their fault, so I'm just being trendy.

P.P.S.  Readers with real carpentry skills will observe that there is absolutely no good reason to need duct tape during the construction of a swingset.  Point conceded.  Please, don't ask.