Opinion
Your Logs Are a Product and Nobody Owns Them
Everyone writes logs and nobody is responsible for whether they can be read, so the incident arrives and the data exists, and the answer does not, and the…
I write about why software breaks and how people figure it out. Founder of Krova Cloud, building isolated microVMs on our own hypervisor. Years of Shopify theme work and shared hosting before that. If I have not reproduced it, I do not publish it.
Opinion
Everyone writes logs and nobody is responsible for whether they can be read, so the incident arrives and the data exists, and the answer does not, and the…
Bug Hunt
The sort threw an inconsistent comparison error on one dataset, because the comparator said a beat b and b beat c but c beat a, and the sort trusted the…
Error Autopsy
The cutover changed the record and the old address kept serving for an hour, because the TTL was never lowered in advance, and every resolver on the…
Ecommerce
Both checkouts read one unit remaining at the same moment and both decremented it, so the store sold a product it did not have, and the reconciliation found…
Security
The login page accepted a return address and sent the user there without checking it, so the attacker's link started with the real domain, passed the user's…
Performance
One import pulled the entire package into the client bundle, and the tree shaker could not help, because the import went through the barrel file, and the…
DevOps
The config was updated in the cluster and the pods kept running with the values they read at boot, so the change was live in the manifest and absent in the…
Tooling
The report was a screenshot and a guess, and the reproduction was one command with the right headers, and the command turned an hour of speculation into a…
Code Review
The list endpoint issued one query for the rows and one per row for the relation, and the extra queries were invisible in the view because the serializer…
Opinion
The urge to rewrite arrives as a feeling about old code, and the decision needs a cost, a boundary and a migration plan, and the three are exactly what the…
Bug Hunt
The pattern matched as much as it could instead of as little as it needed, so one capture group ate the delimiter and the two fields after it, and the parse…
Security
The origin header echoed back whatever the request sent and the credentials flag was on, so any site could read the authenticated response on the user's…