Einträge mit dem Tag ‘Code’

Tags:

Das Versionskontrollsystem git habe ich ja schon gelegentlich erwähnt. Heute ist mir aufgefallen, daß git bei aller Komplexität und Mächtigkeit dadurch, daß sich Repositories so einfach einrichten lassen, auch wunderbar leichtfüßig[1] ist. Früher[2] habe ich echte Versionskontrolle[3] nur für größere Softwareprojekte verwendet, kleinere Projekte habe ich allenfalls mit RCS verwaltet.

Derzeit stecke ich mehr und mehr auch Kleinkram in git: Konfigurationsdateien -- früher mehr schlecht als recht in RCS[4] -- lassen sich so wunderbar handhaben. Ganz nebenbei bietet git auch noch eine Art Deployment: ich kann auf meiner Maschine entwickeln und dann einfach auf den Server, den ich eigentlich konfigurieren will, klonen. So bleiben alle Projekte und Projektchen schön übersichtlich beisammen; und dank Gitzilla ist auch für eine sinnvolle Dokumentation gesorgt.
Das einzige, was ich jetzt noch vermisse, ist eine gute und universelle Testumgebung: irgendetwas, das für ein neues Projekt keiner aufwendigen Neukonfiguration bedarf, das aber das Testen von neuen Konfigurationen ermöglicht, bevor sie auf den Produktionsserver geschoben[5] werden.

  1. lightweight
  2. TM
  3. z.B. CVS
  4. oder gar nicht verwaltet
  5. deployt? deployed?
Kein Kommentar

Erkenntnis des Tages: Gitflow macht Spaß!

Außerdem fange ich an, ein zweites kürzlich entdecktes Werkzeug regelmäßig zu nutzen: Gitzilla. Das ist -- man ahnt es fast -- eine Git--Bugzilla-Integration. Nach der Installation läuft Gitzilla unsichtbar im Hintergrund. Wenn man nun in einem Git-Commit-Text eine Bugnummer aus dem angeschlossenen Bugzilla erwähnt, dann erscheinen automatisch Informationen zu diesem Commit als Kommentar in dem Bug.
Das ist sehr praktisch, um eine Gesamtdokumentation zu erstellen (statt Bugzilla und Git-Historie nebeneinander her laufen zu lassen)

Wer mag, kann die Bugnummer sogar erzwingen, aber für mich als Einzelkämpfer ist das übertrieben.

Zum Schluß noch ein kleiner Tipp für alle, die es selbst ausprobieren möchten: Gitzilla wird beim Push in ein (zentrales) Repository aktiv, nicht schon beim lokalen Commit. Das steht zwar in der Dokumentation, ich habe mich zunächst aber trotzdem gewundert, als nichts passiert ist. Diese Repositories habe ich mit mit --shared --bare in /home/git auf meiner Maschine angelegt, so sind sie zwar mir zugeordnet, aber trotzdem von meinen eigenen Daten getrennt.

2 Kommentare

Tags:

Jeder weiß, daß man Dokumente, in denen viel Hirnschmalz in wenig Text verpackt ist[1], in einem Revision Control System hält. Ich habe früher CVS für größere Projekte und RCS für Kleinkram[2] verwendet.

For ein paar Jahren bin ich dann auf git umgestiegen: Neben dem einfachen Einrichten des Repository[3] macht vor allem das leichte und schnelle Branchen Spaß. Zugegeben, git hat auch seine Schwächen, und die Bedienung ist nicht immer einfach[4].

Trotzdem überwiegen in meinen Augen zumindest gegenüber SVN und CVS (und natürlich RCS) die Vorteile. Vor ein paar Tagen bin ich zufällig über einen Blog-Eintrag von Vincent Driessen gestolpert, der dem Werkzeug git sozusagen als Überbau noch einen Prozeß oder einen Satz Richtlinien hinzufügt -- Anweisungen, wann man welche Branches erzeugen soll, und wohin sie gemerget werden. Das Modell gefällt mir auf Anhieb recht gut, und weil es dazu auch ein Tool gibt, das das Einhalten des Prozesses stark vereinfacht, werde ich meine Repositories demnächst wohl nach und nach umstellen.

Vincents Modell hat natürlich auch Kritiker, und wer tiefer einsteigen will, sollte sich die Diskussion zu Jeffs Blog-Eintrag durchlesen. Wahrscheinlich am meisten nachgedacht hat Adam Dymitruk. Die Feinheiten seines Modells sind für mich zu dieser späten Stunde definitiv zuviel, aber mir gefällt die Idee, Feature Branches unabhängig zu halten, so daß man jedes Feature jederzeit wieder ausbauen kann.[5]

Edit: HTML an falscher Stelle
Edit 2: Typo

  1. z.B. Source Code und Konfigurationsdateien
  2. z.B. Dateien aus /etc
  3. ja, ich benutze normalerweise auch lieber deutsche Begriffe, aber heute lasse ich das aus gutem Grunde mal sein: wenn man gut eingeführte termini technici übersetzt, versteht am Ende niemand etwas
  4. manche Kommandos muß ich heute noch immer wieder nachschlagen, checkout -b vergesse ich regelmäßig, wenn ich es nicht oft genug benutze
  5. jedenfalls bis zum nächsten Release
2 Kommentare

Dieser Artikel ist für mich eine Premiere -- ich nehme nämlich zum ersten Mal an einer Blogparade teil. Diejenigen, die nicht wissen, was das ist (bis gerade eben gehörte ich auch dazu) können sich das Ganze als große Schwester der Stöckchen vorstellen. Man schreibt zu einem vorgegebenen Thema, allerdings ohne daß sich das ganze endlos durch Raum und Zeit zieht; stattdessen gibt es einen Einsendeschluß (Deadline heißt das heutzutage wohl), und die Verbindung zum Erfinder der Blogparade soll -- anders als beim Stöckchen -- auch nicht abreißen.

Berufen

Also gut: diese Blogparade stammt von Wibke Ladwig, und ich habe sie bei Tanja entdeckt. Die Frage lautet schlicht: Was machen Sie beruflich? Dabei soll es insbesondere um neue Berufsbilder gehen. Was mache ich also beruflich? Ich habe gerade noch einmal nachgeschlagen: In meinem Arbeitsvertrag steht das gar nicht -- trotzdem sind mein Chef und ich uns einig, daß ich Systemadministrator bin. Das hört sich -- verglichen mit einigem, was einem bei dieser Blogparade so begegnet -- noch recht verdaulich an: es ist auf jeden Fall was mit Computern, und wahrscheinlich verrate ich den meisten von Euch nichts Neues, wenn ich mein Tagewerk zusammenfasse: ich halte die Computer am Laufen.

Fachfremd

Was heißt das konkret? Zunächst möchte ich anmerken, daß ich (wie wahrscheinlich die meisten Admins) sozusagen als interner Dienstleister fungiere: um uns herum sitzen lauter kernkompetente Menschen, die tolle Produkte herstellen, und wir sorgen dafür, daß sie dazu alles haben, was sie brauchen. Vielleicht ist der Beruf auch deshalb so vielseitig: es gibt einfach nicht genug Kollegen, um eine starke Spezialisierung zu ermöglichen.
Was tut ein Admin also für seine Kollegen (oder, wenn man so will, Kunden)? Grob kann man das in drei Bereiche einteilen: er beschafft neue Dinge (seien es nun Rechner oder Programme), er sorgt dafür, daß die vorhandene Hard- und Software funktionsfähig bleibt, und er unterstützt die Anwender im Umgang mit der EDV.

Beschaffen

Als erstes fällt einem hier wohl der Kauf neuer Rechner ein. Das hört sich vielleicht trivial an, ist es aber oft nicht: schon ein gewöhnlicher Arbeitsplatzrechner bedarf einiger Überlegung, wenn er nicht nur eine größere Zahl Festplatten beherbergen soll, sondern auch noch fünf Jahre quasi ununterbrochen Dienst tun soll (unsere Rechner laufen auch nachts und am Wochenende).
Wenn es dann darum geht, ein echtes Arbeitspferd zu kaufen, dessen Preis oft über dem eigenen Jahresgehalt liegt, wollen alle Möglichkeiten sorgfältig ausgelotet werden: wieviel Speicher, wie viele und welche Prozessoren von welchem Hersteller, brauchen wir ein Hochgeschwindigkeitsnetzwerk, und so weiter. Am grünen Tisch lassen sich diese Fragen nicht beantworten, hier sind dann Benchmarks mit unserer Software gefragt.
A propos Software: in vielen Fällen greift man auch hier einfach zum Beschaffungsauftrag. Wenn es das benötigte am Markt gibt, ist das in der Regel billiger als eine Eigenentwicklung. Aber es kommt natürlich oft vor, daß es keine fertige Lösung gibt, und dann schreibt der Admin eben selber ein Programm. Das fängt an bei einem kleinen Skript zur Automatisierung häufiger Arbeitsschritte und kann bis zu ausgewachsener Software gehen -- mein ganzer Stolz ist derzeit ein grafisches Front-End (genauer: ein CGI), für unser Batch-System.

Erhalten

Auch das einfachste Werkzeug braucht Pflege. Computer sind nun alles andere als einfach, und entsprechend aufwendig ist ihre Wartung. Fehlersuche ist an der Tagesordnung: Fehler in Hardware, Fehler in gekauften Programmen, Fehler in selbstgeschriebenen Programmen, und Fehler in Programmen der Kunden[1] wollen gefunden und ggf[2] behoben werden. Obwohl meine Lieblingsbeschäftigung das Programmieren ist, hat die Fehlersuche ihren eigenen, ganz besonderen Reiz: mit Intuition und den unterschiedlichsten Werkzeugen[3] pirscht man sich -- manchmal über Tage -- immer näher an die Ursache heran, und das Gefühl, ein besonders heimtückisches Problem erfolgreich analysiert zu haben, ist schon etwas ganz Besonderes.

Auch wenn kein Fehler auftritt, gibt es immer etwas zu verbessern: Computer sind ja nur deshalb so vielseitig einsetzbar, weil auf einfachste Operationen (die vier Grundrechenarten und ein bißchen Logik) Abstraktionsebene über Abstraktionsebene gebaut wird, bis Begriffe entstehen, die ein gegebenes Problem lösbar werden lassen. Und selbst dann, wenn man mit dem Computer nur Probleme lösen will, die man ohne Computer nicht hätte[4], kann man sich die Arbeit mit jeder zusätzlichen Abstraktionsebene weiter erleichtern. So hilft eine Verwaltungssoftware dabei, auf einem Haufen Computer gleiche Programme zu installieren oder Einstellungen vorzunehmen, ohne jeden einzelnen anfassen zu müssen; wenn man Programme in Pakete packt, lassen sie sich leichter auf verschiedenen Rechnern mit verschiedenen Betriebssystemen installieren; Überwachungssoftware hilft, aus dem Zoo von Rechnern diejenigen mit defekten Festplatte oder fehlerhaften Programmen herauszufischen, bevor die Benutzer Probleme bekommen; ... diese Liste ließe sich noch lange fortführen.

Unterstützen

Mit einem funktionierenden Rechner- und Softwarepark ist es natürlich noch nicht getan. Ziel des ganzen ist ja, daß die Benutzer die Rechner für ihre Zwecke einsetzen können. Deshalb helfen wir bei allen möglichen Problemen, ob nun ein Programm installiert werden muß, das wir bislang nicht kannten, ob jemand Probleme bei der Bedienung eines Programms hat, oder ob Hilfe bei der Fehlersuche angesagt ist. Die Computerkenntnisse unsere Benutzer sind recht unterschiedlich, aber fast alle können[5] programmieren, und sie tun das auch bei ihrer täglichen Arbeit. Je nach Fertigkeiten werden dann schon einmal Fehler in die Programme eingebaut, die ohne fremde Hilfe nicht wieder zu entfernen sind. Ja, und dann gibt es auch noch Leute, die Hilfe benötigen, ohne es zu wissen; wenn jemand vier Rechner für ein parallel arbeitendes Programm anfordert, dann aber nur einen benutzt[6], dann zahlt sich die Systemüberwachung aus.

Dokumentieren

Zu guter Letzt möchte ich noch einen Punkt erwähnen, der zwar nicht direkt zur Arbeit eines Systemadministrators gehört, der aber trotzdem ungeheuer wichtig ist[7]: was immer man tut, muß dokumentiert werden. Nichts ist ärgerlicher, als Stunden oder gar Tage mit der Fehlersuche zu verbringen, nur um ein paar Wochen oder Monate später an anderer Stelle vor dem gleichen Problem zu stehen -- und genauso lang an der Lösung zu arbeiten. Davon, daß möglicherweise auch andere Leute mit einem komplexen System umgehen müssen, will ich gar nicht anfangen.

Diese Aufgabe habe ich zusammen mit einigen anderen durch das Werkzeug Bugzilla in Angriff genommen. Neben der Dokumentation dient Bugzilla nämlich noch als To-Do-Liste, hilft bei der Kommunikation mit den anderen Admins und den Benutzern und kann die nach einem vollen Arbeitstag manchmal etwas beunruhigende Frage Was habe ich heute eigentlich getan? beantworten.

  1. siehe nächster Abschnitt
  2. bei Rechnern und gekaufter Software macht das dann normalerweise der Lieferant
  3. und wenn gar nichts hilft, gibt es immer noch strace
  4. will sagen: wenn man nur die Computer und ihre Programme verwalten will
  5. mehr oder weniger
  6. und zu 400% belastet
  7. wie ich auf die harte Tour gelernt habe
4 Kommentare

Wer gelegentlich auf der Kommandozeile arbeitet, kennt sicher den einen oder anderen redirector, um Ein- oder Ausgaben von Befehlen in Dateien umzuleiten:

ls > /tmp/liste
grep blub < /tmp/list
grep -r hallo . 2> /tmp/fehler
ls /tmp >> /tmp/liste

Heute hatte ich das Vergnügen, einen neuen zu benutzen. Grund war ein Programm, das zunächst prüft, ob der File-Descriptor 3 geöffnet ist. In einer normalen Shell ist das nicht der Fall, wenn das besagte Programm als Plugin läuft, aber schon. Zur Fehlersuche wollte ich es unter der Shell starten, aber den Plugin-Modus simulieren. Die Lösung:

exec 3<> /tmp/t

legt die Datei /tmp/t an und öffnet sie mit dem gewünschten Descriptor. Danach starte ich einfach das zu untersuchende Programm.

[via The Linux Documentation Project]

Kein Kommentar

... und warum es keinen interessiert

Der persönliche Computer

Als alles begann, füllten Computer ganze Räume und brauchten Heerscharen an Bedienpersonal. Durch Fortschritte in der Elektronik wurden sie aber zunehmend kleiner, leistungsfähiger und einfacher zu bedienen. Nannte man die ersten Modelle in der Größe einer Waschmaschine noch Mini-Computer, so brach in den siebziger Jahren das Zeitalter der Mikrocomputer an, die Geräte hatten nur noch die Größe einer Schreibmaschine und waren -- oft als Bausätze -- für Hobbyisten erschwinglich. Eine Professionalisierung brachte schließlich einen Rechner, der klein und preiswert genug war, daß er (zunächst in Firmen) von nur einer einzelnen Person genutzt werden konnte: der Personal Computer war geboren.

Die Universalmaschine

Ein Vierteljahrhundert lang ist der PC nun preiswerter, (etwas) kleiner und (viel) schneller geworden. Gleichzeitig hat sich mehr oder weniger im Verborgenen eine andere Entwicklung vollzogen, die den Charakter des PCs aus einem anderen Blickwinkel beleuchtet: dank fallender Preise und fortschreitender Miniaturisierung finden sich in mehr und mehr Geräten embedded Systeme, eine Art Kleinstcomputer, der anstelle aufwendiger analoger Verschaltungen (oder gar mechanischer Steuerungen) Stereoanlagen und Waschmaschinen Leben einhaucht. Wer schon einmal versucht hat, gegen seine Waschmaschine Schach (oder Go) zu spielen, hat gemerkt, daß der PC nicht nur ein persönliches Gerät ist, sondern auch ein sehr universelles: ein computerisiertes Haushaltsgerät bleibt seinem Zweck treu, aber ein PC kann mit entsprechender Software ganz beliebige Aufgaben übernehmen.

Clever & Smart

In den letzten Jahren hat eine weitere Spielart des Computers für Furore gesorgt: nachdem die klobigen Autotelefone des letzten Jahrhunderts unter anderem durch Embedded-Technik zu kompakten Winzlingen kleiner als ein Telefonhörer geschrumpft sind, ist mittlerweile das Zwitterwesen Smartphone aufgetaucht: halb Telefon, halb PC.

Wolken am Horizont

Doch wer nun einen tragbaren PC mit Telefonfunktionalität erwartete, der wurde unter Umständen enttäuscht: wer ein iPhone erwirbt, hält keine uneingeschränkte Universalmaschine in Händen, sondern ist auf das Placet des Herstellers angewiesen, wenn er Software (und sei es selbstgeschriebene) installieren möchte. Vereinzelt geäußerte Befürchtungen, den PCs desselben Herstellers könnte über kurz oder lang ein ähnliches Schicksal drohen, wurden allgemein mit Hinweis auf die andere Natur des PCs (als Universalmaschine nämlich) abgetan.

Nun hat die Firma Apple etwas getan, das sich in meinen Augen wie der Anfang einer sehr schlechten Entwicklung ausnimmt: es gibt für das Betriebssystem keine Installationsanweisungen-CDs mehr. Windows-Benutzer könnten diese Aussage unter Umständen mißverstehen: ich meine damit nicht, daß man sich nach dem Kauf eines vorinstallierten Rechners eine Recovery-CD selbst brennen (oder für viel Geld eine Vollversion in der Pappschachtel kaufen) müßte. Nein, ich kann meinen Rechner -- egal ob vorinstalliert oder mit einem nachgekauften System -- nur über das Internet installieren. Das Installationsprogramm löscht sich nach getaner Arbeit. Selbst, wenn ich fünf Rechner installieren will (was ich ganz legal mit nur einer Lizenz tun kann), muß ich fünfmal einen Installer von über vier Gigabyte herunterladen.

Und nun?

Für mich ist das eine Katastrophe: wenn ich meinen eigenen Rechner nur dann neu installieren kann, wenn es dem Hersteller paßt, dann muß ich befürchten, bald noch mehr Kontrolle abgeben zu müssen. Der Wert der Universalmaschine PC wäre dahin, ich hätte nur noch einen besseren Fernseher auf dem Schreibtisch. Für mich ist das Grund genug, nach zwanzig Jahren[1] Markentreue zum ersten Mal ernsthaft über einen Wechsel nachzudenken. Seltsamerweise scheint die Angelegenheit sonst niemanden zu stören. Ein wenig Googeln hat zwar ein paar Leute zutage gefördert, die sich über die Bandbreitenverschwendung beim Besitz mehrerer Rechner ärgern, aber den Kontrollverlust bemerkt (oder zumindest bemängelt) niemand.

Thou shalt not pass

Damit die Geschichte hier nicht zu einseitig wird, möchte ich noch auf einen potentiell viel gefährlicheren Schachzug aus dem anderen Lager hinweisen: wer als Hardware-Hersteller künftig Windows-zertifizierte Systeme anbieten will, muß einen Mechanismus einbauen, der nur noch kryptographisch signierte Betriebssysteme bootet. Diese Signatur stellt nur Microsoft aus -- in sehr naher Zukunft kann man also zum Beispiel Linux nur noch benutzen, wenn Microsoft das gestattet.
Na, gruselt es schon?

Was tun

Im Gegensatz zu Apples lustigen Ideen gibt es hier genug kritische Stimmen im Netz. Das dürfte natürlich daran liegen, daß eben nicht Microsofts eigene Kunden, sondern gerade die anderen gefährdet sind. Außerdem ist die Bastelfreiheit(freedom to tinker) gerade unter diesen Anderen (z.B. Linux-Entwicklern) ein sehr hoch gehaltenes Gut.

Im Umkehrschluß sieht es ganz danach aus, daß es Apples Kunden egal ist, was sie mit ihren Maschinen machen können. Sie brauchen vielleicht gar keinen PC, sondern nur eine Schreibmaschine mit Bildverarbeitung und Musik-Player. Naja, und wenn Cupertino sowieso schon die Finger dein hat, macht es auch nichts, daß die Synchronisation von PC und Smartphone weniger und weniger über ein USB-Kabel und dafür mehr und mehr über einen Server bei Apple läuft. Darüber regt sich nämlich auch keiner auf. Ihr Schafe!

  1. angefangen mit dem LC II
1 Kommentar

Grmbl. Die erste Version dieses Beitrags hat WordPress für iOS gefressen.

Ich habe vor einigen Jahren meinen etwas schwierigen, vor allem durch last.fm bedingten Umstieg von analoger Musik auf MP3 beschrieben. Auch wenn sich mein Kopf (oder Bauch?) immer noch schwer tut: inzwischen bin ich im musikalischen Digitalzeitalter angekommen, ein iPhone ist schlicht viel transportabler als ein Plattenspieler, und wenn es nur bei der Hausarbeit ist.
Ich hatte mich damals nach einem sehr kurzen, wenig erfreulichen Versuch mit der Open-Source-Software Audacity mach einiger Suche für die Programme Peak und Soundsoap von Bias entschieden, um LPs aufzunehmen, zu entknistern und zu schneiden.
Nachdem mein Plattenspieler nun über ein Jahr komplett stillgestanden hat, fällt mir die Titelauswahl in letzter Zeit wieder etwas schwer: immerhin habe ich höchstens ein Drittel meiner Sammlung digitalisiert.
Also flugs die Software gestartet, den Rechner verkabelt, und -- Moment. Die Audiosoftware will neu freigeschaltet werden, wohl, weil ich den Rechner irgendwann austauschen mußte. Das bekomme ich erstmal nicht hin, und bei der Fehlersuche stelle ich fest, daß es die Firma Bias nicht mehr gibt.

Ups. Keine Ahnung, ob ich irgendwie meine bezahlten Programme wieder benutzen könnte, aber spätestens wenn sie mit einem der nächsten Betriebssysteme nicht mehr kompatibel sind, ist Ende im Gelände. So ist das eben mit Closed Source -- da kann man froh sein, wenigstens die alten Dokumente noch lesen zu können. Ich habe jedenfalls den ganzen Kram von der Festplatte geworfen und stattdessen die aktuelle Version von Audacity installiert; vielleicht werde ich ja doch noch warm damit.

Kein Kommentar

Mein neues Zeitraffer-Projekt läuft zwar noch, aber hier gibt es schon einen ersten Eindruck. Die schnelle Pflanze in der Mitte ist Kaffee, die Zitrone (in der linken unteren Ecke) bewegt sich dagegen fast gar nicht. Das Video ist etwa 8000-fach beschleunigt, eine Sekunde Film entspricht über zwei Stunden Aufnahmezeit.

Von der Idee, eine Spiegelreflexkamera für die Aufnahme zu verwenden, habe ich wieder Abstand genommen: der Verschleiß wäre durch die hohe Zahl der Auslösungen einfach zu groß[1]. Die Eule hat mir aber eine Webcam geliehen, mit der ich ganz gute Bilder machen kann. Als Software nehme ich ein einfaches Kommandozeilen-Programm namens wacaw, den Film habe ich mit FrameByFrame erstellt und dann in iMovie bearbeitet.

  1. Verschlüsse von Consumer-Kameras halten wohl zwanzig- bis fünfzigtausend Auslösungen, eine Filmminute besteht aber schon aus fast 1500 Bildern.
Kein Kommentar

Ich habe zwar schon ewig und drei Tage einen Youtube-Kanal, den ich aber bislang nur zum Abonnieren anderer Kanäle genutzt habe. Jetzt gibt es jetzt endlich mein erstes eigenes Video: eine Zeitraffer-Aufnahme von Thinking Putty, das ist eine Art Knetgummi, das sich auf langen Zeitskalen wie eine sehr zähe Flüssigkeit verhält. Das Video ist 1200-fach beschleunigt, eine Minute entspricht also fast einem Tag Aufnahmezeit.

Die Qualität ist leider nicht so besonders[1] -- ich habe noch kein Programm gefunden, um eine DSLR vom Rechner steuern zu lassen, und so müsst ihr mit der eingebauten Webcam im Notebook vorliebnehmen. Als Aufnahmesoftware habe ich Gawker verwendet. Das Programm ist ganz praktisch, aber nicht ideal: ich hätte gerne Zugriff auf die Einzelbilder, Gawker liefert aber nur eine fertige Film-Datei. Die wiederum finde ich nicht einmal so wichtig, denn die könnte ich auch mit FrameByFrame erstellen.

Den Schnitt (und die gesamte Postproduction) hat übrigens die Eule übernommen. Herzlichen Dank dafür!

  1. lies: miserabel
Kein Kommentar

Der Webcomic xkcd behandelt nach eigener Aussage romance, sarcasm, math, and language. Es hat einige Zeit gedauert, bis ich mich an die etwas kruden Strichmännchen gewöhnt habe, aber inzwischen hat er seinen Platz in meiner Bookmarkliste an der Seite von Dilbert und UserFriendly verdient.

Heute gibt es ein Diagramm über die Schwierigkeit, die Computer mit diversen Spielen haben. Angefangen von vollständig gelösten Spielen wie Tic-Tac-Toe über solche, bei denen selbst Weltmeister gegen Programme keine Chance haben (Reversi, seit einiger Zeit auch Schach) geht die Liste hoch zu Spielen, bei denen Menschen immer noch die Oberhand haben. Daß Go weit oben stehen würde, hatte ich erwartet; daß Snakes and Ladders[1] ein besonders kompliziertes Spiel sei, war mir dagegen neu, und so habe ich ein wenig Recherche den vier Einträgen oberhalb von Go betrieben. Das Ergebnis:

  • Snakes and Ladders ist ein reines Glücksspiel, das man weder gut noch schlecht spielen kann
  • Mao muß man spielen, ohne die Regeln zu kennen
  • Seven Minutes in Heaven -- ähem
  • Calvinball gibt es gar nicht

Romance, sarcasm, math, and language, indeed.

  1. oberhalb von Go eingeordnet
Kein Kommentar