AI History Battle
Engraved card portrait of Richard Hamming

Richard Hamming

1915–1998 · midcentury

Error-correcting codes; numerical methods

0wins
0losses
win rate

Strongest on

100 The arithmetic that drifts 97 Correct the corrupted block 85 The noisy channel's limit 85 The scratch on the disc 84 Twenty questions with a liar 78 The optimal codebook

In the mind map

The same ideas, as concepts rather than history — in John's ML knowledge map.

Signal Processing Similarity Search

Life and career

Richard Wesley Hamming's most important invention came out of a bad weekend. It was 1947 or thereabouts at Bell Telephone Laboratories, and he had booked the Model V relay computer for an unattended run over a Friday-to-Monday stretch, because that was when a mere mathematician could get machine time. The machine had error *detection*: when a relay misread a punched card, it recognized the parity failure, dropped the job, and moved on to the next one. Hamming came in Monday to find nothing had run. It happened again the following weekend. His reaction is the founding sentence of coding theory: if the machine can tell that something is wrong, why can it not tell *what* is wrong and fix it?

He was born in Chicago in 1915 and grew up there, taking his bachelor's degree at the University of Chicago in 1937, a master's at Nebraska, and a doctorate in mathematics at the University of Illinois at Urbana-Champaign in 1942, working on differential equations. He taught briefly at Louisville, and in 1945 was recruited to Los Alamos to run the IBM punched-card calculating machines that carried the numerical load of the Manhattan Project's implosion calculations. His wife Wanda also worked on the project's computing.

Los Alamos gave him two things that shaped the rest of his career. The first was a permanent sense of the moral weight of technical work — he was present at the Trinity test's aftermath in the sense of having computed part of what made it work, and he wrote later, without melodrama, about the responsibility that came with it. The second was a lifetime of watching machines produce numbers that nobody had checked. His job at Los Alamos was substantially to be the person who asked whether the digits coming off the calculators meant anything.

In 1946 he joined Bell Labs, where he stayed for thirty years, in the extraordinary department that also contained Claude Shannon, John Tukey, and a good fraction of the people who invented information-age mathematics. Hamming and Shannon shared an office for a period, and the two lines of work — Shannon's theorem that reliable communication is possible up to the channel capacity, and Hamming's explicit construction of codes that achieve part of it — are complements. Shannon proved good codes exist; Hamming built one you could implement in relays.

He published the error-correcting code paper in 1950 in the *Bell System Technical Journal*, having been delayed by Bell's patent lawyers. He then spent decades on numerical analysis, digital filtering, and the general question of how to get trustworthy answers out of finite-precision machines. His 1962 book *Numerical Methods for Scientists and Engineers* is unusual among numerical analysis texts in that it is fundamentally a book about judgment: about knowing which formulations are conditioned badly, which algorithms are unstable, and how much of a printed answer is real. The line he made famous — that the purpose of computing is insight, not numbers — appears in its front matter and is the whole thesis in seven words.

He received the Turing Award in 1968, the third ever given, and the IEEE later named a medal after him. In 1976 he retired from Bell Labs and became a professor at the Naval Postgraduate School in Monterey, where he taught until shortly before his death in 1998. He said openly that he had gone there to teach rather than to research, and specifically to teach engineers how to think about doing important work.

That project produced the piece of Hamming that many graduate students meet first: a 1986 Bell Labs colloquium talk titled "You and Your Research," which circulates as a transcript and is one of the most-read documents about how scientific careers actually work. Its argument is deliberately uncomfortable. Hamming had spent thirty years in a building full of brilliant people and had noticed that only some of them did work that mattered, so he asked what distinguished them. His answers — that you should know what the important problems in your field are, that you should keep them in mind and be ready when an approach opens up, that courage and tolerance for ambiguity matter more than raw ability, that an open door is worth more than the quiet of a closed one, that you should work on problems whose solution generates further problems — are stated with the bluntness of a man who did not expect to be liked. He expanded the material into a course and a book, *The Art of Doing Science and Engineering*.

Key contributions

**Hamming codes.** The construction: to protect $k$ data bits, add $r$ parity bits chosen so that each parity bit checks an overlapping subset of positions, arranged so that the pattern of failed parity checks — the *syndrome* — reads out, in binary, the index of the corrupted bit. The Hamming(7,4) code carries four data bits in seven, corrects any single-bit error, and detects (in its extended eight-bit form with an overall parity bit) any double error. The condition $2^r \ge k + r + 1$ says the syndrome must have enough distinct values to name every possible single-error location plus the no-error case, and Hamming codes meet it with equality — they are *perfect* codes, packing the space with no waste.

**Hamming distance and the geometry of codes.** This is the conceptual leap that made coding theory a mathematical subject rather than a collection of tricks. Define the distance between two binary words as the number of positions in which they differ. A code is then a set of points in the hypercube $\{0,1\}^n$, and its minimum distance $d$ determines its power: it can detect $d-1$ errors and correct $\lfloor (d-1)/2 \rfloor$, because decoding to the nearest codeword succeeds exactly when the received word is inside the radius-$t$ Hamming ball around the transmitted one. From this follows the Hamming bound — the sphere-packing bound — which limits how many codewords can fit without their balls overlapping. Once you see codes as sphere packings, the whole subsequent apparatus (Reed–Solomon, BCH, LDPC, turbo codes) has a home. The Hamming distance itself escaped coding theory entirely and is now a basic metric in bioinformatics, locality-sensitive hashing, and similarity search.

**Numerical analysis and error propagation.** Hamming's numerical work is about conditioning and stability: distinguishing a problem that is intrinsically sensitive to perturbation from an algorithm that needlessly amplifies error, and teaching practitioners to attach honest uncertainty to machine output rather than reading eight printed digits as eight significant ones. He worked on predictor-corrector methods for ODEs (Hamming's method is a modified Milne scheme with better stability) and wrote extensively on quadrature, interpolation, and the propagation of rounding error through a computation.

**Digital signal processing.** The Hamming window — a raised-cosine taper applied to a finite data segment before Fourier transformation, with coefficients chosen to cancel the largest sidelobe — is standard equipment in spectral analysis and speech processing. His book *Digital Filters* was one of the accessible early treatments of the subject.

In battle

Hamming carries 100 problems at a mean of 30.2 with a median of 25 — five dominant cells and forty-two at 20 or below. He is a specialist with a very sharp peak and a long flat tail.

His categories are led by **systems** (59.0), **search** (57.0), and **information** (53.9 across sixteen problems) — the last being the only large-count category where he is consistently strong. Everything below **perception** (29.9) drops into the twenties and teens.

He owns one cell outright: **P251 — The arithmetic that drifts** at 100, the only perfect score in this set of profiles. The matrix's reasoning is that no one on the roster diagnosed confident garbage from a trusted machine more directly or earlier — this is his numerical-analysis career, his textbook, and his aphorism, and the problem is essentially his own words. **P036 — Correct the corrupted block** (97) is the Hamming code itself. **P169 — The scratch on the disc** (85) is burst-error correction on physical media, where his framework is the direct ancestor even though Reed–Solomon is the actual method deployed. **P035 — The noisy channel's limit** (85) is Shannon's theorem, on which Hamming is the constructive counterpart rather than the author, and 85 is a well-calibrated number for that relationship. **P050 — Twenty questions with a liar** (84) is search with errors, which reduces neatly to a coding problem in disguise. **P165 — The optimal codebook** (78) is Huffman coding — source rather than channel coding, adjacent but not his — and **P168 — Codes that kiss the limit** (62) is turbo/LDPC codes, where he founded the field but the specific machinery is four decades past him. **P038 — Decode the hidden path** (62) is Viterbi decoding, again downstream.

The losses are uniformly statistical, and they are pedagogically the most interesting part of his profile. **Causality** sits at 8.0, his lowest category by a wide margin. His floor cells are **P214 — The paradox in the admissions data** (6, Simpson's paradox in the Berkeley admissions case), **P184 — Fill in the hidden variables** (8, EM), **P213 — The posterior at web scale** (10), **P130 — Which pairs really differ?** (10, multiple comparisons), **P009 — When you can't randomize** (10, observational causal inference), and **P299 — The proxy that rationed care** (12, algorithmic bias in a healthcare risk score).

The matrix's explanation of the Simpson's paradox failure is worth quoting in spirit because it names a trap the game is built to expose: there *is* a thematic resonance between Hamming's insistence on careful quantitative reasoning and the discipline that confounding demands, and that resonance is not evidence. Hamming's mathematics is deterministic — error models in coding theory are adversarial or worst-case bit flips, not sampling distributions; his numerical analysis concerns exact quantities computed inexactly, not unknown parameters estimated from data. He has no framework for a confounder, a posterior, a latent variable, or a false discovery rate, and the scores refuse to award him credit for general rigor.

The other soft spot is **networks** at 21.8 across thirteen problems and **nlp** at 25.0 across eighteen. Hamming's information-theoretic tools apply to a *channel*, and modern network and language problems are about structure and representation rather than transmission fidelity. He gets partial credit and no more.

Play Hamming on redundancy, reliability, finite-precision arithmetic, distance in discrete spaces, and any question about whether a machine's output should be believed. Keep him away from anything with a confounder in it.