Vendor lock-in: an honest cost model
Portability is not free and neither is dependence. A framework for deciding how much abstraction to buy.
tech, developers, and the code underneath
29 pieces tagged architecture,
from May 9, 2025 to July 17, 2026.
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.
When a fast producer meets a slow consumer, something has to give. Deciding what, in advance, is the whole discipline.
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.
It has no type system, no tests, no review, and it causes a disproportionate share of outages.
The received wisdom is never rewrite. The received wisdom is mostly right and has three real exceptions.
Running code close to users is a real win for a narrow set of workloads and a complication for everything else.
Not the only one. But if you only internalize one, make it this one, because it makes most of the others survivable.
Most scaling problems are solved by making something asynchronous. Most reliability problems are caused by doing it badly.
Relevance ranking is a specialist discipline. Here's the decision tree, and what to do at each level.
Deliberate, accidental, and structural. They need completely different responses and everyone calls them the same thing.