A brief dissertation on the First Law of Cybernetic Entomology

© 1988, 2000 Stephen Savitzky. CC-by-nc-sa.

A big favorite with kids, for some reason, based on a poem I once read in Datamation magazine. It sometimes acquires topical verses.


[ogg] [mp3]

Lyrics [pdf] [txt] [cho]

  Around the chattering printer, the  stories that are  told
F C G7
Of programs and their  lurking bugs would  make your blood run  cold
It's the  same the whole world over, from  Apple to Big  Blue
F C G7 C
And I  swear upon a  stack of cards these  tales I tell are  true.
  And it's bugs,  bugs,  bugs,  bugs,
  Bugs,  bugs,  BUGS!
F C G7 C
There's alw ays  one  more  bug.
Columbia stood ready for her first trip to the sky:
America's first shuttle, with the whole world standing by,
But with thirty seconds left to go a warning flag unfurled
And it took them all next week to find the Bug Heard Round the World.

They were heading for the tropics on a long range testing flight
The crew on board the brand-new jet thought things were working right
'Til they went past the Equator and the plane flipped upside down,
They damn near took the software team and ran them out of town.

A tapeworm laid the network low; it spread itself around
Through loopholes in the system code its programmer had found;
But not all of the bugs it found were relics from the past:
One more bug made the tapeworm spread a thousand times too fast.
spoken, slowly:
And when the final program's run and all its data saved
They'll take the last dead programmer and lay him in his grave
And the very last bug left in sight, a cockroach passing by
Will walk across his coffin there, as if to say, ``Nice try.''

Inspired by the poem, ``The Last Bug'', published in Datamation in the late 60's. All verses except the last are more-or-less based on true stories, though I'm told that the problem with the F15 (a sign change caused by arithmetic overflow) was actually found in simulation.

The Bug Heard Round the World was the title of the article about the incident in IEEE Spectrum; the ``tapeworm'' verse refers to the infamous Morris Internet Worm. The ``chad'' verse refers (in case you've just gotten off a spaceship from Mars) to the iterated vote-counting in Florida after the 2000 US presidential election.


The century was ending, everybody knew the date;
Fixing bugs involving two-byte date-fields simply couldn't wait.
But in the week that followed many fools were heard to moan:
``I could have fixed that program too if only I had known.''

The martian rover landed seeking for an ancient sea
But first a software bug found out an Opportunity;
An upload failed; it crashed, so it rebooted once and then
Because its flash was full of files rebooted once again
(and again, and again, ...)

The century-old keypunch was a well-designed machine
With punches and their matching dies to make holes crisp and clean
But little pins and precut cards can't help leave hanging chad
That left folks down in Florida to cry out "we've been had!"
And it's chad, chad, chad, chad,
Chad, chad, chad!
We're counting pregnant chad!