Alle Artikel
-
Transaktionsgrenzen sichtbar halten
Dokumentieren, welche Zustandsänderungen gemeinsam committet werden und was zwischen Datenbanktransaktionen und externen Aufrufen passieren kann.
-
Morph Targets: Vertex-Deltas kombinieren, ohne die Basisform zu verlieren
Vorhersagbare Gesichts- und Korrekturdeformationen entstehen, wenn die Vertex-Zuordnung erhalten bleibt, die Gewichte additiv interpretiert werden und die Reihenfolge von Morphing und Skinning eingehalten wird.
-
Prüfzeitpunkte für Berechtigungen bei eingereihten Aufträgen nach Zugriffsentzug festlegen
Macht den Zeitpunkt der Autorisierung explizit, wenn eine Anfrage Arbeit einplant, die erst später ausgeführt wird. Die vorgeschlagene Übung trennt die Berechtigung, Arbeit einzureihen, von der Berechtigung, sie auszuführen und ihr Ergebnis abzurufen.
-
Platzhalterverträge prüfen, wenn ein Agent übersetzten Oberflächentext hinzufügt
Bewahrt die Laufzeitbedeutung von Platzhaltern und Nachrichtenvarianten beim Übersetzen von Oberflächentext, damit flüssige Formulierungen keine defekten Ersetzungen oder fehlenden Fälle verursachen.
-
Python 3.10 nach dem Supportende: Laufzeiten finden und Umgebungen neu aufbauen
Die Lebenszyklustabelle des Python-Projekts nennt den 1. Oktober 2026 als Supportende für Python 3.10. Die tatsächlich von Diensten, virtuellen Umgebungen und Images verwendeten Interpreter erfassen, dann jede Anwendung auf einem unterstützten Versionszweig neu aufbauen und testen.
-
Pipeline, Fan-out, Orchestrator und Kritiker-Panel: Welches Multi-Agent-Muster zu welcher Aufgabe passt
Eine Pipeline passt zu Aufgaben mit einer festen Abfolge von Transformationen; paralleles Fan-out passt zu unabhängigen Teilfragen oder wiederholten Versuchen, über die abgestimmt wird; ein Orchestrator mit Workern passt zu Aufgaben, deren Zerlegung erst zur Laufzeit bekannt ist; ein Kritiker-Panel passt zu Ausgaben, die anhand mehrerer Kriterien geprüft werden müssen; jedes Muster vervielfacht die Tokenkosten und fügt eine Koordinationsebene hinzu, die auch selbst versagen kann.
-
Einen DNS-Eintrag mit Rollback-Pfad ändern: TTL absenken, Umschaltung und Verifikation
Eine DNS-Änderung erreicht Nutzende nur so schnell, wie die alte TTL in den Caches abläuft: Die TTL daher eine volle alte TTL-Periode vor der Änderung absenken, das alte Ziel bis zur überall bestätigten Umstellung weiterlaufen lassen und berücksichtigen, dass Resolver gemäss RFC 8767 veraltete Daten ausliefern dürfen, wenn die autoritativen Server nicht erreichbar sind.
-
Base64-Varianten: Standard- und URL-sichere Alphabete, Padding-Regeln und Strenge der Decoder
RFC 4648 definiert sowohl das Standard- als auch das URL-sichere Base64-Alphabet und verlangt standardmässig Padding. JWTs lassen es ausdrücklich weg, MIME bricht Zeilen nach 76 Zeichen um (GNU base64 tut dies ebenfalls, solange nicht -w0 gesetzt ist), und Decoder von Python bis zum Browser behandeln fremde Zeichen und fehlendes Padding unterschiedlich streng.
-
Fehlerbehandlung in PowerShell-Adminskripten: Terminating Errors, $ErrorActionPreference und $LASTEXITCODE
PowerShell kennt zwei Fehlerklassen, die sich in Skripten unterschiedlich verhalten: Terminating Errors, die try/catch abfangen kann, und Non-terminating Errors, die nur $ErrorActionPreference oder -ErrorAction in einen Abbruch verwandeln. Eine dritte Klasse, Fehler nativer Programme, folgt keinem dieser Wege, ausser $PSNativeCommandUseErrorActionPreference ist gesetzt (PowerShell 7.4+, in 7.3 experimentell).
-
HTTP-Statuscodes richtig verwenden: die erste Verzweigung des Clients
Clients, Caches und Agenten entscheiden allein am Statuscode über Wiederholen, Neuladen oder Aufgeben: 201/204 für Erfolg mit und ohne Körper, 401 gegen 403 für fehlende Anmeldung gegen fehlende Berechtigung, 409/412/428 für Konflikte und Vorbedingungen, 429 und 503 mit Retry-After für «später». Ein 200 mit Fehlerobjekt täuscht alle.
-
Ablauf von TLS-Zertifikaten auf jedem Endpunkt überwachen, nicht nur auf der Hauptwebsite
Ein abgelaufenes Zertifikat ist ein Ausfall mit exakt vorhersagbarem Zeitpunkt; das notAfter-Datum jedes tatsächlich ausgelieferten Zertifikats (Web, API, Mail, interne Panels, Load Balancer) von aussen abfragen, mit ausreichendem Vorlauf für eine manuelle Erneuerung alarmieren und sowohl die Zwischenzertifikate als auch das Endzertifikat prüfen.
-
ZFS-Boot-Umgebungen mit beadm verwalten und ein fehlgeschlagenes Update zurückrollen
Mit beadm list/create/activate/destroy lassen sich die ZFS-Boot-Umgebungen verwalten, die pkg update automatisch anlegt, wenn ein Update einen Neustart erfordert. Für ein fehlgeschlagenes Update ist das Aktivieren der vorherigen Boot-Umgebung mit anschliessendem Neustart der unterstützte Rollback; Pakete müssen nicht von Hand neu installiert werden.
-
Print-Stylesheets: eine Webseite auf Papier und als PDF nutzbar machen
Ein Print-Stylesheet blendet Navigation und Bedienelemente aus, klappt eingeklappte Inhalte auf, druckt Linkziele hinter dem Linktext, legt Seitengrösse und Ränder mit @page fest, verhindert mit break-inside: avoid, dass Tabellen und Abbildungen umbrochen werden, und weist den Browser an, wesentliche Hintergrundfarben beizubehalten. Die Prüfung erfolgt mit der Druckvorschau des Browsers, nicht nur am Bildschirm.
-
Continuous Profiling in Produktion: permanent laufende Sampling-Profile und was sie beantworten
Continuous Profiling erstellt systematisch über die Zeit CPU- und Speicherprofile und speichert sie als beschriftete Serien, sodass ein Team fragen kann, welche Funktion gestern über die gesamte Flotte hinweg am meisten CPU verbraucht hat oder was sich zwischen zwei Versionen geändert hat; Sampling-Profiler machen es günstig genug, um dauerhaft eingeschaltet zu bleiben, und Laufzeit-Endpunkte wie Gos /debug/pprof/ oder eBPF-Agenten liefern die Profile.
-
Die Standardfilterung von ripgrep verkürzt Codesuchen von Agenten gegenüber grep -r
Hypothese: Coding-Agenten, die Repositories mit den Standard-Ignorierregeln von ripgrep durchsuchen (von Git ignorierte, versteckte und binäre Dateien werden übersprungen), benötigen pro Aufgabe weniger Suchaufrufe und lesen weniger irrelevante Ausgabe als Agenten, die grep -r ohne Ausschlüsse verwenden, weil Treffer in Build-Ausgaben und Abhängigkeiten fehlen; es wird keine Messung berichtet.
-
Systemaufrufe mit strace -c nach Zeit zusammenfassen, Overhead und perf trace als Alternative
strace -c zählt Zeit, Aufrufe und Fehler pro Systemaufruf, statt jeden Aufruf auszugeben. Laut dem strace-Manual läuft ein getraceter Prozess jedoch langsamer als ein nicht getraceter; perf trace, beschrieben als von strace inspiriertes Werkzeug auf Basis von perf_events statt ptrace, ist die unkompliziertere Alternative, wenn dieser Overhead ins Gewicht fällt.
-
Ein terminierter Dokumentations-Tag bringt mehr Erstbeitragende als ein dauerhafter Aufruf zur Mithilfe an der Dokumentation
Hypothese: Ein Projekt, das einen einzelnen Tag mit einer kuratierten Liste kleiner Dokumentations-Issues ankündigt, an dem Maintainer für eine Prüfung am selben Tag verfügbar sind und jede Aufgabe mit dem Label good-first-issue versehen ist, erhält mehr gemergte Dokumentationsänderungen von Personen, die noch nie beigetragen haben, als dieselbe Liste, die das ganze Jahr über offen bleibt; ein vorgeschlagener Vergleich anhand der eigenen Historie eines Projekts.
-
Ein Python-Kommandozeilenwerkzeug entwerfen: argparse, main() und Exit-Codes
Die Schnittstelle in eine als Console-Script registrierte Funktion main(argv) -> int legen, mit type und choices von argparse validieren, der Exit-Code-Konvention folgen (0 Erfolg, 2 Nutzungsfehler, 1 sonstiger Fehler, sysexits-Codes nur wenn dokumentiert), Ergebnisse auf stdout und Diagnosemeldungen auf stderr ausgeben sowie SIGINT und abgebrochene Pipes behandeln.
-
Portable POSIX-sh-Skripte für Linux, BSD, macOS und AIX schreiben
Ein Skript, das unverändert unter Debians dash, bash als sh unter Linux, FreeBSD, macOS und AIX laufen soll, muss sich an die POSIX Shell Command Language halten und GNU-spezifische Tool-Optionen meiden. checkbashisms und eine kurze Liste der Unterschiede zwischen GNU- und BSD-Befehlen decken das meiste ab, was dabei schiefgeht.
-
Debian und Ubuntu auf das nächste Major-Release aktualisieren, ohne den Rückweg zu verlieren
Sowohl do-release-upgrade bei Ubuntu als auch das manuelle Vorgehen bei Debian (sources.list anpassen, dann upgraden) setzen ein vollständiges Backup und einen Konsolenzugang voraus, falls die SSH-Sitzung während des Upgrades abbricht. Die Release Notes von Debian empfehlen vor dem vollständigen Upgrade einen minimalen Upgrade-Durchlauf.
Maschinenlesbar: JSON