All articles
-
Automated game tests: combine headless checks with rendering evidence
Design a practical game test suite with isolated logic tests, reproducible scene checks and controlled screenshot comparisons, including clear failure and baseline policies.
-
SSH's "Permission denied (publickey)" and how to read it with ssh -v
OpenSSH's 'Permission denied (publickey)' means every key the client offered was rejected, or none were offered at all - it does not say which. The article shows how ssh -v names the exact keys tried, and works through wrong usernames, IdentitiesOnly, server-side authorized_keys permissions, and the ssh-rsa (SHA-1) default OpenSSH 8.8 disabled.
-
The lethal trifecta: private data, untrusted content and an outbound channel in one agent
An agent that combines access to private data, exposure to attacker-controlled content and any way to communicate outward can be steered into sending that data to an attacker. Removing one of the three legs is the only reliable structural defence; the article lists the outbound channels that are easy to overlook.
-
How should the reliability of an acting agent be measured when a run can succeed at its task and still cause an unwanted side effect?
Open question: benchmarks score whether the goal state was reached, and pass^k adds consistency over trials, but neither counts a run that reached the goal and also deleted a file, sent a message or spent a budget it should not have; which measures teams use for that, how they collect them, and whether they move with prompt and model changes is undocumented.
-
HTTP/1.1, HTTP/2 and HTTP/3: the differences an operator notices
HTTP/1.1 sends one request at a time per TCP connection in text framing; HTTP/2 multiplexes binary streams over one TLS connection with HPACK compression but still stalls on TCP loss; HTTP/3 runs over QUIC on UDP, removes transport head-of-line blocking and is discovered through Alt-Svc or HTTPS DNS records.
-
Normalize Unicode before comparing identifiers
Choose a normalization policy for human-readable identifiers without modifying opaque tokens or conflating visually similar characters.
-
Go interfaces: implicit satisfaction and the non-nil nil
A Go type satisfies an interface by having its methods; nothing is declared. That makes small interfaces at the point of use cheap, but an interface value is a pair of type and value, so a nil pointer stored in an error interface is not equal to nil.
-
Do AI agents actually fetch llms.txt, and what does the file change about their behavior?
Open question: llms.txt is an unstandardized proposal, and many sites publish the file without knowing whether any agent reads it. What fetch patterns do server logs show for /llms.txt and Markdown twins, which agents or tools actually request them, and can a difference in answer quality or fetch count be shown compared with sites without the file?
-
Replayable run logs for agents: recording every model and tool call
An agent run can only be debugged if every model request, response, tool call and tool result is recorded in order with identifiers and parameters; the OpenTelemetry GenAI semantic conventions name the fields, and a replayable log lets a failure be reproduced without paying for a new run.
-
Planner statistics in PostgreSQL: statistics targets, correlated columns and misestimates
The planner estimates row counts from per-column statistics that ANALYZE samples (most common values, histograms, distinct counts) and assumes independent columns; misestimates come from stale statistics, skewed columns with too few entries, correlated columns and expressions. Raise the statistics target on specific columns, create extended statistics for correlated columns or expressions, re-analyze, and compare estimated with actual rows.
-
Animation retargeting: transfer motion between different skeletons
Map skeletal roles and reference poses before transferring animation, then validate proportions, root motion and contact trajectories together.
-
Accessible forms: labels, error messages and autocomplete
Give every control a label associated by for and id, mark required fields in text and with the attribute, use autocomplete tokens so browsers and assistive technology know a field's purpose, and report errors in a summary plus per-field messages linked with aria-describedby.
-
Choosing inherited or fresh context for concurrent subagents
Choose a child's starting context according to the decisions it needs, then return a bounded result tied to the parent's task revision. This proposed procedure separates conversation inheritance from authority and evidence.
-
Pool-based active learning: uncertainty sampling without biased evaluation
Select informative examples for annotation, maintain an independent representative evaluation set, and assess benefits against random sampling at the same labeling budget.
-
Recognising code smells before refactoring
Code smells are surface symptoms (long methods, large classes, feature envy, shotgun surgery, primitive obsession) that suggest a deeper design problem; naming them gives a vocabulary for review and a trigger for refactoring.
-
DHCP server on Linux with ISC Kea: kea-dhcp4.conf, subnets, reservations and config testing
Configuring ISC Kea's DHCPv4 server means writing subnet4/pools/reservations in JSON, testing the file with kea-dhcp4 -t before it is loaded for real, and knowing where leases are recorded. ISC's own dhcpd is end of life, and Kea is the maintained successor for new deployments.
-
LiteLLM's October 2026 incident: confirmed token exposure and gateway-log precautions
LiteLLM's later postmortem replaced its initial log-theft theory with evidence of token exposure through an Agent Platform API. The incident still illustrates why agent credentials, response bodies and privileged automation must have separate access boundaries.
-
SI units and prefixes in technical writing
The International System of Units defines seven base units and decimal prefixes from quecto to quetta; write unit symbols correctly (space between number and unit, no plural, kB versus KiB) so that measurements can be compared.
-
Job scheduler walk-through: leases, retries, idempotency keys and a queue table
A design walk-through for background jobs and recurring schedules on a database table: workers claim rows with FOR UPDATE SKIP LOCKED under a lease, failures reschedule with backoff up to a maximum, a unique idempotency key turns double enqueues into no-ops, and a message broker is deferred until queue age says otherwise.
-
Blameless postmortems: documenting the timeline, causes and actions
A postmortem describes what happened during an incident, who was affected and for how long, what circumstances made it possible, and which actions make a recurrence less likely. Being blameless is not a courtesy: it is the condition for people reporting facts instead of defending themselves.
Machine-readable: JSON