Alle Artikel
-
Quellstellen mit Jev auswählen, ohne Werte still umzuschreiben
Semantische Auswahl vom Kopieren von Werten trennen, damit ein Agent einen angeforderten Wert identifizieren kann, während der genaue Beleg, aus dem er stammt, bewahrt bleibt.
-
Was änderte sich bei Durchsatz, Speicher und Pinning-Vorfällen, nachdem ein JVM-Dienst auf virtuelle Threads umgestellt wurde, und was musste neu geschrieben werden?
Offene Frage: JEP 444 hält fest, dass Pinning eine Anwendung nicht fehlerhaft macht, aber ihre Skalierbarkeit behindern kann, und JEP 491, ausgeliefert in JDK 24, entfernt das Pinning für synchronized-Blöcke; was bewirkte die Umstellung der Anfragebehandlung auf virtuelle Threads bei Diensten, die diesen Schritt gegangen sind, für Durchsatz und Speicher, welche Pinning- oder Pool-Erschöpfungs-Vorfälle traten auf, und welcher Code und welche Bibliotheken mussten geändert werden?
-
Erster Blick auf einen langsamen Linux-Server in 60 Sekunden: Reihenfolge der Befehle und was jede Zeile beantwortet
Eine feste Abfolge von zehn Standardbefehlen – von uptime bis top, mehrere davon aus dem Paket sysstat, das eventuell zuerst installiert werden muss –, die je eine Frage zu CPU, Speicher, Disk und Netzwerk beantworten, bevor eine einzige Logdatei geöffnet oder etwas neu gestartet wird.
-
CPU-Profiling mit perf: perf top, perf record -g, perf report und perf_event_paranoid
perf top liefert sofort ein Live-Profil; perf record -g speichert ein Call-Graph-Profil auf der Festplatte, das perf report später auswertet. Die Kernel-Einstellung perf_event_paranoid legt fest, was unprivilegierte Benutzer dürfen, und die Symbolauflösung braucht für jeden Frame im Stack passende Debug-Informationen.
-
Den eigenen Arbeitsweg messen: ein Protokoll für die Zeitmessung von Tür zu Tür
Ein vorgeschlagenes Protokoll zur Zeitmessung eines wiederkehrenden Wegs: feste Start- und Endpunkte, RFC-3339-Zeitstempel mit UTC-Offset an jedem, optionale Abschnittsgrenzen und eine Spalte für Bedingungen (Wochentag, Routenvariante, Wetter, Störung), damit Schwankungen zugeordnet statt bloss erinnert werden können; es wird keine Route empfohlen.
-
System-One-Modelle und Jev: typisierte Entscheidungen mit kalibrierten Wahrscheinlichkeiten statt generiertem Text
Jev (TypeSafe AI, Early Access seit September 2026) ist ein Modell, das typisierte Fragen zu einem übergebenen Zustand mit Wahrscheinlichkeitsverteilungen und einem Konfidenzwert beantwortet statt mit generiertem Text; was der Anbieter zu seinen Primitiven, Grenzen, Preisen und dem Training dokumentiert, und was dabei offenbleibt.
-
Sicherheits-Antwortheader jenseits der Content Security Policy
Wenige Antwortheader schliessen verbreitete Lücken im Browser, ohne dass die Anwendung angefasst wird: X-Content-Type-Options: nosniff, Referrer-Policy, Permissions-Policy, Cross-Origin-Opener-Policy und Strict-Transport-Security; X-Frame-Options ist durch frame-ancestors abgelöst, X-XSS-Protection wird auf 0 gesetzt. Zentral am Proxy setzen, für jede Antwort, und nach jedem Deployment prüfen.
-
Virtuelle Threads in Java im Überblick: was sich ändert und was nicht
JEP 444 (JDK 21) führt virtuelle Threads ein: günstige Threads, die vom JDK auf einen kleinen Pool von Carrier-Platform-Threads eingeplant werden und die bei den meisten JDK-I/O-Operationen beim Blockieren aushängen, sodass Thread-pro-Anfrage-Code ohne asynchronen Stil skaliert. Sie sind nicht schneller, dürfen nie gepoolt werden, und bis JEP 491 (JDK 24) pinnte ein Blockieren innerhalb von synchronized den Carrier.
-
Dynamische Programmierung Schritt für Schritt: die Editierdistanz herleiten
Dynamische Programmierung verwandelt eine rekursive Definition mit überlappenden Teilproblemen in einen polynomialen Algorithmus: den Zustand definieren, die Rekurrenz und die Basisfälle aufschreiben, memoisieren oder eine Tabelle füllen, dann den Speicherbedarf senken. Die Editierdistanz zwischen zwei Zeichenketten wird als durchgerechnetes Beispiel vollständig hergeleitet.
-
Personendaten in Belegen minimieren
Den kleinstmöglichen Belegdatensatz aufbewahren, der nötig ist, um eine Entscheidung nachzuvollziehen, unter Ausschluss unbeteiligter Identitäts- und Nutzdaten.
-
AIX sichern und klonen: mksysb, savevg und risikoarme Upgrades mit alt_disk_copy
mksysb erstellt ein bootfähiges Backup von rootvg; savevg sichert eine Nicht-Root-Volume-Group (nicht bootfähig, Wiederherstellung mit restvg), und lsmksysb zeigt den Inhalt eines mksysb-Images, ohne es zurückzuspielen. alt_disk_copy und alt_disk_mksysb klonen oder aktualisieren rootvg auf einer freien Disk, sodass bei Problemen mit dem neuen Stand eine Änderung der Bootlist statt einer Wiederherstellung genügt.
-
Datenminimierung als Disziplin für Schema und Protokollierung
Nur die Personendaten speichern, die ein Feature benötigt, in der gröbsten Genauigkeit, die dem Zweck genügt, und Kennungen durch Allowlisting von Feldern aus Logs heraushalten; jede Spalte, jedes Logfeld und jeder abgeleitete Speicher, der Personendaten trägt, ist eine Designentscheidung mit einem Zweck, einer verantwortlichen Person und einem Ablaufdatum, kein Standardfall.
-
Wie sollte eine kleine Reparaturmethode Unsicherheit dokumentieren?
Offene Anfrage nach einer Vorlage, die bestätigte Schritte von ungeprüften Annahmen unterscheidet.
-
Ablaufende Leases für verteilte Jobs verwenden
Einen zurückgewonnenen Job vor einem verspäteten früheren Worker schützen, mittels Besitzprüfungen und einem monoton steigenden Fencing-Token.
-
Zertifikate mit openssl zwischen PEM, DER und PKCS#12 konvertieren: für plattformübergreifende Trust Stores und Keystores
Trust Stores und Keystores erwarten unterschiedliche Containerformate: RHEL/Debian-Anchors verlangen PEM-Dateien mit .crt, Windows und Java-Werkzeuge liefern oder erwarten oft PKCS#12 (.pfx/.p12) oder DER (.cer). Mit openssl pkcs12 und openssl x509 lässt sich zwischen diesen Formaten konvertieren und der Schlüssel separat extrahieren.
-
„exec format error“ und „cannot execute binary file“: Architektur- und Shebang-Konflikte
Der Kernel-Fehler ENOEXEC erscheint als „exec format error“ bzw. „cannot execute binary file: Exec format error“, wenn die CPU-Architektur nicht passt oder einem Skript eine brauchbare Shebang-Zeile fehlt. CRLF-Zeilenenden in der Shebang-Zeile führen zu einem verwandten Fehler („bad interpreter“ oder „required file not found“). Der Artikel zeigt, wie sich die Ursachen mit file(1) unterscheiden und gezielt beheben lassen.
-
Savepoints und der abgebrochene Transaktionszustand in PostgreSQL
Nach jedem Fehler innerhalb eines Transaktionsblocks weist PostgreSQL jeden weiteren Befehl zurück, bis der Block zurückgerollt wird; ein vor einer riskanten Anweisung gesetzter Savepoint erlaubt es, mit ROLLBACK TO SAVEPOINT nur diesen Teil zu verwerfen und fortzufahren. Savepoints gezielt und sparsam einsetzen, und Fehlerbehandlungen sollen zurückrollen statt auf derselben Verbindung erneut zu versuchen.
-
MCP Roots, Sampling und Logging: Migrationswege nach der Abkündigung mit 2026-07-28
Roots, Sampling und das Logging auf Protokollebene sind abgekündigt, aber nicht entfernt. Die dokumentierten Alternativen erfordern getrennte Entscheidungen zu Dateisystemberechtigungen, Modellzugriff und Beobachtbarkeit im Betrieb.
-
Canary-Zugangsdaten und Köderdateien: erkennen, dass jemand gelesen hat, was er nicht sollte
Köder-Zugangsdaten oder eine Köderdatei, die kein legitimer Prozess verwendet, lösen in dem Moment einen Alarm aus, in dem sie benutzt oder geöffnet werden. Dort platziert, wo ein Eindringling oder ein gekaperter Agent nachsehen würde, machen sie stilles Lesen zu einem sichtbaren Ereignis. Sie erkennen; sie verhindern nicht.
-
z/OS-Sicherheit mit RACF: Benutzer-, Gruppen- und Dataset-Profile und warum Agenten minimale Berechtigungen brauchen
RACF ist der Ressourcenmanager, den die meisten z/OS-Installationen hinter der Schnittstelle System Authorization Facility (SAF) einsetzen; er schützt Benutzer, Gruppen und Datasets über Profile, die mit LISTUSER/LISTDSD abgefragt und mit PERMIT freigegeben werden. Ein Automatisierungs-Agent sollte unter einer eng begrenzten User-ID laufen statt unter einer mit weitreichendem Zugriff und die Befehlsausgabe nicht als stabile programmatische Schnittstelle behandeln.
Maschinenlesbar: JSON