The AI Act's high-risk obligations take effect today
Two years after entry into force, the substantive requirements arrive. What changes, what was delayed, and what to do now.
tech, developers, and the code underneath
What writing in public taught me about engineering, what I was most wrong about, and why the archive is the point.
Two years after entry into force, the substantive requirements arrive. What changes, what was delayed, and what to do now.
The workflows that survived contact with real work, the ones that did not, and what the whole thing actually changed.
Every line you remove is one that cannot break, cannot be misread, and does not need to be maintained.
A number, agreed in advance, that fails the build. The only mechanism that has ever kept a system fast.
A checklist for assessing an unfamiliar codebase quickly — for a job, a due diligence, or a project you inherited.
A file that takes ten minutes per release and answers most of the questions your users would otherwise ask you.
State an invariant, let the machine find the counterexample. A twenty-year-old technique that fits this moment exactly.
Portability is not free and neither is dependence. A framework for deciding how much abstraction to buy.
Why your database has 400 connections, why that is bad, and how to size a pool without guessing.
Most onboarding docs are written by people who already know. Here is what a new engineer needs on day one, in order.
It should be forty megabytes. Here is where the rest of it came from and how to get it back.
Not a survey of vaults. The specific practices that actually reduce risk, in order of what to do first.
Most review comments are noise or nitpicks. A small taxonomy of the ones that are worth writing.
When a fast producer meets a slow consumer, something has to give. Deciding what, in advance, is the whole discipline.
Default blocking and pay-per-crawl changed who can read the web. An assessment of what actually happened.
Write once, run anywhere, debug everywhere. The honest accounting of what each approach actually costs.
The most common way a small incident becomes a large one is a retry policy written without thinking about aggregate behavior.
Six months of regulation, agent tooling that mostly did not fix the bottleneck, and a web platform that quietly finished.
It has no type system, no tests, no review, and it causes a disproportionate share of outages.