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