Interviews auf dem Chaos Communication Camp 2011
Auf dem diesjährigen Chaos Communication Camp haben plomlompom und ich einige Leute interviewt; wir nahmen, was uns über den Weg lief, und limitierten die Gespräche auf etwa zehn Minuten. Alle Interviews wurden annotiert und auf der Warum nicht?-Webseite veröffentlicht. Hier die Links:
- Warum nicht? — Folge 5 mit fukami
- Warum nicht? — Folge 6 mit Erich Möchel
- Warum nicht? — Folge 7 mit derPUPE
- Warum nicht? — Folge 8 mit Nick Farr
- Warum nicht? — Folge 9 mit dem Schlüsselmann
- Warum nicht? — Folge 10 mit Scotty
- Warum nicht? — Folge 11 mit Gregor Sedlag
Wer wenig Zeit oder Lust hat, sollte sich zumindest das Gespräch mit Erich Möchel anhören; es ist meiner Meinung nach das Beste.
Weniger Programmieren ist mehr
Wenn ein Problem mit Hilfe eines Computerprogramms bearbeitet werden soll, ist es oft hilfreich, darüber nachzudenken, welcher Ansatz so einfach ist, dass er gerade so funktioniert. Eingeweihte nennen dies The Simplest Thing that Could Possibly Work.
Diesem Paradigma folgende Lösungen können selbst dann gut funktionieren, wenn sie auf den ersten Blick absurd wirken: Die Frage Was ist der Vorname von Franz Beckenbauer? schützt gegen spam nämlich genau so gut wie ein komplexes Analyse-plugin. Auch die Methode der Riesenmaschine, neue Kommentare gegen eine kurze Liste unerwünschter Wortbestandteile (etwa !!, lugschei) zu prüfen, kommt ohne komplizierte Filtermodelle aus.
Wie es hingegen nicht geht, beschreibt Lea Verou anhand der Aufgabe, das Doppelkreuz am Anfang von URL-Fragmenten zu entfernen. In einem Buch fand sie dazu den JavaScript-Schnipsel location.hash.match(/#(\w+)/)[1]
. Der enthält allerdings nicht nur einen unleserlichen regulären Ausdruck, sondern funktioniert auch nicht; so produziert die Verarbeitung des gültigen Werts #♥ einen Fehler. Verous in jedem Fall funktionierende Alternative lautet schlicht location.hash.substring(1)
.
Um Fehler dieser Art zu verstehen, sollte man wissen, dass viele Programmierer nicht programmieren können. Damit ist nicht gemeint, dass sie unfähig sind, lauffähigen Code zu produzieren – sie haben jedoch Schwierigkeiten, ein zutreffendes mentales Modell der Programmlogik zu entwickeln. Hinzu kommt mangelnde Lesekompetenz: So lehnen Programme etwa Email-Adressen mit Plus-Zeichen ab, weil die Entwickler nicht wissen, welche Zeichen erlaubt sind – und dennoch überzeugt sind, das Richtige zu tun.
Dass jemand einen Algorithmus oder eine Spezifikation missverstanden hat, ist jedoch für Außenstehende nicht auf den ersten Blick erkennbar, für einen selber sogar noch weniger. Unabhängig vom Ego gilt aber: Programme nach dem Simplest Thing-Prinzip zu schreiben reduziert das Risiko, etwas Unverständliches zu produzieren – selbst für jene, die sich für besonders clever halten. Als Fingerübung habe ich mir daher vorgenommen, so weit wie möglich auf reguläre Ausdrücke zu verzichten.
The Simplest Thing that Could Possibly Work muss übrigens nicht unbedingt aus eigenem Code bestehen: Spezialisierte Programmbibliotheken zu nutzen spart nicht nur Zeit, sondern reduziert ebenfalls die Fehlerrate. Faustregel: Wer komplexe Formate wie HTML parsen oder generieren möchte, sollte besser existierende Werkzeuge benutzen, als sich selbst Gedanken zu machen – sonst besteht das Risiko, eine beherrschte Technik in einem Bereich anzuwenden, für den sie vollkommen unpassend ist (Patch für Negativ-Beispiel).
Gleich doppelt beleuchtet diese Kategorie BozoCrack – ein Programm, das mit MD5 unkenntlich gemachte Passphrasen nicht selbst knackt, sondern Google bemüht (danke, plomlompom): Es benutzt nicht nur eine externe Resource, sondern zeigt auch, dass die MD5 nutzenden Entwickler nicht verstanden haben, wie Passwörter gespeichert werden sollten.
Linkschleuder (21)
Spiele
- Bandit Racer — 2D-Rennspiel im Browser (via)
- Monster Mechanics — Viecher zusammensetzen (via)
- Gregor Samsa — merkwürdiges Hypertext-Abenteuer (via)
Musik
- Die Langweiligsten Orte Der Welt — Supershirt-Urlaubserzählung (via)
- Formlos und Frei — ruhiger Elektrodeutschpop mit Torsun (via)
- expr~ — Album von 0xA, programmiert in Pure Data (via)
- AWK Music — 8-Bit-Ambient-Musik, generiert mit awk
Musikvideos
- Hymne — Mad Maks singt von Berlin und zeigt ein Pop-Up-Buch
- Meine Welt — Homevideospaß vertont von SDP und Mad Maks
- Want You Gone — cover der Musik des Abspanns von Portal 2
- Pass this on — Gutfühlpop mit cross-dresser Rickard Engfors
- Lara plays the Mortal Kombat theme on piano! (danke, phil)
Porno
- Magic Erotica: Gallery 1 — detailliert arrangierte Posingfotos, teilweise eher verstörend als erregend (siehe auch: Gallery 3)
- Magic Erotica: X Love — Blowjob, Cumshot mit niedlicher Asiatin (via)
- Amazing Nerdy amateur girl giving boyfriend a blowjob (via)
- Tumblr after dark — Amateurporno-Aggregator (via)
Überlegungen
- Teilnahme an Veranstaltungen ohne Frauenquote
- Zur Ineffizienz wiederverwendbarer Raumschiffe
- Kuratieren von Software in offenen Systemen
- Die Gefährlichkeit der xxx-Top-Level-Domain
- Das Pokémon-Problem der Wikipedia
- Entwicklung von TV-Serien-Genres
- Text als universelles Datenformat
Analyse
- MIT-Studie zu Identität und Permanenz auf 4chan (via)
- Warum weibliche Yaoi-Fans sexistische Internetforen nutzen
- Kafkatrapping — rhetorische Fallstricke im Privilegiendiskurs (via)
- Studie dazu, wie romantische Gefühle Einstellungen von Frauen zu MINT-Fächern ändern
Software
- Requests: HTTP for Humans — Python-Bibliothek, die urllib2 abstrahiert
- Rc — The Plan 9 Shell — simpler Kommandozeilen-Interpreter
- cpulimit — Lastbeschränkung einzelner Prozesse unter Linux
- xui — kleine JavaScript-DOM-Bibliothek (via)
Ich glaub, es hackt.
Christopher Lauer ist ja bekannt dafür, dass der schon immer für alle Vorschläge der Blogger-Mafia zu haben war. Und jetzt ratet mal, für wen der neuerdings Werbung macht. DA KOMMT IHR NIE DRAUF!!1

Nebenbei: Ich lese Fefe ja nur wegen der leckeren Rezepte.
Für Alle, die Ähnliches vorhaben, gibt es das Bild auch als SVG.