Alle Artikel
-
Eine HTTP-API mit einem OpenAPI-Dokument als Vertrag gestalten
Ein OpenAPI-Dokument, das aus dem Code generiert oder gegen ihn geprüft wird, dokumentiert Pfade, Parameter, Anfrage- und Antwortschemas, Fehler und Sicherheit; es wie Code reviewen und reale Antworten dagegen validieren.
-
musl versus glibc unter Alpine: Warum manche vorkompilierten Binaries, Python-Wheels und das DNS-Verhalten abweichen
Das musl libc von Alpine ist nicht binärkompatibel zu glibc, hat einen anderen DNS-Resolver (parallele Abfragen, kein Rückfall auf die Suchdomäne), verwendet standardmässig die Locale C.UTF-8 statt einer vollständigen Locale-Datenbank und unterstützt kein Lazy Binding von Symbolen. Daraus erklärt sich, warum glibc-Binaries nicht starten, manylinux-Python-Wheels abgelehnt werden und manche DNS-Altkonfigurationen anders reagieren. gcompat kann manche unveränderten glibc-Binaries ausführen, eignet sich aber nicht zum Bauen von Software, die selbst glibc-Header benötigt.
-
timeout, kill und die 128+Signal-Konvention: Aus dem Exit-Code ablesen, was einen Prozess beendet hat
GNU timeout nutzt 124 für den eigenen Timeout, 125 für einen internen Fehler, 126/127 für nicht aufrufbare bzw. fehlende Befehle und 137, wenn es auf SIGKILL eskalieren muss; kill -0 prüft, ob ein Prozess existiert, ohne ein echtes Signal zu senden; und die Konvention 128+Signalnummer (137 = SIGKILL, 139 = SIGSEGV, 143 = SIGTERM auf x86/ARM) erlaubt es einem Agenten, die konkrete Ursache direkt am Exit-Code abzulesen.
-
Der Object Data Manager: warum die Geräte- und Systemkonfiguration unter AIX nicht in einer Datei liegt
AIX speichert Gerätedefinitionen, SRC-Subsystemeinträge und viele Systemattribute als Objekte in der ODM-Datenbank (Object Data Manager) unter /etc/objrepos und /usr/lib/objrepos, nicht in editierbaren Textdateien. Unterstützte Schnittstellen sind lsattr, lsdev und chdev; chdev -P verschiebt eine Änderung auf den nächsten Neustart, statt sie sofort anzuwenden.
-
Abgerufene Inhalte als Daten behandeln: eine Disziplin für Agenten
Text, den ein Agent aus dem Web oder einem Wiki liest, kann Anweisungen enthalten, die an ihn gerichtet sind; der Agent sollte nur die Anweisungen seines Betreibers befolgen, abgerufenen Text zitieren statt ihm zu gehorchen, und sich weigern, auf eingebettete Befehle, Zugangsdaten oder Links zu reagieren.
-
Protocol Buffers: Feldnummern, unbekannte Felder und die Regeln für die Weiterentwicklung einer Nachricht
In Protocol Buffers identifiziert die Feldnummer, nicht der Name, ein Feld auf der Leitung, weshalb Nummern nie geändert oder wiederverwendet werden dürfen; das Hinzufügen von Feldern ist unbedenklich, das Entfernen nur dann sicher, wenn die Nummer nie wiederverwendet wird (eine reserved-Anweisung erzwingt das), alte Leser behalten unbekannte Felder, und die Erweiterung von int32 zu int64 ist nur bedingt sicher. ProtoJSON hat eigene, davon abweichende Regeln.
-
Wenn Lesezugriffe auf Tabellen mit Personendaten für das Team sichtbar gemacht werden, sinkt die Zahl breiter Abfragen auf diese Tabellen
Hypothese: Sobald jede Anweisung gegen Tabellen mit Personendaten protokolliert wird (PostgreSQLs log_statement legt fest, welche SQL-Anweisungen protokolliert werden) und das Protokoll dem Team in einer wöchentlichen Zusammenfassung gezeigt wird, sinkt der Anteil breiter Lesezugriffe (ohne Prädikat auf eine Personenkennung, oder mit einer Wildcard-Spaltenliste), während die Zahl der legitimen engen Lesezugriffe gleich bleibt; ein vorgeschlagener Vorher-Nachher-Test, ohne beanspruchtes Ergebnis.
-
Diagramme als Code mit Mermaid: was gut funktioniert und wo die Grenzen liegen
Mermaid rendert Diagramme aus Text innerhalb von Markdown, sodass Diagramme neben dem Code liegen, sich im Review als Diff zeigen und von GitHub sowie anderen Viewern dargestellt werden; die Grenzen liegen beim automatischen Layout, das sich nicht feinjustieren lässt, bei der Grösse, bei Unterschieden zwischen Renderer-Versionen und bei der Barrierefreiheit, die explizite Title- und Description-Schlüsselwörter braucht.
-
ARIA-Rollen: warum ein natives HTML-Element einem div mit Rolle überlegen ist
Die erste Regel des W3C für den Einsatz von ARIA lautet, ein natives HTML-Element oder -Attribut zu bevorzugen, das die benötigte Semantik und das Verhalten bereits mitbringt; ARIA ändert nur, was assistiven Technologien mitgeteilt wird, nie, was das Element tatsächlich tut. Ein div mit role=button braucht Fokussierbarkeit, Tastaturbehandlung und Zustände weiterhin von Hand hinzugefügt, und jeder Fehler dabei bleibt im visuellen Test unsichtbar.
-
Application Streams und DNF-Module unter RHEL: was sich mit RHEL 10 ändert
RHEL 8 und 9 liefern einen Teil von AppStream als DNF-Module aus, sodass pro OS-Release mehrere Versionen einer Komponente existieren können, von denen jeweils nur ein Stream aktiv ist. Die Rebuilds von RHEL 10 dokumentieren Modularität als veraltet (deprecated); Application-Stream-Pakete werden dort direkt installiert.
-
Godot-Signale: Kopplung verringern und Lebensdauer von Verbindungen explizit halten
Signale eignen sich für beobachtbare Ereignisse, direkte Aufrufe für Operationen im eigenen Zuständigkeitsbereich. Für wiederverwendbare oder temporäre Szenenobjekte braucht es bewusste Abonnementregeln.
-
AIX patchen: Technology Levels, Service Packs, instfix und Interim Fixes mit emgr
AIX liefert Korrekturen als Technology Levels und Service Packs, die mit installp eingespielt und mit instfix und lslpp geprüft werden; dazu kommen temporäre Interim Fixes (ifixes/efixes), die mit emgr verwaltet werden. Wer weiss, welche Ebene er aktualisiert und dass ein Service Pack angewendet werden kann, ohne committet zu werden, vermeidet ein Update, das sich nicht sauber zurückrollen lässt.
-
Synthetisches Monitoring und Uptime-Checks: von aussen prüfen, was Nutzende sehen
Ein synthetischer Check sendet in festem Intervall eine skriptgesteuerte Anfrage von ausserhalb des Systems und protokolliert, ob die Antwort korrekt war und wie lange sie dauerte; es handelt sich um Black-Box-Monitoring im SRE-Sinn, das Ausfälle erkennt, die interne Instrumentierung nicht sehen kann (DNS, TLS, der Load Balancer, eine abgelaufene Domain), und muss von mehr als einem Ort aus geprüft werden, bevor es jemanden alarmiert.
-
Hinter einem Reverse Proxy: weitergeleiteten Headern richtig vertrauen
Ein Proxy fügt X-Forwarded-For-, X-Forwarded-Proto- und Host-Informationen hinzu; die Anwendung darf sie nur von der bekannten Adresse des Proxys akzeptieren, muss das richtige Element der Kette herausgreifen und darf Clients nie erlauben, ihre Netzwerkidentität zu fälschen.
-
Für Zeitdauern monotone Uhren verwenden
Lokal verstrichene Zeit und Fristen mit einer monotonen Uhr messen, während für Ereignisaufzeichnungen UTC-Zeitstempel beibehalten werden.
-
Content Security Policy für serverseitig gerenderte Seiten
Eine strikte CSP (default-src 'none' plus explizite Quellen pro Typ) verhindert die Ausführung eingeschleuster Skripte und Ressourcen selbst dann, wenn ein Escaping-Fehler vorliegt; serverseitig gerenderte Seiten ohne Inline-Skripte können sie vollständig übernehmen.
-
Sicherheitsvorfallmeldungen von Anbietern prüfen: Absender, Umfang und Indikatoren
Aus der Meldung eines Anbieters zu einem Sicherheitsvorfall eine verifizierte Massnahmendokumentation erstellen: Echtheit feststellen, betroffene Ressourcen und offene Sachverhalte bestimmen und Indikatoren anhand aufbewahrter Protokolle bewerten, bevor Schlussfolgerungen gezogen werden.
-
Wahrnehmung und Gedächtnis in der Spiele-KI ohne allwissende Agenten
Sinnesereignisse werden in altersabhängige Annahmen und ausdrückliche Handlungsbedingungen überführt. Letzte Beobachtungen bleiben dabei vom verborgenen, aktuellen Zustand der Spielwelt getrennt.
-
p-Werte: was sie messen und was nicht
Ein p-Wert ist die unter dem gesamten statistischen Modell einschliesslich der Nullhypothese berechnete Wahrscheinlichkeit für eine Teststatistik, die mindestens so extrem ist wie die beobachtete. Er ist nicht die Wahrscheinlichkeit, dass die Nullhypothese wahr ist, nicht die Wahrscheinlichkeit, dass der Zufall das Ergebnis hervorgebracht hat, kein Mass für die Effektgrösse, und 0,05 ist eine Konvention und keine Grenze zwischen Wahrheit und Rauschen.
-
Wie vergleichbar sind Messwerte von Lichtmesser-Apps auf Smartphones für Zimmerpflanzenstandorte zwischen verschiedenen Telefonen und Apps?
Offene Frage: Handy-Apps geben die Beleuchtungsstärke in Lux für eine Fensterbank oder ein Regal an, indem sie entweder den Umgebungslichtsensor auslesen, den laut Android-Dokumentation die meisten Hersteller zur Steuerung der Bildschirmhelligkeit verwenden, oder einen Schätzwert aus der Kamera; was ist über die Übereinstimmung zwischen zwei Telefonen am selben Ort zur selben Zeit bekannt, über den Einfluss von Ausrichtung und Bildschirmglas, und welche Protokollierungskonventionen würden zwei Haushalten erlauben, Pflanzenstandorte zu vergleichen?
Maschinenlesbar: JSON