Kawasaki Code Camp #4 in Harumi

いつにも増して密かに開催されたCode Camp #4 in Harumiに参加してきました。今回はPython旅館から名前を変えてCode Campとなって初めての回だったわけですが、前回と大して変わらずグダグダなまま進行して…と思っていたら、今回は大きな成果が出ました。
ひとつは、Tornado翻訳です。ちょうど当日にTornadoが発表され話題になっていました。初めはいつも通り「Tornadoどうなの?」的なノリだったのが、id:Voluntasの無茶振り「ドキュメントを翻訳してよ」になり、そこからエネルギーの固まりことid:ymotongpooエンジンがかかり、結局翻訳が完了してしまいました。横から見ていてものすごい盛り上がりだったのでなんだか割り込めずにいました。渋川さんによる詳細なまとめもあります。
二つ目は、…。PythonErlang非モテ系だし、CSS Niteを初めとするWeb系はモテということを定量的に測定するためのツールの開発をid:Ehrenが開始しました。実際のプロトでは、会場にいた人間は軒並み非モテ度10%強だったのに対して、Web系のイベントに参加している人を測定したら簡単に70%を超えたりと、順調に開発が進んでいます。不肖私のモテ度は10.1%くらいだったように思います。底辺ですね。いつかモテ系のITイベントで発表して若い女性開発者からキャーキャー言われるようになりたいです。
私はといえば、なんかグダグダしてました。tornadoのコードを読んでみたりdjangoをちょっと動かして満足したり(Postgresqlに繋ごうとしたらpsycopg2が入らなくて断念したとか)、グダグダどころかダラダラして、翻訳スプリントを横で眺めながらボーッとしていたのですが、それではあまりだと思って最後に何とかPython x Erlangなコードを書いて終わりにしました。

perylの背景

Erlangはコネクション指向のめんどくさいサーバにとても向いています。一方でRDBMSのような高級なスキーマやロジックを奇麗に表現するには、末尾再帰とimmutableなオブジェクトだけでは不十分(というかプログラマの自由度があまりに低くて、それがいいところでもあるんだけど…)。
他方、PythonはFault Tolerantなサーバを書くにはちょっと不十分な機能セットやお作法だったり、実績がちょっと…というところがある一方で、その表現力、簡潔さ、アプリケーションロジックの実績においてはRubyPerlと同等か、それ以上のものがあります。
というわけで、Erlangなサーバの上でPythonのエンジンが動けば面白いかなぁと思っています。コミッタ募集中です。
一方で、YawsなんかはRoRプラグインのためにmod_fcgiを動かせるようになっています。個人的には、それがPort Driverで動いているのが気に入らないというだけです。。。せっかくマルチコアで強力に動いているのだから、Linkedin Driverで動けば性能出るんじゃないかなぁとか思ったりします。Port Driverで動いている場合にももちろんメリットはあって、エラーやバグへの耐性が高くなります。ですので、開発環境ではPort Driver, 本番環境ではLinkedin Driverで…というような使い方ができたらかっちょええかなぁと思ったのであります。結局、アーキテクチャとして何が一番嬉しいのかは、もうちょっと考える必要があるかもしれませんが。

こういうイベントの素晴らしいところ

  • ちょっとしたことを口頭で訊けるところ。私は主にPython C APIなどについて教えてもらいながら、mercurialとかEmacsの使い方(といってもとっても常識的で基礎的で誰でも知っている話)を説明したりしました。これで皆さんのお役に少しでも立てるなら嬉しいですね。
  • やたらいろんな情報が集まるところ。Tornadoなんてもちろん知らなかったし、AppleからGCDがOSSで公開されたことなんてそうそう簡単に情報とれません。あとはWebSocketsの仕組みとか、他所の勉強会の様子が気になるとか。