Error correction
Add redundancy so corruption can be detected and repaired (toward capacity C).
fight noise
Compression
Strip redundancy so data shrinks toward its entropy H.
shrink size
The early codes
Hamming, Reed-Solomon, convolutional — the workhorses of the analog-to-digital age.
the toolkit
The wall
The "computational cutoff rate" — practical codes stuck near half the limit.
the ceiling
01Hamming codes (1950)
Richard Hamming, frustrated by a computer that halted on errors, built codes that fix single-bit flips automatically.
who Richard Hamming, Bell Labs
so the first practical error-correcting codes arrived, just after Shannon.
+1 simple codes like these get nowhere near the Shannon limit — but they proved the idea worked at all.
02Reed–Solomon (1960)
Irving Reed and Gus Solomon devised codes that fix bursts of errors, not just stray bits.
strength recovers data even with many corrupted symbols
so scratched CDs, QR codes, and DVDs still read correctly.
+1 Voyager carried Reed-Solomon coding to the outer planets — error correction that works light-hours away.
03Convolutional codes & Viterbi
Codes that protect a continuous stream, decoded efficiently by the Viterbi algorithm.
added Andrew Viterbi's 1967 decoding method
so mobile phones and modems could clean up live signals.
+1 the Viterbi algorithm now turns up far beyond coding — in speech recognition and DNA analysis too.
04The cutoff-rate wall
Despite all this, practical codes kept stalling well short of capacity.
barrier the "computational cutoff rate"
so real systems often reached only ~half the Shannon limit.
+1 for ~45 years this felt like a soft ceiling — many assumed the full limit was practically unreachable.
05Huffman coding (1952)
David Huffman, as a student, found the optimal way to assign short codes to common symbols.
idea frequent symbols get fewer bits
so lossless compression had its first elegant workhorse.
+1 he devised it to skip a final exam — and produced a method still inside ZIP and JPEG today.
06Lempel–Ziv (1977–78)
Abraham Lempel and Jacob Ziv built compression that learns repeated patterns as it reads.
idea replace repeats with short references
so general-purpose compression (ZIP, GIF, PNG) became possible.
+1 nearly every "zip" file you've ever made descends from these two 1970s papers.
07Arithmetic coding
A subtler method encoding a whole message as a single fractional number — beating Huffman's limits.
strength gets closer to the entropy floor
so modern formats squeeze harder than symbol-by-symbol codes.
+1 its descendant CABAC is core to H.264/H.265 video — the reason streaming fits down your connection.
08Lossy compression
For images, audio, and video, throw away what humans won't notice — guided by entropy ideas.
fruits JPEG, MP3, and video codecs
so media became small enough to store and stream.
+1 these lean on Shannon's distinction between a signal's information and its perceptible part.
information theory · book no. 1 · clever codes, a stubborn ceiling · the decades of building (1950–1990)