Ed Nather veröffentlichte den Bericht am 21. Mai 1983 auf USENET. Er stellte Mel vor, indem er eine ältere Computerkultur beschrieb, in der Programmierer direkt mit Maschinencode arbeiteten. Die inzwischen aufgelöste Royal McBee Computer Corp., eine Tochter eines Schreibmaschinenherstellers, baute den kleinen und damals günstigen LGP-30. Danach begann das Unternehmen mit dem RPC-4000, einem größeren und schnelleren Rechner. Beide Systeme nutzten Trommelspeicher, während Kernspeicher zu teuer blieb. Nather war eingestellt worden, um einen FORTRAN-Compiler zu schreiben. Mel zeigte ihm die Rechner und misstraute Compilern grundsätzlich. Für ihn musste ein brauchbares Programm seinen eigenen Code verändern können.
Mel hatte das beliebteste Programm der Firma in Hexadezimalcode geschrieben. Es lief auf dem LGP-30 und spielte auf Messen Blackjack mit potenziellen Kunden. Der Automat zog viel Publikum an, während IBM-Verkäufer danebenstanden. Anschließend sollte Mel das Spiel auf den RPC-4000 übertragen. Dessen one-plus-one-Adressierung legte neben Operationscode und Operandenadresse auch die Position der nächsten Instruktion fest. Nach jedem Maschinenbefehl folgte damit eine ausdrücklich gespeicherte Sprungadresse.
Mel ordnete die Befehle nach der Drehung der Trommel an. Die nächste Instruktion sollte genau dann am Lesekopf ankommen, wenn die vorherige fertig war. Einen Optimizing Assembler lehnte er ab, weil dessen Platzierung zusätzliche Konstanten erfordern konnte. Mel kannte die Zahlenwerte der Operationscodes und Trommeladressen. Eine vorhandene Additionsinstruktion konnte deshalb zugleich als numerische Konstante dienen. Seine handoptimierten Programme liefen schneller als die vom Assembler bearbeiteten Fassungen. Er schrieb zuerst die innersten Schleifen, damit sie die besten Speicherpositionen bekamen. Für die Verzögerung einer störrischen Flexowriter-Ausgabe ließ er die Trommel eine weitere Umdrehung machen. Die längste Verzögerung nannte er “most pessimum”.
Das Spiel mischte und verteilte die Karten mit einem ausgefeilten Zufallszahlengenerator. Der Vertrieb wollte einen Konsolenschalter, mit dem Kunden gewinnen konnten. Mel hielt diese Änderung für unehrlich und weigerte sich zunächst. Nach Druck von Vorgesetzten schrieb er die Anpassung, vertauschte dabei jedoch die Prüfung. Bei eingeschaltetem Schalter gewann nun der Rechner jedes Spiel. Mel sah darin den Beweis eines unkontrolliert ethischen Unterbewusstseins und ließ den Fehler bestehen.
Nach Mels Weggang sollte Nather die betreffende Stelle finden. Er stieß auf eine Schleife ohne sichtbare Abbruchprüfung und brauchte zwei Wochen für die Erklärung. Der RPC-4000 besaß ein Indexregister, doch Mel veränderte Instruktionen direkt. Er lud einen Befehl in ein Maschinenregister, erhöhte dessen Adresse, speicherte ihn zurück und führte die veränderte Instruktion aus. Die zusätzliche Laufzeit war bereits in der Trommelanordnung berücksichtigt.
Mel legte die Daten nahe an das Ende des adressierbaren Speichers. Nach dem letzten Datum ließ die Erhöhung der Instruktionsadresse einen Überlauf entstehen. Der Übertrag veränderte den Operationscode in einen Sprungbefehl. Die nächste Instruktion lag an Adresse null, und das Programm lief dort weiter. Ein Bit für indexierte Adressierung lieferte den entscheidenden Hinweis, obwohl Mel das Indexregister selbst nie verwendete. Nather teilte dem Chef mit, er habe die gesuchte Prüfung nicht gefunden, und griff den Code nicht an. Mit eingeschaltetem Schalter gewann der Rechner weiterhin.
Nather beschrieb Mel als kaum bekannten Programmiergenius. Für ihn zeigte der Hexadezimalcode eine Form von Handwerk, deren Feinheiten vor allem andere Programmierer erkennen konnten. Ein Nachtrag von 1992 erklärt, dass der ursprüngliche USENET-Text in gewöhnlichen Prosaabsätzen erschien. Beim Weiterreichen im Netz wurde er in die heute bekannte freie Versform umgebaut. Diese Veränderung wurde selbst zu einem passenden Teil der Geschichte. Der Bericht gilt inzwischen als Klassiker über Ästhetik und Psychologie des frühen Hackens.




Kommentare
Noch keine Kommentare — schreib den ersten.
Starte die Diskussion
Kein Konto, kein Passwort nötig — gib einfach deine E-Mail-Adresse ein, wir senden dir einen einmaligen Anmelde-Link. Beim ersten Mal bist du damit automatisch angemeldet.
Deine Bewertung wird nach der Anmeldung automatisch übernommen.
Schau in dein Postfach
Wir haben einen Anmelde-Link an … gesendet. Öffne ihn auf diesem Gerät — dieser Tab meldet dich automatisch an.
Nichts angekommen? Wirf einen Blick in den Spam-Ordner — und markiere die Mail dort als „Kein Spam“, dann landet sie künftig direkt im Postfach.