Richard Hamming
Abstract
Richard Hamming (1915–1998) ran the IBM punched-card machines that did the arithmetic for the first atomic bomb, then spent thirty years at Bell Labs, where a relay computer that dumped his jobs every weekend provoked him into inventing error-correcting codes in 1950. His name is on the code, the distance, the window and the IEEE’s medal for information science. He received the third Turing Award in 1968. In 1986, in a talk called “You and Your Research,” he asked why so few scientists do work that matters, and answered with a set of habits that has been circulating among researchers ever since.
Chicago to Los Alamos
Richard Wesley Hamming was born in Chicago on 11 February 1915. He took a BS in mathematics at the University of Chicago in 1937, an MA at Nebraska in 1939 and a PhD at Illinois in 1942, with a dissertation on boundary-value problems in linear differential equations under Waldemar Trjitzinsky. He married Wanda Little on 5 September 1942; they had no children.
In 1945 he joined the Manhattan Project at Los Alamos, in Hans Bethe’s division, to run the IBM calculating machines on which the physicists’ equations were ground out. He described the job later as being a “computer janitor,” and in You and Your Research as having been “brought in to run the computing machines which other people had got going,” so that “I saw I was a stooge.” One assignment was to check the calculation that the bomb would not ignite the atmosphere. He recalled thinking: “What have I done, Hamming, you are involved in risking all of life that is known in the Universe?” The other thing he took from Los Alamos was the observation that a room of machines could stand in for an experiment, and that simulation would change what science was.
Bell Labs and the Weekend Problem
He joined Bell Labs in 1946 and stayed thirty years. For a time he shared an office with Claude Shannon and belonged, with Shannon, John Tukey and others, to the group the older engineers called the Young Turks.
His computing was done on the Model V, a relay machine fed by paper tape. It could detect an error in its own arithmetic and stop. On a weekday an operator restarted the job; at weekends, when Hamming’s low-priority work ran unattended, a detected error killed the run and he came in on Monday to nothing. “If the computer can tell when an error has occurred,” he asked, “surely there is a way of telling where the error is,” and if it could tell where, it could fix it. The answer, “Error Detecting and Error Correcting Codes,” appeared in the Bell System Technical Journal in April 1950. Parity bits placed at the powers of two positions in a block make the pattern of failed parity checks spell out, in binary, the address of the bit that flipped; the (7,4) code protects four data bits with three check bits and corrects any single error. The paper also defined the Hamming distance, the number of positions in which two codewords differ, and the principle that codes work by keeping valid words far apart. It is the founding paper of coding theory, and the rest of that story is in Coding Theory and Error Correction.
The code was the famous result but not the only one. The Hamming window, a weighting function for digital filters, is in every signal-processing textbook. With Ruth Weiss he wrote L2, an early programming language, in 1956. His predictor-corrector method for differential equations is in the numerical analysis books, including his own Numerical Methods for Scientists and Engineers (1962), whose motto is his most quoted sentence: “The purpose of computing is insight, not numbers.” He was ACM president from 1958 to 1960, and in 1968 the ACM gave him its third Turing Award, after Perlis and Wilkes, for his work on numerical methods, automatic coding systems, and error-detecting and error-correcting codes.
Monterey and the Talk
In 1976 he left Bell Labs for the Naval Postgraduate School in Monterey, California, where he taught for twenty-one years and wrote the books he had been putting off: Digital Filters (1977), Coding and Information Theory (1980), and The Art of Doing Science and Engineering (1997), the written form of a course whose subtitle was “learning to learn.” He became professor emeritus in June 1997, gave his last lecture that December, and died of a heart attack in Monterey on 7 January 1998, aged 82. The IEEE had created the Richard W. Hamming Medal in 1988 and given him the first one; its reverse shows a parity-check matrix.
The talk is what most people now know him for. On 7 March 1986 he spoke at a Bell Communications Research colloquium in Morristown, New Jersey, under the title “You and Your Research,” and a transcript has been passed from hand to hand since. Its question was blunt: “Why do so few scientists make significant contributions and so many are forgotten in the long run?” The answers were habits rather than talent. Work on important problems: “If you do not work on an important problem, it’s unlikely you’ll do important work.” Work with the door open: the person who does “gets all kinds of interruptions, but he also occasionally gets clues as to what the world is and what might be important.” Work steadily, because “knowledge and productivity are like compound interest,” and the one who gets in an extra hour of thinking a day ends up “tremendously more productive.” He told the story of eating lunch with the chemists and asking them what the important problems of their field were, and then why they were not working on them; one of them said the remark got under his skin, thought about it all summer, and later ran a department.
Dead End: The Janitor’s Complaint
Hamming’s own account of his career is a warning against a job he did well. At Los Alamos he ran other people’s calculations; at Bell Labs he began as the mathematician the engineers sent their numerical problems to, and much of that early work, by his own account in the talk, was on problems that arrived rather than problems he chose. The code came from refusing to accept a nuisance as a nuisance. Most of the talk is a description of how to stop being the janitor: pick the problem yourself, and pick it for what it will become rather than what it is now. The machines he ran are gone; the advice is still being reprinted.
📚 Sources
- Wikipedia: Richard Hamming — life dates, degrees and advisor, marriage, Los Alamos and the atmosphere-ignition anecdote, Bell Labs 1946–76, the Young Turks, L2, the Hamming window, ACM presidency, NPS 1976–97, awards, death
- Richard W. Hamming, “Error Detecting and Error Correcting Codes,” Bell System Technical Journal 29 (2), April 1950, pp. 147–160 (DOI 10.1002/j.1538-7305.1950.tb00463.x)
- Richard W. Hamming, “You and Your Research,” Bell Communications Research Colloquium, 7 March 1986 (transcript, University of Virginia) — the quotations on important problems, the open door, compound interest, the “stooge” remark and the chemists’ lunch
- ACM Turing Award: Richard W. Hamming (1968)
- IEEE Computer Society, Computer Pioneers: Richard Wesley Hamming
- Naval Postgraduate School, Dudley Knox Library: Richard W. Hamming collection — the NPS years and papers
- Wikimedia Commons: Bell Relay Computer — lead image, Model V at Aberdeen