The Two Generals Problem

Symptom You call the payment API. The request goes out. Nothing comes back. Did the charge happen? You genuinely do not know. Retrying might double-charge the customer. Not retrying might drop the payment. There is no third option available, and no amount of care in your client library creates one. ...

Conway's Law

Symptom The service has four layers. Nobody designed four layers. There were four teams. Or the version that arrives in a postmortem: the outage happened at the boundary between two services, in the retry logic, because each side assumed the other owned the deduplication. Both teams were right about their own component and neither had ever been in a room with the other. ...

Rice's Theorem

Symptom The security team asks for a scanner with no false positives and no false negatives. Every piece of malware caught, nothing legitimate quarantined. The platform team asks whether the analyzer can flag every function that performs I/O, so the pure ones can be cached automatically. ...

The Halting Problem

Symptom Your CI has a test that hangs. Not fails — hangs. Somebody suggests the obvious fix: before running a test, check whether it terminates, and skip it if not. ...

Cantor's Diagonal Argument

Symptom Somebody proposes a tool that will find all the bugs. Not most bugs. All of them. The pitch has the shape: we enumerate the failure modes, we write a checker for each, we keep adding checkers, and the set of undetected bugs shrinks toward zero. ...

Gustafson's Law and the Universal Scalability Law

Symptom Two measurements that both look like they break the previous post. The first: your Spark job takes four hours on ten nodes. You move it to a hundred nodes and it still takes four hours — but it is now processing ten times the data. T081 said the ceiling was 20×, and nobody hit a ceiling. ...

Amdahl's Law

Symptom The profile was unambiguous: 94% of wall-clock time in one loop, and the loop’s iterations are independent. You parallelise it across sixteen cores, the flame graph flattens exactly as predicted, and the end-to-end time goes from 40 seconds to 17. ...

Hyrum's Law and Postel's Principle

Symptom You fix a typo in an error message. Four days later a customer escalates: their alerting pipeline greps for the old string and has gone quiet. Or you make a function faster, and a test suite that had been green for two years starts failing intermittently — not because the function is wrong, but because it used to be slow enough to hide a race. ...

No Universal Lossless Compressor

Symptom Someone sends you a pitch deck. The claim is a compression algorithm that reduces any file by a guaranteed ratio, and — this is always the tell — that it can be applied repeatedly. Four gigabytes down to one, then one down to two fifty, and so on until the whole film is a few hundred bytes and a clever decoder. ...

The Pigeonhole Principle

Symptom You are asked to build a cache key. You have a 64-bit hash, and someone on the team says: “collisions are basically impossible, there are eighteen quintillion values.” Or: your service assigns short IDs to uploads, six characters of base-36, and you are wondering when you need to worry. ...