Why I don’t want to write a blog post

THE ANTI-BLOG POST BLOG POST.

NOTE from Megan: Erik’s brain works in pretty much the exact opposite way that mine does. It’s quite fun. Also, I forced him to write this blog post. And now that I’ve read it, I’m glad I did. Also also, he’s totally serious about the $500.

I don’t want to write this blog post.  I just got done expressing this feeling to another employee here at CarWoo! who told me to just write it like an email.  But I send emails when I have something to say.  I am having a hard time coming up with something to say.

It seems like writing blog posts is an exercise in vanity because one would have to assume that he/she has something novel to say in order to spend the time writing a blog post.  Even writing a blog post lamenting writing a blog post has probably been done 2,345,567,321 +- 4 times at least.  At this point I can’t even be original doing that.

If you have made it this far and are still reading and you like ‘Two and a Half Men’ please leave.  I want readers and visitors to CarWoo!, but that show makes me want to eat razor wire.  You should probably leave the country too, maybe the planet.  You can stay in the solar system, but you will relegated to the rock formerly know as the planet Pluto.

So if you have made it this far and don’t’ like ‘Two and a Half Men’, then I have a surprise for you.  I have created a coded holiday message.  It is below.

EDIT:

WordPress was formatting my block oddly so I decided to base64 encode the code so it looks better on the tubes.


QCgyPSghK1kwTlRJO0MrVTtZLUxWLCg3MypEUCNQJjNGTlMuIyU8TzwpSDNP
ND0tRFg7RkUoJjotJzQwIz8pJUFCODtQI0AyPCFaTkNTUyQ/PUgqN0VKLCEi
VUxWRjo2SUYnSiAiMkdGVCpGSCw+NDAqVyhUIEAtWTVMRiQzMi8jIiMuPyFP
V0k0MjlVOyQyTFM4VkgvQStRWkY3SEkwKDsqIzlFSjxHJS0+P0xTPDZIRSZW
NVkvO0kuM1REJUkqMk8/Sz4tPy1JR04/WjM4V0ggVD8tU0JURDFBMCovMldO
MzVVSjFDTjY0Lz00Ojc5UkZBSkMyUyxAOy05MCA5KyJXJVQ6KTZJTFJJL0pC
JyIkRCUiLkhOSTZJKyRDKC4qV0EuOz4qTVg/OypMUztAMTFLLzI8RU8+VVct
OzQ+NEdIRUwm

The above base64 encoded stuff is the encoded message.  So first base64 decode it and then try to decode the message.  It looks so much prettier this way.

Something like this:

MessItUp.new.decode(Base64.decode64("QCgyPSghK1kwTlRJO0MrVTtZLUxWLCg3MypEUCNQJjNGTlMuIyU8TzwpSDNP
ND0tRFg7RkUoJjotJzQwIz8pJUFCODtQI0AyPCFaTkNTUyQ/PUgqN0VKLCEi
VUxWRjo2SUYnSiAiMkdGVCpGSCw+NDAqVyhUIEAtWTVMRiQzMi8jIiMuPyFP
V0k0MjlVOyQyTFM4VkgvQStRWkY3SEkwKDsqIzlFSjxHJS0+P0xTPDZIRSZW
NVkvO0kuM1REJUkqMk8/Sz4tPy1JR04/WjM4V0ggVD8tU0JURDFBMCovMldO
MzVVSjFDTjY0Lz00Ojc5UkZBSkMyUyxAOy05MCA5KyJXJVQ6KTZJTFJJL0pC
JyIkRCUiLkhOSTZJKyRDKC4qV0EuOz4qTVg/OypMUztAMTFLLzI8RU8+VVct
OzQ+NEdIRUwm"))

First person, animal, or mineral to decode it gets $500 and can use CarWoo! for free.

  • andrew

    Erik,
    Thanks, now I feel dumber than usual. Your next blog better be the solution to your puzzle.

  • ChrisT.

    Hi Erik,

    I ran through your code in a program I wrote and found no encoded messages in the know English language. I call your bluff, the “Code” is random garble. Nice try though & Happy Holidays ;)

    -Chris T.

  • erik

    It’s a solvable code. I will drop some hints. I will encode some other phrases and put them here…maybe that will help…maybe not. It’s actually not that hard, but you would have to guess what’s in my brain….which is not something anyone wants! :)

  • erik

    Here is “THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG” encoded…”" not included.
    SDdRJFYxMSUmPT5WKD85Kzk+Mi8kK0QmJDY2VkMuRTROJT0hLk03KTFGRjUu
    SiAyPyhRUjNaOlJFTTYqSUNKUFRVMFZLR009IDpKLDY1IU5JKTZFMywnICY8
    VUROUC8hISBBIzMiLCNBJy1JPyI/T1Y/R1AiLTQ0WT0pPFMjLidLV00ySDpN
    NTAwJkZJRyNNMVVPSVkuLC9GIyYyLDFNSjZDNi0oIy5QOyE3OiFLIzUiKldD
    M01UQylTS0hVLSc3OFFDJyRQITRRWE85OlgtVzM7MjZGKElWK0dHT0FDPSgn
    TFUhUjtXSDZKQ1cjUjYyPFU7OVZPLEYvPkg1TERXIzEpQTpLMFRQJT9SMjNB
    WE40N1UhLCEjWSogRz1DMCM3WClAOkNKUD5QPykmMCtAIUNHIzdXLCk9JCVY
    J0tGVFgxSSxGKyErJSVHTlJVVUQxOUJZLDklKD4yLChIMCc1I0Q3SUYhMTc9
    OicyKERSNFNOTiIpRz06USdENUVVRCE=

    There are any repeated codes per say…it appears random, but it’s not. it’s 500 bones so i can’t just give it away! :)

  • erik

    Sorry, forgot to mention above….

    To make it more readable I base64 encoded the actual coded message. So base64 decode it first, then try to decode the message.

  • ChrisT.

    Erik,

    That explains a lot. I figured it was either encoded more than once or just plain garbage. After running through it and noticing a few weird anomalies in the code, like, -909+ and GFT*FH, that appeared to be groups of slammed keys, I figured this was just a random keyboard-smashed-code :)

    I’ll run through it later and check the Base64 encoding of “THE QUICK BROWN FOX” and see if it matches with the other paragraph. :)

    -Chris T.

  • erik

    Chris-
    I ended up encoding it in base64 and reposting it. WordPress was converting certain characters into other characters which makes something like this hard :)

    You just need to base64 decode the string first and then try to decode the message.

    thanks.
    erik

  • http://www.syskall.com Olivier

    Looks like Perl but that was to be expected…

  • erik

    it’s perl for beautiful people, i.e. ruby.

  • Jason

    “Be Sure to Drink your Ovaltine”

  • http://kirillzubovsky.com Kirill

    did you do your initial encoding in Excel?

  • Tom

    I don’t do cryptography, but isn’t it possible that Carwoo is going to be in their somewhere? Can you use that guess to try and help deciphering it if that’s true?

  • erik

    Here are four different, but all valid encodings of THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    Each one can be decoded with the same decoding method.

    IThGMj4wS0gvR0M9PE5QQEEnMyxNIiFHJE1NVTdYSS5PTTdFT1FCVUtMLVBW Qj4nNkBUIDsqLUNTLjVCJS87IkwnT1E/LiZRI1E4ITlBLzBXNU5SNEgmVDM8 QFM0Ty4wLFAvL0ohNTUxQzU2Jy82LVEpN0gpSjs3NCE5Q1lXQlUwUVc1MUFX NDI7LUQnO09BSEI9WVdNRktOTTdLNkI+Pj5HIDtKS1YkSVY0I0pRPTtYVSY9 KyhZVEAqJykrJSIpIjcsI0ckWD4ySlRIIkAhUyw+VStUQVY/NiUpNFZVMis8 IylXMiU9VVFKSFI3WkI3S0A/QTMhIkkuP0pFMVJKQixYJSFGJz8+TD89WFgu JyRSJ1hYIlIoVEFVLlUwOjc0Oi4iQDlNOUVPSUdHOkM5Mj9LWilCMlkmPj1X M0otSiwmKFU4Jy9IJzc5WkFVQ1VFPFFAQ0tHOClYLDklPDs/T1BPS0hTPDAi WkRBQVVSOTIhKjxBR0ZNNypRNzwsMVI=

    JkpXLlVZIz5MLTxKJj1PUFA2R09BPUtTLSI1Oi9DMEwzM0VYSiE5S1gzVTA4 WksxS0VSVS0pQzlCLTg1VDpATlUpWihIVVIgIDE/V1o2JlA+RkNZJ1BLIFY6 Q1QoWCA2KzlPKlBVTS8mKihNKU9JM1EmK1kkRSxOSD43O1JEWTApOD1JRk48 Ozk1UzJUTkZJOSY2V1AqVUwwQCogVUk6UiIvTDtDSjBGSlNQNCxTNCNIL0VE IC1QLDwnRFE8ISpITSRNOE8iMzBSQlYtQT8mWEFOIkVPSSJXMCkxRT8tPFEj QFlWN1JBIEosWjAmODNCJzM3QCUmTCgwKyowJ1NWWkwyJ0ZFTDggRlMxIUJY JD88NS48SDQpJUNTQitFVS4qOCk8KztaQEI6TysmUC9XNiotNSEtIEYmKS4h QVZXNlI/TEpFPihDITIxIFcrKlQ/UUdWOEk+TFNZOldDQEtWN0c+QzgrQCFW KT82U0k9QVlMQFhAOiw/OT9LICkjQSM=

    NCs6SixWVishJy4xTSw0SlQsM041SzRFKDIvSVIoPDZaQyY8ODwzMjMqRlNB Uzo1QT0tLyRONyFHOVEhV0A0QzNIOzVOPkg3Kk4tVEhPRCspPkQoQFQnVjw5 IkVFWVkyLEk/PEIuUVFKRyJNUllOVTI/SFNENDw6JDQxLkUxTVo7RCcrQFQ/ LUs4KyUuSSQuSUo7IU0kVU1PQihBMSkxV0I0PFVCR00nJTxKPTMvUiJCI0A9 IjYiNFcuOjdSQUJSNlkpKj05SSFSLThGRDdUTy03PUwxPkIwLFJQRzRBSCdN OTEqU0A2NEJCIkgxOyQzUUYgNTxHUDM2JCdXRE1XTz9aJUAqVlkrRDErIDoh PixMO0A5OCEuMCQwQjk6NFg7QVpQRUk2SkAsKFpINVc+WjouPSUjLkg7WCpZ LU8zSi1ULVlTNic/VUYjLFk9MCNYQz8yIzcvIlk4IzdVMkdVTyNGI1QhPjAh UTdWT0gxRUVULkY9SUI+N1lVPSMvVlY=

    MzgsTStTREc4JClWNyswNiUxLkUgWitJQjVUSzYxVk07ODwlIExYM1AsM0o4 PSZHQzY6LUorQVVQPzY3V1g1S1FZRUtQWjJaJU9AKSlGMkpLMUtDLEgyQkxL PFYgRzFJNSg0VTsnWTkiVSc4Ni8iQUJHJUxGSS5TNjxPLlZDJzZHLCJKQDxN RywwPDpHK0lWQ00tPEMlRD1GU000TE4gIi9OKEhINT4+VUgzMEkhNDEkIFUh IzYtQD9SS0U1J1kvPzImN1pLWVE1JT1IICInIFVTUjBGJT5TUkM0JlojLzw2 UlgjSz9ATDo8NiM7RlAuP0wwIykxKyhRKCYvR1QoSS8xLUVRTjlIO0UnNixI J1ZLI0tWICcyRCIxT1NCUDkoVCtGPzojUihGUS9TMkA/Kk4/RC9JVkg4WUgk QDsjPlhMRDE8ViUoSkpDSC4pRU9VLDo4LEUmNztMO1c3PEwrM1okTS1GJ1Qs R0YrUjBBIFoqMi5AWkdTPFBONDRHJ0U=

    It never encodes things the same each time your run it, but they can all be decoded the same way. There are no strange initial conditions you need to know about like time or some other kind of token.

  • http://cmdtqna.com/ qna

    It is actually a quite interesting blog post.

  • elli

    The last four examples do not decode using base64 here. The last one outputs: 38,M+SDG8$)V7+06%1.E Z+IB5TK61VM;8<% LX3P,3J8base64: invalid input

    The others look similar. But it's a very nice blog post indeed.

  • Toby

    @eli Make sure you format the base64 with the newlines properly. When I cut’n'pasted it it came out on one line and I replaces spaces with newlines, then decoded.

  • JordanRinke

    Based on the length I am thinking that each character becomes 8 characters encoded, and there is a 4 character salt stored encoded at the begging or the end of the string. On the right track here?

  • erik

    If you base64 decode this

    IThGMj4wS0gvR0M9PE5QQEEnMyxNIiFHJE1NVTdYSS5PTTdFT1FCVUtMLVBW Qj4nNkBUIDsqLUNTLjVCJS87IkwnT1E/LiZRI1E4ITlBLzBXNU5SNEgmVDM8 QFM0Ty4wLFAvL0ohNTUxQzU2Jy82LVEpN0gpSjs3NCE5Q1lXQlUwUVc1MUFX NDI7LUQnO09BSEI9WVdNRktOTTdLNkI+Pj5HIDtKS1YkSVY0I0pRPTtYVSY9 KyhZVEAqJykrJSIpIjcsI0ckWD4ySlRIIkAhUyw+VStUQVY/NiUpNFZVMis8 IylXMiU9VVFKSFI3WkI3S0A/QTMhIkkuP0pFMVJKQixYJSFGJz8+TD89WFgu JyRSJ1hYIlIoVEFVLlUwOjc0Oi4iQDlNOUVPSUdHOkM5Mj9LWilCMlkmPj1X M0otSiwmKFU4Jy9IJzc5WkFVQ1VFPFFAQ0tHOClYLDklPDs/T1BPS0hTPDAi WkRBQVVSOTIhKjxBR0ZNNypRNzwsMVI=

    The decoded version of above results in
    “THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG”

    The first 5 characters are “!8F2>” after base64 decoding it.

    Those 5 characters represent the first “T”. Another “T” won’t necessarily result in the same code. Actually, the odds of ever seeing that code again for a “T” is low.

  • erik

    some other good info from people trying to figure it out here:
    http://news.ycombinator.com/item?id=2022414

  • http://grack.com Matt Mastracci

    The message is:

    DON’T FORGET TO DRINK YOUR OVALTINE

  • erik

    @Matt Mastracci: Ding Ding Ding. We have a winner! There is actually an exclamtion point at the end, but close enough! You want to detail your solution?

  • http://grack.com Matt Mastracci

    Sure thing. I’ll blog it up later tonight. Spending a few hours with the family here – will have a chance to detail the solution process in a few hours.

  • erik

    Sounds good. No hurry on the solution. I would love to see it.

  • kingston

    Dang, solved it seconds after I saw Matt’s post. Well done!

    In the meantime, I coded up a C# solution.

    [SPOILER ALERT] (don’t click if you plan on still solving it)
    http://pastie.org/1390744

  • erik

    @kingston: yeah, that looks great. I have almost the exact same code sitting on my mac written in ruby. :)

  • Gregory Brown

    Here’s my Ruby translation of Kingston’s code. Curious how it compares to yours erik.

    http://pastie.org/1390793

  • erik

    @gregory: your code is much prettier :)

    • Anonymous

      Testing a reply

  • Pingback: Solving the Carwoo code-breaking challenge « grack.com: Matt Mastracci's blog

  • Artem

    Are you sure there are no more hints that you can give out? It seems rather strange to have an algorithm that can produce varying results with no change in initial conditions, otherwise it’s not much of an algorithm.

  • Artem

    Woops.. Guess that’s what I get for trying to solve this offline. Looks like I gotta work on my code-breaking skills. :P Great puzzle, though!

  • http://grack.com Matt Mastracci

    Here’s more details on my solution:

    http://grack.com/blog/2010/12/19/solving-the-carwoo-code-breaking-challenge/

    Thanks again for the challenge!