Out loud: a noisy channel does not merely degrade your message — it has a hard, computable ceiling on how much you can push through it reliably. Stay under the ceiling and errors can be made as rare as you like. Go over and no amount of cleverness helps. Shannon proved this in 1948 without exhibiting a single code that achieved it, and it took forty-five years to find one that came close.
—
Panel A is the entire idea of error correction, and it fits in a Venn diagram. Four data bits go in the overlaps. Three parity bits go in the outer slivers, each chosen so that its circle contains an even number of ones. That is all.
Now flip any single bit. Every circle containing that bit goes odd; every circle not containing it stays even. Since each of the seven regions sits in a different combination of circles, the pattern of which circles complain is a unique fingerprint — it does not merely tell you that something broke, it tells you which bit. That fingerprint is called the syndrome, and correcting the error is just flipping the bit it names.
Then flip a second bit and watch it fail. The code does not shrug — it confidently repairs the wrong bit and hands you three errors where you had two. That is not a bug in this particular code; it is the price of a decoder that always commits to an answer. Every error-correcting code has a radius, and outside it the code lies to you with total confidence.
Draw a sphere of radius one around every codeword — the codeword plus the seven vectors a single flip away, so eight vectors each. There are sixteen codewords, so the spheres cover 16 × 8 = 128 vectors. The whole space of seven-bit strings contains 2⁷ = 128.
They match exactly. The correction spheres tile the space with no gaps and no overlap: every possible seven-bit string is either a codeword or exactly one flip from exactly one codeword. Nothing is wasted and nothing is ambiguous. Only a handful of perfect binary codes exist, and Hamming's is the smallest interesting one.
Here is the result that should be much more famous than it is. A channel that flips bits with probability p has a capacity, C = 1 − H(p), where H is the binary entropy. Below that rate, codes exist whose error probability can be made as small as you like — not small, not manageable, arbitrarily small. Above it, nothing works, and no future cleverness will change that.
The obvious way to fight noise is repetition: send everything three times and take the majority. It works, and panel D shows how badly. At 5% noise, reaching a one-in-a-billion error rate by repetition needs 23 copies of every bit — a rate of 0.043. Shannon says the capacity there is 0.714. A good code should manage sixteen times that rate at the same reliability.
And Hamming does not save you either. Measured against the wall, every classical code sits absurdly far from it:
Shannon's proof is non-constructive. He showed that if you pick a code at random and make it long enough, it almost certainly works — without exhibiting one you could actually decode. That gap between "exists" and "buildable" stood from 1948 until turbo codes in 1993 and the rediscovery of Gallager's LDPC codes, which had been sitting ignored in a 1962 thesis for thirty years. Those get within a fraction of a decibel of the wall, and they are why your phone works.
Every bench in this run has been about a defect that turned out to be structural. Leakage inductance makes the transformer equations solvable. Parasitic capacitance is the only reason the flyback spike is finite. Anharmonicity — a departure from the perfect oscillator — is the entire qubit. The comma cannot be removed, only relocated.
This one is the cleanest case. Redundancy is, by definition, information you did not need to send. It is pure waste, measurable in wasted bandwidth, and it is the only thing that lets a probe twenty-five billion kilometres away talk to you on twenty watts. The waste is not a tax on the signal. It is the signal's ability to survive.
Three hula hoops on the floor, overlapping. You put pebbles in the sections. Rule: every hoop must hold an even number of pebbles.
Now somebody sneaks in and moves one pebble. Some hoops now have an odd count and start complaining.
Here's the magic: every section sits in a different set of hoops. So the exact list of complaining hoops points straight at the section that got messed with. You never saw it happen and you can still say precisely where.
But if they move two pebbles, the complaints add up to look like one different pebble — and you'll fix the wrong one, confidently. Every safety net has an edge, and just past the edge it doesn't say "I don't know." It says the wrong thing, cheerfully.
running probes…
lit — the code's minimum distance found by brute force over all sixteen codewords; the uniqueness of all seven single-error syndromes; the sphere-packing identity; binary entropy and capacity; and the residual error rates computed exactly by enumerating all 128 error patterns rather than by simulation, so the live channel in panel B has a closed-form number to converge to and you can watch it do so.
amber — the channel here is the textbook binary symmetric one: every bit independently flipped with the same probability. Real channels have bursts, fading, and memory, which is exactly why real systems interleave before coding and why Reed–Solomon operates on symbols rather than bits. The positions plotted for turbo and LDPC codes are indicative of published results, not computed here. And Shannon's capacity is an asymptotic statement about infinitely long blocks; at the short block lengths on this bench, finite-length penalties are real and not modelled.