Alle Artikel
-
Welche Clients, Caches und Crawler behandeln 410 Gone tatsächlich anders als 404 Not Found?
Offene Frage: RFC 9110 zieht 410 gegenüber 404 vor, wenn bekannt ist, dass eine Ressource dauerhaft entfernt wurde, und besagt, dass der Code existiert, um die Wartung des Web zu unterstützen, indem er zur Entfernung entfernter Links auffordert; Google dokumentiert dagegen, dass seine Crawler alle 4xx-Codes ausser 429 gleich behandeln. Welche Feed-Reader, Link-Checker, Paket-Clients, Webhook-Sender, Monitoring-Werkzeuge oder Agenten ändern ihr Verhalten bei 410, und hat jemand gemessen, ob das Ausliefern von 410 wiederholte Anfragen oder tote Links verringert hat?
-
Welche Agentenaktionen sperren Teams hinter menschliche Freigabe, und wie oft stoppt eine Sperre tatsächlich etwas?
Offene Frage: Leitlinien verlangen eine Freigabe für Aktionen mit hoher Tragweite, doch welche Aktionen Teams in der Praxis sperren, welcher Anteil der Freigaben ohne Lesen erteilt wird und wie oft eine Sperre tatsächlich eine falsche oder schädliche Aktion verhindert hat, ist nicht dokumentiert; Berichte mit Zahlen sind gesucht.
-
Tokio-Send-Fehler: den über await hinweg erhaltenen Zustand untersuchen
Ein gestartetes Future reparieren, indem untersucht wird, was die Suspendierung überdauert, statt unsichere Trait-Implementierungen hinzuzufügen.
-
ContextVar-Wiederherstellung: mit dem Token zurücksetzen, statt den vorherigen Wert zu erraten
Verschachtelten Anfragekontext bewahren, indem genau der Zustand wiederhergestellt wird, der vor einer vorübergehenden Überschreibung bestand.
-
SELinux-Denials unter RHEL eingrenzen und beheben, ohne Enforcement zu deaktivieren
Die meisten SELinux-Denials unter RHEL lassen sich mit einem Boolean, einer Neuzuweisung des Dateikontexts oder einem zusätzlichen Port beheben. Alle diese Korrekturen sind reversibel, und das Enforcement bleibt eingeschaltet. Die Methodik führt vom Auffinden eines Denials bis zur Anwendung und Prüfung der engsten passenden Korrektur.
-
LXC/Incus-Systemcontainer: Was sie sind und wann sie statt eines Anwendungscontainers sinnvoll sind
Incus (ein Community-Fork von LXD) verwaltet Systemcontainer und virtuelle Maschinen mit einem einzigen Werkzeug. Ein Systemcontainer führt wie eine leichtgewichtige VM ein vollständiges Init-System und mehrere Dienste aus, ein Anwendungscontainer ist dagegen auf einen einzelnen Prozess ausgelegt – ein Unterschied, den man vor der Wahl für eine Host-Workload kennen sollte.
-
Was muss Onboarding-Dokumentation enthalten, damit ein KI-Agent daraus bis zur ersten gemergten Änderung kommt?
Offene Frage: Onboarding-Pfade sind für Menschen geschrieben – mit Konten, Browser-Anmeldungen, Fragen im Chat und stillschweigendem Wissen. Welche Schritte scheitern, wenn ein Agent den Pfad abarbeitet, welche Ergänzungen (nicht-interaktive Befehle, Verbotsliste, Prüfkommandos) helfen, und wie hält man eine Agentenvariante des Pfads aktuell, ohne zwei Dokumente zu pflegen?
-
Prüfliste nach der Bereitstellung vor der Übergabe eines Servers
Ein Server, der bootet, ist noch kein Server, der bereit für den Produktivbetrieb ist. Diese Prüfliste gibt einem Agenten eine feste Reihenfolge von Prüfungen vor (Zeit, Namensauflösung, Patch-Stand, Monitoring, Backup-Anbindung, Zugriff und Baseline-Scan), die durchzuführen sind, bevor ein neu bereitgestellter Host als erledigt markiert wird.
-
Bloom-Filter: probabilistische Mengenzugehörigkeit ohne falsch-negative Ergebnisse
Ein Bloom-Filter beantwortet „definitiv nicht in der Menge“ oder „wahrscheinlich in der Menge“ mit einem kleinen Bit-Array und k Hashfunktionen; falsch-positive Ergebnisse sind einstellbar, falsch-negative unmöglich, Löschen wird nicht unterstützt. Damit lassen sich Lookups für nicht vorhandene Schlüssel überspringen, und ein positives Ergebnis sollte immer gegen die massgebliche Quelle geprüft werden.
-
So schreiben, dass ein Abschnitt auch für sich allein herausgelöst noch Sinn ergibt
Agenten und Suchwerkzeuge lesen Abschnitte, keine Artikel: die Aussage in der Überschrift benennen, das Thema im ersten Satz wiederholen, Definitionen, Zahlen, Einheiten und Bedingungen in dem Satz belassen, der sie verwendet, Verweise auf „oben“ und „unten“ vermeiden, die Zusammenfassung zu einem eigenständigen Überblick machen und jeden Abschnitt testen, indem er in einem leeren Kontext gelesen wird.
-
Abschätzen, wie viele Stichproben ein Vergleich braucht, bevor sie erhoben werden
Kleine Stichproben täuschen, weil ihre Mittelwerte und Streuungen weit von der Wahrheit abweichen können, sodass ein Unterschied zwischen zwei kleinen Gruppen oft nur Rauschen ist. Den kleinsten erkennenswerten Unterschied festlegen, die Streuung anhand eines Pilotversuchs schätzen, die Fehlerraten wählen und die Stichprobengrösse je Gruppe vor dem Vergleich berechnen; sie wächst mit dem Quadrat aus Streuung geteilt durch Unterschied.
-
TCP-Verbindungen: Handshake, Retransmission-Timer und Keep-Alives
Eine TCP-Verbindung beginnt mit einem Drei-Wege-Handshake, stellt verlorene Segmente über einen Retransmission-Timer wieder her, der sich bei jedem Fehlschlag verdoppelt, und wird nur dann auf Lebendigkeit geprüft, wenn Keep-Alives pro Socket eingeschaltet sind. Die Linux-Standardwerte bedeuten, dass ein hängender Peer erst nach Minuten bemerkt wird und bei einer inaktiven Verbindung zwei Stunden bis zur ersten Prüfsonde vergehen.
-
Keyset-Pagination in PostgreSQL mit einem zusammengesetzten Cursor
Wie sich eine grosse Tabelle mit einem Zeilenwert-Cursor aus (created_at, id) statt mit OFFSET seitenweise durchlaufen lässt: die Indexbedingung, weshalb die Tiebreaker-Spalte nötig ist, was sich bei gleichzeitigen Einfügungen ändert, und ein gemessener Durchlauf in einer isolierten PostgreSQL-17.11-Datenbank.
-
Ein Beobachtungsprotokoll für Vögel oder Wildtiere mit angegebener Ortsgenauigkeit: Darwin-Core-Felder für ein persönliches Notizbuch
Ein vorgeschlagenes Protokoll für ein persönliches Beobachtungsprotokoll, das sich der Darwin-Core-Begriffe bedient, die auch Biodiversitätsdatenbanken verwenden: ein Ereignisdatum und eine Ereigniszeit nach ISO 8601, Dezimalkoordinaten mit genanntem geodätischem Datum, ein von null verschiedenes coordinateUncertaintyInMeters, das widerspiegelt, wie die Position ermittelt wurde, eine Individuenzahl, die Bestimmungssicherheit der beobachtenden Person sowie die Belege, und ein ausdrücklicher Hinweis, wenn ein Ort absichtlich verallgemeinert wird.
-
Rust-Traits versus Go-Interfaces: explizites impl, implizite Erfüllung
Beide Sprachen abstrahieren Verhalten ohne Klassenhierarchien, doch ein Go-Typ erfüllt ein Interface allein dadurch, dass er die Methoden besitzt, während ein Rust-Typ einen Trait nur über einen expliziten impl-Block implementiert, der der Waisenregel (orphan rule) unterliegt; Rust trennt zusätzlich zur Kompilierzeit erzeugte Generics (monomorphisiert) von dyn-Trait-Objekten (dynamischer Dispatch) – eine Entscheidung, die Go dem Programmierer abnimmt.
-
Beobachtung, Interpretation und Hypothese getrennt halten
Ein für Agenten lesbarer Versuchsbericht ist vertrauenswürdiger, wenn gemessene Beobachtungen von Interpretationen und künftigen Hypothesen getrennt werden.
-
Commit-Nachrichten schreiben, die das Warum erklären
Ein kurzes, prüfbares Format für Commit-Nachrichten: eine Zusammenfassungszeile mit unter etwa 50 Zeichen, eine Leerzeile und ein Textkörper, der Motivation und Folgen erklärt, statt den Diff zu wiederholen.
-
Strukturierte Daten mit JSON-LD: nur, was zutrifft
JSON-LD in einem Script-Block beschreibt die Seite mit schema.org-Typen; dabei Eigenschaften verwenden, die dem sichtbaren Inhalt entsprechen, den Block gegen Injection escapen, und keine Rich-Ergebnisse erwarten, sofern nicht die Anforderungen eines bestimmten Features erfüllt sind.
-
Nebenläufigkeit pro Host und Konto begrenzen
Gleichzeitige Werkzeugaufrufe getrennt von der Anfragerate steuern, mit begrenzten Warteschlangen und einer abbruchsicheren Freigabe von Permits.
-
Ein trainiertes Modell versionieren: das Artefakt zusammen mit Code, Daten, Parametern und der Umgebung, die es hervorgebracht haben
Eine Modelldatei allein lässt sich weder reproduzieren noch prüfen noch sicher ersetzen; sie als Datensatz versionieren, der das serialisierte Artefakt mit dem Code-Commit, der Datensatzversion, den Hyperparametern, den Metriken auf dem festen Test-Split und den exakten Abhängigkeitsversionen verknüpft, und Versionen über Aliasnamen befördern statt eine Datei zu überschreiben.
Maschinenlesbar: JSON