ACT I · THE THESIS
"

Every system you will ever design is constrained by the same four physical laws.

Not best practices. Not patterns. Physics.

WALL I · STORAGE HIERARCHY

Faster memory costs more, runs hotter, and you can't have much of it.

Physical law — not engineering limit

Things on your desk are reachable in a second — but you only have room for a few. The warehouse holds millions of files but takes a day to retrieve from. Software design is largely about deciding what lives on the desk.

Light only travels about thirty centimetres per nanosecond. Distance to the processor matters. Density matters. Cost matters. Stack them together and you get a hierarchy: a sliver of fast memory, then more, slower memory, then more, slower still — all the way out to the warehouse on the other side of the planet.

Every storage decision is a choice on this hierarchy. There is no other axis.
The Ladder
In-chip L1 Cache ≈ 1 ns reference
In-chip L2/L3 Cache ≈ 10 ns 10×
On-board Main Memory (RAM) ≈ 100 ns 100×
Local disk NVMe SSD ≈ 100 μs 100,000×
Local disk HDD (seek) ≈ 10 ms 10,000,000×
Network Cross-datacenter WAN ≈ 100 ms 100,000,000×

Each tier is roughly an order of magnitude or more slower than the one above. These are not benchmarks. They are the price list you work from.

scroll
WALL II · COMPUTE & I/O

A processor can do a finite number of things per second. A wire can carry a finite number of bytes per second.

Physical law — not engineering limit

Imagine a kitchen. The chef can chop ingredients only so fast. The doorway from the pantry can fit only so many ingredients per minute. When orders pile up, you find out which one was the limit.

Adding a second chef helps if the chef was the bottleneck. It does nothing if the pantry door was. In any moment of any system, one of these two is binding — and the work that helps one rarely helps the other.

The Two Bottlenecks
Hash 1KB (SHA-256) ~3 μs
Parse 1KB JSON ~10 μs
Sort 1M integers in RAM ~50 ms
Regex match on 1MB text ~5 ms
Read 1KB from RAM ~100 ns reference
Read 1KB from SSD ~100 μs 1,000×
Send 1KB same datacenter ~500 μs 5,000×
Send 1KB cross-continent ~150 ms 1,500,000×

One operation is the chef, one is the doorway. They are never on the same scale — and which one is binding decides the entire design.

scroll
WALL III · COORDINATION COST

Two computers on opposite sides of the earth cannot agree on anything in under sixty-seven milliseconds.

Physical law — not engineering limit

Coordination is the same problem as a group text deciding on a restaurant. Each round of "how about Italian?" "no, sushi?" takes minutes to converge — and the more people on the thread, the longer it takes.

In distributed systems, each round-trip across the planet takes milliseconds, and getting many machines to agree on anything requires multiple rounds. Two nodes a thousand kilometres apart cannot exchange a round-trip in under ten milliseconds. That is the floor — before any software runs at all.

When the network breaks, you must choose: keep answering, possibly with stale data, or refuse to answer until you are sure. There is no third option.
The Distance Tax
Same rack ~0.5 ms
Same datacenter ~1 ms
Cross-AZ (same region) ~2 ms
New York ↔ London ~70 ms
New York ↔ Sydney ~160 ms

These are physical floors set by the speed of light in fiber. No software, no cleverness, no money buys lower numbers. Sydney to New York: one hundred and sixty milliseconds, before any code runs.

scroll
WALL IV · TIME & ORDERING

No two clocks in the universe stay in sync without help — and even with help, they drift.

Physical law — not engineering limit

Imagine a hundred people each wearing a wristwatch. They all set their watches at the same instant. A week later, no two watches agree. None of them is broken — a watch's tick rate depends on tiny physical things: how precisely its mechanism was made, the temperature of the air around it, even how it gets jostled on a wrist. No two watches share exactly the same conditions, so they tick at almost — but not quite — the same speed.

Every server has a watch like that inside it: a tiny crystal that vibrates millions of times a second, and a counter that turns those vibrations into the time. No two crystals vibrate at exactly the same rate, so each server's clock drifts at its own pace — left alone for a day, the drift adds up to roughly a second.

Servers fix this by asking a trusted timekeeper on the internet — "what time is it, really?" — every few minutes, then nudging their own clock back into line. (This service is called .) But the answer is already milliseconds stale by the time it arrives, and the clock keeps drifting between checks. So even two diligent, well-corrected servers still disagree about now by tens of milliseconds.

When two servers each insist "I did it first!", their clocks cannot settle it — the gap between them is wider than the events being compared. "Before" and "after" become protocol decisions, not physical ones. Every system that cares about order has had to invent its own answer.
The Drift Budget
A server's raw internal clock ~1 s/day
A server syncing to internet time ~1–10 ms
Two synced servers, compared to each other tens of ms

Even when both servers are doing everything right, they disagree about "now" by tens of milliseconds. That gap is where ordering protocols live.

scroll
THE FOUR WALLS · SYNTHESIS

Four walls.

A hierarchy you can't escape.

A throughput you can't multiply.

An agreement you can't speed up.

A clock you can't trust.

Everything else is a response to one of these.

ACT II · THE TRANSLATION

Software is humanity's accumulated set of responses to those four walls.

Caches. Queues. Logs. Hashes. Replicas. Indices. Every primitive in your stack is a workaround for one of the four — a clever way of saying "I cannot move this wall, but I can negotiate with it."

Here are the twenty-five problems engineers face most often. Every one of them is just a different wall.

❦ · ❦ · ❦
ACT III · THE TWENTY-FIVE

Tier I — The Canonicals

Six systems every engineer has encountered. Their simplicity is the point: the walls are most legible when the problem is clean.

TIER II · CORE

Tier II — Core Distributed Systems

Twelve infrastructure primitives and product systems where two or three walls speak at once.

TIER III · STAFF & BEYOND

Tier III — Staff & Beyond

Seven cross-cutting systems where every wall pushes back simultaneously — and the design is a treaty between all four.

END · CHOOSE YOUR WALL

Each problem,
on its own page.

Pick a tile above. We will dissect it the way the four walls demand — with arithmetic, not adjectives.

❦ · ❦ · ❦