.if n .pl 12i .if n .nr PO 1i .nr PD 0 .ND .EQ delim $$ .EN .TL The Song Of Hakawatha .AU F. X. Reid .AI Poet and Tragedian .LP .DS C Introduction .DE .PP 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\** .FS Some may feel that this word contains superfluous letters. .FE namely the systems hacker. .AE .PP .bp .B .DS C Part I The Logging-in of Hakawatha .DE .R .IP "" 15 First, he sat and faced the console .IP Faced the glowing, humming console .IP Typed his login at the keyboard .IP Typed his password (fourteen letters) .IP Waited till the system answered .IP Waited long and cursed its slowness .IP (Oh, that irritating slowness - .IP Like a mollusc with lumbago) .IP Waited for what seemed like hours .IP Till the operating system .IP Printed out the latest whinings .IP From the man called $superuser$ - .IP Moanings that some third year students .IP Played adventure games at lunchtimes, .IP Moanings that the Disc was nearly .IP ($Very$ nearly) full to bursting, .IP Growling that he wouldn't take it .IP Screaming that he'd get his own back .IP By deleting peoples' discfiles. .IP Next, came Hakawatha's `fortune' .IP (Didn't find it very funny) .IP Then from $mailer$ took a letter .IP From a fellow network hacker .IP (Who had penetrated $ARPA$ .IP All the way to Greenham Common - .IP Though his prowling through the filestore .IP Hadn't pleased the US Airforce - .IP So this friend, this network hacker .IP Had to flee to Argentina .IP Where he works on simulations .IP Simulations of their army's .IP Capture of the Falkland Islands). .IP Finally, my Hakawatha .IP Started to type in a program. .IP First, he thought for many minutes .IP What the Devil he should call it .IP So that later, he'd remember .IP What it did and why he wrote it, .IP Thought for many, many minutes, .IP Thought too long, because the system .IP Timed him out for doing nothing .IP Timed him out and and warned him sternly .IP (Like an irate bus inspector .IP While you fumble for your ticket .IP When you could have $sworn$ you'd put it .IP Safely in an inside pocket). .IP So the wretched Hakawatha .IP Had to start from the beginning .IP Type the login and the password - .IP Found the system $even$ slower .IP Even slower than the first time .IP (Just as though some evil spirit .IP Had reprogrammed all of $UNIX$ .IP In the language $LISP$ or $OCCAM$ - .IP Which among the $cognosenti$ .IP Are not famed for running quickly .IP Rather for their ponderous slowness .IP Like a third year CS student .IP Trying to make out a theorem .IP Such as that of Church and Rosser). .IP After many, many minutes .IP After risking death from boredom .IP On the screen, my Hakawatha, .IP Saw a message from the Network .IP Saying there were no free consoles, .IP Telling him to just forget it, .IP Telling him to come back later .IP (Say, two-thirty in the morning .IP Preferably a Sunday morning, .IP Sunday, in the long vacation). .IP But at this, my Hakawatha .IP Spoke in language full of fury: .IP "I would rather write in COBOL .IP On a Sinclair ZX80" .IP Thus, the Gods heard Hakawatha .IP Heard the Thunder of his anger .IP Heard him damn the superuser .IP To a post in Social Science .IP Heard him damn the network to be .IP Slowly boiled in caustic soda .IP Heard him curse the sort of people .IP Who use $LISP$ instead of $Ada \(co$ .IP (Ada is a complex language .IP Copyright, Defence Department .IP It has got a formal syntax .IP Rather longer than the Bible .IP But semantically there's nothing .IP But informal chitter-chatter. .IP Reader ! Use it at your peril) .IP And the Gods took pity on him .IP (Though they quite deplored the language .IP Quite deplored the filthy language .IP Utilised by Hakawatha) .IP Brought about a console failure .IP Of some wimp in Economics .IP Freed a line so he could use it .IP Made his screen display a message; .IP "Sorry, we were only joking .IP Please log in and type your password .IP We'll be with you in a jiffy." .IP Thus assuaged did Hakawatha .IP Type his login and his password .IP Read again the Jeremiads .IP Of the manic superuser .IP Read his fortune (still not funny) .IP And prepared to type his program. .PP .bp .B .DS C Part II Hakawatha's Programming Style .DE .R .IP "" 15 Still, alas, my Hakawatha .IP Had no notion what to call it .IP What to call this wretched program .IP So that he'd remember later .IP What it did and why he wrote it .IP But the dreaded timeout threatened .IP So to save himself from bother .IP He just called it $program7$ .IP (Not a name that had much meaning .IP Signifying nearly nothing .IP - Though it has the real advantage .IP That it fits in with this metre) .IP Meaning to mv it later .IP When he'd thought of something better. .IP Now the editor he entered .IP Hakawatha then typed quickly .IP Very, very, $very$ quickly .IP Swifter than a third-year student .IP Trying to avoid his tutor .IP Swifter than a $Sun$ `reporter' .IP On the track of something smutty .IP Like an eagle flew his fingers .IP Only pausing several moments .IP While he taxed his recollection .IP For his algorithm's details .IP These he knew but only vaguely .IP (As the mist that on the sunrise .IP Cloak the lofty mountain summit .IP As the blur that s-nd-rs printers .IP Make instead of underlining .IP As the third year students' notion .IP Of the proof of Turing's Theorem) .IP These deliberations ended .IP Hakawatha typed yet faster .IP Missing quotes and semicolons .IP Missing many closing brackets .IP (Comments, these he left for later .IP Till he understood his program .IP Understood what he'd been doing) .IP Confident that the compiler .IP Would pick up the syntax errors .IP Thus, the program grew like wildfire .IP Like the spread of some contagious .IP Malady, like AIDS or BASIC .IP Or like British unemployment .IP In the reign of M-rg-r-t Th-tch-r. .IP Hakawatha typed like fury .IP Clatter, clatter went the keyboard .IP Like a set of manic dentures .IP So the morning, so the lunchtime .IP So the afternoon receded .IP All receded to oblivion .IP Like the superuser's hairline .IP When beset by third year students .IP All intent to learn his password .IP Till at last the stars were twinkling .IP Till at last the pubs were open .IP Till Security, reminded .IP Tapped upon his door and warned him .IP "Sorry, sir, but all late workers .IP Have to sign the sign-in book, sir." .IP Even then, my Hakawatha .IP Hardly heard what he was saying .IP Very red and glazed his eyes were .IP Cramped and aching were his fingers .IP Void and rumbling was his stomach .IP Cold and sweaty was his forehead .IP Warm and humming was the console .IP Like a cow with indigestion .IP Thanked Security and told him .IP That he'd do it "in a minute" .IP That he'd "totally forgotten .IP All that bureaucratic nonsense .IP In the white-heat of creation" .IP Asked to warn him if the building .IP Burnt down in the next few minutes .IP Thanked him for his "kind attention" .IP Then, ignoring him completely, .IP Turned again and hit the keyboard .IP With his swift and able fingers .IP Till at last the night lay heavy .IP Till at last the pubs were closing .IP Till at last the job was finished .PP .bp .B .DS C Part III Hakawatha's Program Testing .DE .R .IP "" 15 Next my Hakawatha summoned .IP The appropriate compiler .IP Asking it to take his program .IP And attempt its execution .IP Listing any syntax errors - .IP Should by any chance there be some - .IP In a file that he called "errors" .IP (Stunning was the innovation .IP Vouchsafed by this choice of naming) .IP Asked it please to run in background .IP Swiftly grew the file named "errors" .IP Till it seemed to grow much larger .IP Than the file called "program7" .IP Larger was the file named "errors" .IP Larger than the largest mountain .IP Larger than the cost of Trident .IP Larger than the monstrous ego .IP Of that God whom men name D------a .IP Larger even than the software .IP People call the UNIX mailer .IP (Though, perhaps, exaggeration, .IP Or that licence named poetic .IP Leads me to commit an error .IP Since we know the UNIX mailer .IP To be bigger and more faulty .IP Than the liner named Titanic) .IP Worried now grew Hakawatha .IP Tried to kill the background process .IP Tried to bring it to the foreground .IP Tried to say to the compiler .IP "That'll do, guv, for the moment" .IP All unheedingly the process .IP Gobbled bytes like no-one's business .IP Till it seemed as though the system .IP Would collapse from sheer exaustion .IP From the quantity of page swops .IP Needed by this tireless process. .IP Desperate grew Hakawatha .IP Vivid, yet again, his curses .IP Purpled the attendent shadows. .IP Thus the Gods heard Hakawatha .IP Listened to the foul language .IP Thought that they had better stop it .IP Firmly told the UNIX system .IP Firmly, to stop all its nonsense .IP Firmly, to abort the process. .PP .bp .B .DS C Part IV Hakawatha's Run-Time Error Trapping .DE .R .IP "" 15 Now, this program had a pointer .IP Pointing to a record union .IP Pointing sometimes to a REAL .IP Or an INTEGER or BOOLEAN .IP Pointing sometimes to a pointer .IP To ARRAY of FILE of RECORD .IP Each of which in turn had pointers .IP Each of which, in mad recursion, .IP Pointed madly at each other .IP (Like a crowd of Sunday tabloids .IP Pointing the accusing finger .IP At each other's lack of morals .IP Like a crowd of left-wing students .IP All accusing one another .IP Of revisionistic leanings) .IP In this mess of pure confusion .IP (with what seemed to Hakawatha .IP At the time a stroke of genius .IP But which now he couldn't clearly .IP Understand why he had done it) .IP He had placed a simple statement .IP Placed a simple $looking$ statement .IP Reassigning the $first$ pointer .IP To some other, and he couldn't .IP $Quite$ remember where he'd put it, .IP Couldn't lay his hands upon it, .IP Felt that this $might$ be the reason .IP Why his program wasn't working .IP Wasn't doing what he wanted. .IP This occasioned some frustration .IP Caused the noble Hakawatha .IP To commit profane expletives .IP Caused him to cry out "Debug her" .IP (Or, I $think$ that's what he shouted). .IP "There are easier methods, surely .IP Methods for the computation .IP Computation of factorial ! .IP Stuff this for a game of soldiers ! .IP I am going to the staff club .IP For a pint of $Tenant's$ $Lager$ " .IP Thus departed Hakawatha.