一体何が隠されてるかな?
グーグルのイベントGoogle I/O 2013が5月に開催されます。公式サイトがオープンして、今月13日からイベント申し込みが開催されます。が、その公式サイトにイースター・エッグが仕込まれていました。I/Oのロゴが、特定のコードを入力すると様々なものに変化するのです。ネコやハンバーガーやアスキーアート等々、全部で12種類。
・ネコ:IIIOOIII
・宇宙:OOIOIOIO
・ピンポンゲーム:IOOOOOOI
・ベーコン&玉子:IOOIOOOO
・Simoneゲーム:IIOIOOII
・8ビット:OIOIOOII
・シンセ:IOOOIOOO
・音:IIOIIOII
・アスキーアート:OIIIIIII
・ボーリング:OIIIOIOI
・ロケット:OIOOOIOI
・ハンバーガー:OOIIIOOI
12種類全てを見つけたのは、Zak El Fassiさん。もちろんひたすらIとOを打ち込んだのではなく、以下の方法で見つけ出しました。
これが、/js/app/min/js以下にあるメインのコード。Zakさんは、Chromeの拡張Sightを使って作業を効率化。コードを読みやすくして見て行きました。
お、これは何かありそうです。キッカケが掴めました。
さらに、ww.mode.register機能を検索。「Klass」「Pattern」「len」が何なのかを探っていきます。
「Klass」が何かを探しているとこちらが。では、「ww.util.pad」「d.pattern」「d.len」とは何なのか。
「ww.util.pad」は、D.le-bitバイナリのコンバージョンを行なっていました。Zakさんが試したパターンだと8ビット。d.pattern」は「ww.mode.register」ファンクションの中の「c param」
「ww.util.pad」をスタンドアローンのファンクションとして書き出せば、謎は全て解けました。
こうして得られた、IとOの組み合わせをgoogle I/Oサイトで入力してみると、12種類のロゴを見ることができたというわけです。
...いやー、なにがなんだか。さすがコーダーですね。
[Zakelfassi]
そうこ(Zak El Fassi 米版)