Wednesday, December 8, 2010

Google Nexus S Fun

I happened to catch the second clue in the Google Nexus (@googlenexus) Nexus S contest about 20 minutes or so after they posted it. I didn't get the first puzzle; I thought I did but I was wrong. This one I was on the right track right away. The clue was:

Puzzle Challenge #2: There is more than meets the eye at http://goo.gl/MKoc8. You'll find the answer in a tweet.

So the FIRST thing I did when I went to the page was look at the source code. At the very bottom of the page I found this:

.
                               I                I                               
                                I      ++      I                                
                                 IIIIIIIIIIIIII                                 
                               IIIIIIIIIIIIIIIIII                               
                             IIIIIIIIIIIIIIIIIIIIII                             
                            IIII   IIIIIIIIII  IIIII                            
                           IIIIIIIIIIIIIIIIIIIIIIIIII                           
                          IIIIIIIIIIIIIIIIIIIIIIIIIII                           
                          IIIIIIIIIIIIIIIIIIIIIIIIIIII                          
                          IIIIIIIIIIIIIIIIIIIIIIIIIIII                          
                    IIII  IIIIIIIIIIIIIIIIIIIIIIIIIIII  IIII                    
                   IIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIII                   
                   IIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIII                   
                   IIIIII 0110100001110100011101000111 IIIIII                   
                   IIIIII 0000001110100010111100101111 IIIIII                   
                   IIIIII 0110011101101111011011110010 IIIIII                   
                   IIIIII 1110011001110110110000101111 IIIIII                   
                   IIIIII 0110101001010000010011110100 IIIIII                   
                   IIIIII 100101101100IIIIIIIIIIIIIIII IIIIII                   
                   IIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIII                   
                   IIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIII                   
                   +IIII  IIIIIIIIIIIIIIIIIIIIIIIIIIII  IIII:                   
                          IIIIIIIIIIIIIIIIIIIIIIIIIIII                          
                          IIIIIIIIIIIIIIIIIIIIIIIIIIII                          
                           IIIIIIIIIIIIIIIIIIIIIIIIII                           
                                IIIIII    IIIIII                                
                                IIIIII    IIIIII                                
                                IIIIII    IIIIII                                
                                IIIIII    IIIIII                                
                                IIIIII    IIIIII                                
                                IIIII,    IIIIII                                
                                  I:        ~I                     



I noticed the binary around the android's belly so I translated it into ascii text and got the following URL:

http://goo.gl/jPOIl

I went to the URL and was faced with a puzzle with a timer. The puzzle involved rearranging letters, by swapping two neighbours, in a string so they were in the "correct" order. You could see how many were correct at the bottom of the page. It was pretty simple and I got the solution before the timer ran out (it took me a few seconds to recognize I was being timed).



Clicking the Tweet your victory! button opened a web tweet box with the message:

@googlenexus Run, run, as fast as you can! You can't catch me, I'm the Gingerbread Android!


I hope it's not against the rules to post the solution; I looked quickly through the legalese and didn't see anything forbidding it.

7 comments :

  1. man that was a smart move. thanks for explaining the process, i think it is the puzzle solving process.

    BTW if you want to exchange the nexus s for my nexus one, just let me know. :p

    ReplyDelete
  2. Nicely done. Thanks for posting the answer so now I know I can relax and give up on today's contest.

    ReplyDelete
  3. dang, no wonder I kept on getting 5 letters right, and when I swap the last 2, it doesn't do anything. I guess you are the winner. What time did you have it solved? I shouldn't have played WoW and waited for the clue. LOL.

    ReplyDelete
  4. I managed to solve it by extending the time in the javascript - however the string results are DIFFERENT each time you refresh. The object is whether you can solve within 45 seconds.

    However - if you look at the code, you'll find the Tweet URL embedded in an "encoded" form. This code is simply the ASCII value - 1. Run it through a bit of perl and you'll come up w/ the right answer - though minus the trailing "!".

    ReplyDelete
  5. Thanks about the Javascript. I didn't check, but I thought about it as I typed and tried to think of a way where you could make sure nobody could look at the JS and get the solution.

    The best I could come up with is to keep the true/false calcs on the server side and respond to AJAx calls. And server side script would only show the URL only if the request was correct, within time limit, and wasn't pounding the server.

    ReplyDelete
  6. I got it by reading the js after the congratulations. I focused on this for(var f=0;f<153;f++){d='"iuuq;00uxjuufs/dpn0ipnf@tubuvt>Ahpphmfofyvt&31Svo-&31svo-&31bt&31gbtu&31bt&31zpv&31dbo"&31Zpv&31dbo(u&31dbudi&31nf-&31J(n&31uif&31Hjohfscsfbe&31Boespje"'.charCodeAt(f);d=d-1;c+=String.fromCharCode(d)}c=c;c=ya(c,1).join("").replace(/ /g,
    "%20");


    I saw that d-1 with 153 characters and subtracted 1 from each letter and came up with !http://twitter.com/@googlenexus%20Run,%20run,%20as%20fast%20as%20you%20can!%20You%20can't%20catch%20me,%20I'm%20the%20Gingerbread%20Android!

    I then saw they removed the first ! here charCodeAt(f);d=d-1;c+=String.fromCharCode(d)}c=c;c=ya(c,1).join("").replace(/ /g,
    "%20");

    I accidentally tweeted without the last ! but re-posted right after. It was a nice 5 min of fun. I thought initially the puzzle was just a distraction since the letters and colors changed every time. But after I solved it the "hard way" I got it by arranging them as well.

    ReplyDelete
  7. After you solve it, if you click one of the letters again, it will give you an additional "Congratulations! Tweet your victory!" for as many times you click it :D

    ReplyDelete