wiki:PyCon2008

PyCon 2008 シカゴ 特設ページ

このページは ymasuda が編集しています。

2008/03/13 18:00(JST)

関空に来ています。。。朝から準備で走り回ってました。手荷物を鞄一個にまとめるためにあらゆる手を尽くしました :) おかげで身軽に移動できそうです。ひげ剃りとか歯ブラシとか細々したものは現地調達。

関空特急で関空まで移動。関空特急って、意外に速いんだね。自宅から1時間かからなかった。

eMobile で本社に電話+iChat。帯域が狭く本社が印象派の世界 に。 そうそう、AUのGRP (国際ローミング) で自分の携帯、ローミングしてますよ。 1分190円かかるけど。現地にいったらNOKIAの端末に切り替えます。

それじゃ、行ってきま〜す。

2008/03/13 21:30 (CDT)

シカゴに着きました。ジェットラグで眠れません。ホテルにチェックインして、部屋でぼーっとしていると電話が。「お客さん、パスポート忘れてますよ」危ない。

宿泊先は会場から4kmほど南にあります。最初はバスで行こうと思っていたので、周辺の治安をチェック。 http://chicago.everyblock.com/ (ここの犯罪情報 データベースはDjangoで書かれている!)によると、特に犯罪多発地帯ではないよう。

2008/03/14 10:30 (CDT)

カンファレンス初日です。ちなみに昨日はチュートリアルでしたが、 増田は移動日で出ていません。

会場はものすごい人だかりです。1000人入るホールが満杯です。 柴田さん 中村さんが席をとってくれていました。感謝。

David Googderが出てきて開会の挨拶。プレナリトークはWhite Ork Technologyという研究開発企業でした。

さて、今話しているのはGuidoです。話題はもちろんPython3000。すでにalphaバージョンは出ていますよね。2.xと3.xの違いはすでに何度も取り沙汰されていますが、スピーチで気になったのはString型とUnicode型の定義。特にC APIの変更です。ほとんどのC拡張モジュールが影響を受けます。C拡張モジュールを伴うパッケージの開発プロジェクトは、移行に時間を要したり、開発ブランチごとにリソースが分散するといった影響を受けそうです。

質問時間で、DjangoプロジェクトのJacob-Kaplan Mossが何か質問をしていたのですが、うまく聞き取れませんでした。

11:00

SQLAlchemy+Jython の話を聞こうとしたけど、xzODBCの話に終始していたので、隣のBuffer Interfaceの話に移動。SciPyのTravisが話していました。メモリバッファへの直接アクセスはstructやarray, Ctypesである程度できまるのだけれど、多次元データのスライスやビュー(元のメモリ領域を参照しながら、見せ方だけを変える)オブジェクトのAPIを提案していました。一刻も早く、コアの機能として使えるようになって欲しいです。

11:35

ElasticWulfクラスタ: AmazonEC2 を使ったクラスタコンピューティング環境。これは面白い。 EC2でロード・実行できるマシンイメージに、numpyやtwistedやPyMPIをインストールしてあって、ハードウェアを持っていなくても疎結合のシステムを簡単に作り出せるそうです。まだ安定していないそうですが、これからが楽しみ。Stacklessにも対応して欲しいなぁ。

12:10

Stackless 101: Stackless Python 講座だった...ようだけど、ショップに出て買い物している間に終わってしまった。その代わりといっては何ですが、お土産たくさん買いました。バッグが一杯です。お楽しみに!

12:40

柴田さん、中村さんに、Brian Dorseyさんと、Maciej Fijalkowskiさんを加えて、会場で配られたランチボックスで昼食。柴田さんが持ってきたDevCampのムービーで盛り上がる。

14:10

OptparseとSubprocessを使いこなそう、というお話。スレッドプールを使ってサブコマンドの実行を並列化するサンプルを中心に解説していました。10-90% lawを小気味よく実現していて興味深かったです。網羅的な負荷試験やバッチジョブを書くときに便利そう。ぜひ覚えておきたいテクニックです。

14:45

粛々と守られるスピーチスケジュールにショックを受けています...

隣の部屋のTurboGears+Dojoを激しく気にしながら、システム管理にPythonを活用しようというお話。残念ながら、スライドもなく、ひたすらお話するだけでした(途中で寝てしまった)。

15:20

Adrian の State of Django. 会場はほぼ満杯。ああ斜め前にGuidoがいる。「Django使ってる人は?」の質問にほぼ全員が挙手。0.96以後の主要な開発トピックについて説明した後、最近のブランチの紹介。New-Adminやモデル継承の話題を聞く限り、まだまだDjangoのAPIは変化してゆくようです。

トークの終わりにJacobにマイクが渡されました。この部分、よく聞き取れなかったのですが、JacobはDjangoのFoundationを設立して、自身は独立してフルタイムでDjango開発に専念するそうだと、後で教えてもらいました。

15:55

Djangoの内部構造についての解説。メタクラスを活用したモデルクラス構築を分かりやすく解説していました。

終わったところで、Djangoの開発者たちが集まっていたので、Adrianを呼び止めて握手してきました。Japanese userはたくさんいるよ、本を出すつもりなので、来年持ってくるよ、と伝えました。 Malcolmとも話したかったけれど、今回は来ていないとのこと。残念。

2008/03/15 09:00

朝4時くらいから起きています。帰りの飛行機が8時なので、これくらいのサイクルをキープしておかないと。

さて、カンファレンス2日目。キーノートの一人目はBrian Fitzpatrick。 ユーザに受け入れられるサービスを「真実を語れ」「怠惰は敵」「お客様第一」「迅速第一」という言葉で分かりやすく解説。

Van Lindbergのオープンソースと知財の話。財のありかたを4つの種類に分けて、「情報」を「Public Good」と位置づけていました。新たな知識を生み出すには膨大なコストが必要な一方、複製のコストは低いものです。知財とは、知識と法の複合体で、オープンソースは「知財と協働のトレードを成り立たせる法的な産物」と定義していました。ソフトウェアの公開性を囚人のジレンマになぞらえ、OSIの憲章を引用して、ソフトウェア公開すれば、短期的に「自分の」懐に入るはずの利益(個の利益)を失うように思えるが、それはローカルマキシマにすぎない、協働しやすくすることで、長い目で見れば大きな利益(全の利益)を得られると説いていました。

チェアパーソンのDavid Goodgerが通りかかって目が合ったので、挨拶。アクセンスから来たことを伝えて、とても規模が大きくて活気のある、すばらしいカンファレンスですねと話しました。

11:35

昨日昼食を一緒にとったMaciej FijalkowskiのPyPyの発表。この発表を聞くまで、ただのJust another Python implementationだと思ってました。値を返す関数をラップして遅延実行できるだけでなく、ラップした関数の型が戻り値の型になっている!これは凄い。open('tcp://127.0.0.1:8080')で'''file型を返させて'''、'GET /'をwrite()するとレスポンスをread()できるように作れるなんて、面白い!

12:10

James Bennetによる、再利用可能なDjangoアプリケーション開発方法の発表。Djangoアプリケーションを開発するときのポリシーを確かめようと参加しました。内容は予想通りで、アプリケーションを開発するときの機能の切り出し方や、サイトごとにアプリケーションの設定を変えられるようにするにはどうすればよいかを解説していました。プロジェクトは本質的にはsettingsとurlsだけでしかない、のです。やっぱり。

12:40

昼食。今日はランチボックスじゃなくてバーガーが出ました。自分で調節できたはずなのに結局残してしまいます。昼食後フラフラ歩き回っていたら、Brianさんと会ってしばらく会話。そこにGeoffrey Jostという方が来て、関西弁で挨拶してくれました。ロスの日系人博物館で働いていたとのこと。日本にも留学していたそうです。

14:10

午後の最初のトークは、めぼしいトピックがないので休憩。眠い...

14:45

居眠りして、Tracプラグインのトークに遅れました。カスタマイズポイントを早口で説明しています。最近のTracコアにはjQueryが組み込まれていることを初めて知りました。うちの社内でもTracをもっと活用しようという話題が出ているので、これを機に、「使いこなすために手を加える」ステージに進化したいですね。

15:20

MaciejとBrianによるpy.testのトーク。会場の人に、どんなテストフレームワークを使っているか聞いたところ、(前列を中心に)80%くらいがunittest、noseが10%、doctestは20%くらいでした(計算が合わないのは、複数回答があるから)。py.testはunittestよりももっとシンプルにテストを書けるようですね。PyPyと組み合わせて、JavaScriptのテストレポータを動かしたり、分散テストのフレームワークを持っていたりして興味深いです。小さなプロジェクトなら、buildbot+unittestよりもこっちの方が組みやすいかもしれません。

お土産

えーと、急いで買ったのでよく覚えていないんですが、キャップが3つ、ぬいぐるみが2つ、シャツが4,5着、Djangoブランケットが一つ。 「Python 温泉」というイベントで皆さんにプレゼントさせていただきました。