A hamming code is an error-correcting block code. The code is named after Richard Hamming who developed it in the 1950s. At the time, Hamming worked with machines that had relays and used punched cards to read the data. Because they were heavily used, the punched cards often had errors, which needed to be corrected by employees.