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?"
|
|||
|
|
|||
|
|