Special Thanks to Prof. Marina Meila for introducing
Richard Hamming was working on the Bell Model V computer at Bell Labs, an electromechanical relay-based machine with cycle times in seconds. This was the period where computers still used punched paper tape. Whenever there were errors (when the punch paper tape is misread), the operators had to come fix it, and the machine would move on to the next job.
And so I said, 'Damn it, if the machine can detect an error, why can't it locate the position of the error and correct it?’
And so he worked on the problem over the next few years, and is still now found in ECC memory in the RAM of your computer.
See also: blog exploring his book The Art of Doing Science and Engineering, comes from a course Hamming taught at the Naval Postgraduate School in Monterey, California.
There are 4 main things that make up an ideal error correction code