August 2016

Volume 31 Number 8

[Don't Get Me Started]

Sing a Song of Silicon

By David Platt | August 2016

David PlattI cannot get my sleep to-night; old bones are hard to please;
I’ll stand the middle watch up here - alone wi’ God an’ these
My engines, after ninety days o’ race an’ rack an’ strain
Through all the seas of all Thy world, slam-bangin’ home again.

This excerpt comes from my favorite poet, Rudyard Kipling, from my favorite poem, “McAndrew’s Hymn.”  Speaking through the old Scottish marine engineer, Kipling marvels at the greatest technological accomplishment of his day (1894), the coal-fired steamship, and honors those who designed and built and ran them. I briefly mentioned this poem in my April 2012 column (“Poetry of the Geeks”, msdn.com/magazine/hh882456), but I will now dive deeply into it with you. I encourage you to read the whole thing, online at bit.ly/29eDxvf.

While much has changed since Kipling’s time, I find that many of his observations on engineering and innovation resonate with me today. For example, consider how fast our hardware improves. Kipling noticed this 100 years ago, long before some plagiarist stuck Moore’s name on the idea and called it a law. I hear McAndrew as I contemplate the original 4.77 MHz IBM PC (with two floppy drives and 256KB of memory) that I use as a planter:

[I] started as a boiler-whelp when steam and [I] were low.
I mind the time we used to serve a broken pipe wi’ tow.
Ten pound was all the pressure then - Eh! Eh! - a man wad drive;
An’ here, our workin’ gauges give one hunder’ fifty-five!

Kipling writes of the difficulties of integrating disparate components into a working whole, and the beauty of the final accomplishment:

Lord, send a man like Robbie Burns to sing the Song o’ Steam!
To match wi’ Scotia’s noblest speech yon orchestra sublime
Whaurto-uplifted like the Just—the tail-rods mark the time.
The Crank-throws give the double-bass; the feed-pump sobs an’ heaves:
An’ now the main eccentrics start their quarrel on the sheaves.
Her time, her own appointed time, the rocking link-head bides,
Till-hear that note?—the rod’s return whings glimmerin’ through the guides.

McAndrew had the same problem finding good helpers that we have today. Think about his words the next time you hire IT grunts:

Below there! Oiler! What’s your wark? Ye find her runnin’ hard?
Ye needn’t swill the cap wi’ oil—this isn’t the Cunard.
Ye thought? Ye are not paid to think. Go, sweat that off again!
Tck! Tck! It’s deeficult to sweer nor tak’ The Name in vain!

As I’ve written many times, we software geeks hold much more responsibility than we did a decade or two ago. A player losing his high score in Solitaire wasn’t so bad, but it’s a whole lot worse if he loses his prescription records, and way, way worse if his medical records get mixed in with someone else’s. It’s not the users’s job to keep his programs secure and working, it’s ours. We’re just starting to get this through our heads, but McAndrew knew. He says of his passengers:

Maybe they steam from grace to wrath - to sin by folly led -
It isna mine to judge their path - their lives are on my head.
Mine at the last - when all is done it all comes back to me,
The fault that leaves six thousand ton a log upon the sea.

Above all, we geeks feel the thrill of creating in our own image, which nothing else can ever match. McAndrew felt that too, as he says to God:

Uplift am I? When first in store the new-made beasties stood,
Were Ye cast down that breathed the Word declarin’ all things good?

That’s why we entered this crazy profession, and that’s why we stay. Read what Kipling wrote about McAndrew 100 years ago. For “first-class passengers,” put in your own trochaic description of an idiot—perhaps “bone-head manager.” For “horse-power,” substitute “megaflops” or whatever your performance metric is. And tell me this isn’t how you feel when your system goes live:

Oh for a man to weld it then, in one trip-hammer strain,
Till even first-class passengers could tell the meanin’ plain!
But no one cares except mysel’ that serve an’ understand
My seven thousand horse-power here. Eh, Lord! They’re grand, they’re grand!


David S. Platt teaches programming .NET at Harvard University Extension School and at companies all over the world. He’s the author of 11 programming books, including “Why Software Sucks” (Addison-Wesley Professional, 2006) and “Introducing Microsoft .NET” (Microsoft Press, 2002). Microsoft named him a Software Legend in 2002. He wonders whether he should tape down two of his daughter’s fingers so she learns how to count in octal. You can contact him at rollthunder.com.


Discuss this article in the MSDN Magazine forum