Saturday, November 25, 2006

Blinky lights

This is likely a reprint, because I swear I've written this somewhere before.

The Blinky Lights theory of electrical engineering: they make us happy and confuse the heck out of everyone else. How strange must it seem to an outsider to walk into a lab and see adults cheering at a tiny flickering red dot? "What's that?" "THE LAST THREE YEARS OF MY LIFE HAVE BEEN VALIDATED!" And then a slurry of acronyms that leaves the observer bewildered as to why they're getting so worked up at an effect a preschooler could have produced with their thumb on a flashlight button...

I'm exaggerating and stereotyping for comic effect, but that's the thing about software and electrical engineering; the things that look most difficult are often the easiest to accomplish, and vice versa. Get this peripheral button to send a keystroke to the computer? Agonizingly hard. At the end of it, what do you get? "Congratulations, you typed a B." But once you have that, it takes all of 5 minutes for someone else to modify your code to send the entire text of Galileo to the computer with the same keystroke. "Wow! Brecht in a button!"

Little blinking lights symbolize the completion of an often tricky technical solution. It's like telling someone "wave this flag when you get to the top of Everest." The flag is a low-resolution indicator of the journey. You wouldn't ask the climbers why they didn't just wave the flag in their backyard in the first place. That's not the point.

Flight of fancy: instead of hooking your system up to the blinky-LED, route the end "success!" signal to a magical black box, which does the following when it's triggered:

  1. Plays the opening of Handel's Messiah in loud, high-fidelity stereo, followed by upbeat disco music
  2. Beams a multitude of brightly colored spotlights around the noble engineer who's just finished the... whatever it was
  3. Cue robots, strategically positioned around the room, to pop out and burst into applause and loud praise
  4. Cause a large cake and several bottles of cider and champagne to descend from the ceiling
  5. Send a press release notifying the folks who print birth announcements that "module 21b8 of component 382c0x4 first demonstrated its functionality today," complete with (automatically snapped) photo of the module with its proud makers
Ah, I wish.

2 comments:

Gui C. said...

Silly Mel. You forgot to put a 2 picofarad capacitor between pins 5 and 13 - that's why you didn't get the automatic completion-of-task party!

You just skimmed the datasheet, didn't you?

Mel said...

Darn it, I should have looked at the README. The provided documentation was out of date and I was supposed to download the new stuff from the manufacturer's website. :-P