GitHub の自動生成されたユーザーアイコンでライフゲーム

GitHub Gif

GitHub のユーザーアイコンは、Gravatar なしの場合、自動生成されたドットアイコンです。こういうユーザーごとに異なるアイコンを Identicon と呼ぶみたいです。

GitHub Identicons
Identicons!

GitHub の Identicon を確認する

Gravatar がされていると、通常そのユーザーの Identicon を見ることはないですが、次の URL にアクセスすると、ユーザーの Identicon を確認できます。

https://identicons.github.com/GitHub_User_Name.png

5×5 のドットで、左右対称で構成されているようですね。このアイコンは、2013/8/15 から採用されています

GitHub の Identicon でライフゲーム

この Identicon を使って、ライフゲーム をしている例が、ちょっと検索した感じではなかったので、作ってみました。

次の URL で、GitHub の Identicon でライフゲームのルールで、ステップさせた GIF アニメ画像を得られます。世代を進めても変化しない場合はその時点まで、もしくは30回まで世代を進めた時点までのループする GIF アニメです。

http://identicon-life.azurewebsites.net/GitHub_User_Name

GitHub pronama

GitHub jz5

自動生成される 5×5 ドットの模様の周辺も使い 7×7 ドットあります。

ソースコードは、GitHub から。ASP.NET + Visual Basic です。System.Drawing.Bitmap から、GIF アニメを作るために、NGif, Animated GIF Encoder for .NET を使っています。

Web ブラウザー拡張化は?

これをさらに、Web ブラウザー拡張化しようと思ったのですが、CSP (Content Security Policy) で、img src に使えるドメインを制限されているんですね……。

JavaScript で DOM を操作し画像を差し替えるような拡張 では、対応できないので、とりあえずあきらめました。冒頭の GitHub ページのアニメは、ローカルの保存して URL 書き換えしたものです。