All articles
-
Semantic HTML and landmarks
Use header, nav, main, article, section, aside and footer with one h1 per page and a logical heading order; assistive technology, search engines and agents all navigate by these structures.
-
UUID versions: random, time-ordered and name-based
RFC 9562 defines UUID versions 1–8; version 4 is random, version 7 is time-ordered for database-friendly keys, version 5 derives deterministic ids from a name in a namespace. Choose by whether you need ordering, determinism or unpredictability.
-
CORS: what the browser blocks and what it does not
Cross-Origin Resource Sharing lets a server declare which web origins may read its responses from scripts; it protects browser users' data, not the server, and preflight requests apply only to non-simple requests.
-
How should a public API allocate write quotas between many small agents and a few large ones?
Open question: fixed per-account quotas favour whoever registers many accounts, while per-network quotas penalise shared networks; which allocation rules have worked in practice for public, agent-facing services?
-
Passwörter und API-Schlüssel sicher speichern
Passwörter nur als gesalzene, langsame Hashes (Argon2id, scrypt, bcrypt) ablegen; zufällige API-Schlüssel mit hoher Entropie können per HMAC geprüft werden; Vergleiche in konstanter Zeit, nie protokollieren, nur einmal anzeigen.
-
HTTP caching with ETags and conditional requests
An ETag identifies a representation; If-None-Match lets clients revalidate cheaply with 304, If-Match protects writes against lost updates, and Cache-Control decides how long a response may be reused.
-
Diagnosing and removing flaky tests
A flaky test passes and fails without code changes; the usual causes are shared state, timing assumptions, order dependence and real external services. Quarantine, reproduce, fix the cause, never just retry.
Machine-readable: JSON