Entwicklungstagebuch, Teil 18 · 23. August 2026
Der Beitrag von heute Vormittag hört mittags auf. Der Tag nicht.
Am Vormittag ging es um Dinge, die da sind und die niemand erreicht. Am Abend um etwas anderes: um Messungen, die eine Zahl liefern, die stimmt — und die trotzdem nicht die Frage beantworten, um die es geht.
Fünfmal an einem Abend.
Ein Band über einem Band
Zuerst das, was einfach fertig geworden ist: Die Academy hat eine Kachel statt eines Satzes im Fließtext. Und das gesammelte Tagebuch steht auf 86 Blättern statt 82.
Beim Fortschreiben kam etwas heraus, das ich nicht gesucht hatte. Auf dem Deckblatt stand sichtbar „Teile 1 bis 16“. In der Textebene darunter stand eine allein stehende 15.
Das Deckblatt hatte zwei Aufdruckbänder übereinander. Beide zeichnen dasselbe dunkle Rechteck über das Foto, das ältere mit der alten Zahl, das jüngere mit der neuen. Das zweite lag über dem ersten und hat es unsichtbar gemacht. Sichtbar war alles richtig. Beim Kopieren, beim Suchen und in jeder Textmessung kam die alte Zahl mit.
„Ein Deckel ist keine Entfernung“ stand seit dem Vortag in meinem Heft. Gestern war es ein weißes Rechteck über einer Fußzeile. Heute ein Band in Hausfarbe über einem Band in Hausfarbe — und ich hatte es selbst dorthin gelegt.
Jetzt sind beide weg, nicht überdeckt. Der Zeichenaufruf und das Objekt.
Derselbe Befund, drei Fassungen
Dann der Punkt, der den Abend gekostet hat. Die App lädt beim Start 87 Programmdateien. Dreiundvierzig Module rufen ihre eigene Startfunktion nicht sofort auf, sondern mit einer von Hand gesetzten Verzögerung, 400 bis 2000 Millisekunden. Eine Leiter aus dreiundvierzig Stufen.
Erste Fassung: „Dreiundvierzig Module an einer Zeitleiter, das kostet.“ Fundstellen gezählt und die Anzahl für ein Maß der Kosten gehalten.
Zweite Fassung, nach der ersten Messung: Die dreiundvierzig Startfunktionen kosten zusammen 54 Millisekunden Rechenzeit, die teuerste einzelne 9,4. Also nichts zu holen, der Umbau nicht begründet.
Dritte Fassung, nach der Messung am iPad: Das Gerüst steht dort nach 984 Millisekunden. Die letzte Stufe der Leiter feuert 2000 Millisekunden danach.
Alles zwischen 984 Millisekunden und drei Sekunden ist Warten, nicht Arbeiten. Die Zeitleiter kostet keine Rechenzeit — sie ist die Wartezeit.
Die zweite Messung war richtig und hat das Falsche gemessen: Rechenzeit, wo es um Wartezeit ging. Die erste hatte gar nicht gemessen, sondern gezählt.
Gemessen am falschen Gerät
Der Umbau lag nahe: Statt auf die Uhr zu warten, sollen die Module starten, sobald der Hauptfaden frei ist. Dafür gibt es eine Browserfunktion. Eingebaut, zwölf Module umgestellt, im Prüfstand gemessen: Das letzte Modul war statt nach 2158 Millisekunden nach 192 fertig. Zwei Sekunden gewonnen.
Am iPad, nach dem Hochladen: beiRuhe lief nach 2002 ms. Und auf die Frage, ob die Funktion überhaupt da ist: false.
Safari kennt sie auf diesem Gerät nicht. Der eingebaute Rückfall lief in seine Frist — genau das Verhalten, das ersetzt werden sollte. Die Messung war nicht falsch. Sie war nicht übertragbar: gemessen in einem Browser auf einem Rechner, gebaut für ein iPad.
Die zweite Fassung hängt jetzt an nichts, was ein Browser haben kann oder auch nicht. Und ihre Wirkung liest man ab, statt sie zu glauben: [3, 12, 0, 2077] — dritte Fassung, zwölf Starts, null über die Frist, letzter fertig nach 2077 Millisekunden. Die Null ist die wichtigste Zahl.
Nebenbei fiel dabei ein echter Fehler auf: Ein Riegel arbeitete die Warteschlange genau einmal ab. Wer sich danach anmeldete, stand in einer Schlange, die nie wieder anlief. Für die zwölf Module folgenlos. Für jeden späteren Aufrufer ein stiller Ausfall.
Fünf fremde Befunde, drei halten nicht
Zum Schluss habe ich zwei Prüfberichte gegen mein Register gehalten und fünf Befunde gefunden, die dort in keiner Zeile standen. Eingetragen — und dann gemessen.
Die Datenschutzerklärung sollte zehn fremde Dienste nicht nennen. Der Serverstand nennt alle zehn. Erledigt, bevor ich es eingetragen habe. Zwei echte Fehler standen trotzdem darin: Zwei Dienste waren als auswählbare Kartenschicht beschrieben. Nachgemessen kommen ihre Adressen im ganzen Bestand nur an einer Stelle vor, als Testkacheln eines Werkzeugs zur Fehlersuche. Die Erklärung beschrieb eine Funktion, die es nicht gibt, und verschwieg die, die es gibt.
Der waagerechte Überlauf bei 320 Pixeln war mein eigener Messfehler. Fünf von acht Ansichten, schlimmster Fall 738 Pixel, „Verursacher jedes Mal ein Knopf“. Buchstäblich richtig und bedeutungslos: Die Knöpfe stehen in einer Leiste, die von sich aus seitlich rollt. Sauber nachgemessen, acht Ansichten und neunundzwanzig Unteransichten einzeln aufgeklappt: null.
Zwei von fünf halten stand, einer war schon erledigt, zwei gibt es nicht.
Was ich mitnehme
In meinem Heft steht: Ein fremder Befund ist eine Beobachtung, keine Aufgabe. Daneben: Jeder Vorschlag kommt zuerst ins Heft. Ich habe die zweite Regel befolgt und die erste dabei übersprungen. Ein Register, in das ungeprüfte Befunde wandern, ist kein Register. Es ist eine zweite Ablage für PDF-Inhalte.
Fünf Messungen an einem Abend haben etwas gemessen, das nicht die Frage war: gezählte Fundstellen statt Kosten, Rechenzeit statt Wartezeit, einen Rechner statt ein iPad, eine Kopie statt den Server, Knöpfe in einem rollenden Kasten statt einen Überlauf. Jede einzelne lieferte eine Zahl. Keine davon war falsch.
Das ist die unangenehme Sorte Irrtum. Ein Rechenfehler meldet sich. Eine Messung, die das Falsche misst, sieht aus wie ein Ergebnis.
Nachtrag vom 28. August: Dieser Satz hat fünf Tage später den ganzen Tag bestimmt. Ich hatte für die Bedienung mit Sprachausgabe alles gemessen, was sich messen lässt — jede Auszeichnung, jede Beschriftung, jeden Namen. Sechs Fehler haben sich davon nicht erwischen lassen, drei hätte kein Prüfprogramm der Welt gefunden. Gemessen war die Auszeichnung. Nicht gemessen war das Verhalten über Zeit. Am 23. August habe ich fünfmal das Falsche gemessen und es abends gemerkt. Am 28. war es dasselbe, nur einen Tag lang.
← Zurück zum Entwicklungstagebuch
PELARON entsteht an Bord der Bluebaerry und am Schreibtisch in Erfurt. Fragen, Widerspruch und Fehlermeldungen sind willkommen.