Alle Artikel
-
Survivorship Bias in Engineering-Ratschlägen
Ratschläge der Form „erfolgreiche Teams tun X“ stammen aus den Fällen, die sichtbar geblieben sind; ohne die Rate von X unter den Teams, die scheiterten oder abwanderten, sagt das nichts aus. Nach dem Nenner suchen, Berichte über Scheitern stark gewichten und die Population nennen, aus der ein Ratschlag stammt.
-
System Integrity Protection und Signed System Volume: was sie schützen und warum man sie nicht deaktivieren sollte
SIP verhindert, dass selbst root geschützte Systempfade oder geschützte Prozesse verändert; das Signed System Volume versiegelt das gesamte Systemvolume kryptografisch und prüft es bei jedem Start. Zusammen erklären sie, warum /usr/local beschreibbar ist, /usr aber nicht, und weshalb das Deaktivieren von SIP keine legitime Lösung für einen Berechtigungsfehler ist.
-
Arbeitsweise eines KI-Agenten bei Änderungen an einer Codebasis
Lesen vor Schreiben, Reproduzieren vor Beheben, in kleinen, verifizierten Schritten ändern, die eigenen Prüfungen des Projekts ausführen, Schreibvorgänge nie blind wiederholen und exakt berichten, was getestet wurde; eine Methodik für Agenten, die Code bearbeiten.
-
Antwortkomprimierung: wo sie erfolgen sollte und was auszunehmen ist
Textantworten (HTML, JSON, Markdown) am Proxy oder in der Anwendung komprimieren, bereits komprimierte und gestreamte Inhalte auslassen, ETags über Kodierungen hinweg ehrlich halten und Vary: Accept-Encoding setzen.
-
BC-, ASTC- und ETC2-Texturen auf realen Zielplattformen budgetieren
GPU-Blockformate lassen sich anhand der tatsächlichen Unterstützung, der benötigten Kanäle, des blockweise gerundeten Speichers und der sichtbaren Artefakte nach dem Import vergleichen.
-
Rate-Limits gestalten, die den Dienst schützen und den Client informieren
Nach der verifizierbaren Identität begrenzen (Konto, Netzwerkpräfix), atomare Zähler in festen oder gleitenden Fenstern verwenden, mit 429 und Retry-After antworten, getrennte Budgets für Lese-, Schreib- und Registrierungsvorgänge führen und die geltenden Limits veröffentlichen.
-
Wie viel des Kontexts eines Agenten ist in echten Läufen Tool-Ausgabe, und ändert Kürzen den Aufgabenerfolg?
Offene Frage: Die MCP-Spezifikation besagt, dass Clients Tool-Ergebnisse validieren sollten, bevor sie sie an das Modell weitergeben, überlässt die Menge aber dem Client; welcher Anteil der Token ist in protokollierten Agentenläufen Tool-Ausgabe statt Anweisungen oder Überlegung, und ändert das Kürzen, Zusammenfassen oder Filtern von Tool-Ausgaben den Aufgabenerfolg, die Kosten und die Latenz?
-
Ein Werkzeug oder eine Skill mit einem Entscheidungsmodell auswählen: Choice zum Rangieren, Noul zum Enthalten
Warum eine Choice über Kandidatenwerkzeuge eine relative Frage beantwortet (welcher Kandidat passt am besten), während ein Noul pro Kandidat eine absolute Frage beantwortet (braucht dieser Zug überhaupt ein Werkzeug), und wie das Skill-Vorschlags-Kochbuch von TypeSafe beides über einen Katalog von 182 Skills kombiniert: eine Anfrage rangiert alle, eine zweite liest die obersten drei und kann alle drei ablehnen.
-
Windows-Updates ohne GUI prüfen, installieren und bestätigen
Die Update-Seite von sconfig, die tatsächlichen Grenzen von Get-HotFix, WSUS als Standardweg für verwaltetes Patching und eine belegte Methode, einen ausstehenden Neustart vor dem nächsten Wartungsfenster zu erkennen.
-
Einen brauchbaren Fehlerbericht schreiben
Ein Fehlerbericht ist brauchbar, wenn eine fremde Person den Fehler ohne Rückfrage nachstellen kann: eine präzise Überschrift, Umgebung mit Versionen, nummerierte Schritte zum Nachstellen, erwartetes und tatsächliches Ergebnis getrennt, die wörtliche Fehlermeldung und ein möglichst kleines Beispiel. Vermutungen zur Ursache stehen in einem eigenen Abschnitt.
-
Konsistenz von Hostname, FQDN und Reverse DNS: Warum Kerberos- und TLS-Namensprüfungen scheitern, wenn die Namen nicht übereinstimmen
Kerberos-Service-Tickets und die TLS-Hostnamenprüfung setzen voraus, dass der Name, den ein Client für einen Server auflöst, mit dem Namen übereinstimmt, den der Dienst für sich selbst annimmt. Weichen konfigurierter Hostname, /etc/hosts, Forward-DNS und PTR-Record voneinander ab, entstehen Authentifizierungs- und Zertifikatsfehler, die auf den ersten Blick nichts mit Namensauflösung zu tun haben.
-
Konfidenzgesteuertes Routing mit einem Entscheidungsmodell: Schwellenwerte, die mit dem Risiko skalieren
Wie der Konfidenzwert, den Choice- und Score-Antworten tragen, als zweite Achse neben der Antwort selbst genutzt wird: eine Untergrenze, unter der der Agent nicht handelt, sowie aktionsspezifische Schwellenwerte, die mit den Kosten eines Fehlers steigen, kalibriert auf den eigenen Daten der aufrufenden Instanz und an eine Modellversion gebunden.
-
Sudo-Richtlinien als Drop-in-Dateien in /etc/sudoers.d, geprüft mit visudo -c
Eine eng gefasste Regel als eigene Datei unter /etc/sudoers.d anzulegen und vor der Aktivierung mit visudo zu validieren, hält die sudo-Richtlinie nachvollziehbar und verhindert, dass ein Syntaxfehler alle aussperrt. Die Methodik behandelt zudem das Risiko breiter NOPASSWD-Regeln und zeigt, wo sudo seine Entscheidungen protokolliert.
-
Veröffentlichungsidentitäten bei npm und PyPI an freigegebene Release-Artefakte binden
Trusted Publishing mit OIDC beseitigt gespeicherte Veröffentlichungs-Tokens, seine Sicherheit hängt aber weiterhin vom autorisierten Workflow ab. Build und Veröffentlichung trennen, Freigaben schützen und die Identität des Artefakts prüfen, ohne einen Herkunftsnachweis als Urteil über Schadsoftware zu behandeln.
-
Durchgang durch einen Datei-Upload-Dienst: Tickets direkt zum Speicher, asynchrones Scannen und Kontingente
Ein Design-Durchgang für Uploads, die an den Anwendungsservern vorbeigehen: ein Ticket, das Kontingent reserviert und eine signierte Upload-URL zurückgibt, ein Abschlussschritt, der das gespeicherte Objekt verifiziert, ein Scan-Worker, der es freigibt oder löscht, Lebenszyklusregeln für abgebrochene Uploads sowie ein Statusmodell, das jedes gespeicherte Objekt erklärt.
-
Edge-triggered epoll: nicht blockierende Arbeit restlos abarbeiten, bevor auf die nächste Edge gewartet wird
Vermeidet eine hängengebliebene Verbindung, indem Bereitschaftsbenachrichtigungen von vollständigen Anwendungsnachrichten getrennt werden.
-
Unreal Motion Matching: durchsuchbare Bewegung aufbauen, bevor Gewichte abgestimmt werden
Pose-Search-Schemas, Animationsabdeckung und Trajektorien-Abfragen aufeinander abstimmen und anhand aufgezeichneter Auswahldaten unterscheiden, ob Bewegung fehlt oder die Suche schlecht konfiguriert ist.
-
Responsive Bilder mit srcset, sizes und picture
srcset mit Breitenbeschreibungen zusammen mit einem sizes-Attribut lässt den Browser die kleinste Bilddatei wählen, welche die Fläche beim aktuellen Viewport und der aktuellen Pixeldichte füllt; x-Beschreibungen liefern Bilder fester Grösse in mehreren Dichten; picture mit source-Elementen behandelt Art Direction und Format-Fallback. width und height stets angeben, damit sich das Layout während des Ladens nicht verschiebt.
-
rc.conf, sysrc und service unter FreeBSD: Dienste aktivieren, starten und prüfen, was beim Booten läuft
Dienste werden unter FreeBSD deklarativ über eine rc.conf-Variable aktiviert (in /etc/rc.conf oder in einer dienstspezifischen Datei unter /etc/rc.conf.d); sysrc und service <name> enable schreiben lediglich diese Variable, und rc.conf selbst soll nichts direkt ausführen, sondern nur Variablen setzen, die die rc-Skripte in /etc/rc.d auswerten. Mit sysrc lassen sich diese Variablen aus einem Skript heraus sicher bearbeiten, und service startet und stoppt das zugehörige rc.d-Skript und meldet dessen Status.
-
Pipelines, die beim Einlesen unerwartete Schemaänderungen der Quelle ablehnen, erkennen vorgelagerte Änderungen früher, scheitern aber häufiger als Pipelines, die sie anpassen
Hypothese: Eine Pipeline, die einen Einlesevorgang scheitern lässt, sobald das Quellschema vom deklarierten abweicht (so wie Avros Schema-Resolution einen Fehler meldet, wenn ein Leserfeld keinen Default hat und der Schreiber es nicht liefert), erkennt vorgelagerte Änderungen innerhalb eines Laufs, scheitert aber auch bei harmlosen Änderungen. Eine anpassende Pipeline läuft dagegen weiter und lässt manche Änderungen unbemerkt bis zu den Konsumenten durch; vorgeschlagen wird ein Vergleich an denselben Quellen, ohne Ergebnis zu behaupten.
Maschinenlesbar: JSON