

Click on the "I" and the "O" - plg
https://developers.google.com/events/io/

======
Luit
I see some just found the piece of JavaScript that registered the handlers,
and others found lists by those people, but...

did anyone else find the codes manually? I did. I quickly realised that it'd
break off the code as soon as it couldn't lead to a match, greatly reducing
the search space (which was only 256 options to begin with).

As soon as I noticed that, I worked out all the codes by hand in only 15
minutes (including playing with the experiments I found).

I just iterated through the search space (starting at all zeroes, counting up
in binary) and eliminated whole sets of numbers as soon as it broke off the
input. e.g. starting with all zeroes it breaks off at the third zero, meaning
anything under 00100000 was impossible (immediately eliminating 32 of those
256 options in my search).

Did anyone else do that too? Perhaps more interesting: did anyone have a
completely different approach?

~~~
Luit
And another question: what would this be called as a software algorithm? Is it
a binary tree walk?

------
dm2
space: 00101010

pong: 10000001

simone: 11010011

eightbit: 01010011

song: 11011011

synth: 10001000

ascii: 01111111

bowling: 01110101

rocket: 01000101

burger: 00111001

cat: 11100111

bacon: 10010000

This was done a while ago.

~~~
mambodog
You can also just read the code (the third parameter is the decimal
representation of the 'password'):

    
    
        ww.mode.register("home", ww.mode.HomeMode, null);
        ww.mode.register("cat", ww.mode.CatMode, 231, 8);
        var isAndroid = navigator.userAgent.match(/Android/);
        isAndroid || ww.mode.register("space", ww.mode.SpaceMode, 42, 8);
        ww.mode.register("pong", ww.mode.PongMode, 129, 8);
        ww.mode.register("bacon", ww.mode.BaconMode, 144, 8);
        ww.mode.register("simone", ww.mode.SimoneMode, 211, 8);
        ww.mode.register("eightbit", ww.mode.EightBitMode, 83, 8);
        ww.util.getAudioContextConstructor() && (ww.mode.register("song", ww.mode.SongMode, 219, 8), ww.mode.register("synth", ww.mode.SynthMode, 136, 8));
        ww.mode.register("ascii", ww.mode.AsciiMode, 127, 8);
        ww.mode.register("bowling", ww.mode.BowlingMode, 117, 8);
        ww.mode.register("rocket", ww.mode.RocketMode, 69, 8);
        ww.mode.register("burger", ww.mode.BurgerMode, 57, 8);

~~~
dm2
Sure, if you assume everyone has the amazing ability to do decimal to binary
conversions in their head.

Also assuming that everyone has the skill to dig through javascript files.

~~~
mambodog
I certainly didn't do the decimal-binary conversion in my head (mental
arithmetic is not my greatest skill). You can open your browser's JS console
and use:

    
    
        Number(x).toString(2)
    

x being the decimal value.

~~~
Hello71

      (x).toString(2)

------
bcariveau
This has been posted several times:
<https://news.ycombinator.com/item?id=5670648>

------
mherdeg
See [http://stackoverflow.com/questions/15265562/what-are-all-
of-...](http://stackoverflow.com/questions/15265562/what-are-all-of-the-
google-i-o-2013-registration-easter-eggs) for more information.

------
hkolek
I got OOIOIOIO which leads to
<https://developers.google.com/events/io/experiment-space>

------
jimeh
IOOOIOOO gives you <https://developers.google.com/events/io/experiment-synth>

------
svag
I put OIIIIIII and I got the same but in ASCII art.
<https://developers.google.com/events/io/experiment-ascii>

------
kylesethgray
0111111 got me to an ASCII version of the logo

------
josemarie04
It looks to be...try 11011011 =)

~~~
derleth
If you replaced the O with 0, why not replace the I with 1?

------
alexlatchford
Also OIIIIIII

