Archive for the 'Geschichten' Category

Die feuerrote Cray

Nach langer Zeit mal wieder eine Kurzgeschichte von mir, die mir an einem verregneten Tag eingefallen ist. Viel Spaß beim Lesen.

Es war ein verregneter Dienstagvormittag als wir ankamen. Wir, die Studenten, und Professor Braun.
Auf der Glasfront des Computermuseums konnte man grauschwarze Wolken vorbeiziehen sehen, die mit rascher Geschwindigkeit über den Himmel gleiteten. Der Wind fuhr mir durch das Haar und ich fror, trotz des Parkas, den ich beinahe im ICE vergessen hätte.
Professor Braun ging unbekümmert von all dem vor uns her; neben ihm sein Assistent König. König war im Gegensatz zu Professor Braun ein hagerer Typ, etwa Mitte dreißig mit ausgeprägten Geheimratsecken im kurzen schwarzen Haar. Auf dem Oberkopf von Braun zeichnete sich scharf eine Glatze im kastanienbraunen mit Silberstreifen durchzogenen, verbliebenen Haar ab. Ich schätzte den Professor auf etwa fünfzig. Er pflegte penibel seinen Oberlippenbart. Weder stand ein einzelnes Haar über, noch ein sonstiger Makel, der die vollendete Symmetrie zerstören könnte, entstellte den Professor.
Korrektheit und nichts anderes verlangte er von sich und den anderen ab. Daher war auch dieser Besuch des Computermuseums keine Freizeitveranstaltung, sondern ein vor Wochen angekündigter Pflichttermin.

Im Foyer schritt Professor Braun zwei weiße Stufen empor und ließ einen flüchtigen Blick über unsere Gruppe wandern.
„Bevor einer von Ihnen fragt, ob der Inhalt dieser Exkursion Relevanz für die Klausur besitze, kürze ich das mal ab: Gehen Sie einfach davon aus, dass dem so ist.“
Niemand hätte auch etwas anderes erwartet. Bei seiner Klausurplanung machte Braun keine Kompromisse. Wenn eine Aufgabe mit Assembler zu lösen sei, so führte an der Maschinensprache kein Weg vorbei.
Auf dem Programm stand eine Führung mit Erläuterungen zu ausgewählten Exponaten. Danach war eine Pause eingeplant, in der man selbst durch die Ausstellung gehen konnte. Zum Abschluss würde Braun noch einen Vortrag halten.
Draußen regnete es und der Wind peitschte die Regentropfen gegen die Fensterscheiben. Das Geräusch der mal stärker, mal schwächer trommelten Regentropfen füllte meine Gehörgänge aus und verdrängte im Kopf jeden Gedanken. Stille.
Einem Impuls folgend, setzte ich mich mit den anderen in Bewegung. Links und rechts öffneten sich Räume mit technischen Apparaturen, die ich teils nur aus den Augenwinkeln wahrnahm. Andere aus der Gruppe reckten im Vorbeigehen die Köpfe.
„Sie haben nachher noch Gelegenheit die anderen Exponate der Ausstellung zu betrachten“, tönte die raue Stimme Professor Brauns, bevor wir die erste Station der Führung erreichten. Im Halbkreis scharrten wir uns um ein metallisches Gestell, das mich für einen kurzen Moment an die Modelleisenbahn meines Großvaters erinnerte. Unweit vom Aufbau entfernt, befand sich eine großformatige Schwarzweißfotografie von Konrad Zuse. Zuses Z3 stand vor uns, den man durchaus als den Urahn aller modernen Computer betrachten konnte. Die Führung begann mit der Beschreibung der technischen Details. Umstehende Kommilitonen griffen hastig zu ihren Blöcken, um die gesprochenen Worte mit schwarzer, blauer und sogar grüner Tinte zu bannen. Diese Szene würde sich heute noch einige Male wiederholen.
Weiter ging es zu einem Modell des Illiacs, der im wahrsten Sinne des Wortes ein Großrechner war. Ich betrachtete mir einige Aufnahmen des echten Illiacs auf einer Tafel. Illiac wirkte wie ein überdimensionierter Kleiderschrank, der mehr als zwei Mann hoch war. Um solch eine Rechenmaschine zu bedienen, waren mehrere Menschen vonnöten, die Einstellungen vornahmen und die Daten einspeisten. Klobig waren sie alle, die alten Computer.
Auch wenn ich nicht die Jahreszahlen im Kopf hatte, erschien mir die Führung in chronologischer Reihenfolge abzulaufen. Die Rechenmaschinen wurden immer kleiner und ihre Rechenleistung wuchs beständig. Integrierte Schaltkreise verdrängten die Relaisschaltungen der ersten Computer.

Computerempfindungen

Ich hab mal wieder meiner Kreativität freien Lauf gelassen. Dieses Mal ist es aber kein Gedicht geworden, sondern eine Kurzgeschichte. Wie gewohnt, hat sie mit meinem Lieblingsthemenbereich zu tun: Computer. Ausschlaggebend war allerdings nicht ein urplötzlicher Geistesblitz. Nein, sondern der c’t Artikel (Februar Ausgabe) “Super Friday“, der die offizielle Einweihung der zivilgenutzten Supercomputer Jugene und Ranger bekannt gab. Als weitere Inspirationsquelle darf ich noch die Technology Review Artikel nennen, die ich gesondert in einem vorhergehenden Beitrag bearbeitet hatte.
Die Supercomputer haben mich vom technischen und (bei Jugene vom Design) Aspekt äußerst beeindruckt. Wenn ich da von terabyteweisem RAM des Gesamtsystems höre, wird mir schon schwindlig. Und bei den Technology Review Artikeln blieb meine Faszination beim Thema der Gefühlsbindungen hängen. Irgendwann ergab sich für mich die Frage, wenn beispielsweise Computer zu Gefühlsregungen in der Lage wären (wie auch immer sich diese äußern mögen), ob wir solche Empfindungen als solche erkennen könnten. Sie müssen nicht unbedingt den menschlichen Verhaltensmuster folgen, je nachdem, welche Einschränkungen die Hard- und/oder Software dem entgegenstellt.
Produkt des Ganzen ist ein fiktives, zum Teil auf die Informationen der einzelnen Quellen basierendes Szenario. Wer mag, kann sich gerne das knapp drei Seiten umfassende PDF (supercomputerliebe.pdf) durchlesen. Meinungen zur Kurzgeschichte, bitte hier als Kommentar posten. Vor allem würde mich Meinungen zum Thema und meinem Schreibstil interessieren.

Userfriendly war gestern

Ein vergessenes “Werk” aus dem letzten Jahr, jetzt digital.

Als ich – junger Informatiker, mit Namen Pascal Dehlm – eine Stelle als Programmierer fand, wurde mir bewusst, wie wenig ich von der Programmiererwirklichkeit verstand. Für meinen ersten Tag hatte ich folgende Parameter: ich sollte mich gegen 8:35 Uhr – mit dem versteckten Hinweis möglichst pünktlich zu sein – im Büro 3.12 einfinden. Dort würde mich dann
ein Herr C. Zuse einweisen. Schließlich ist der Tag da. Mit meinem ältlichen Golf parke ich unweit von meiner zukünftigen Arbeitsstelle.
Fünf Minuten nach acht. Ich bin überpünktlich. Ich versuche mir vergebens eine Zigarette an zu zünden, lasse es allerdings sein und greife zum Kaugummi mit Minzgeschmack. Jetzt fange ich an meine Unterlagen nochmals zu sortieren. Alles in richtiger Reihenfolge.

Der Zeiger meiner Armbanduhr bewegt sich auf 35 Minuten zu. Gedämpfte Schritte nähern sich Büro 3.12 und mir. Panik befällt mich ungewollt, doch ich zwinge mich zur Disziplin. Ein Mann im Anzug und mit leicht ergrautem Haar tritt mir entgegen.
„Guten Tag, sie müssen der neue Bewerber – Pascal Dehlm – sein.“ Er reicht mir die Hand zum Gruß. Guten Tag, erwidere auch ich. Er öffnet die Tür von Büro 3.12 und bittet mich Platz zu nehmen. Ich reiche ihm die Unterlagen, die ich mitbringen sollte. CORNELIUS ZUSE, LEITER DER ABTEILUNG FÜR PROGRAMMIERUNG – steht auf einem Messingschild.
„C/C++, Java, SAP/ABAP… mhm…“, murmelte Zuse, während er meine Referenzen studierte.
„Ich werde Ihnen nun Ihren Arbeitsplatz zeigen und Ihnen unsere Grundsätze der
Softwareentwicklung erläutern. Wenn Sie mir dann bitte folgen möchten“, sagte Zuse der mich freundlich doch bestimmt zur Tür hinaus komplimentierte. Ich kam mir wie eine jämmerliche Gestalt neben Zuse vor, der so etwas wie Autorität und Erfahrung ausstrahlte.
„Sie müssen wissen, dass wir keine gewöhnliche Software herstellen. In Zeiten, wo der User mit netten, verschnörkelten Progrämmchen verhätschelt und in Watte gepackt wird“, begann Cornelius Zuse, „muss man als Softwareentwickler einen ganz anderen Kurs einschlagen, verstehen Sie?“
Ich begriff nicht. Vielleicht war ich auch nur zu beschränkt, um die großen Visionen zu erfassen.
Zögerlich fragte ich: „Welcher Kurs wäre das?“
„Um es mal so zu beschreiben: Userfriendly war gestern. Moderne Software muss dem Anwender wieder das Fürchten lehren. Viel zu lange haben sich Generationen von Programmierern die Vorstellungen des Users diktieren lassen. Sicherlich hat man Sie schon während der Ausbildung darauf getrimmt.“
Ich erinnere mich an meine nicht allzu ferne Studienzeit. Userfriendly…
„Darum rate ich Ihnen einige Gewohnheiten in diesem Sinne abzulegen. Grafische Benutzeroberflächen werden bei uns generell unübersichtlich und verwirrend gestaltet. Damit trennt sich schon einmal die erste Spreu vom Weizen. Ebenso soll die Software rigoros gegen die Eingabefehler des Benutzers vorgehen. Als erzieherische Maßnahme hat sich der Systemabsturz bewährt. Und für die ganz hart gesottenen User gibt es unser 1200 seitenstarkes Handbuch, mit allerlei kryptischen Beschreibungen. Das hat bis jetzt noch niemand geschafft.“
„Ich verstehe“, antworte ich.
„Ah, ich sehe, Sie haben unsere Grundsätze schon verinnerlicht, Herr Dehlm. Noch ein Tipp von mir: Programmieren Sie in INTERCAL“

Neulich im .\bin Verzeichnis:

Hier mal wieder was selbst Geschriebenes. Viel Spaß beim Lesen :)
Wer es als pdf für die heimische Platte möchte: hier

C – Compiler: „Hey Leute, hat jemand zufällig meine C-Standardbibliothek gesehen? Die such’ ich schon seit gestern.“

Debugger: „Was suchst du? – Is’ mir schlecht…“

Der C++ – Compiler kommt zu den anderen: „Morgen allerseits. Gut geschlafen?“

Debugger und C – Compiler: „Morgen.“

C – Compiler: „Ähm, weißt du vielleicht wo meine C-Standardbibliothek ist?“

C++ – Compiler: „Müsste die nich’ im Include Verzeichnis sein?“

C – Compiler: „Eigentlich schon. Aber da kann ich sie nicht finden. Hab schon alles auf den Kopf gestellt.“

C++ – Compiler: „Dann kann ich dir auch nich’ helfen. Ich muss heute noch einiges kompilieren und so.“

C – Compiler: „So, so – wir haben also was zu tun. Du willst mir doch bloß nicht helfen!“

Debugger: „Bitte nicht so laut. Ich weiß bald nicht mehr was Null und was Eins ist.“

C++ – Compiler: „Ich schrei’ ja nicht so durchs ganze Betriebssystem wie der da.“

C – Compiler: „Auch noch frech werden. Gib’s doch zu, du hast meine C-Standardbibliothek. War doch schon mal so. Und meine 2D-Grafik Bibliotheken hätte ich auch gerne mal wieder.“

C++ – Compiler: „Da, nimm sie. Haben mich eh nicht vom Hocker gerissen.“

Debugger zu sich selbst: „Ich muss hier raus. Is mir schwindelig. Wo geht’s noch mal zum Papierkorb?“

Als der Debugger das Verzeichnis verlassen will kommt ihm ein aufgelöster Java-Interpreter entgegen.

Java – Interpreter: „…javac! Debugger, pass doch auf!“

Debugger: „Entschuldigung. Warum wird’s mir nur so übel… ohje – ich muss weg!“

Java – Interpreter: „Wo willst du hin?!“

Im .\bin Verzeichnis angekommen, streiten sich der C – und der C++ – Compiler heftig.

C++ – Compiler: „Wer programmiert denn heute noch in C? OOP kannste nich’. Bei den Typprüfungen nehmen wir’s ja auch nicht so genau – stimmt’s oder hab’ ich recht?“

C – Compiler: „Ohne C gäbe es kein C++ – so sieht’s doch aus. Wenigstens unterstütze ich meinen gesamten Sprachumfang, was ja bei dir nicht gerade der Fall ist, wenn man mal genauer in der Sprachspezifikation nach schaut.“

Der Java – Interpreter: „Hallo? – Ich hab mal eine Frage… Hey!“

Für einen Moment unterbrechen die beiden Compiler ihre Streitigkeiten und wenden sich dem Java-Interpreter zu, der betreten in einer Ecke steht.

C – und C++ – Compiler: „Was ist denn mit dir los?“

Java – Interpreter: „Javac ist weg! Habt ihr ihn vielleicht gesehen?…“

C – Compiler: „Nein. Ohne Laufzeitbibliotheken wird er sicherlich bald wieder zurückkommen. Wo ist denn eigentlich der Debugger?“

C++ – Compiler: „Der wird wohl geflüchtet sein – vor dir.“

C – Compiler: „Pass` auf, sonst gibt’s hier gleich ‘ne Exception!“

Java – Interpreter: „Wenn ihr den Debugger sucht, der ist mir vorhin begegnet und sah gar nicht gut aus.“

Das Verzeichnis geht auf und der Debugger tritt sichtlich erleichtert ein.

Debugger: „Hi, Leute!“

Debugger, zum Java-Interpreter gewandt: „Streiten die beiden immer noch?“

C++ – Compiler: „…ha, Exceptions! Du bist doch immer auf no warnings eingestellt.“

C – Compiler: „Jetzt kannste was erleben!“

Der C – Compiler wechselt vom bin ins Include-Verzeichnis und sucht die C++ Bibliotheken.

C – Compiler: „Ab damit ins Nirvana! Aber, was ist das denn? Die sind ja weg?!“

Wieder im bin-Verzeichnis.

C – Compiler: „Die ganzen Include-Dateien sind weg!“

C++ – Compiler: „Was? Du machst einen Scherz, oder?“

C – Compiler: „Nee, das ist mein vollster Ernst. Alles weg – auch deine Bibliotheken.“

Debugger: „Sind das nicht so Dateien mit einem .h am Ende? So welche hab ich vorhin im Papierkorb auf dem Desktop gesehen. Vielleicht sind das die.“

C++ – Compiler: „Da hat wohl jemand nachgeholfen – will ja aber niemanden angucken.“

C – Compiler: „Du glaubst doch etwa nicht, dass ich meine eigenen Bibliotheken lösche!“

Debugger: „Schluss jetzt! Ihr führt euch hier auf wie unfertige Alpha-Versionen!“

Debugger: „Ruhe? – Danke. Wenn hier alles plötzlich verschwindet, kann es nur zwei Erklärungen geben. Erstens: unsere gute alte Festplatte leidet langsam aber sicher an Alzheimer oder zweitens: der User pfuscht mal wieder am System rum. Danke für eure Aufmerksamkeit, jetzt könnt ihr gerne weiter streiten.

Debugger zum Java – Interpreter: „Falls bei dir noch ein Speicherplätzchen frei ist, würde ich gerne bei dir einziehen, falls die da nicht aufhören wollen. Ich sag’s ja: Compiler ohne ihre Laufzeitbibliotheken sind fürchterlich!“

In der Zwischenzeit betritt der Java – Compiler das Verzeichnis. Nur der Java – Interpreter bemerkt ihn.

Java – Interpreter: „Javac, wo warst du? Hab mir Sorgen um dich gemacht.“

Java – Compiler: „Ich hab dich auch gesucht, aber du warst nicht in unserem Verzeichnis – aber macht ja jetzt auch nichts mehr. Das neue Eclipse ist da! Und bei der Gelegenheit: ihr seit alle eingeladen zur Einweihungsfeier.“

Java – Interpreter: „Neues Eclipse? Nicht schlecht.“

Java – Compiler: „Der User fährt wohl gerade eine Updatesession, soweit ich mitbekommen habe. Hey C++ und Kollege, guckt doch nicht so finster. Vielleicht… “

Und da platzt auch schon WinZip herein: „Moin, sind die Compiler – C und C++ – vielleicht zu gegen? Ich hätt’ da was zum Entpacken.“

C – und C++ – Compiler: „Ja, hier drüben!“

WinZip: „So, dat wär’n ein paar Include-Dateien. Noch’n schönen Tach auch.“

C – Compiler: „Guck dir das mal an!“

C++ – Compiler: „OpenMP – für C und C++. Da haben wir uns umsonst gestritten.“

Später auf der Eclipse-Einweihungsparty.

Java – Compiler: „Und, wie gefällt dir unsere neue IDE?“

Java – Interpreter: „Echt Klasse.“

C++ – Compiler: „…also das mit deinen Grafik-Bibliotheken, das war nicht so gemeint. Tut mir leid.“

C – Compiler: „Ja, das mit dem Sprachumfang ist mir dämlicherweise so rausgerutscht. Den Output hätte ich prüfen sollen.“

C++ – Compiler: „Wieder Freunde?“

C – Compiler: „Ja, Kollege.“

Debugger: „Mediaplayer – mach’ mal die Mucke an! Aber was fetziges, bitte.“