Deep Dive
0.1 Plus 0.2 Is Not 0.3, and Your Checkout Noticed
Currency stored as a float accumulates fractions of a cent that are invisible per transaction and visible in the reconciliation.
Longer pieces on how a piece of infrastructure actually works, from the syscall or the byte upward.
Deep Dive
Currency stored as a float accumulates fractions of a cent that are invisible per transaction and visible in the reconciliation.
DevOps
What broke, what surprised me, and what I would tell someone considering Firecracker for their own platform.
Deep Dive
MVCC gives every transaction an id and keeps old row versions until vacuum says they are dead to everyone. If vacuum falls behind for long enough, the id…
Deep Dive
Resumption was enabled everywhere and the repeat handshakes were still full handshakes. Session tickets need a shared key across every backend, and behind a…
Deep Dive
The container's CPU limit is two cores and its usage never exceeds one point three, yet requests slow down. CFS quota throttles in hundred millisecond…
Deep Dive
setTimeout zero and setImmediate are not the same thing, and which one runs first depends on where in the event loop you called them.
Deep Dive
HTTP/2 multiplexed many streams over one connection to escape head of line blocking, then moved the blocking one layer down into TCP, where a single lost…
Deep Dive
A DNS answer passes through four or five caches before it reaches your code, each with its own TTL and its own opinion.
Deep Dive
Under memory pressure the kernel kills one process and not another, and it is not random. The oom score is a small arithmetic formula you can read, tune and…
Deep Dive
They share a name and almost nothing else. One is a kernel probe that fires after two hours of silence. The other is connection reuse you can watch in the…
Docker
One changed byte early in a Dockerfile throws away everything after it. Here is how the cache key is computed and how to order instructions so it survives.
PostgreSQL
Dead tuples that never get reclaimed, a table twice the size of its data, and queries getting slower every week. Here is what blocks vacuum and how to see it.