But what are Hamming codes? The origin of error correction

2,358,643
0
Published 2020-09-04
A discovery-oriented introduction to error correction codes.
Part 2:    • Hamming codes part 2: The one-line im...  
Ben Eater:'s take:    • What is error correction? Hamming cod...  
Help fund future projects: www.patreon.com/3blue1brown
An equally valuable form of support is to simply share some of the videos.
Special thanks to these supporters: 3b1b.co/hamming-thanks

Heavily related is the chessboard puzzle I did with Matt Parker:
   • The almost impossible chessboard puzzle  

You can read Hamming's own perspective on his discovery of these codes in chapter 12 of "The Art of Doing Science and Engineering".
amzn.to/3lwcnmh

The viewer Harry Li made an interactive on this topic:
harryli0088.github.io/hamming-code/

Thanks to these viewers for their contributions to translations
Hebrew: Omer Tuchfeld
Hungarian: Fabó Bence
Spanish: agustin-j

------------------

These animations are largely made using manim, a scrappy open-source python library: github.com/3b1b/manim

If you want to check it out, I feel compelled to warn you that it's not the most well-documented tool, and it has many other quirks you might expect in a library someone wrote with only their own use in mind.

Music by Vincent Rubinetti.
Download the music on Bandcamp:
vincerubinetti.bandcamp.com/album/the-music-of-3bl…

Stream the music on Spotify:
open.spotify.com/album/1dVyjwS8FBqXhRunaG5W5u

------------------

3blue1brown is a channel about animating math, in all senses of the word animate. And you know the drill with YouTube, if you want to stay posted on new videos, subscribe: 3b1b.co/subscribe

Various social media links:
Website: www.3blue1brown.com/
Twitter: twitter.com/3blue1brown
Reddit: www.reddit.com/r/3blue1brown
Instagram: www.instagram.com/3blue1brown_animations/
Patreon: patreon.com/3blue1brown
Facebook: www.facebook.com/3blue1brown

All Comments (21)
  • @3blue1brown
    I notice a few people asking “what happens if a parity bit gets flipped?” If you understand the algorithm, you don’t have to ask, try it yourself! Set up a block, flip a parity bit, say bit 2, then walk through what the receiver does. What happens?
  • Electrical engineer here... We literally had a full lecture about this... A full 3 hour lecture and you absolutely made a great, rewatchable and perfectly adequate video on this subject. I applaud you and your educational skills.
  • @Munden
    I never thought about it until this video, but Sudoku is just human powered error correction.
  • @moonaddict
    I promised myself that I would pause the video and return several times until I could understand, and I did, beautiful.
  • @GTX4747
    I must tell you, as a fresh cs graduate, I wish I've had teachers like you in the university, you explained something so clearly in 20 min, what would take a whole lecture of a lazy professor, and still wouldn't be clear to understand. I hope people are appreciate the priceless content that you share with us!
  • @lucasuieda8274
    Man, you got me doing a math exercise at 11 pm on a Friday because I wanted to. If that's not great teaching then I don't know what is.
  • 5:32 "Storing a data is same as sending a message just from the past to the future"....i never really thought from this perspective...cool
  • When he removed the 0th bit, I thought to myself: "Wait why don't we use it to parity check the whole thing?". I was so excited to see that's what happened next lol
  • @chrisxd146
    The emotions Hamming must have felt at discovering such an elegant solution to data correction are probably similar to the "Aha!" moments physicists feel. Or perhaps it was relief after working with brute force options starting out. Either way, great video!
  • @ALIPIANIST
    The receiver when see the parity equals 1: "That's ODD"
  • @inshadowz
    @5:34 “After all, storing data is the same thing as sending a message, just from the past to the future, instead of from one place to another.” That's … a pretty darn beautiful way of putting it! [steals for future use]
  • @mitchamaya
    I often point to this specific video as a big catalyst that got me to return to school and study computer science. I'm in my second semester and we're writing a hamming code decoder in assembly, so I had a great reason to revisit it. And I gotta say, the elegance of hamming codes is a lot more evident with your visualizations than it is from lecture. Which is understandable! My professor's job is a little different from yours, but it did make me appreciate how useful your videos are in gaining a big picture perspective.
  • @J0R1AN
    I think I’ve said “oh, that’s so smart” like 10 times to myself in this video
  • @WillParry00
    After spending the last 2 days studying shor’s code I’m quite impressed by this timing
  • @pwnerzach2pwnu
    I remember being completely puzzled with this when I was in college. They attempted to teach this during an early class. It went completely over my head then. I’ve appreciated your teaching style for years. I’ve watched most of your videos. This takes the cake. Absolutely stunning what a good approach and visuals can do for learning.
  • @hgjghjkhify
    I'm in my final year of a CS program, and my online program means that I'm teaching myself an Operating Systems course with a mediocre book and no instructor involvement. I'm blessed to have found this video! While the book tells me what the right answer is, it doesn't demonstrate HOW to think about and work through this encoding process. I didn't understand the purpose of where the parity bits were stored until this video. I did exactly what you said; I paused to actually work it out by myself, which gave me such satisfaction when I got the right answer after your 20 mins of instruction. Eternally grateful! ❤
  • @IslandRai
    It's kinda crazy how large the audience for this stuff is. He's talking about Hamming Codes and Binary Data storage and the video already has +20k views just hours from its posting.
  • @evansaschow
    Watching the “Impossible Chessboard Puzzle” videos was a great episode 0 of this series
  • Every time that I watch some video from 3Blue1Brown, I notice how marvelous this channel is! It isn't about the animations only and how's incredibly well explained, it's about this type of information spread all over the world, free, with such profound analysis. This is easily one of the best channels of YouTube, at least for me.
  • @PokeMaster22222
    "Why did you send an email stating you hate me?" "I didn't! It was noise distorting bits, creating an incorrect message!"