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:

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.

01. Dezember 2011 von erlehmann
Kategorien: Audio, Interviews | Schlagwörter: , , , , , , , , , | Schreibe einen Kommentar

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.

08. November 2011 von erlehmann
Kategorien: Software | Schlagwörter: , | 7 Kommentare

Nein, Bernd. Du bist der Krebs.

Papierkrebsbernadette erzählt vom Krebs. (SVG-Version)

Bastelzeit! :3

21. Oktober 2011 von erlehmann
Kategorien: Bilder, Netzkultur | Schlagwörter: , | 4 Kommentare

Linkschleuder (21)

Spiele

Musik

Musikvideos

Porno

Überlegungen

Analyse

Software

18. Oktober 2011 von erlehmann
Kategorien: Linkschleuder | 5 Kommentare

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

Ein Blog in C, mit dietlibc, libowfat, unter gatling laufend und mit tinyLDAP-Backend.

Nebenbei: Ich lese Fefe ja nur wegen der leckeren Rezepte.

Für Alle, die Ähnliches vorhaben, gibt es das Bild auch als SVG.

17. Oktober 2011 von erlehmann
Kategorien: Bastelei, Netzkultur | Schlagwörter: , , | 5 Kommentare

← Ältere Artikel

Neuere Artikel →