はじめに
こんにちは、Python界の情弱です。忘れない内に書いておこうと思ってPyCon JP 2012に参加してきた感想やらメモを残しておきます。
1日目 (9/15)
Keynote (@mitsuhiko, Armin Ronacher)
Jinja2, Werkzeug, Flask, Sphinx等々の作者であるArmin Ronacher(@mitsuhiko)によるキーノート。内容はPythonに関するというよりも開発者全般に関する話で、色々な事を無視することで幸せになれるよという話。OSSでゲームを開発している人たちの話を例にあげて、どんなに自分がやっていることが前時代的で、実装が汚くなってしまったとしても、動くものを作るというのが大事で、まずは周りのことは気にせずにやってみよう、という開発を奨励するセッションでした。初っ端の基調講演がそういった内容で、後続のセッションが(自分も含めて)紹介系のものが多かったのがちょっと残念だったかなあという印象を後で覚えました。といってもPythonista、ギリギリまで再実装を好まない風潮あるので、使い方紹介が増えるのは仕方ないかなあと思ったり。
ナウでヤングな17歳のVPS構築記 (@yoshida95, Kohei Yoshida)
高校2年生という若手の発表者。こういう場できちんと落ちついて発表していたし、内容もわかりやすくまとまっていて、素直に尊敬する。すごいなあ。
KVM/QEMUとlibvirtを基盤として、WebSocket経由でVNCを飛ばし、ブラウザで全てコントロールできるVPS環境を自作したよ、という話でした。VNCをWebSocket経由で飛ばすライブラリは、サーバ側が認証とかぜんぜん出来ないから書きなおしたと。
デモもきちんと動いていて、素晴らしかった。
Clime: With A Line, Convert Your Functions into a Multi-Command CLI Program (Mosky Liu)
CLI化ツールであるClimeの紹介とその使い方。正直argparseやPaver使えばいいんじゃないの?と思うところはあったけど、モジュールをインポートするだけでCLI化できるっていうのは手軽かもねー。
Gunicorn what’s next? The new web challenge (@benoitc, Benoit Chesneau)
gunicornの作者であるBenoit Chesnearによるgunicornの内部動作に関する話と、Python3対応に関する話。gunicornの内部構造をコード読まないとよくわからなそうな部分も含めて図解してくれたのですごく良かった。Python3対応版は来週にもリリースするとのこと。講演後には@mopemopeに「meinheld のPython3対応が終わったらぜひ教えて下さい!」という挨拶を交わし、個人的にはPyCon JP 2012で最高のシーンとなりました。
Gathering and visualizing metrics with ZeroMQ, Redis & Graphite (Brian Dorsey)
タイトルのとおりZeroMQとRedisとGraphiteで大量のメッセージをリアルタイムで可視化をしてみましたよという話。メッセージの部分は汎用的な話なので、数十台のサーバからのメッセージ可視化に興味がある場合はいいかもしれない。残念ながら自分がそのようなシステムを自分で作ることはしばらくはないけれど、話として面白かった。
PyCon JP Party
BeepLoudとして、オーガナイザーである @moriyoshi と、エースDJの @AE35 と一緒にDJをしてきました。@ikasamtが日付を1日勘違いして来ないというまさかのイベントがありましたが、 @mopemope も緊急加入というめでたいイベントもあり、これからますますBeepLoudに目が離せなくなりました。
また後半は @AE35 によるDJ教室も開催され、かたっぱしからDJデビューさせるという大変有意義な会となりました。LTでは @moriyoshi が懐かしの Phython、Puby、Rython を発表し、相変わらずの才能の無駄遣いっぷりを見せつけてくれました。翌日基調講演をされる弾さんも「明日はみなさんの敵になりますのでそのつもりでよろしくお願いします」という宣言もあり、大いに盛り上がりました。
海外からの参加者とも交流が持て、非常に楽しい会となりました。
2日目
Pythonおじさんのweb2py挑戦記 (@nakayoshix, Yoshiyuki Nakamura)
web2py使って色々とシステムを作ってきた経験のお話。「諸事情で発表が出来なくなった部分が大幅にあった」とのことですが、であればweb2pyではまったところに関してもうちょっと言及してもらいたかったなあという印象。
Sublime Text 2 を使おう (@kawanoshinobu, Shinobu Kawano)
Sublime Text 2、インストールだけして全然使ってなかったけど、Pythonで拡張書けるし前から気になってた。Sublime Textの機能そのものよりも、Sublime Textが生まれた経緯とかの話が聞けて楽しかった。
Pythonを取り巻く開発環境 (@ymotongpoo, Yoshifumi Yamaguchi)
自分の発表。前日のパーティーで騒ぎすぎて声が枯れて普段より低い声だった上に、なんか緊張して大分偉そうな雰囲気になってしまった。話した内容に関しては次のエントリにまとめました。
オープンスペース
python.jpの今後の運営に関する話をしました。議事録は次のURLの通り。僕はpython.jpのリリースマネージャとなりましたので、これからpython.jpのリリースに向けた作業を始めます。
基調講演 (@dankogai, Dan Kogai)
前日のパーティーで「僕は明日はみなさんの敵になりますのでぇー。やっぱりこういう場にはそういう役回りがあるほうが燃えると思いますのでぇー」とにこやかにプロレス宣言して下さったので、当日は良い感じにプロレスが行われていた。
やっぱりなぜいまその実装になっているかという経緯を踏まえた場合と、外から見て純粋に挙動を見ての感想とでは大きく違うなと思ったし、特にPerlでさんざん文字周りを実装した@dankogaiならPythonの文字周りの物申したくもなるだろうという感想。ただ、Python 2系とPython 3系をごちゃごちゃにして話していた部分もあり、もうちょっと今の状況を調べてもらえたら良かったなあ、と思った。
実際指摘されてた問題はPython 3.3で改善されているものも多いし。あとZen of Pythonがすべて達成されてたらPythonは神言語になりすぎてしまって、他の言語が存在する意義がなくなってしまうので、やっぱりあれを踏まえて少しずつ改善して行きましょうよというのがいいと思う。
あともう1つ「Battery Includedと言ってるなら、皆さんが使ってる3rd partyライブラリが全部標準に取り込まれるべきだ」というのはまったくの極論すぎて的外れだし、パッケージ管理に関しては僕のプレゼン見て下さい。
というわけで、結構強引なところがあった基調講演でしたが、自分のホームでない言語でこれだけ語れるそのバックグラウンドにはやはり文字周りをひと通り見てきたという経験があるわけで、Pythonistaからはめったに聞けない講演で大変おもしろかったです。またぜひPyConにお越しください。
ミニ四駆で Python on Windows Azure (Takahiro Fujiwara / Michiya Takahashi, Masaki Takeda)
Kinect使ってミニ四駆動かすデモも面白かったし、AzureでLinux動かせること知らなかったし、VS2012のPythonプラグインがすごくよさそうだった。あとクラウディアさん、仕事お疲れ様でした。
ソーシャルゲームとメッセージキュー (@cooldaemon, Masahito Ikuta)
Erlangerの幾田さんがPythonでソーシャルゲーム使っている会社でどうやって非同期処理を行なっているかを紹介したセッション。キューイングに関する説明がすごくわかり易かったので、あのスライドは今度使いたい。RabbitMQとZeroMQの使い分けに関してもわかりやすく紹介されていたので、自分の理解も整理されてよかった。
総括
去年の運営と比較して、経験が生きたのか大きなトラブルもなく素晴らしいカンファレンスだったと思います。内容としては自分も含めて紹介系が多かったかなと。その中で数少ない開発報告系のセッションが短い時間となってしまったことは個人的には残念でした。English Trackでは「こういうツール/システムを作った」という発表が多かったので、やはり来年はそういうセッションが増えることを望みます。しかも来年はPyCon APACが日本で開催されるということで、English Trackが基本となるはずなので、来年に向けて盛り上げていきたいなと思いました。
来年になれば大分Python 3.3も枯れ始め、Python 3.4のリリースに向けた話題も出ているはずなので、どんな話題が多くなるのか非常に楽しみです。ではまた来年。