Slashdot Mirror


60 Years of Hamming Codes

swandives writes "In 1950 Bell Labs researcher Richard W. Hamming made a discovery that would lay an important foundation for the modern computing and communications industries — coming up with a method for performing computing operations on a large scale without errors. Hamming wrote about how self-checking circuits help eliminate errors in telephone central offices. He speculated the 'special codes' he proposed — which became known as Hamming codes — would only need to be applied to systems requiring unattended operation for long periods or 'extremely large and tightly integrated' systems where a single failure would incapacitate the entire installation. Hamming code was the first discovery in an immense field called coding theory. This article looks back on the history of Hamming codes, their applications, and includes interviews with Todd Moon, Professor of electrical and computer engineering at Utah State University and David MacKay, Professor of natural philosophy in the department of Physics at the University of Cambridge and chief scientific adviser to the UK Department of Energy and Climate Change. An interesting read, about a little-known but fundamental element of information theory."

21 of 66 comments (clear)

  1. News For Nerds by DarkKnightRadick · · Score: 4, Insightful

    News for nerds, stuff that matters.

    This submission qualifies.

    --
    "There is a way that seems right to a man, but its end is the way of death." Proverbs 16:25 (NKJV)
    1. Re:News For Nerds by starfishsystems · · Score: 3, Insightful

      Hah! It's fundamental computer science, and its use is ubiquitous. It's the equivalent of Watson and Crick's discovery of the helical structure of DNA, which we learn about in elementary school.

      You want to celebrate the history of ring theory, now that would qualify as nerdly.

      --
      Parity: What to do when the weekend comes.
    2. Re:News For Nerds by Anonymous Coward · · Score: 2, Insightful

      News for nerds, stuff that matters.

      This submission qualifies.

      And got 26 comments... while

          Ask Slashdot: Have I Lost My Gaming Mojo?

      Got 300 plus...

      Nerds are devaluated nowadays or Slashdot got some entirely different demographics
      Maybe is time for changing the tagline?

    3. Re:News For Nerds by DrSkwid · · Score: 3, Insightful

      Did they tell you Crick was high on LSD at the time ?

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  2. See Feynman's Lectures on Computation by radio4fan · · Score: 5, Informative

    Feynman's excellent book 'Lectures on Computation' has a fantastic explanation of Hamming codes and distance, error correction etc.

    If you're even remotely interested in information theory you *must* read this book! No prior knowledge required.

    If you're a cheap bastard I'm sure you can find a pdf, but it's well worth the asking price.

    1. Re:See Feynman's Lectures on Computation by puto · · Score: 3, Insightful

      Anything by Feynman is worth it. I am 41 years old and i remember seeing super 8 videos of him in grammar school from my science teacher. Brilliant and engaging.

      --
      The Revolution Will Not Be Televised
    2. Re:See Feynman's Lectures on Computation by Rockoon · · Score: 4, Informative
      --
      "His name was James Damore."
    3. Re:See Feynman's Lectures on Computation by martin-boundary · · Score: 3, Funny

      If you're a cheap bastard I'm sure you can find a pdf, but it's well worth the asking price.

      Exactly. Remember kids, the money you spend goes directly to Richard Feynman, so he can continue to write excellent books from beyond the grave.

  3. Re:Little known? by $RANDOMLUSER · · Score: 3, Insightful

    That's right. Had Hamming's discovery been more well known, he might have won the Claude E. Shannon Award.

    DUCWIDT?

    --
    No folly is more costly than the folly of intolerant idealism. - Winston Churchill
  4. Re:Anonymous Coward by Anonymous Coward · · Score: 2, Informative

    If you know anything about information theory, you know about hamming codes.
    If you know anything about information theory, you know about hamming codes.
    If you know anything about information theory, you know about hamming codes.
    If you know anything about information theory, you know about hamming codes.
    If you know anything about information theory, you know about hamming codes.

  5. Re:Anonymous Coward by Teancum · · Score: 4, Insightful

    I'm sure a whole bunch of people know about Bill Gates and Steve Jobs, but their impact upon computing and information theory is comparatively minor compared to Richard Hamming. There are many such individuals who if you have studied your history of computing that really ought to be much better known but little is really talked about even in computing circles. Usually there is a theorem or algorithm which bears the name of an individual like Dijkstra's algorithm, but who really knows much about Edsger Dijkstra, the guy who came up with the concept in the first place, or for that matter even knows the names behind the LZW compression algorithm?

    If you went to a group of college seniors in computer science, how many of them would have ever heard about Grace Hooper? First classmen in the Naval Academy? (I would sure hope that the U.S. Naval Academy at least would have taught their computer science cadets something about Admiral Hooper, especially if they get assigned to the USS Hooper).

    There are a bunch of people you should know in the history of computing, and unless you have a very good professor who doesn't claim to have invented the integrated circuit and every other part of computing, you generally don't know the whys for how most concepts in computer science were ever derived.

  6. Easy to understand by elbow_spur · · Score: 2, Interesting

    Hamming codes are practical things, while Shannon's analyses of codes were more abstract (though still hugely useful and important)
    Consider the checksum bit. It helps to catch errors but there are 2 problems. First, if there is a double error (more likely if the checksum is on a longer string), then the error isn't caught Second, even if we know there is an error, we can't recover, but have to resend.
    The easiest error-correcting code is to replace every bit with a triple copy of itself. So
    101 becomes 111000111
    This way, we can recover from any single error, but the scheme is very inefficient.
    Hamming's simplest code takes a 4 bit message and adds 3 very special parity bits (think partial checksums) arranged in a clever way so that any one bit error can be isolated and corrected.
    That's the basic idea. The details are many places, such as http://en.wikipedia.org/wiki/Hamming(7,4)

  7. Re:Anonymous Coward by joshki · · Score: 3, Informative

    There is no Admiral Grace Hooper. There was, however, an Admiral Grace Hopper, who has a few things (including Hopper Hall at Dam Neck), named after her.

    --
    I do not read or respond to AC's. If you want a discussion, log in. Otherwise, don't waste your time.
  8. Re:Anonymous Coward by NoOneInParticular · · Score: 2, Funny

    Actually, Hamming is a bit overrated. He was a tireless self-promotor who himself named these things after himself. Really a no-no. Hamming codes and Hamming distance are fairly simple constructs and by no means the first, the last, or the most significant in the field. The real giant in the field is of course Claude Shannon, who, in my opinion, has been more important for the field of computing as a whole than even Alan Turing himself (Shannon's master thesis for instance proved how to do arbitrary boolean circuitry in hardware. 1932). Hamming is just a footnote. He found a good algorithm, and ran with it for fame and glory.

  9. Re:TFA mentions Mackay's book. by rrohbeck · · Score: 2, Informative
  10. Re:Not the First Discovery in Coding Theory by rrohbeck · · Score: 3, Interesting

    Shannon only proved that those codes exist. Hamming gave the first examples. So it's fair to say that Shannon was about information theory, not coding theory.

  11. Another Mackay book. by northerner · · Score: 2, Informative
    Mackay also has another book which may be interesting.

    "Sustainable energy - without the hot air", available as a free PDF download.

    I haven't read it yet, but I will given his credibility with the article and other book.

    http://www.withouthotair.com/ or http://www.inference.phy.cam.ac.uk/withouthotair/

    Here is a podcast of a lecture he gave at Cambridge on the topic of sustainable energy.

    http://mediaplayer.group.cam.ac.uk/component/option,com_mediadb/task,play/idstr,CU-CSF-Lectures_2008-12_David_MacKay/vv,-1/Itemid,42

  12. How to do research like Hamming by knutert · · Score: 5, Informative

    Want to be like Hamming? Here's how:
    In summary, I claim that some of the reasons why so many people who have greatness within their grasp don't succeed are:
            * they don't work on important problems,
            * they don't become emotionally involved,
            * they don't try and change what is difficult to some other situation which is easily done but is still important,
            * and they keep giving themselves alibis why they don't.
            * They keep saying that it is a matter of luck.
    I've told you how easy it is; furthermore I've told you how to reform. Therefore, go forth and become great scientists!

    Source: http://paulgraham.com/hamming.html

  13. Re:News For Nerds - Read his book! by refactored · · Score: 4, Informative

    His book Coding and Information Theory is by far the best written and most readable hard science textbook I ever had in my university career. Read it if you want to understand the subject, read it if you want to understand how to write a good textbook!

  14. Anything by Feynman... by refactored · · Score: 3, Interesting
    ... is excessively vague and handwaving requiring literally hours and pages of close work to fill in the gaps between the equation N he shows and the next equation N+1 that he says follows from N.

    Yup, a brilliant guy I'm sure, but not the guy I want teaching me. At the end of a course, (call me greedy), _I_ want to know how to do everything in the course, not merely have a warm fuzzy WEE-WOW feeling that something exciting just went by that I can't quite reproduce.

    Give me Richard Hamming's books instead of Feynman's any day. Ok, they won't make you go "WEEE WOW!!!", but on the other hand you will have an excellent understanding of the material AND be able to reproduce and USE any result in them yourself.

  15. Re:Not the First Discovery in Coding Theory by epine · · Score: 2, Informative

    Shannon's work was general over the error model. Coding theory assumes a specific error model (such as bit error rates, insertion, deletion, magnitude distortion).

    It doesn't take much wits to translate Shannon's work into a rudimentary code. Constructing codes near the bounds of optimality is extremely difficult, especially if the decoder corrects errors with better efficiency than combinatorial trial and error.

    I wouldn't say Shannon's work was light on coding theory, much of which was implied pretty directly. I would say instead that his work was light on algorithmic efficiency of sophisticated codes.

    By the time you're correcting 5 bit errors in a 256 bit packet, you don't want to have to search for the nearest valid codeword combinatorially.