369 lines
13 KiB
Plaintext
369 lines
13 KiB
Plaintext
From sinclair@cs.glasgow.ac.uk Sat Apr 1 08:38:48 1989
|
||
From: sinclair@cs.glasgow.ac.uk (Duncan Sinclair)
|
||
Subject: The Song Of Hakawatha
|
||
|
||
|
||
Although long, this is worth saving and printing out.
|
||
|
||
This is a text translation of a Macintosh WriteNow file.
|
||
Some of my peers may remember this from the wall in our 2nd year lab
|
||
two years ago.
|
||
|
||
Enjoy!
|
||
|
||
|
||
|
||
The Song Of Hakawatha
|
||
|
||
F. X. Reid
|
||
|
||
Poet and Tragedian
|
||
|
||
|
||
|
||
Introduction
|
||
|
||
Longfellow's poem 'Hiawatha' (which the following verses somewhat
|
||
resemble) is a celebration of the incorrigibly primitive, framed in an
|
||
appropriately interminable and monotonously scanned sequence of lines.
|
||
So monotonous is the metre, indeed, that it renders the poem the most
|
||
easy to parody in this or any other language. So easy, in fact, that my
|
||
distinguished predecessor, the amateur logician and nude photographer,
|
||
the Rev. 'Chuck' L. Dodgeson prefaced his pastiche of it with an
|
||
apology for the lack of difficulty it had involved. cld (as UNIX* would
|
||
probably call him) used the form to present a stark account of the
|
||
ritualistic element of Victorian portrait photography. It is my
|
||
intention to combine the two - the primitive and the ritualistic - to
|
||
describe the modern Shaman* namely the system hacker.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
* Some may feel that this word contains superfluous letters.
|
||
|
||
|
||
|
||
|
||
Part I
|
||
|
||
The Logging-in of Hakawatha
|
||
|
||
|
||
First, he sat and faced at 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 -
|
||
Moaning that some third year students
|
||
Played adventure games at lunchtimes,
|
||
Moaning 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,
|
||
Though 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 cognosenti
|
||
Are not fames 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 better.
|
||
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 mist 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 the 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 like the British unemployment
|
||
In the reign of M-rg-r-t Th-tch-r.
|
||
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
|
||
All receded to oblivion
|
||
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 the 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,
|
||
Turning 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 the 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 call D------a
|
||
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 to the foul 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
|
||
Reassigning the first pointer
|
||
To some other, and he couldn't
|
||
Quite remember where he'd put it,
|
||
Couldn't lay his hands upon 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 method, surely
|
||
Methods for the computation
|
||
Computation of the factorial!
|
||
Stuff this for a game of soldiers!
|
||
I am going to the staff club
|
||
For a pint of Tennant's Lager"
|
||
Thus departed Hakawatha.
|
||
|
||
|
||
|
||
|
||
--
|
||
Duncan Sinclair | Try one sinclair@cs.glasgow.ac.uk
|
||
Computing Science Student | of these sinclair@uk.ac.glasgow.cs
|
||
University of Glasgow | ...!mcvax!ukc!glasgow!sinclair
|
||
Quote: "Apart from that Mrs Lincoln, how did you enjoy the play?"
|
||
|
||
|