このサイトについて

Python Conference 2008 Day3

Python Conference 2008 Day3

PyConもいよいよ三日目。プレゼンテーションの最終日です。今年はライトニングトークが多く設定されています。大人数を対象としたプレゼンテーション は夕方には終わってしまう。また,会場となっているホテル一階のBallroom(ボールルーム)以外にも,地下の小部屋もPyConのために occupyされていて,誰でも予約して,好きなようにトークができるようになっています。地下の部屋では,より小規模なプレゼンテーションやBOFが開 催されています。
PyConのトークは「プロポーザル」「エディタの評価」「承認」という手順で決まって行きます。今年は応募の枠に対して2倍以上の申し込みがあったよう で,そのような背景から,Ballroomのトークは「大物」が多くなっています。地下の小部屋で行われるトークやBOFの方が,よりジャストミートで琴 線に触れるトークが聞ける,という点では面白いかも知れませんね。「あ,このフレームワーク俺使ってるよ,こんな人が作ってたのか」的な驚き,喜びがあっ て楽しい。
三日目は,早起きして二日目分のエントリを書いて,シャワーを浴びてジムで軽くあせをかき,朝食を食べてキーノートを聞きにBallroomに出かけました。

day3_1.jpg

Kyenote : Making Client-Side Python Suck Less

Aza Raskin「さん」,というか「クン」のトーク。Macintoshの初代開発リーダーJeff Raskinの長男,10歳の頃にはじめてユーザ・インターフェースにかんするプレゼン テーションをして,21歳で物理の教科書を共著で出版して,23歳の時にSongza.comを立ち上げて,現 在はMozilla Lab User Experienceチームの長をやっているというまさにサラブレッド。アメリカってこういうマルチでスーパーな人がいるので面白い。
トークは15分くらいと短く,かいつまんで言うとPythonはUIすばらしいけど,サイズがでかいので配布が大変。Mozillaに埋め込む,みたいに 「プラットフォーム」として捕らえた方が,みんなが幸せになれるよね,というような内容でした。あ,このコは東大とシカゴ大学と共同で暗黒物質についての 研究なんてこともしているのか。すげえやこりゃ。
day3_2.jpg

Keynote: "Snake Charming the Dragon: the past, present and future of Python and Mozilla"

Windows版のPython開発者として名高いMark Hammondさんのトーク。Active StateでKomodoを作り,現在Mozillaで仕事をしている彼が,PythonやMozillaの歴史を振り返りながら,関連性や将来について お話ししてくれました。
MozillaにはXPCOMというクロスプラットフォームのコンポーネントが内蔵されています。レンダリングエンジンGeckoは,XPCOMのコン ポーネントとして実装されています。そのため,MozillaはWindowsだけでなくMacOS X,Linuxなど複数のプラットフォームで稼働するわけです。XPCOMコンポーネントとしてPythonも提供されており,Markさんは PyXPCOMの開発者でもあります。
Mozilla 1.9からはPyXPCOMが搭載されていて,MozillaでPythonが利用できます。トークでは,MozillaとPythonの事例として SikeSourceなどを紹介していました。トークの最後には,EcmaScript v4のオープンソース実装Tamarinなどにふれつつ,Mozilla 2.0の構想などについても紹介していました。
day3_3.jpg

Keynote :OLPC Update

去年もOLPCについてのお話をしてくれたIvan Krstićさんのプレゼン。プレゼンに使う予定だったMacが調子が悪く,プレゼンシートをトークの直前に作り直したのだとか。そのため,順番がひとつ入れ替わっていました。
OLPCとは,One Laptop Par Childの略。インターネットが通じていない地域を含め,世界中のすべての子供にラップトップコンピュータを手渡すために,安価で使いやすいノートPC を作ろう,という壮大かつ夢のあるプロジェクト。去年のトークから一年たって,開発も進んだようです。「まだやるべきことはたくさんある」と前置きしなが らも,完成型に近い実機も制作されはじめているようです。
今回のトークでは,開発の進捗も含め,実機をペルーなどに持って行き,実際に現地の子供に使ってもらったときの様子をリポートしてくれました。訪れた場所 は,人口が分散していてたどり着くにも歩いて数時間かかるような場所。子供は,コンピュータを見るのは初めて。そのような状態で,OLPCを持ち込み,学 校で実際に子供に使ってもらった。結果,ものすごい勢いで使い方を学んで,一時間もせずにムービーを作り始めたりしたのだそうです。子供だけでなく,親や 先生も含め,こんなに密度の濃い時間は初めてだったと驚いていたそうです。訪問当時の模様は,彼のブログ(http: //radian.org/notebook/page/5, http://radian.org/notebook/astounded-in-arahuay, http://radian.org/notebook/occupational-hazards)で読むことができます。
Ivanさんが「オープンソースを広めるってこういうことだよね!」と熱っぽく語っていたのが印象的。三日間のキーノートの中で一番ホットなトークでした。
day3_4.jpg

Core Python Containers -- Under the Hood

Pythonのコア開発者Raymond D Hettingerさんによる,Pythonの実装についてのトーク。複数の要素を持つオブジェクトを表現するための内部的な実装「Containers(コンテナ)」の仕組みやアルゴリズムについてのトーク。
たとえば,Pythonのリスト型,辞書型などはすべてContainersに依存しています。Pythonのオブジェクトも辞書に依存していますので, Pythonのプログラムの多くの部分でContainersが働いていることになります。Containersの挙動を知ることで,よりメモリ消費や速 度面でより効率的なPythonのプログラムを記述することができるわけです。
まずリストの場合。Pythonのリストにはどんな種類のオブジェクトも登録できます。Containersに登録されているのはオブジェクトのポインタ です。リストを最初に作ると,4つの要素を保存するためのメモリ領域を取得します。5つめの要素を追加すると,さらに4つの要素を追加します。メモリ領域 を増やせればそれだけで処理が終わりますし,そうでない場合にはreallock & copyが起こります。
追加のパターンは「4,8,16,25...」と増えてゆきます。結果としてO(1)のコストでリストをメンテナンスできます。append()やpop ()はメモリの再配置を伴わないので高速ですが,insert(n, x)やpop(n)はメモリの再配置を伴うのでO(n)時間を要します。
set型については,最小のサイズが8で,3分の2が埋まったらサイズを増やす,その後は4の倍数ぶんづつ増えてゆく。また,オブジェクトのコピーなどの 場面では,できる限りrehashを「しない」ようになっているそうです。逆に,オブジェクト生成時は常にhash生成が行われるので,使い回しができる オブジェクトであれば変数に代入しておくようにした方が効率がよい。おな,辞書型については,set型と同じような規則が適用できます。
会場は満員。コンピュータサイエンスの授業みたいで面白かった。
day3_5.jpg

IronPython: The Road Ahead

Jim HuguninさんのIronPythonのセッション。日本では書籍が出ているくらいなので,IronPythonについて今更説明する必要もないで しょう。IronPythonについてのこれまでとこれから,そしてMictosoftはオープンソースにコミットしてゆくよ,というような内容。
現在,IronPythonはJimさんを含めて5人のチームで開発をしているそうです。
また,デモの中で,IronPythonを使ってDjangoを動かしていました。Djanogのソースをほとんど書き換える必要がなく,動いていました。
IronPythonはPythonのレグレッションテストをできる限り通すことを目標に開発されています。Pure Pythonに近いPython実装といえるわけで,Djangoがほぼそのまま動いてしまうということですね。

CATS

午後のライトニングトークをブッチして,ホテルの隣でやってたCATSを見た。最高! ミュージカル大好き!!
day3_6.jpgday3_7.jpgday3_8.jpg

摩天楼で夕食

夕方からは,ymasudaさんとa2cさんとレンタカーでシカゴの市内に出かけてゆきました。摩天楼をドライブして,どまんなかのシュラスコやさんで夕食。シカゴはアメリカで最初に高層ビルが建った街で,摩天楼発祥の地と言われているそうです。
せっかくアメリカに来ているのだから,Conferenceだけでなく,アフターも楽しまないとね〜。

day3_9.jpgday3_10.jpgday3_11.jpgday3_12.jpg

2010-08-27 04:47