The Song of Hakawatha

With apologies to H. W. Longfellow 

Part I: The Logging-in of Hakawatha

First, he sat and faced the console
Faced the glowing, humming console
Typed his login at the keyboard
Typed his password (fourteen letters)
Waited till the system answered
Waited long and cursed its slowness
(Oh, that irritating slowness—
Like a mollusc with lumbago)
Waited for what seemed like hours
Till the operating system
Printed out the latest whinings
From the man called “superuser”—
Moanings that some third year students
Played adventure games at lunchtimes,
Moanings that the Disc was nearly
(VERY nearly) full to bursting,
Growling that he wouldn't take it
Screaming that he'd get his own back
By deleting peoples' discfiles.
Next, came Hakawatha's “fortune”
(Didn't find it very funny)
Then from “mailer” took a letter
From a fellow network hacker

(Who had penetrated ARPA
All the way to Greenham Common—
Though his prowling through the filestore
Hadn't pleased the US Airforce—
So this friend, this network hacker,
Had to flee to Argentina
Where he works on simulations
Simulations of their army's
Capture of the Falkland Islands).
Finally, my Hakawatha
Started to type in a program.
First, he thought for many minutes
What the Devil he should call it
So that later he'd remember
What it did and why he wrote it,
Thought for many, many minutes,
Thought too long, because the system
timed him out for doing nothing
Timed him out and warned him sternly
(Like an irate bus inspector
While you fumble for your ticket
When you could have SWORN you'd put it
Safely in an inside pocket).

So the wretched Hakawatha
Had to start from the beginning
Type the login and the password—
Found the system even slower
Even slower than the first time
(Just as though some evil spirit
Had reprogrammed all of Unix
In the language LISP or OCCAM—
Which among the cognoscenti
Are not famed for running quickly
Rather for their ponderous slowness
Like a third year CS student
Trying to make out a theorem
Such as that of Church and Rosser).
After many, many minutes
After risking death from boredom
On the screen, my Hakawatha
Saw a message from the Network
Saying there were no free consoles,
Telling him to just forget it,
Telling him to come back later
(Say, two-thirty in the morning
Preferably a Sunday morning,
Sunday, in the long vacation).
But at this, my Hakawatha
Spoke in language full of fury:
“I would rather write in COBOL
On a Sinclair ZX80!”
Thus, the Gods heard Hakawatha
Heard the Thunder of his anger

Heard him damn the “superuser”
To a post in Social Science
Heard him damn the Network to be
Slowly boiled in caustic soda
Heard him curse the sort of people
Who use LISP instead of Ada
(Ada is a complex language
Copyright, Defence Department
It has got a formal syntax
Rather longer than the Bible
But semantically there's nothing
But informal chitter-chatter.
Reader! Use it at your peril!)
And the Gods took pity on him
(Though they quite deplored the language
Quite deplored the filthy language
Utilised by Hakawatha)
Brought about a console failure
Of some wimp in Economics
Freed a line so he could use it
Made his screen display a message:
“Sorry, we were only joking
Please log in and type your password
We'll be with you in a jiffy.”
Thus assuaged did Hakawatha
Type his login and his password
Read again the Jeremiads
Of the manic “superuser”
Read his fortune (still not funny)
And prepared to type his program.

Part II: Hakawatha's Programming Style

Still, alas, my Hakawatha
Had no notion what to call it
What to call this wretched program
So that he'd remember later
What it did and why he wrote it
But the dreaded timeout threatened
So to save himself from bother
He just called it “program7”
(Not a name that had much meaning
Signifying nearly nothing
—Though it has the real advantage
That it fits in with this metre)
Meaning to mv it later
When he'd thought of something later
Now the editor he entered
Hakawatha then typed quickly
Very, very, VERY quickly
Swifter than a third-year student
Trying to avoid his tutor
Swifter than a Sun “reporter”
On the track of something smutty

Like an eagle flew his fingers
Only pausing several moments
While he taxed his recollection
For his algorithm's details
These he knew but only vaguely
(As the mists that on the sunrise
Cloak the lofty mountain summit
As the blur that s-nd-rs printers
Make instead of underlining
As the third year students' notion
Of the proof of Turing's Theorem)
These deliberations ended
Hakawatha typed yet faster
Missing quotes and semicolons
Missing many closing brackets
(Comments, these he left for later
Till he understood his program
Understood what he'd been doing)
Confident that the compiler
Would pick up the syntax errors

Thus, the program grew like wildfire
Like the spread of some contagious
Malady, like AIDS or BASIC
Or as miners ceased their striking
In the reign of Arthur Scargill.
Hakawatha typed like fury
Clatter, clatter went the keyboard
Like a set of manic dentures
So the morning, so the lunchtime,
So the afternoon receded
Like the superuser's hairline
When beset by third year students
All intent to learn his password
Till at last the stars were twinkling
Till at last the pubs were open
Till Security, reminded
Tapped upon his door and warned him
“Sorry, sir, but all late workers
Have to sign the sign-in book, sir.”
Even then, my Hakawatha
Hardly heard what he was saying

Very red and glazed his eyes were
Cramped and aching were his fingers
Void and rumbling was his stomach
Cold and sweaty was his forehead
Warm and humming was the console
Like a cow with indigestion
Thanked Security and told him
That he'd do it “in a minute”
That he'd “totally forgotten
All that bureaucratic nonsense
In the white-heat of creation”
Asked to warn him if the building
Burnt down in the next few minutes
Thanked him for his “kind attention”
Then, ignoring him completely,
Turned again and hit the keyboard
With his swift and able fingers
Till at last the night lay heavy
Till at last the pubs were closing
Till at last the job was finished.

Part III: Hakawatha's Program Testing

Next my Hakawatha summoned
The appropriate compiler
Asking it to take his program
And attempt its execution
Listing any syntax errors—
Should by any chance there be some—
In a file that he called “errors”
(Stunning was the innovation
Vouchsafed by this choice of naming)
Asked it please to run in background.
Swiftly grew the file named “errors”
Till it seemed to grow much larger
Than the file called “program7”
Larger was the file named “errors”
Larger than the largest mountain
Larger than the cost of Trident
Larger than the monstrous ego
Of that God whom men name D--kstr-
Larger even than the software
People call the Unix mailer
(Though, perhaps, exaggeration,
Or that licence named poetic
Leads me to commit an error

Since we know the Unix mailer
To be bigger and more faulty
Than the liner named Titanic)
Worried now grew Hakawatha
Tried to kill the background process
Tried to bring it to the foreground
Tried to say to the compiler
“That'll do, guv, for the moment”
All unheedingly the process
Gobbled bytes like no-one's business
Till it seemed as though the system
Would collapse from sheer exhaustion
From the quantity of page swaps
Needed by this tireless process.
Desperate grew Hakawatha
Vivid, yet again, his curses
Purpled the attendant shadows.
Thus the Gods heard Hakawatha
Listened in to the bad language
Thought that they had better stop it
Firmly told the Unix system
Firmly, to stop all its nonsense
Firmly, to abort the process.

Part IV: Hakawatha's Run-Time Error Trapping

Now, this program had a pointer
Pointing to a record union
Pointing sometimes to a REAL
Or an INTEGER or BOOLEAN
Pointing sometimes to a pointer
To ARRAY of FILE of RECORD
Each of which in turn had pointers
Each of which, in mad recursion,
Pointed madly at each other
(Like a crowd of Sunday tabloids
Pointing the accusing finger
At each other's lack of morals
Like a crowd of left-wing students
All accusing one another
Of revisionistic leanings)
In this mess of pure confusion
(With what seemed to Hakawatha
At the time a stroke of genius
But which now he couldn't clearly
Understand why he had done it)

He had placed a simple statement
Placed a simple-looking statement
Re-assigning the FIRST pointer
To some other, and he couldn't
QUITE remember where he'd put it,
Felt that this might be the reason
Why his program wasn't working
Wasn't doing what he wanted.
This occasioned some frustration
Caused the noble Hakawatha
To commit profane expletives
Caused him to cry out “Debug her!”
(Or, I THINK that's what he shouted).
“There are easier methods, surely,
Methods for the computation
Computation of factorial!
Stuff this for a game of soldiers!
I am going to the staff club
For a pint of Romfords' Glory!”

Thus departed Hakawatha.

Plain text version


The Song of Hakawatha is a parody of The Song of Hiawatha by H. W. Longfellow.

This poem was submitted by Paul Boyd in 2000:

Not sure where this came from, i've had it around for well over 10 years now. Hope you like it.
—Paul Boyd

According to Wikipedia, The Song of Hakawatha was written by Michael W. Shield under the pen name of F. X. Reid. He probably wrote the original version in the early eighties. The version on this page seems a little more recent, because it mentions the end of the UK miners' strike (1985) while the original version alludes to the catastrophic rise in unemployment, which peaked around 1983.