Der verrückte Coder

Der verrückte
Coder

Tristan verschlingt seit 1984 Tag und Nacht Code. 42 Jahre später läuft die Schleife immer noch.

Nach Mitternacht nicht füttern. Ausser mit Kaffee.

1while (alive()) {2    eat();3    sleep();4    code();5    repeat();6}

    alive() = trueIteration Nr. —

    TC-1984 Betrieb Standby Disk

    Die heilige Funktion

    1984 von Hand geschrieben, seither nie geändert. Sie läuft rund um die Uhr in Produktion. Hier das Code-Review, das sie über sich ergehen lassen musste.

    while (alive()) {    eat();    sleep();    code();    repeat();}

    Originalversion, genau so abgeschrieben: While Alive() {eat(); sleep(); code(); repeat();}

    • Zeile 1. alive() gibt immer true zurück. Der Reviewer hat es geprüft: Das ist Absicht.
    • Zeile 3. sleep() wird aufgerufen, wurde aber nie ausgeführt. Das «Standby»-Lämpchen des Monitors bestätigt es.
    • Zeile 5. repeat() ist in einer while-Schleife überflüssig. Antwort des Autors: «Man weiss ja nie.»
    • Allgemein. Keine Funktion social_life() im Projekt gefunden. Ticket 1991 eröffnet, immer noch offen.

    Die Zähler lügen nicht

    Live-Messwerte seit dem ersten Boot 1984. Die Zahlen steigen, während du liest. Er übrigens auch: Er codet, während du liest.

    —Laufzeit ohne Neustart
    —Tastenanschläge
    —Getrunkene Kaffees
    —Geleerte Cola-Dosen (siehe Tatort)
    —Erzeugte Bugs
    —Behobene Bugs
    ErrStunden Schlaf
    2.3MDownloads seiner Add-ons. Das ist die einzige wahre Zahl auf dieser Tafel.

    Berechnungsmethode: höchst wissenschaftlich. Ein Kaffee alle fünf Stunden, eine Dose alle siebeneinhalb Stunden, zwölf Bugs pro Tag, und immer ein Bug mehr als Korrekturen.

    Tristan, zerzauste Haare und beunruhigendes Lächeln, vor seinen Bildschirmen
    Exemplar, fotografiert um 3 Uhr morgens. Er hielt den Blitz für ein System-Update und wollte neu starten.
    Typenschild Ref. TC-198454 Dienstjahre
    Modell
    Verrückter Coder TC-1984
    Herstellung
    1972, Wallis (Schweiz)
    Erster Boot
    1984, auf seinem allerersten Computer
    Stromversorgung
    Kaffee, Cola, kalte Pizza, Chips (in dieser Reihenfolge)
    Akkulaufzeit
    Unbegrenzt, solange es WLAN gibt
    Standby-Modus
    Nicht unterstützt
    Kühlung
    Seufzen über den Code anderer Leute
    Sprachen
    PHP, Python, C#, Swift, Lua, Windev, SQL und fliessend Drucker
    Systeme
    Windows, Linux und macOS, oft gleichzeitig
    Peripherie
    Mindestens zwei Bildschirme, am Wochenende drei
    Garantie
    1999 abgelaufen (hat den Jahr-2000-Bug überlebt)

    Entspricht keiner bekannten Norm. Während eines Builds nicht aktualisieren. Nicht entsorgen: mit Kaffee noch reparierbar.

    24 Stunden im Leben des verrückten Coders

    Auszug aus dem Systemprotokoll, gedruckt auf Endlospapier. Keine einzige Zeile ist erfunden. Na ja, fast keine.

    1. Startet «einen kleinen schnellen Fix vor dem Schlafengehen».
    2. Der kleine schnelle Fix betrifft jetzt 47 Dateien.
    3. Findet endlich den Bug. Es war ein Semikolon. Es war seit 2009 da.
    4. Commit «fix». Dann «fix vom fix». Dann «wirklich der letzte fix».
    5. Die Vögel singen. Er hält sie für Benachrichtigungen.
    6. Die Sonne geht auf. Bedrohung erkannt: Storen geschlossen.
    7. Kaffee Nr. 1. Offiziell.
    8. Dose Nr. 1. Inoffiziell Nr. 6.
    9. Meeting. Kamera aus, IDE an.
    10. eat(): Pizza von gestern, einhändig über der Tastatur gegessen.
    11. sleep() aufgerufen. Exception geworfen. Zurück zum Code.
    12. «Auf meinem Rechner läuft es.»
    13. Geht nach Hause. Zum Coden.
    14. Abendessen. Denkt zwischen zwei Bissen an eine SQL-Abfrage.
    15. «Nur noch ein letzter Commit.»
    16. git push --force, mit einem kleinen Gebet in Lua.
    17. goto 00:00

    Das git log seines Lebens

    Vollständiger Verlauf, aus dem Hauptrepository geholt. Kein Commit wurde umgeschrieben. Er hat nur ein- oder zweimal push --force gemacht.

    $ git log --oneline --graph --all

    1. 3d3bc5a(HEAD -> main)wip
    2. e7254effeat: eine ganze Website, um sich über mich lustig zu machen (um 3 Uhr programmiert, natürlich)
    3. 6b08865refactor: ersetze Kaffee durch doppelten Kaffee
    4. 566654bfeat: Homeoffice. Kein Heimweg mehr nötig, um zu coden
    5. 10c059amerge: Branch «ferien» in «code» (Konflikt zugunsten von code gelöst)
    6. 1ffe8aarevert: «Versuch, 8 Stunden zu schlafen»
    7. f7195eefeat: Zeile ohne Semikolon hinzugefügt (merkt keiner)
    8. 2468310(v2000)fix: Jahr-2000-Bug. Die Welt hat sich nie bedankt
    9. 3ecddc3chore: Herstellergarantie abgelaufen
    10. 6404165chore: Ticket Nr. 1 eröffnet «social_life() nicht gefunden»
    11. cce793ffeat: Kaffee entdeckt. BREAKING CHANGE
    12. b9a1210feat: Konami-Code auswendig gelernt (nützlichste Fähigkeit seines Lebens)
    13. a132705(v1.0)feat: erster Computer. sleep() deaktiviert
    14. 5e72e96Initial commit

    $ git status

    Auf Branch main. 54 Jahre vor origin/schlaf.
    Nicht zum Commit vorgemerkte Änderungen: absolut alles.

    Tatort: der Schreibtisch

    Die Spurensicherung rückte um 4:12 Uhr aus, nachdem Nachbarn «ununterbrochenes Tastaturgeräusch seit 1984» gemeldet hatten. Klicke auf die gelben Markierungen, um das Protokoll zu lesen.

    Der Schreibtisch des verrückten Coders, überflutet von Cola-Dosen und Pizzakartons, er lächelnd mittendrin
    Protokoll Nr. 1984-42 Spurensicherung, Abteilung durchwachte Nächte
    1. 1
      Der Verdächtige

      Lächelt in die Kamera. Behauptet, er sei «fast auf dem Weg ins Bett». Niemand glaubt ihm.

    2. 2
      Die Frisur

      Zerzaust von 42 Jahren «nur noch ein letzter Commit». Am Tatort wurde kein Kamm gefunden.

    3. 3
      Die Dosen

      Geschätzte Menge: 1’337. Der Verdächtige spricht von seinem «Flüssigkühlsystem».

    4. 4
      Die Pizzakartons

      Chronologisch gestapelt. Die ältesten stammen aus Version 1.0 seines ersten Add-ons.

    5. 5
      Die vier Bildschirme

      Alle eingeschaltet. Einer zeigt Code von 2009. Niemand wagt es, ihn anzufassen.

    6. 6
      Der Post-it

      Darauf steht «TODO: schlafen». Status: offen seit 1991.

    7. 7
      Das Heft

      Ein von Hand gezeichnetes API-Schema. Die Pizzaflecken dienen als Ankerpunkte.

    8. 8
      Der Stuhl

      Hat die exakte Form des Verdächtigen angenommen. Antrag auf Denkmalschutz läuft.

    9. 9
      Die Tasse

      Enthält einen Kaffee von 2019. Er soll ein eigenes Bewusstsein entwickelt haben. Und einen Fork auf GitHub.

    Fazit. Keine Opfer zu beklagen, ausser dem Schlaf. Verfahren eingestellt: Der Verdächtige erschien nicht zur Befragung, er war «nur noch schnell etwas am Fertigmachen».

    Ctrl + Alt + Entf auf seinem Hirn

    Wir haben den Task-Manager seines Gehirns geöffnet. Wähle einen Prozess und klicke auf «Task beenden». Viel Glück.

    Task-Manager · HIRN.SYS
    Prozessor: — · Speicher: voll · Schlaf: 0 %

    Die Ernährungsbilanz seit 1984

    Der menschliche Körper besteht zu 60 % aus Wasser. Seiner: zu 60 % aus Kaffee, 30 % aus Cola und 10 % aus kalter Pizza. Hier die Zahlen, live berechnet seit 1984, mit äusserst fragwürdiger wissenschaftlicher Sorgfalt.

    — Getrunkene Kaffees
    • ≈ — Liter Kaffee
    • also — randvolle Badewannen
    • davon — kg reines Koffein
    Ziel: ein olympisches Schwimmbecken füllen — % · Becken voll voraussichtlich im Jahr —

    Das Rote Kreuz hat sein Blut als «Ristretto» eingestuft. Spende abgelehnt: zu stark.

    — Verschlungene Pizzas
    • ≈ — m² Teig, Tomate und Käse
    • genug, um — Tennisplätze zu bedecken
    • und null Beilagensalat
    Gestapelte Kartons gegen die Staumauer der Grande Dixence — m Kartons · — × die Grande Dixence (285 m)

    Der Pizzakurier hat einen eigenen Schlüssel, eine Tasse mit seinem Namen und an Weihnachten einen Platz am Tisch.

    — Cola-Dosen
    • ≈ — Liter Cola
    • also — kg Zucker
    • und — kg Aluminium zum Recyceln (irgendwann)
    Gestapelte Dosen gegen das Matterhorn — m Dosen · — × das Matterhorn (4’478 m)

    Er nennt es sein «Flüssigkühlsystem». Sein Zahnarzt nennt es Frühpensionierung.

    Kiosk zur Endlosschleife

    Letzter-Commit-Gasse 404 · Wallis
    Beleg Nr. 1984-∞ · rund um die Uhr offen seit 1984

    ArtikelCHF
    Kaffee, Tasse 2 dl
    — × 3.80—
    Pizza Ø 33 cm
    — × 19.50—
    Cola, Dose 33 cl
    — × 1.90—
    Schlaf × 00.00
    Gemüse × 0nicht gefunden
    Stilles Wasser × 1im Kaffee
    Treuerabatt seit 1984-0.05
    TOTAL CHF—

    Inkl. 8,1 % MWST. Kalorien nicht inbegriffen.
    Bezahlt mit: Codezeilen

    Danke für Ihre Treue. Bis gleich. Wortwörtlich.

    Ungefähr der Preis eines Chalets in Verbier. Na gut, einer Garage in Verbier.

    Anmerkungen der Ernährungsberaterin

    • Kaffee. Der Kardiologe wollte den Quellcode seines Herzens einsehen. Zugriff verweigert: proprietär.
    • Pizza. Man hat ihm die Ernährungspyramide gezeigt. Er hielt sie für ein Stück Pizza.
    • Cola. Sein Zahnarzt hat sich ein Boot gekauft. Dann ein zweites, getauft auf «Dose Nr. 1’337».
    • Gemüse. Einziges erfasstes Gemüse: die Tomatensauce auf der Pizza. Er zählt sie doppelt.

    Berechnungsmethode: eine Tasse = 2 dl und 80 mg Koffein; eine Dose = 33 cl, 11,5 cm hoch, 35 g Zucker und 13 g Aluminium; ein Pizzakarton = 4 cm; eine Pizza = 33 cm Durchmesser. Die Zahlen sind falsch, aber die Grössenordnungen sind erschreckend.

    Geschriebene und debuggte Codezeilen seit 1984

    Offizielle Auswertung seiner Festplatte, ermittelt mit dem Befehl wc -l. Die Festplatte bat während der Zählung um eine Pause. Er nicht.

    $ wc -l ~/code/seit-1984/**/*

    —geschriebene Zeilen
    —debuggte Zeilen (ja, mehr als geschriebene: keiner weiss, wie)
    —am nächsten Morgen seufzend gelöschte Zeilen
    —«provisorische» Zeilen, immer noch in Produktion
    —Kommentare «// TODO: noch korrigieren»
    —Zeilen, die niemand mehr versteht, er selbst eingeschlossen
    1fehlendes Semikolon (seit 2009)
    —total: viel zu viele, und nicht genug, um TreasureQuest fertigzustellen

    Auf Endlospapier gedruckt, würde das abgerollte Listing reichen bis…

    — km Papier ab Martigny. Ankunft in Brig voraussichtlich —, wenn der Drucker durchhält.

    Seine Tastatur hat die Frühpensionierung beantragt. Abgelehnt: Es fehlten noch ein paar Zeilen.

    Informatische Logik: die 6 Phasen des Debuggens

    Ein seit 1984 bewährter Algorithmus, nirgends gelehrt und überall angewendet. Komplexität: O(∞). Abbruchbedingung: nicht gefunden.

    Runde Nr. 1

    1. 1
      Es läuft nicht. Warum?Er öffnet 14 Tabs und einen Kaffee.
    2. 2
      Es dürfte nicht laufen, aber es läuft. Warum?Der beunruhigendste Moment des Tages.
    3. 3
      Ich ändere irgendwas, auf gut Glück.Wissenschaftliche Methode, genannt «der Schubs».
    4. 4
      Jetzt läuft gar nichts mehr.Immerhin ist es jetzt konsistent.
    5. 5
      Ich mache alles wieder rückgängig.Ctrl+Z, siebenundvierzig Mal.
    6. 6
      Es läuft immer noch nicht, und ich weiss nicht mehr, warum es am Anfang lief.Zurück zu Punkt 1.

    goto 1

    Durchschnittliche Dauer eines Zyklus: zwischen fünf Minuten und drei Wochen (siehe «Fünf Minuten» im Wörterbuch).

    Das Museum der Opfer seiner Tastatur

    All diese Projekte gibt es wirklich. Sie wurden nachts programmiert, tagsüber ausgeliefert, und manche werden von Hunderttausenden genutzt. Klicke auf eine Diskette, um das Opfer zu sehen.

    Vermisstenanzeige

    Plakat im ganzen Wallis aufgehängt, von Martigny bis Brig. Bisher hat sich kein Zeuge gemeldet. Die Polizei vermutet, dass der Vermisste zu Leuten geflüchtet ist, die um 22 Uhr ins Bett gehen.

    Vermisst

    Verschwunden seit 1984

    Name
    Der Schlaf (genannt «sleep()»)
    Verschwunden am
    1. Januar 1984, gegen Mitternacht
    Beschreibung
    Etwa 8 Stunden lang. Ruhig, leise, riecht nach frischem Kissen.
    Zuletzt gesehen
    Auf dem Sofa, an einem Sonntag 1983, während eines Films
    Besonderes Merkmal
    Verschwindet, sobald ein Bildschirm eingeschaltet wird
    Belohnung
    1 Kaffee (kalt) und ein Stück Pizza (von gestern)

    Wenn du ihn siehst, nähere dich nicht abrupt: Er ist scheu. Ruf den verrückten Coder an. Er nimmt nicht ab, aber er freut sich.

    Bist du ein verrückter Coder?

    Ehrlich ankreuzen. Niemand schaut zu, ausser deiner Webcam.

    0 / 10

    Normaler Mensch. Du schläfst nachts. Seltsam, aber respektabel.

    Das Horoskop der Programmiersprachen

    Täglich berechnet von einem Stack-Overflow-zertifizierten Astrologen. Wähle dein Sternzeichen. Die Vorhersagen ändern sich jeden Tag um Mitternacht, wenn er mit dem Coden anfängt.

    Horoskop für —

    —

    —

    —

    Bugs
    —
    Kaffee
    —
    Schlaf
    ☆☆☆☆☆

    Glückszahl: —

    Der Ausreden-Drucker

    Ein Bug in Produktion? Ein unzufriedener Kunde? Der Nadeldrucker des verrückten Coders liefert dir eine zertifizierte Ausrede, 1984 gedruckt und nie zweimal verwendet. Theoretisch.

    Warte auf einen Bug…

    Das Wörterbuch des verrückten Coders

    Ausgabe 1984, durchgesehen und korrigiert um 3 Uhr morgens. Unverzichtbar, um zu verstehen, was er wirklich meint.

    Fünf Minuten Redew.
    Zeiteinheit zwischen zwei und sechs Stunden.«Bin in fünf Minuten da, mach nur noch schnell was fertig.»
    Schlafen Verb, veraltet
    Alte menschliche Praxis, bei der man die Augen schloss, ohne etwas zu kompilieren.Seit 1984 nicht mehr gebräuchlich.
    Einfach Adj.
    Dauert drei Wochen.«Das ist einfach, das mache ich dir heute Abend.»
    Fast fertig Redew.
    Zu 90 % fertig. Es fehlen nur noch die anderen 90 %.
    Provisorisch Adj.
    Endgültig.// provisorische Lösung (2009)
    Dokumentation Subst., f.
    Fabelwesen. Siehe auch: Einhorn, Yeti, Schlaf.
    Frühstück Subst., n.
    Mahlzeit gegen 16 Uhr, meist bestehend aus Pizza.
    Wochenende Subst., n.
    Zwei Tage Coden ohne Meetings.
    Ferien Subst., Pl.
    Woanders coden, mit Aussicht.«Das Hotel-WLAN ist mies.» (einzige registrierte Beschwerde)
    Sonne Subst., f.
    Grosse Lampe am Himmel, die Spiegelungen auf dem Bildschirm verursacht.
    Backup Subst., n.
    Etwas, das man gestern hätte machen sollen.
    Kaffee Subst., m.
    Treibstoff. Blutgruppe. Lebenssinn (siehe eat()).

    Kultsprüche der Entwickler

    Die Klassiker. Getestet, bewährt und seit 1984 in jeder Kaffeepause wiederholt. Klicke auf eine Karte, um die Pointe zu sehen.

    Der Anrufbeantworter

    Du hast versucht, ihn anzurufen? Natürlich hat er nicht abgenommen. Sein Anrufbeantworter von 1984 übernimmt. Drück eine Taste, für jede Situation gibt es eine Nachricht.

    ● RECNachrichten: 9’999+

    Guten Tag, Sie sind beim verrückten Coder. Er kann gerade nicht antworten: Er codet. Drücken Sie eine Taste.

    Was seine Gegenstände denken

    Wir haben die direkten Zeugen befragt. Sie waren bereit zu reden, unter Wahrung der Anonymität.