Die Nerd Enzyklopädie 10 - Brainfuck

Die Behauptung ist natürlich starker Tobak. Bei Brainfuck handelt es sich um eine sogenannte “esoterische Programmiersprache”, entworfen vom Schweizer Urban Müller. Brainfuck sollte eigentlich leicht zu lernen sein, da sie gerade einmal acht Befehle umfasst, die jeweils nur aus einem Zeichen bestehen. Was soll da schon schief gehen?

Eine ganze Menge. Denn diese besondere Eigenschaft dürfte das Programmieren ein wenig erschweren. Was nicht heißt, dass es unmöglich ist. Probier es doch mal aus. Das sind die acht Befehle, die du kennen musst:

Die Nerd Enzyklopädie 9 - Der Streisand-Effekt

Der Streisand-Effekt ist für die meisten sicherlich ein alter Hut, gehört aber auch in dieses illustre Kompendium der digitalen Phänomene. Der Streisand-Effekt kann seine Dynamik vor allem auf Grund der schier endlosen Verbreitungsmöglichkeiten des Internets entfalten. Aber wie kam es dazu und welche Rolle spielen Pissoirs?

Am Anfang war die Erosion…

In 2003 fertige Kenneth Adelmann für pictopia.com zahlreiche Luftaufnahmen der kalifornischen Küste an, um die dort vorherrschende Erosion zu dokumentieren. Auf einer der 12.000 (!) Aufnahmen war auch das Anwesen von Barbara Streisand zu sehen. Die war davon aber kaum angetan, wohl in Sorge um Ihre Privatsphäre (Google StreetView, Streisands Endgegner, startete übrigens erst 4 Jahre später). Also verklagte sie Adelmann prompt auf Schadensersatz in Höhe von 50 Mio. USD.

Die Nerd Enzyklopädie 8 - Hello World hat einen Bug

Hello World! hat einen Bug

Solltest du jemals in den erhabenen Genuss kommen eine Programmiersprache erlernen zu dürfen, wird deine erste Lektion vermutlich die Ausgabe von „hello world!“ behandeln. Ein Klassiker, beliebt bei Jung und Alt und so etwas wie der Running Gag in der Programmierer-Szene. (Das Verständnis für Nerd-Humor muss man sich übrigens hart erarbeiten.)

Der erste nachvollziehbare Beleg für diese Tradition geht auf Brian Kernighan zurück. Dieser verfasste für die Bell Laboratories eine Anleitung zur Programmierung mit B (Überraschung: der Nachfolger von B ist übrigens C). Dort wurde „hello, world“ aber nur als Beispiel-Ausgabe eines Programmes verwendet. Erst in einer späteren Anleitung für die Programmiersprache C von 1978 führte Kernighan dann die heute gewohnte Variante ein:

Die Nerd Enzyklopädie 7 - Das allererste Easter-Egg

Als Easter Egg - also Osterei - wird eine versteckte Botschaft, Feature oder Gimmick in einem Programm, Computerspiel und eigentlich überall bezeichnet. Der Kreativität sind keine Grenzen gesetzt. So z.B. der Aufkleber mit dem Intel-Logo auf der CPU-Verpackung, der auf der Rückseite wie das Innenleben einer CPU aussieht [REDDI1].

Das erste bekannte Easter Egg überhaupt befindet sich im make-Befehl der Computer PDP-6 und PDP-10. Führte man den Befehl mit dem Argument love gab es die Ausgabe not war zurück, bevor es die Ausführung fortführte:

Die Nerd Enzyklopädie 6 - Die Entstehungsgeschichte von Activision

Activision gehört zu den erfolgreichsten Unternehmen der Videospiel-Industrie und die Entstehung ist eng verknüpft mit dem Untergang eines Videospiel-Pioniers: Atari. Der Grund: Fehlentscheidungen und Ignoranz [GAME1].

Aber von Anfang an: Atari wurde 1972 von Nolan Bushnell und Ted Dabney gegründet. Atari produzierte sowohl Spielecomputer als auch Spiele und war zu der Zeit genau das, was man heute als „Start-Up“ bezeichnen würde: Gute Stimmung, gutes Produkt.

Die Nerd Enzyklopädie 5 - Gesehen, gelacht, F8

Dieser fröhliche Ausspruch geht auf eine populäre Software zurück bzw. auf eine ganze Software-Familie: Die alternativen Dateimanager. Einer ihrer ältesten und wichtigsten Vertreter ist der sagenumwobene Norton Commander. Jeder Nerd sollte bei diesem Anblick feuchte Augen bekommen:

Der Norton Commander wurde 1984 unter dem Namen VisualDOS (VDOS, DOS steht für Disc Operating System) von John Socha entwickelt und später von Peter Norton Computing vertrieben. DOS war seinerzeit ein Betriebsystem, das ohne grafische Benutzeroberfläche auskam. Für viele Anwender*innnen heutzutage vermutlich eine seltsame Vorstellung.

Die Nerd Enzyklopädie 4 - RegExen — Jetzt hast du zwei Probleme

Reguläre Ausdrücke sind umstritten: Geliebt als vielseitiges Werkzeug, verdammt als undurchschaubare Fehlerquelle. Nicht ohne Grund heißt es: Reguläre Ausdrücke lösen ein Problem und schaffen zwei neue.
Woher kommt diese Hassliebe?

Eine exotische Tierart

Reguläre Ausdrücke, kurz RegExen, sind mitunter schwer zu entwickeln und irgendwann kaum noch lesbar. Das erschwert das Debugging, also die Fehlersuche. Wie wäre es zum Beispiel mit diesem Schmuckstück:

^(?=.*[A-Z].*[A-Z])(?=.*[!@#$&*])(?=.*[0–9].*[0–9])(?=.*[a-z].*[a-z].*[a-z]).{8}$

Na, erkannt? Diese RegExe überprüft ob eine Passwort-Zeichenfolge bestimmten Sicherheitsanforderungen entspricht. Diesen Hinweis kann man im Quellcode vielleicht noch dokumentieren. Aber was wenn sich die Sicherheitsanforderungen im Detail ändern?

Die Nerd Enzyklopädie - 640K Speicher sind genug

Diese Aussage gehört wohl in jedes gut gepflegte Informatik-Seminar: Bill Gates unterlag anscheinend dem Irrglauben, dass 640 KByte Arbeitsspeicher für Computer genügen würden. Wir alle wissen, dass selbst unsere Armbanduhren ein vielfaches davon benötigen.

Bereits 1981 soll sich Bill Gates dieses umstrittene Bonmot abgerungen haben und es kursiert immer noch durch das Internet und ominöse IT-Vorlesungen.Dabei erklärte Gates knapp 15 Jahre später, dass die Aussage gar nicht von ihm stammt. Seine Erklärung ergibt durchaus Sinn: Der damals erschienene IBM PC konnte mit bis zu 640 KB Arbeitsspeicher ausgerüstet werden. Kam es jemals vor, dass sich Software-Entwickler mit den gegebenen Ressourcen zufrieden geben? Das Ausreizen technischer Grenzen ist wohl eher eine sportliche Disziplin in der IT. Man kann also annehmen, dass Gates eher der gegenteiligen Ansicht war [GO1]:

Primes - Animations-Engine

“Primes” ist eine in JavaScript geschriebene Web-App, die Primzahlen auf einer Spirale visualisiert. Die Darstellung lässt sich durch zahlreiche Paramater anpasen, viele Parameter lassen sich animieren.

https://primes.nickyreinert.de

Freecoffee - Der Stullen-Generator

https://freecoffee.de

Eine in JavaScript geschriebene Oberfläche, um belegte Brote (vulgo Stullen) randomisiert zu belegen.