while history: continue

Hier folgt ein leicht geglättetes Transkript der Keynote, die ich auf der PyCon UK 2019 halten durfte. Ich bin den Veranstalter*innen nach wie vor dankbar, dass sie mir die Teilnahme und die daraus entstandenen Erfahrungen und Erinnerungen ermöglicht haben – seit ich da war, freue ich mich darauf, Cardiff wiederzusehen. Alle Anpassungen am Skript dienen nur der Lesbarkeit – Gliederung und Inhalt sind unangetastet. Ich habe auch die gelegentliche Publikumsreaktion stehen lassen, um den Flair zu erhalten (und weil doch etwas stolz bin, Leute zum Lachen gebracht zu haben). Am Ende finden sich noch einige Anmerkungen, und den vollen Foliensatz einschließlich meiner Notizen gibt es auf meiner Website.


Damals, als Julius Cäsar mit Kleopatra aus den Flitterwochen zurückkam – ja, es wird um Python gehen, versprochen! – beschloss er, sich seines Rufes würdig zu erweisen, und die Jahre der Verwirrung zu beenden. Die Jahre der Verwirrung waren eine Besonderheit des römischen Kalenders, in dem ein Jahr 355 Tage hatte. Wie ihr sicher bemerkt, sind das zehn Tage weniger als in unserem Jahr. Nun stimmt es nicht, dass die Römer halt spinnen – sie merkten sehr wohl, dass ihr Kalender vom Sonnenjahr abwich. Zum Ausgleich fügten sie nach dem Februar gelegentlich einen ganzen zusätzlichen Monat ein. „Man füge gelegentlich einen Monat ein“ klingt vielleicht etwas schwammig – ist es auch. Und das brachte, wie ihr euch denken könnt, einige Probleme mit sich.




Insbesondere muss man bedenken, dass das Internet damals sehr, sehr langsam war. [Gelächter] Die Entscheidung, diesen Schaltmonat einzufügen, wurde oft recht spontan nur wenige Wochen oder sogar Tage vorab getroffen, sodass Bürger des Römischen Reichs oft nicht sicher sein konnten, welchen Monat sie gerade hatten. Da die Römer aber schon die Bürokratie erfunden hatten, führte das zu reichlich Folgeproblemen. Noch entscheidender ist allerdings, dass diese spontane Entscheidung für oder gegen einen Schaltmonat von der Elite getroffen wurde, und zwar meistens von den Konsuln. Die zwei Konsuln wurden immer für ein Jahr gewählt, und konnten nicht direkt wiedergewählt werden; es wurde erwartet, dass man vor einer Wiederwahl mindestens um die zehn Jahre vergehen ließ. Stellt euch vor: ihr seid für ein Jahr an der Macht – und ihr dürft entscheiden, wie lang ein Jahr ist, indem ihr es um einen Monat verlängert – was für eine Versuchung! Es gab Zeiten, in denen es mehrere Jahre in Folge Schaltmonate gab – und dann wiederum gab es Zeiten, in denen Rom in den Krieg zog, und alle diesen ganzen Kalenderkram einfach vergaßen, weil sie wichtigere Dinge zu tun hatten.

Die Verwaltung so eines Imperiums wird ganz schön unglücklich, wenn die Länge des Jahres nicht absehbar ist. Cäsar lud also die besten Mathematiker und Astronomen ein – Experten auf ihrem Gebiet. Wir kennen ihre Namen nicht, nur ihren Entwurf, der als der julianische Kalender umgesetzt wurde. Der julianische Kalender hatte ein Jahr, das 365 Tage lang war, und das alle vier Jahre um einen Schalttag (weiterhin am Ende des Februar) ergänzt wurde. Das sollte euch bekannt vorkommen, denn es ist fast dasselbe System, das wir immer noch benutzen!


Das Problem ist, dass der julianische Kalender annimmt, dass unser Jahr in Wirklichkeit 365 Tage und sechs Stunden lang ist, was nicht ganz stimmt. Sie lagen um fast elf Minuten daneben. Das ist eine Fehlerquote von 0,002% aufs Jahr gerechnet, was vielleicht vernachlässigbar klingt. Ich bin ein bescheidener Webentwickler, und ich weiß, dass 0,002% für mich wie eine ausgezeichnete Quote klingen. [Gelächter] Und selbst viel bessere Entwickler*innen würden, denke ich, zustimmen, dass das akzeptabel klingt. Leider ließen die Verantwortlichen den julianischen Kalender eine sehr lange Zeit unbeaufsichtigt in Produktion laufen. [Gelächter] Ich will gar nicht wissen, was passiert, wenn jemand meine Programme für tausend Jahre laufen lässt. Aber genau das ist passiert! Europa durchlief ein ganzes Mittelalter, und hatte alle Hände voll damit zu tun, ein Grundmaß an Bildung zu erhalten – dabei mussten Kalenderprobleme in den Hintergrund treten.

Kurze Randnotiz: der ganze Vortrag wird sich auf Europa konzentrieren, weil ich alleine mit dem Schlamassel, das wir hier angerichtet haben, locker die Stunde füllen kann, die ich hier habe. Für die Auswirkungen der europäischen Kalender auf den Rest der Welt und die anderen Kalendersysteme haben wir leider keine Zeit. Behaltet einfach immer im Hinterkopf: egal wie kompliziert und kaputt das alles hier klingt, in Wirklichkeit war es noch komplizierter und kaputter!

Das Mittelalter wich der Renaissance und der frühen Neuzeit, und die Menschen wieder für Kalender zu interessieren. Zu ihrem Schrecken stellten sie fest, dass der Kalender um zehn Tage vom astronomischen Jahr abwich. Jetzt sagt ihr vielleicht: „Wen schert’s?“ Zehn Tage machen ja nicht, dass der Winter plötzlich im Sommer ist! Eine verständliche Antwort wäre, dass Menschen Wert auf verlässliche Kalender legen, z.B. für Planung in der Landwirtschaft. Die tatsächliche Antwort ist, dass, wie ihr vermutlich wisst, Ostern unpraktischerweise nicht auf ein festes Datum fällt, sondern berechnet wird. Die Berechnung, wörtlich computus genannt, ergibt den ersten Sonntag nach dem ersten Frühlingsvollmond – und der Frühling beginnt für diese Definition mit der Tag-Nacht-Gleiche im März. Sehr intuitiv, das alles.

Der springende Punkt ist, dass man für diese Berechnung davon ausging, dass die Tag-Nacht-Gleiche immer am 21. März ist. Aber wenn der Kalender vom astronomischen Jahr um zehn Tage abweicht, stimmt das nicht mehr! Und plötzlich ist das berechnete Osterdatum falsch, und das war es, was als großes Problem gesehen wurde. Wen schert’s? Den Papst. Und was den Papst scherte, hatte direkte Auswirkungen auf ganz Europa. Papst Gregor XIII lud, genau wie Cäsar, Mathematiker und Astronomen ein. (Dieses Mal wissen wir, wer sie waren, aber ich werde euch nicht mit ihren Namen langweilen). Sie redeten und rechneten und kamen zu einer Formel, die die tatsächliche Länge des Jahres beschreibt: 365 + ¼ - 1/300. Damit entdeckten sie, was die alten griechischen Mathematiker schon mehrere hundert Jahre vor Cäsar wussten – aber hier, wie so oft auch sonst, hatten die Römer nur Teile des griechischen Wissens übernommen, und die entscheidenden Teile ausgelassen.




In eine Form gebracht, die Menschen tatsächlich nutzen können, klingt diese Formel so: Ein Jahr ist ein Schaltjahr (also mit einem zusätzlichen Tag im Februar), wenn die Jahreszahl durch vier teilbar ist, außer sie ist durch 100 teilbar (dann ist es kein Schaltjahr), außer sie ist durch 400 teilbar (dann ist es ein Schaltjahr). Diese neuen Regeln lassen sich in drei Stichpunkten übersichtlich aufschreiben, was sehr nett ist. Sie haben auch praktische Anwendbarkeit! Wenn man Neulingen programmieren beibringt, nimmt man zum Beispiel diese Regeln, um ihnen if-else-Abfragen beizubringen. Natürlich wurden sie damals nicht in drei Zeilen ausgedrückt; die Wissenschaftler mussten etwas weiter ausholen: Der Papst erließ ein Gesetz, eine päpstliche Bulle namens Inter Gravissimas, die die Begründungen, Berechnungen und Details des neuen Kalenders ausführte. Der Name hat übrigens keine Verbindung zum Inhalt, er kommt einfach von den ersten beiden Worten im Text (so werden alle päpstlichen Bullen benannt). Stellt euch vor, wir würden Programme so benennen – es bräuchte keine zehn Minuten, bis ihr es leid wärt, über Dateien namens int main zu reden. Obwohl es natürlich Menschen gibt, die ihre Variablen gefühlt nach dem Inhalt benennen … [Gelächter]



Wir schreiben also das Jahr 1581, und der Papst erlässt seine Bulle mit dem neuen Kalendersystem. Darin wird auch beschrieben, wie der aktuelle Kalender angepasst werden soll – denn ein neuer Kalender ist zwar gut und schön, aber er würde ja immer noch zehn Tage vom astronomischen Kalender abweichen, was wiederum die Osterberechnung usw. usf. Die Lösung aus Rom (also des Papsts und seiner Ratgebern) war so einfach wie absurd: Man würde einfach zehn Tage auslassen; von heute zum Tag zehn Tage später springen, und so tun, als wäre nichts geschehen.

All das klingt, als hätte die Kirche einen guten, wenn auch etwas merkwürdigen Plan gehabt. Aber es kommt immer anders, als man denkt: Papst Gregor war nämlich ein bisschen spät dran. In den 1580ern befand sich die katholische Kirche in argen Schwierigkeiten. In den vorangegangenen Jahrzehnten hatte sich die Kirche gleich mehrfach geteilt, vor allem im Rahmen der Reformation. Plötzlich hatte der Papst, anders als 80 Jahre zuvor, nicht mehr das Sagen in Europa. Einige Länder setzten 1581 die Kalenderreform um – die katholischen Länder eben: Spanien, Frankreich, Polen-Litauen, und so weiter. Ich habe versucht, die Gebiete in der Karte einzuzeichnen, aber konnte der Wahrheit nur näherungsweise gerecht werden, weil europäische Geschichte ein riesiges kompliziertes Kuddelmuddel ist. Jedenfalls sprangen diese Länder gegen Ende des Jahres um zehn Tage vor – weshalb die heilige Theresa von Avila in der Nacht vom 4. auf den 15. Oktober verstarb (was wirklich schlimm klingt, wenn man nicht weiß, dass es sich um nur eine Nacht handelt).

Kommt euch das schon bekannt vor? Lasst es mich anders ausdrücken: Es war einmal ein technisches System, das viele Leute benutzten, und das für alle eigentlich ganz gut funktionierte. Aber es gab ein paar technische Probleme, die früher oder später angegangen werden mussten; jedenfalls aus Sicht der Leute, die mit der Pflege und Wartung am meisten zu tun hatten. Der Verantwortliche, der BDFL (benevolent dictator for life, wohlwollender Diktator auf Lebenszeit) der katholischen Kirche, beschloss nach Rücksprache mit Experten, das System anzupassen, und auf eine bessere Version zu aktualisieren. Die neue Version sah oberflächlich gleich aus, mit vielleicht ein paar kleinen Änderungen, die den aktuellen technischen Wissensstand abbildeten. Die Umstellung erwies sich allerdings als sehr schmerzhaft, trotz der großen Ähnlichkeit; und fand keine Zustimmung bei denjenigen, die das Problem nicht nachvollziehen konnten oder wollten. (Witzigerweise dachten übrigens einige protestantische Länder, dass die Kalenderumstellung ein päpstlicher Trick sei, um sie zurück unter die Herrschaft der katholischen Kirche zu bringen.) Am Ende sah es also so aus, dass diejenigen, die politisch ohnehin den Entscheidungsträgern nicht verbunden waren, die Entscheidung boykottierten. Und das führte dann zu unserem Ergebnis: Ein Kontinent, getrennt durch zwei Systeme, die fast genau gleich funktionieren, aber absolut inkompatibel zueinander sind. Alle Ähnlichkeiten zum Übergang von Python 2 zu Python 3 sind rein absichtlich. [Gelächter]

Wie kamen die Menschen damals mit dieser vertrackten Situation klar? Ein schönes Beispiel hängt an dem Umstand, dass Religion ein beliebter Vorwand für Kriege ist, und je ähnlicher man einander ist, desto wichtiger die Unterschiede erscheinen. Aber früher oder später enden Kriege, und dann muss ein Friedensvertrag her. Was schreibt man nun in diesen Vertrag, wenn die beteiligten Länder sich nicht einmal über das Datum einig sind? Zum Glück verbreitete sich dafür schnell eine pragmatische Lösung, siehe unten: Die beiden Daten werden einfach übereinander geschrieben. Heute ist der 16. September im gregorianischen Kalender, aber im julianischen Kalender, der sich seit dem 16. Jahrhundert um weitere drei Tage verschoben hat, wäre der 3. September. Und auch das sieht wieder sehr aus, wie unser Code in der Umstellung zwischen Python 2 und Python 3.



Europa war in dieser Frage noch sehr lange gespalten. Es dauerte über hundert Jahre, bevor die ersten anderen Länder sich dem neuen Kalender anschlossen. Einhundert Jahre inkompatible Daten entlang komplizierter (und sich ändernder) Grenzen! Einige Länder erwiesen sich dabei als dickköpfiger als andere, und natürlich hing das vor allem an ihrer Einstellung zur katholischen Kirche.

Das zeigt sich schon sehr schön an dieser Insel: Das Königreich von Großbritannien vollzog den Wechsel erst 1751, also 200 Jahre nach der initialen Umstellung. Das spannende ist dabei nicht, dass es 200 Jahre später geschah, oder dass das die letzte verbleibende Umstellung in Westeuropa war. Spannend ist vielmehr, dass das lange neue Gesetz, das 1751 den Royal Assent erhielt, mit keinem Wort die katholische Kirche, den gregorianischen Kalender oder Papst Gregor erwähnt. Das Gesetz trägt ein völlig eigenständiges Argument für einen neuen, besseren Kalender vor, der eine bessere Annäherung an astronomische Fakten darstellt. Was für ein beeindruckender Beleg dafür, was man erreichen kann, wenn man nur genug Politik und Dickköpfigkeit kombiniert. [Gelächter] Immerhin erwähnt das Gesetz allerdings, dass es viel Durcheinander beim Umgang mit den restlichen europäischen Ländern gab – beispielsweise führten die unterschiedlichen Interpretationen von Liefer- und Zahlungsdaten oft zu Problemen.

Wenn wir über Jahrhunderte von unterschiedlichen Kalendern reden, müssen wir uns auch Osteuropa zuwenden. Osteuropäische Länder mochten die katholische Kirche noch weniger als die westeuropäischen protestantischen Länder – schwer vorzustellen, aber wahr! Das Schisma zwischen Ost- und Westkirche fand ja 500 Jahre vor der Reformation statt – und entsprechend dauerte es fast 500 Jahre länger, bis der gregorianische Kalender dort ankam. In Russland, zum Beispiel, fand der Kalenderwechsel erst nach der Oktoberrevolution 1918 statt. Gemessen am Kalender des restlichen Europas war das übrigens eine Novemberrevolution! Die letzten europäischen Länder, die auf den neuen Kalender umstiegen, waren Griechenland (1922) und die Türkei (1927). Wenn man 350 Jahre mit verschiedenen Kalendern lebt, kommt es natürlich entlang der Grenzen zu vielen absurden und witzigen Vorkommnissen. Ein schönes Beispiel kommt aus der Zeit, als die Olympischen Spiele gerade neu eingeführt wurden, und noch ziemlich klein und unwichtig waren. 1912 kam die russische Delegation ganze 12 Tage zu spät – weil die Einladungen den Kalenderunterschied nicht berücksichtigt hatten. Glücklicherweise dauerte die Olympiade damals noch 80 Tage, sodass die 12 etwas weniger ins Gewicht fielen!

Weniger witzige Auswirkungen sehen wir, wenn wir über Napoleon reden. Als Napoleon gerade ganz Europa überrannte (ausgenommen natürlich dieser Insel), gingen Österreich und Russland (und andere, die uns gerade nicht interessieren) ein Bündnis ein. Sie schmiedeten Pläne für den Widerstand gegen die französische Armee – und, wie ihr schon erraten könnt, vergaßen, die unterschiedlichen Kalender zur berücksichtigen. Die österreichische Armee marschierte zu einem Treffpunkt mit den Russen, die aber nach ihrem Plan erst zehn Tage später dort aufschlagen wollten, und deshalb die Österreicher nicht unterstützen konnten, als diese auf Napoleon trafen. Diese Vorhut der Österreicher wurde von Napoleon mühelos besiegt, der ohne anzuhalten weiter vorrückte und Wien einnahm. Als er dann bei Austerlitz ankam, war die russische Armee auch endlich da – aber die frühe Schwächung der verbündeten Truppen trug merklich dazu bei, dass Napoleon in Austerlitz (und entsprechend im weiteren Europa) seinen Siegeszug fortführen konnte. Das sind dann doch etwas ernstere Konsequenzen als ein paar verspätete Sportler.



Ein letztes Beispiel, und ich verspreche, dass wir danach aufhören, über Kalender zu reden: Schweden war ja protestantisch und blieben deshalb lange Zeit beim julianischen Kalender. Aber als dann Länder im Gebiet des heutigen Deutschlands und die Niederlande sich zum gregorianischen Kalender durchrungen, entschied Schweden, es ihnen gleich zu tun. Die Vorstellung, einfach zehn Tage auszulassen, kam ihnen aber zu radikal vor. Deshalb beschlossen sie, stattdessen für die nächsten 40 Jahre alle Schalttage auszulassen, bis ihr Kalender die Daten des gregorianischen erreichte. Das war natürlich eine furchtbare Idee! [Gelächter] Sie gewannen an Kontinuität, aber um den Preis, dass sich ihr Abstand zu beiden etablierten Kalendern alle vier Jahre veränderte!

Aber die Geschichte endet dort noch nicht: Sie ließen also ihren Schalttag 1700 aus, ganz nach Plan. Leider hörte da auch schon auf, alles nach Plan zu gehen: Kurz darauf wurde nämlich ein neuer, sehr junger König gekrönt, und alle umliegenden Länder nahmen die Krönung eines unerfahrenen Herrschers als offizielle Einladung für eine ganze Reihe an Kriegserklärungen. 1704 kam und ging, und wie die Römer vor ihnen, vergaßen die Schweden über ihren Krieg alle Kalenderprobleme, und hatten ihren regulär vorgesehenen Schalttag. 1708 kam auch und ging auch, aber der Krieg dauerte immer noch an, also: noch ein Schalttag. Für diese acht Jahre befand sich Schweden also um einen Tag versetzt zum julianischen Kalender.

Nachdem der Krieg endlich vorbei war, wurde den Schweden klar, in was für eine missliche Lage sie sich gebracht hatten, und sie suchten einen Weg, aus der Bredouille zu kommen. Und was war die logischste Lösung? … Sicherlich nicht die, zu der sie sich entschlossen: Schweden entschied sich, zum julianischen Kalender zurückzukehren, indem sie einen zweiten Schalttag einfügten, [Gelächter], was zum einzigen jemals verzeichneten 30. Februar führte. Sie blieben dann weitere 40 Jahre beim julianischen Kalender, und stiegen knapp vor Großbritannien um, indem sie 1750 die üblichen 11 Tage ausließen. Vielleicht hattet ihr im Laufe der Umstellung auf Python 3 nicht mit solchen Geschichten zu tun? Dann beneide ich euch. „Lasst uns langsam umstellen! Oh nein, jetzt sind unsere Programme nicht mehr miteinander kompatibel, lasst uns schnell zurückwechseln. Und jetzt dasselbe noch mal von vorn!“ klingt leider sehr realistisch.

Die Menschheit muss schon seit Ewigkeiten Wege finden, zwischen verschiedenen komplexen Systemen umzusteigen. Damit will ich nicht sagen, dass die Python Core-Entwickler*innen nur absurde europäische Geschichte hätten studieren müssen, um zu wissen, wie sie die Python-3-Transition handhaben sollten – leider lassen sich Ereignisse nie so einfach übertragen. Und fairerweise sieht es auch nicht aus, als müssten wir Python 2 die nächsten 500 Jahre unterstützen, da wir es jetzt nach vielen Verlängerungen endlich auslaufen lassen (was hoffentlich keine weiteren gefühlten 300 Jahre braucht). Aber die meisten Dinge, im Alltag wie auch geschichtlich, passieren, weil wir chaotische, komplizierte, oft überforderte Tiere sind, die nicht ganz wissen, was sie tun. Und daraus erstehen Geschichten, die wir in endlosen Variationen wiederholen. Natürlich kann man vorab nicht wissen, welche Geschichte gerade wiederholt wird, was zugegebenermaßen ein Problem ist. Aber, da unsere Geschichte mit solchen Ereignissen gefüllt ist, tun wir gut daran, ihnen etwas Aufmerksamkeit zu widmen.



Es ist leicht, Katastrophen und Schlamassel zu finden, deshalb möchte ich dem jetzt ein Beispiel entgegenstellen, in dem Leute alles richtig gemacht haben. Außerdem möchte ich Schweden nicht so einfach als negatives Beispiel stehen lassen. Schweden, müsst ihr wissen, war in Sachen Verkehr ein Sonderfall in Europa, als das Auto aufkam. In Schweden fuhr man nämlich links (wo auch immer sie diese schreckliche Idee her hatten [Gelächter]), aber sie hatten auch ihre Fahrerseite links. Das diente natürlich vor allem dem Import und Export aus dem restlichen Europa (jedenfalls dem Festland). Wenn man Zusteller ist, ist das praktisch, weil man direkt auf der Seite des Bürgersteigs aus dem Auto hüpfen kann, aber ansonsten ist es deutlich gefährlicher: Wenn ihr schon einmal mit einem Auto auf der Straßenseite fahren musstet, für die es nicht gedacht ist, werdet ihr wissen, dass das eine merkwürdige bis unangenehmer Erfahrung ist. Nun ist Schweden keine Insel, und das Fahren auf der linken Seite hatte von Anfang an Probleme. Es gab sogar eine Straße, auf der rechts gefahren wurde, weil sie mehrfach die lange Grenze zwischen Schweden und Norwegen kreuzte.

Seit den 30er Jahren wurde immer wieder diskutiert, ob man nicht die Fahrtrichtung ändern sollte, um sich den umliegenden Ländern anzupassen. Natürlich kam dann zunächst der zweite Weltkrieg, und solche Überlegungen wurden auf Eis gelegt. Danach wurden sie noch eine Weile verschoben, aber in den 50ern kam langsam wieder Interesse auf, und es wurden diverse Ausschüsse zum Thema gebildet. Nichts bewegt sich langsamer als ein Ausschuss, deshalb wurden dann erst in den 60er Jahren endlich konkrete Pläne geschmiedet. Ein Referendum wurde anberaumt – und wie man sich leicht vorstellen kann, war das Ergebnis negativ. Wer würde schon spontan anfangen wollen, auf der falschen Straßenseite zu fahren? Die Bevölkerung stimmte mit einer überwältigenden Mehrheit, 85%, gegen die Änderung der Fahrtrichtung, allerdings mit einer relativ niedrigen Wahlbeteiligung von 50%. Der Ausschuss war nun aber einmal in Bewegung, und das Referendum wurde einfach ignoriert. (Hier ausgelassen: etwas Brexit-Gefrotzel.) Um das Ergebnis vorwegzunehmen: Es gab keine Anstiege der Unfallraten aufgrund der Umstellung, und ich möchte ins Detail gehen, um zu sehen, wie das erreicht wurde, weil es doch ziemlich unwahrscheinlich klingt: Ein ganzes Land, selbst in den 60ern mit deutlich weniger Autoverkehr, auf eine andere Fahrtrichtung umzustellen, klingt ja eigentlich wie ein Rezept für zahlreiche Unfälle.

Um so erfolgreich zu sein, verfolgten die Schweden mehrere Ansätze. Zuallererst fanden sie heraus, womit sie es zu tun hatten: Sie prüften bei vielen Menschen ihre Kenntnis der Verkehrsregeln, wie gute Autofahrer*innen sie waren, und wie sie damit umgingen, plötzlich auf der anderen Straßenseite zu fahren. Dabei kamen sie zu nicht sonderlich überraschenden Ergebnissen, wie zum Beispiel, dass bessere Autofahrer auch besser darin sind, auf der anderen Straßenseite zu fahren. So formuliert klingt das offensichtlich, aber es ist sehr wichtig, solche Annahmen zu prüfen! Was, wenn sich herausstellt, dass gute Autofahrer*innen in ihren Gewohnheiten so eingefahren (höhö) sind, dass sie sich schlechter auf eine komplett neue Fahrsituation umstellen, während Neulinge sich dann geschickter anstellen? Sie nutzten die Gelegenheit auch, um gleich eine Reihe anderer Verkehrsregeln einzuführen, die sie im gleichen Zug mit dem restlichen Lehrmaterial verteilen konnten, besonders allgemeine Geschwindigkeitsbegrenzungen und neue Vorfahrtsregelungen.

Als nächstes richteten sie Übungsgebiete auf einigen entlegenen Straßen ein, auf denen die Polizei und die Armee das neue Fahren ausprobieren konnten, damit sie vor dem Wechsel schon die notwendige Erfahrung sammeln konnten. Anders als beim 40 Jahre andauernden Kalender-Debakel wurde die Umstellung auf einen einzigen Tag gelegt. Sie investierten viel Zeit, Geld und Mühe in Schulungsmaterialien, die in Radio, Fernsehen, schriftlichen Unterlagen und öffentlichem Unterricht (z.B. an Volkshochschulen) unters Volk gebracht wurde.

Sie bedachten dabei jedes noch so kleine Detail – zum Beispiel beim Verkauf von Neuwagen. Zur Zeit der Umstellung fingen Autos gerade an, asymmetrische Scheinwerfer zu haben. Frontscheinwerfer sind ja nicht genau gleich hoch, weil man zwar so weit wie möglich sehen können will, aber dabei auch nicht den Gegenverkehr blenden darf. Deshalb zielt der äußere Scheinwerfer immer etwas höher als der innere – was natürlich ein Problem wird, wenn innen und außen die Plätze tauschen. Glücklicherweise wurde das bemerkt, und als pragmatische Lösung wurden Neuwagen mit etwas abdeckendem Klebeband über dem rechten Scheinwerfer verkauft, das man dann nach der Umstellung einfach entfernen konnte.

All das war zentralisiert organisiert: Die Infomaterialien, die Überlegungen zum Neuwagenverkauf – sogar ein Logo! Aber alles weitere wurde an lokale und regionale dezentralisierte Prozesse übergeben, die die Kommunen selber handhaben konnten. Dort wurden die Informationen dann z.B. von Tür zu Tür und an Tankstellen verteilt (weil dort wirklich alle Autofahrer vorbeikommen!). Kostenloser Unterricht wurde überall angeboten, um die neuen Regeln so weit wie möglich zu verbreiten. Es gab sogar Gags wie extra Chauffeurhandschuhe in rot (links) und grün (rechts), als Gedächtnishilfe, und einen Radiohit mit dem Titel „Fahr rechts, Svenson“. Das ganze Land war eingebunden.

Am Tag selber half eine große Menge Menschen mit. Nachts waren 20.000 Leute damit beschäftigt, die neuen Straßenschilder zu enthüllen (die ja auf der Fahrseite stehen müssen), plus zusätzliche Schilder, die auf die Fahrtrichtung hinwiesen. Weitere 10.000 Mitglieder der Polizei und der Armee standen übers Land verteilt bereit, um bei allen erdenkbaren Problemen zu helfen. Am beeindruckendsten ist aber, dass 150.000 Freiwillige in den Städten und Gemeinden verteilt unterwegs waren, um Fußgänger*innen zu leiten – die gehören ja genauso zum Straßenverkehr wie Autos; und wenn der Querverkehr plötzlich von einer unerwarteten Seite kommt, führt das sehr schnell zu Unfällen.

Die tatsächliche Umstellung passierte dann an einem Sonntagmorgen um 10 vor 5 Uhr, als nur sehr wenige Menschen auf den Straßen waren. Alle mussten anhalten, und sehr langsam und vorsichtig auf die andere Straßenseite fahren. Dort warteten sie dann zehn Minuten, bis alle die Chance hatten, das zu tun. Nach einem Countdown im Radio durften dann alle (immer noch langsam und vorsichtig) weiterfahren. Und wie schon oben erwähnt: es gab keine höhere Unfallrate danach, oder überhaupt Unfälle, die durch die Umstellung bedingt waren.

Die Lehre daraus ist, dass sorgfältige Planung gepaart mit Forschung und Aufklärung den Umstieg zwischen komplexen Systemen ermöglicht, die fast gleich und trotzdem inkompatibel sind … wiederhole ich mich? [Gelächter] Mein Punkt ist, dass wir von der Vergangenheit lernen können, besonders von Geschehnissen, die daran hängen, dass Menschen unvorhersehbar sind, in komplizierten Systemen leben und sich mit Kommunikation schwertun. Menschen in der Softwarebranche (und ich spreche hier inklusiv: Wir Menschen in der Softwarebranche) neigen dazu, zu denken, dass wir die Allerersten sind, die auf unsere Probleme stoßen. Das liegt vielleicht daran, dass wir mit einem neuen Medium arbeiten – aber nicht alles, was auf einem Bildschirm passiert, ist neu. Dafür gibt es so viele Beispiele, dass es schwer fällt, eins auszuwählen.

Zum Beispiel gibt es die Redewendung „Das Internet vergisst nie“, die auf den ersten Blick genau in unser Informationszeitalter gehört. Zunächst muss man dazu sagen, dass das zwar ein netter Spruch ist, das aber natürlich gar nicht stimmt! Wer schon einmal versucht hat, etwas wiederzufinden, das er oder sie vor zwanzig Jahren online gesehen hat, wird wissen, dass das nahezu unmöglich ist, wenn man nicht sehr viel Glück hat. Zweitens: Die Vorstellung, dass das Internet nichts vergisst, ist erschreckend – das heißt nämlich, dass auch die riesigen Mengen an Unsinn und Fehlinformationen für immer wie Atommüll herumliegen, und genauso auch in der ferneren Zukunft gefährlich werden kann, wenn nämlich nicht mehr klar ist, was unter den ganzen Datenbergen nützlich und richtig ist. Aber sind wir die ersten, die mit diesem Problem fertig werden müssen? Ihr kennt meine Antwort!

Mein Beweis liegt dieses Mal in der deutschen Sprache. Sie ist mühsam zu lernen und hat ihre Nachteile, aber sie kann eines wirklich, wirklich gut: nämlich Wörter zu finden, die Umstände beschreiben, die man sonst in ganzen Sätzen erklären müsste. Eines dieser Wörter ist verballhornen. Damit wir alle über dasselbe reden, hier ein Paradebeispiel für eine Verballhornung: in der Lateinischen Messe sagt der Priester „Hoc est corpus“ – was im Laufe der Zeit zu „Hokuspokus“ verballhornt wurde. Aber wo kommt das Wort „verballhornen“ her? Wir müssen wieder auf Zeitreise gehen, diesmal in die Zeit der Hanse. Die Hanse war ein Zusammenschluss von Städten und Kaufleuten in Nordeuropa rund um die Ostsee. Sie hatte eigene Gesetze und sogar manchmal eine eigene Armee – sie zogen gegen Dänemark in den Krieg, und konnten sich sogar behaupten!





Die verschiedenen Städte hatten natürlich unterschiedliche Gesetze, aber ein sehr wichtiges darunter war das sogenannte Lübische Recht. Die Gesetze der Stadt Lübeck wurden in fast einhundert anderen Städten wiederverwendet. Als sich im 16. Jahrhundert die deutsche Sprache dann relativ rasant wandelte, wurden viele Bücher regelrecht in moderne Sprache übersetzt, darunter auch das Lübische Recht. Die Übersetzung wurde von Stadträten durchgeführt und veröffentlicht. Nachdem die Neufassung gedruckt und verbreitet wurde, stellte sich aber heraus, dass sie wirklich schlecht war – teils falsch, teils unvollständig; irgendetwas war offensichtlich sehr schief gelaufen. Möglicherweise war das den Stadträten klar, jedenfalls setzten sie bescheiden ihre Namen nicht unter das Machwerk. Der einzige Name, der auf dem Deckblatt stand, war der des Druckers: Johann Balhorn. Der arme Mann (und all seine Nachfahren, von denen es immer noch welche gibt!) hatte sich nichts zuschulden kommen lassen, und trotzdem ist sein Name jetzt ein Synonym für Wortverstümmelung. Also ja: das Internet vergisst nicht. Das liegt daran, dass die Menschheit auch nicht vergisst, und sich dabei auch genauso gerne Unfug merkt.


Dass das menschliche Gedächtnis nicht perfekt ist, ist keine neue Erkenntnis. Aber all das lässt sich auch auf andere Konzepte übertragen. Ich habe noch ein Beispiel, das sehr modern und technisch klingt: Hochfrequenzhandel. Leute machen sich den Umstand zunutze, dass Computer sehr schnell sind, und auf Basis neuer Informationen Entscheidungen in so kurzer Zeit treffen können, dass es uns schwer fällt, uns das auch nur vorzustellen. Damit lässt sich an der Börse Geld verdienen – je schneller man ist, desto größer ist die Chance, dass sich Gewinn machen lässt. Die extremen Geschwindigkeiten sind neu und historisch gesehen einzigartig, aber trotzdem ist das Prinzip ein alter Hut:

Als der Telegraf erfunden wurde, wurde er in Frankreich direkt genutzt, um Nachrichten schneller als die Konkurrenz zu verschicken. Ein merkwürdiges Wettrüsten begann, das Auswüchse hervorbrachte, wie dass absichtliche Tippfehler als Geheimcode in Nachrichten untergebracht wurden, damit nur manche Leute an der Börse verstanden, was in der Nachricht wirklich stand (und dann daraus Gewinn schlagen konnten). Mit der Ausbreitung des Telegrafen breiteten sich auch diese Tricks aus – besonders an der Londoner Börse.

Die Londoner Börse und das Telegrafenamt lagen ganz nahe beieinander, nur um 200 Meter getrennt. Es wurde schnell klar, dass es einige Zeit dauern konnte, bis ein Telegramm bei der Börse ankam: schließlich gingen alle Telegramme in London durch das zentrale Telegrafenamt, und mussten dort auf Papier übertragen werden, zum passenden Arbeitsplatz weitergereicht werden, und dort wieder versendet werden. Es ging schneller, das Telegrmm einfach beim Telegrafenamt abzuholen, und zu Fuß zur Börse zu tragen. Aber bald wussten das natürlich alle, und das (jetzt wörtliche!) Wettrennen ging weiter. Im nächsten Schritt wurde ein Rohrpostsystem zwischen der Börse und dem Telegrafenamt installiert. Rohrpost ist nicht nur noch schneller als ein Bote, sie lässt sich auch leichter monopolisieren, sodass diese Lösung lange Zeit verwendet wurde – und uns, nebenbei, die Urform Nachrichtenticker bescherte.

Noch ein Beispiel, das ist eins meiner Lieblingsbeispiele ist: Eines der ältesten noch stehenden Gebäude in Mitteldeutschland ist eine Burgruine mitten im Nirgendwo. Es ist nicht ganz klar, wie alt sie ist, aber der Kern ist auf jeden Fall über tausend Jahre alt. Wenn man sich die Geschichte der Burg durchliest, sieht man, dass im 14. Jahrhundert die nächstgelegene Stadt versucht hat, diese Burg einzunehmen. Das liest sich alles sehr heroisch und mittelalterlich, genau, wie man sich das vorstellt: Die Burg wurde jahrelang belagert, bis die Stadt schlussendlich aufgab, und unverrichteter Dinge abrückte. Bis sie, fünfzig Jahre später, die Burg einfach aufkaufte. Die Burg wurde akquiriert. Das ist die Definition einer feindlichen Übernahme, wie wir sie ständig in der freien Wirtschaft sehen. Da so etwas so prägend für die heutige Startup-Welt ist, vergisst man leicht, dass es auch so etwas schon immer gegeben hat. Die Menschen ändern sich eben nicht sehr, und folglich ändern sich auch die Geschichten nicht, die wir mit unseren Handlungen schreiben.

Und das ist mein Punkt: Die meisten neuartigen Ereignisse sind nur oberflächlich neu, aber nicht im Grundsatz. (Das ist natürlich auch kein neuer Gedanke: Sowohl die Bibel als auch alte griechische Philosophen sagen uns schon, dass es nichts Neues unter der Sonne gibt). Natürlich ändert sich vieles, und natürlich gibt es neuartige Dinge, aber wir neigen dazu, zu überschätzen, wie viel von dem, was uns umgibt, wirklich neu und einmalig ist, und was nur eine neu geschminkte Wiederholung alter Geschichte ist.

In der Softwarebranche hat man sich in den letzten Jahren zu diesen und ähnlichen Themen einige Gedanken gemacht. Beispielsweise haben Leute das sogenannte „Not-invented-here-Syndrom“ („nicht hier erfunden“) hervorgehoben: Ein Verhaltensmuster, bei dem Leute lieber eigene Lösungen für Probleme entwickeln, oft mit viel Aufwand, als bestehende Lösungen zu nutzen – weil diese ja nie ganz perfekt zur Situation passen. Ich kenne das nur zu gut: Ich habe ja pretalx entwickelt, was dazu dient, Vorträge zu Konferenzen einzureichen, und dann einen Ablaufplan zu erstellen. Es ist nicht, als hätte es davor keine vergleichbaren Programme gegeben. Es ist nicht mal so, dass keines davon quelloffen war. Ich hatte die alle benutzt und ausprobiert, und war unzufrieden – und bestehende Programme zu verbessern ist immer schwierig, sowohl technisch als auch sozial.

Wir müssen als Branche darüber reden, wie wir damit umgehen können und wollen. Neuimplementierung hat ja schließlich eine Berechtigung – mehrere, sogar. Zunächst ist sie ein super Ansatz, um Dinge zu lernen. Python gibt uns ja zum Beispiel Unmengen an Funktionalität frei Haus, die sehr nützlich sind – aber viel davon findet man in älteren Lehrbüchern als Aufgaben, um Grundlagen zu vermitteln. Herauszufinden, ob eine Zeichenkette in einer anderen enthalten ist, war früher aufwendig (oder brauchte zumindest externe Bibliotheken), wohingegen wir in Python die allermeiste Zeit darüber nicht einmal nachdenken müssen. Und in Produktivsystemen denkt auch hoffentlich niemand daran, so eine Prüfung selber zu implementieren. Aber davon abgesehen ist es eine sehr gute Idee, so ein Problem mal von Hand zu lösen: Es sieht nämlich auf den ersten Blick einfach aus, ist es aber nicht. Ein Haufen kluger Leute hat einen Haufen kluger Artikel darüber geschrieben, wie sich genau dieses Problem optimal lösen lässt. (Und dabei lassen wir verwandte Probleme außen vor, wie z.B. zu zählen, wie oft so eine Zeichenkette in einer andere steckt, oder gar das Gruselkabinett der Regulären Ausdrücke. [Gelächter]) Allerdings ist selbst beim Implementieren eines gelösten Problems zum Lernen einer der besten Ansätze, die Lösungen anderer Leute anzusehen, um von ihren Herangehensweisen zu lernen und ihre Tricks zu verstehen.

Ein anderer guter Grund dafür, Dinge selber umzusetzen statt bestehende Lösungen zu nutzen, ist eine Kostenfrage: Andere Lösungen zu finden und zu beurteilen lohnt sich allein schon nicht immer, und sie danach noch anzupassen, macht sie noch kostspieliger. Vor allem, wenn wir dabei berücksichtigen, wie vage unsere Anforderungen oft sind, und wie sehr die Komplexität eines Problems den Aufwand der Bewertung in die Höhe treibt – und das für jede mögliche Lösung des Problems, die man sich ansieht. Ab welchem Punkt ist es die Zeit nicht mehr wert, anderer Leute Lösungen anzusehen, und stattdessen selber etwas Passendes zu bauen? Wie verschiebt sich dieser Punkt, wenn wir dabei den Wartungsaufwand berücksichtigen (entweder den, den wir selber leisten müssen, oder das Vertrauen darin oder den Preis dafür, dass die Urheber ihr Programm weiter warten)?

Anders als manchmal unterstellt wird, ist es nie Bosheit, wenn Menschen das Rad neu erfinden, und selten Dummheit. Es liegt oft daran, dass sie Probleme haben, die mit bestehenden Lösungen nicht ganz abgedeckt werden – weil sie zu viel Zeit, Aufwand, Verständnis, oder Geld voraussetzen, zum Beispiel. Wenn man das ignoriert, und einfach arrogant bemerkt, dass ein Projekt ja schon mal anders, besser umgesetzt wurde, geht das nie gut aus. Stattdessen zahlt es sich aus, nachzufragen, ob vergleichbare Projekte bekannt sind, und inwiefern sie keine gute Lösung darstellen.

Wie gehen wir damit weiter um? In einer idealen Welt würde ich euch raten, einfach alle Bücher zu lesen und euch die Gesamtheit des menschlichen Wissens anzueignen, und dann wüsstet ihr vielleicht (nur vielleicht!), was zu tun ist. Leider sind unsere Leben aber in Zeit und Raum begrenzt, und und das scheint keine praktikable Lösung zu sein. Wenn wir solche unpraktischen Unzulänglichkeiten berücksichtigen, wäre mein Ratschlag, alle nur möglichen Horizonte zu erweitern. Je mehr ihr über historische Parallelen und Erfahrungen anderer Leute wisst, je mehr ihr auch nur vage schon einmal gehört habt, und je mehr Menschen ihr kennt, die ihrerseits von noch mehr Dingen gehört haben (wenn ihr nur mit ihnen redet!), desto mehr werdet ihr eure Probleme ein einen größeren Zusammenhang einordnen können.

Was heißt das praktisch? Findet Medien und Formate, die euch liegen. Geht zum Beispiel zu Meetups/Interessengruppen und redet mit den Leuten da. Oder: geht zu Konferenzen wie dieser hier – nirgendwo ist es leichter, Leute einfach anzusprechen, weil alle genau dafür hier sind. Es braucht immer noch Überwindung, auf jemanden zuzugehen und zu sagen „Hi! Welche Vorträge hast du gesehen? Welche haben dir am besten gefallen?“, aber es ist hier leichter als anderswo. Oder: Lest Blogs! Im wilden weiten Netz sind so viele gute Blogs versteckt – fragt Freund*innen und Bekannte nach Empfehlungen! Und selbst unter Blogbeiträgen gibt es ja viele verschiedene Stile: Referenzartikel, interaktive Posts, Problemlösungen, usw. Oder: Lest Bücher, wenn ihr das mögt – solange ihr nicht vergesst, auch über euren Buchrand hinaus zu sehen. Oder: Hört Podcasts! Podcasts sind klasse, weil sie viel Kontextwissen und implizites Wissen vermitteln, das Leute nur im Gespräch teilen, aber selten aufschreiben. Oder: Seht euch Videos an! Es gibt Videoserien, die ganze Vorlesungsreihen behandeln und erklären. Oder: schaut euch Leute auf Twitch an, die dort live programmieren, und gerne alle Fragen beantworten. Und das ist natürlich noch nicht alles – Medien und Formate zu finden, die euch ansprechen, ist nicht leicht, aber es lohnt sich.

Und das ist nur das Medium! Mir ist noch viel wichtiger, dass ihr darüber nachdenkt, wie ihr eure Horizonte in jeder Hinsicht erweitern könnt, indem ihr euch über berufliche und kulturelle Grenzen hinweg austauscht.

Zum Beispiel: Wenn ihr, wie ich, Webentwickler*innen seid, werdet ihr eine Vorliebe für Frontend- oder Backendentwicklung haben. Achtet darauf, mit den Leuten auf der jeweils anderen Seite zu reden! Wenn ihr Python vor allem für Datenanalyse verwendet, dann redet mit uns Webentwickler*innen – wir haben andere Probleme, aber unsere Lösungsansätze werden für euch trotzdem spannend sein. Wenn ihr vor allem in der Entwicklung arbeitet, findet heraus, was in der Software-Forschung passiert (Stichwort: Research Software Engineer), und guckt, wie die akademische Perspektive auf eure Arbeit aussieht.

Wenn ihr im Python-Umfeld aktiv seid, achtet darauf, auch mit anderen Gruppen zu reden. Die Rust-Leute sind ein tolles Beispiel, weil sie sehr bewusst über ihre Strukturen und Entscheidungsfindungsprozesse reden, und sich überlegen, wie sie ihre Sprache so entwickeln können, dass es für möglichst viele Leute leicht ist, Einfluss zu nehmen. Verglichen dazu wüsste ich aus dem Stegreif nicht, was ich tun müsste, wenn ich in der Python-Welt neue Funktionalität vorschlagen will – irgendwie sind Mailinglisten und PEPs (Python Enhancement Proposals) involviert, aber da hört mein Wissen auch auf. Im Rust-Umfeld ist all das sehr explizit und einladend gestaltet. Oder seht euch das JavaScript-Umfeld an, das sich sehr intensiv mit Paketierung beschäftigt (weil sie die sehr intensiv nutzen). Wir müssen ihre Ansätze ja nicht toll finden, aber es ist auf jeden Fall spannend, ihre Entscheidungen zu sehen und aus ihren Folgen zu lernen.

Passt auch auf, dass ihr als Programmierer*innen mit den Leuten redet, mit denen ihr zusammenarbeitet, und dass ihr versucht, ihre Probleme, Sorgen und Entscheidungen zu verstehen: Redet mit Manager*innen, mit technischen Redakteur*innen, mit Bürokräften und dem Vertriebsteam. Fragt sie nach ihren Lieblingsblogs, oder -podcasts, oder -konferenzen. Ich war beispielsweise neuliche bei der WriteTheDocs in Prag, einer Konferenz für technische Redakteur*innen, und habe enorm viel einfach dadurch gelernt, dass dort einerseits Grundlagen besprochen wurden, aber ich andererseits auch die allgemeinen Einstellungen und Meinungen der anderen Teilnehmer*innen beobachten konnte. Wenn ihr noch einen Schritt weiter geht, tut ihr dasselbe auch noch mit Menschen, mit denen ihr gar keine beruflichen Überschneidungen habt – redet mit Bauingeneur*innen, die sich beeindruckenden Herausforderungen stellen (z.B. müssen sie ungleich viel mehr Sicherheit gewährleisten als wir). Oder guckt ins Gesundheitswesen, wo Leute mit einzigartigen Herausforderungen zu tun haben, von denen wir viel lernen können – wenn wir nur miteinander reden.

Und noch einen Schritt weiter: Wenn ihr strukturierte Menschen seid, ist es gut und hilfreich, mit kreativen Menschen zu reden, die anders denken, und deshalb auf tolle Ideen kommen, die für euch nützlich sein werden. Genauso natürlich umgedreht: wenn ihr euch mehr als kreativ einordnet, kann es überraschend hilfreich sein, sich mit sehr strukturierten Menschen auszutauschen, weil ihr dadurch neue Einsichten in eure eigenen Vorgehensweisen gewinnen werdet.

Die Verallgemeinerung von all dem ist: Sucht gezielt den Austausch mit Menschen, die nicht fast Kopien von euch sind, mit vielleicht ein, zwei Unterschieden. Redet mit Menschen unterschiedlicher Herkunft, Bildung, Geschlechter, Ansichten, und so weiter. Wenn ihr immer darauf achtet, euren Horizont zu erweitern, werdet ihr am Ende nicht nur einen Haufen Kontextwissen haben, sondern auch eine Gemeinschaft, auf die ihr zurückgreifen könnt, wenn ihr auf Probleme stoßt.

Zusammenfassend lässt sich also sagen: Geschichte wiederholt sich, auch wenn wir wir vorab nicht wissen können, welche Geschichte sich gerade wiederholt. Aber wenn wir aufmerksam sind und miteinander reden, um herauszufinden, was alles schon einmal passiert ist, können wir uns umso besser auf die Aspekte konzentrieren, die tatsächlich neu und nie dagewesen sind. Versuchen wir das.

Ich habe diesen Vortrag vor zwei Jahren gehalten, und wie das immer so ist, war Klein-Tobi nicht so gut informiert, wie ich es mir jetzt wünschen würde. Immerhin habe ich keine großen Patzer gemacht, aber habe mir trotzdem herausgenommen, im Transkript einiges zu glätten. Insbesondere habe ich damals in meinem Vortrag den Wissensverlust im Mittelalter überzogen dargestellt: Tatsächlich war Leuten schon im 12. Jahrhundert (und vielleicht früher) sehr bewusst, dass ihr Kalender nicht die astronomischen Gegebenheiten spiegelt, und sie konnten sogar die konkrete Fehlerquote angeben. Es dauerte nur noch einmal 400 Jahre, bis der Papst sich dazu durchrang, etwas zu unternehmen (und wäre das hundert Jahre früher passiert, wäre dieser Text um einiges kürzer!).

Alle Bilder kommen aus dem gemeinfreien Archiv der British Library auf flickr. Ihr könnt die kompletten Folien mit allen Bildern und meinen Notizen auf meiner Website sehen, wo die Bilder auch in höherer Qualität liegen. Einzelquellen: