2008年06月29日

カーネル読書会

ミラクルリナックス吉岡さんにお世話になって、第88回カーネル読書会で話させて頂く事になりました。

お題はHadooooooooop!です。

- 第88回カーネル読書会のおしらせ

是非お越しくださいませ :-)

2008年06月27日

複数マシンへHadoopをインストールする

Hadoop記事の第3回が公開されました。

今回はついに複数マシンでHadoopを動作させる方法を解説しています。次回は大倉さんの記事になります。

第1回、第2回は以下になります。

2008年06月23日

東京大学理学部情報科学科のHPがリニューアル

うちの学科のHPがリニューアルしました。色々な人の努力が結集されているみたいなので、宣伝させていただきます。

- ホームページ

大学3年生からの人も、大学院からの人も、是非ご覧下さい。

2008年06月21日

tbb::parallel_sort

oxyたんがstd::sort速くなったらいいなあと呟いていたので、Intel TBBを試してみた。

インテル スレッディング・ビルディング・ブロック ―マルチコア時代のC++並列プログラミング

id:nishidakeisukeさんも最近書かれていましたね。

- インテル スレッディング・ビルディング・ブロック

オライリーの本自体は4月ぐらいに読み終わっていたのだが、実際に試してなかったので試してみた。

tbb::parallel_sortの続きを読む

2008年06月19日

Erlang勉強会

Erlang勉強会

行ってきました。初mixiオフィス。

Dynamoのアルゴリズムに関しては知ってる話だったので、僕としてはErlangの実装の所が色々と楽しかったです。プログラミング言語Erlangを4月に読んで、結局実際に書かずじまいになってるので良くないなあ。

あとTokyoTyrantではepoll(2)で読み込み可能なfdをゲットしてそれをqueueに入れて、スレッドプール(8 thread)で同期的にread(2)して処理しているらしい。

それだとまだ届いてないパケットが有る時にread(2)がブロックして最大性能が出ない気がするのですが、mixiで実際に運用してる所をみるとあんまり関係無いのかしら。

僕はいつもepoll(2)ループでプロトコルの終端までread(2)してから、その内容と共にqueueに突っ込んでたので、あれ?と思ってしまった。

打ち上げではid:tasukuchan、瀧内さん、みかかの人達と分散系・アルゴリズム系の話をしていた。余りにも面白かったので、一部の人としか話せなかったのはちょっと勿体無かったかな・・・。

2008年06月05日

iアプリ

寝つけなかったので、田中さんとチャットしていたら、こんなものが出てきた。回顧エントリ。

iアプリコンテスト「たたかえ! iアプリ」,作品2次募集開始

僕が一番最初に書いたプログラム。このコンテストは結局落選したんだけど、色々と楽しい思い出が。

当時、布留川さんが簡易シューティングゲームを作るような記事を書かれていて、そのソースを印刷して勉強してた。ネストしたforの動作が分からなくて悩んでた記憶がある。

Javaの入門書とか読んでもつまらんサンプルしか無いので、今考えてもこの勉強の仕方は良かったな。

公開されてたシューティングゲームをデコンパイルしてソースを読んで複雑な敵の動き方の実現方法とかを勉強した。なんでいきなりデコンパイルを覚えてたのかは謎。絵は友達にペイントで書いてもらった。

アプリを10kに収めないといけないので、ループ変数をstaticにして縮めた。そのせいでスレッドを使ってループを回すとバグって、その原因を見つけるのに1週間かかったりとか。確か適当に衝突判定ループ全体をsynchronizedとかで囲んだ気がする。

10kって10000byteじゃなくて10240byteだったときは嬉しかった。

オブジェクト指向とか知らんから、適当にドット付けてコンパイルが通ったらラッキーってな感じで開発してた。

そのくせ数十万DL有ったりとか。電車で隣の人が僕のゲームやってた時はコンピューターってすげえ!インターネットってすげえ!って思った。プログラミングで、UO & Diablo中毒が治った。

6年は早いなあ。未だにあの感動が忘れられなくてキーボードをカタカタやってますよ。