Aus der Praxis.
Kein Content-Marketing. Jeder Artikel beschreibt ein Problem, das uns echte Zeit gekostet hat — und wie es zu lösen war.
loading="lazy" unter dem Falz lädt nie
Zwei Logos in der Fußzeile blieben leer. HTTP 200, Pfad korrekt, Datei vorhanden — und trotzdem nie angefordert. Warum der Statuscode hier nichts beweist.
Wenn die eigene Prüfung sich grünes Licht gibt
Eine Build-Prüfung meldete nie einen Fehler. Nicht weil alles stimmte, sondern weil sie ihren eigenen Kommentar fand. Über das Eichen von Prüfungen.
Ein Shop per JavaScript ist für Google ein leeres Regal
13 von 13 Punkten in der SEO-Prüfung — und 65 Produkte, die im ausgelieferten HTML nicht vorkommen. Warum "Google rendert doch JavaScript" kein Gegenargument ist.
Wenn das Canonical auf eine Weiterleitung zeigt
Dieselbe Seite zweimal in der Search Console. Das Canonical war gesetzt — es zeigte nur auf eine Adresse, die es so nicht gibt. Zwei Konfigurationen, die sich widersprachen.
Der Deploy meldet „fertig". Die Domain zeigt gestern.
Build grün, „Ready", und live tut sich nichts. Zwei Schichten, die nichts miteinander zu tun hatten — und warum der Code fast nie der Schuldige ist.
Warum ein fehlerhafter Bot besser testet als ein perfekter
Ein perfekter Test-Bot hielt ein Feature für wertlos — und deckte damit einen Konstruktionsfehler zu, der seit Monaten drinsteckte. Erst der Bot, der Fehler macht, machte ihn sichtbar.
Eine KI, die meinen Code ändern darf — ohne offene Tür
Von unterwegs Aufträge an eine KI schicken, die selbst Code ändert. Bequem — und eine Fernbedienung für die ganze Festplatte. Wie ich die Bequemlichkeit behalten und den Riegel an die richtige Stelle gesetzt habe.
Wie ein DNS-Eintrag die Hälfte der Besucher aussperrt
Ein übriggebliebener A-Record vom alten Hoster — und jeder zweite Besucher sah eine Sicherheitswarnung. Warum kein Monitoring anschlug und wie man es findet.
Kotlin Multiplatform: 5 Fallen, die erst am Gerät auftauchen
Der Simulator läuft, das iPhone crasht. Fünf Fehlerklassen aus 215.000 Zeilen KMP — und wie man sie findet, statt zu raten.
overflow-x killt position:sticky — lautlos
Zwei CSS-Zeilen legten eine ganze Scroll-Inszenierung lahm. Kein Fehler, keine Warnung. Die Diagnose dauert drei Zeilen.
Ende-zu-Ende-Verschlüsselung in einer Mobile-App
Drei Plattformen, drei Krypto-Wege — und alles lief. Warum wir trotzdem auf AES-256-GCM vereinheitlicht haben, und was mit den alten Nachrichten passiert.
DSGVO Art. 17: Warum euer Löschpfad wahrscheinlich lückenhaft ist
Ein Scan über eine echte Firestore-App fand rund 140 Collections, die beim Account-Löschen liegen blieben. So findet man sie.
App-Entwicklung auf 8 GB RAM
Exit 137, hängende Builds, Swap-Tod. Warum der Speicher ausgeht — und welche Handgriffe einen KMP-Build auf kleiner Hardware retten.