XKCD Binary Heart Transcription+the SCH mystery
January 4th, 2009Since I felt like having too much time, here’s a transcription of XKCD Binary Heart.
111011101100110010101 111001010011110111010 101101001011011000100 111101110110011001010 111100101101111011101 010110100101101100011 011110111011001100101 011110010100111101110 101011010010110110001 001111011101100110010 101111001010011110111 010101101001011011000 110111101110110011001 010111100101101111011 101010110100101101100 010011110111011001100 101011110010110111101 110101011010010110110 001001111011101100110 010101111001010011110 111010101101001011011 000100111101110110011
Interpreted as ASCII written with binary, it says:
iloveyOu ilOveyou iloveyOu ilOveyOu iloveyou ilOveyou ilOveyOu ilOv
That’s the easy part of the mystery. The tricky part is why the O’s are lower and upper case like that. I have no clue, but there’s a discussion on the XKCD forums . Someone called “kemosabi” posted a Perl snippet that produces the letters SCH:
#!/usr/bin/perl while () { $x .= $_; } $x =~ tr/01//cd; $y = pack(”B*”, $x); print “$y\n”; $s = $y; $s =~ tr/Oo/01/; $s =~ tr/01/ /c; print $s, “\n”; $s =~ tr/01//cd; print ” ” . join(” “, grep(/\d{5}/, split(/(\d{5})/, $s))), “\n”; print ” 010 ” . join(” 010 “, grep(/\d{5}/, split(/(\d{5})/, $s))), “\n”; #print $s, “\n”; $s = “010″ . join(”010″, grep(/\d{5}/, split(/(\d{5})/, $s))); print pack(”B*”, $s), “\n”; __END__ 011010010110110001101 111011101100110010101 111001010011110111010 101101001011011000100 111101110110011001010 111100101101111011101 010110100101101100011 011110111011001100101 011110010100111101110 101011010010110110001 001111011101100110010 101111001010011110111 010101101001011011000 110111101110110011001 010111100101101111011 101010110100101101100 010011110111011001100 101011110010110111101 110101011010010110110 001001111011101100110 010101111001010011110 111010101101001011011 000100111101110110011
Output
iloveyOuilOveyouiloveyOuilOveyOuiloveyouilOveyouilOveyOuilOv` 1 0 0 1 1 0 0 0 1 1 0 1 0 0 0 10011 00011 01000 010 10011 010 00011 010 01000 SCH
Fast forward a few episodes to this strip:
The three “pointers”, 0×3a28213a , 0×6339392c, 0×7363682e look a bit suspicious… Repeating bytes, MSB is never set. This smells ASCII!
Sure enough, here’s what it says:
:(!: c99, sch.
I don’t know what the first line means, maybe it’s a little joke in the style of UNIX shell tricks. The second line could possibly be referring to the C99 standard. And the last line is sch again. It’s no doubt related, but how? There could be a deeper meaning to the letters SCH, or it could just be a reference back to that forum post. What do you think?
January 10th, 2009 at 5:55 am
Lol! I never have thought there are hidden messages in xkcd comics (and I would never have the patience to bother deciphering anyways :P)
sch.. for scheisse
January 11th, 2009 at 4:17 am
Sure there are hidden messages. The first one you should know about is the tooltip. Hover the mouse over any of the strips to see it.
January 16th, 2009 at 2:25 pm
Oh yes, I know about the tooltip. It’s usually the funniest part of the comic
July 6th, 2009 at 7:38 am
Actually… the binary in the heart translates perfectly to: Ever want to send an encoded messsage that only a handful of people can actually crack the code? Well, look no further; my brain hurt when I made it and I still have a slight hangover… so, enjoy!
Not kidding…
July 6th, 2009 at 7:47 am
No it doesn’t… It simply doesn’t. (I stand by that until proven wrong)
July 6th, 2009 at 7:51 am
Fine… Insert this into any decoder (or decode yourself) and you will see. You can even cross reference it with the comic… I promise it is correct!
01101001011011000110111101110110011001010111001010011110111010101101001011011000100111101110110011001010111100101101111011101010110100101101100011011110111011001100101011110010100111101110101011010010110110001001111011101100110010101111001010011110111010101101001011011000110111101110110011001010111100101101111011101010110100101101100010011110111011001100101011110010110111101110101011010010110110001001111011101100110010101111001010011110111010101101001011011000100111101110110011
July 6th, 2009 at 8:00 am
Aww lawl.