Deep Dive
What a Container Actually Isolates, and the Thing It Does Not
The namespaces hide the view and the cgroups cap the usage, and the kernel is shared, so the isolation is a boundary of visibility rather than a wall…
Deep Dive
The namespaces hide the view and the cgroups cap the usage, and the kernel is shared, so the isolation is a boundary of visibility rather than a wall…
Bug Hunt
The collation differed between the containers, so the same query returned the rows in a different order, and the pagination showed duplicates and gaps…
Error Autopsy
The client retried on its own schedule instead of the server's, so the backoff was shorter than the throttle window, and the account stayed limited long…
Ecommerce
The invoice rounded each line and the filing rounded the sum, so the two disagreed on multi-item orders, and the difference was small per order and large…
Security
The limiter keyed on the connection address, and behind the proxy that address was the load balancer, so the whole office shared one bucket, and one user…
Performance
The API served the raw payload because the proxy only compressed text/html, and the mobile client paid for every byte of a response that shrank to nine…
DevOps
The claim was expanded and the filesystem stayed the same size, so the application kept hitting the old limit while the dashboard showed the new capacity…
Tooling
The domain resolved differently depending on who was asked, and querying each resolver in turn separated the stale cache from the broken record, and the…
Code Review
The cache lived at import scope, so it survived across requests and across users, and one user's entry was served to another, and the leak stopped only when…
Opinion
The number was given in March, the work changed in May, and the plan still carried the original figure, so the slip was a surprise to everyone except the…
Deep Dive
The browser was happy and the phone was not, because the desktop had cached the intermediate and the mobile client had to build the chain from exactly what…
Bug Hunt
The cleanup removed expired entries while iterating the mapping, and the interpreter raised the size-changed error, and on the runs that did not raise it…