年の瀬なのでGoogle作ったソフトのリポジトリ(github.com/google)まとめてみた!
google (Google)には、いろいろとすごいソフトウェアがあるようだったので、まとめてみました。ぜひとも開発に活かしたいです。
★の多い順に紹介してみます。ちなみに1つも使ったことがないので、そこは割り引いてください。
Gumbo - A pure-C HTML5 parser.
Cで書かれたHTML5のためのパーサーです(PythonでいうBeautifulSoup、RubyでいうNokogiriに対応するソフトウェア)。当たり前ですがC言語(C++)で使うことができますが、Pythonバインディングが公式に提供されているようです。Ruby用、JS用、Objective-C用などもあります。
lmctfy - Let Me Contain That For You
疎くて自信がないのですが、「コンテナ」的な、VM界隈的な、OS仮想化的なアプリケーションみたいです。lmctfy を試す (1) - TenForwardの日記に詳しいですが、LXCと同じレイヤーに位置するそうです。
Web Tracing Framework
公式サイトもあります。デバッグなどのためWebアプリケーショのトレースをするためのエクステンションです。メソッド呼び出しのタイミングを測れるようで、GC(ガベージコレクション)のタイミングなども測れるようです。JSを使ったリッチなゲーム制作に、とても有用そうです。
Traceur
次の世代の言語仕様のJS(EcmaScript 6)を、現行の仕様にコンパイルするコンパイラーです。例えば、ES6では、次のような代入が許可されています(参考:JavaScript (ECMAScript) 2013)。
[a, b] = [1, 2];
これを次のような現行仕様にコンパイルします(デモ)。
var $__2; ($__2 = [1, 2], a = $__2[0], b = $__2[1], $__2);
Lisp Koans
神の言語ことLISPをRuby Koansの要領でテストケースを通じて学ぶみたい。
iOS WebKit Debug Proxy
ChromeのDevToolみたいなものを、iOSのWebkitのデバッグのために使うためのProxy。インスペクター的な
Module Server
効率よく依存関係を解消してJavascriptを提供するためのサーバーの、デモ実装です。JSConf EU: A novel, efficient approach to JavaScript loadingのプレゼンテーションにて、どういった手法なのか説明されています。
LiquidFun
公式ページもあります。Box2Dをベースにして作られた、C++で書かれた物理エンジンです。
Hesokuri
Gitのリポジトリを、複数のPCに複製したり、バックアップしたり(=同期)するためのソフトウェアです。例えば家のPCと、個人のサーバーがあったとして、サーバーの方に同期したりできるようです。私はよく、家のPCでソフトウェアを書いて、サーバー側にデプロイして、サーバーの方で手直しして、家のPCにpullしたりするのですが、どちらも個人のPCなので、いちいち中央のリポジトリを経由するのはあほらしいです。
scpで同期するみたいなので、global環境でも問題ないはずです。
Web Latency Benchmark
ブラウザのベンチマークツールです。
Pinject
PythonでDependency Injection(DI)をするためのライブラリです。
Maktaba
VIM SCRIPT!!!!!!
Vim pluginを書くためのプラグインです。
Kratu
公式ページもあります。構造化されたデータを分析するためのプロダクトです。使いどころがむずかしい感じがしますが、各カラムに重みをつけたスコアでソートしたりできます。
pepper.js
Pepper API向けに書かれたCのソースをJavascriptに変換するためのソフトウェアです。このあたりの話は、Google Native Client - Wikipediaに詳しいです。
Patchfield
Android用のAudio系ライブラリです。シンセや音声エフェクトアプリのように、focusedなアプリケーションを、パッチのように組み合わせるためのライブラリ(?)
Signet
Ruby向けのOAuthの実装
namebench 2.0
自分のブラウザ閲覧履歴を使って、一番良いDNSをレコメンドしてくれるらしい。なんかすごい。
devtoolsExtended
Devtoolの実験的なエクステンション、という位置づけみたいです。
その他
行列分解の実装とか、音声エフェクトの実装とか、特に「Googleっぽい」ということもなく、20%プロジェクトで作ったものを上げているようですね。