Personal tools
Document Actions

PyCon08 Chicago

Up one level
2008年3月,イリノイ州シカゴで開催されたPython Conference 2008に関するエントリをまとめています。

Document Actions

PyCon08 - Day 0

イリノイ州はシカゴで開催のPythonistaのお祭り,Python Conference 2008 Chicagoに参加するためにアメリカに来ています。

今年は前後一日ずつ余分に日程をとりました。初日は昼頃着いたので,レンタカー1時間くらいかけてミシガン湖の北に行ってみたりしました。湖岸にキャンプ場,海水(湖水?)浴場などが設置された公園がありました。今年のアメリカ東部は大寒波が来ていたようで,まだ雪が残っていました。湖畔にはシカが。人慣れしているのか,車から出ると寄ってくる。えさでももらっているんでしょうね。


夜は,シカゴ市内でお食事。同じく日本から来ている佐藤さんと一緒に夕食。アメリカンな肉料理を食べたりして,ギャル曽根になった気分。摩天楼の元祖と言われるシカゴの夜景を見たりして。



一泊した翌日は,朝イチで軽くエアロバイクをこいだりしてました。


この日はチュートリアルDayで,講師をつとめるPython界の有名人をはじめとして,多くのPythonistaがホテル内を闊歩していました。DjangoのJcob,TurboGearsのMark,IronPythonのJum Hugnimと,去年日本で公演してくれたMaheshさんなどが見えました。Maheshさんとは簡単に挨拶をして「今年は日本から3人くるらしい」などとプチ雑談しました。初日にキーノートがあるはずのGuidoは見なかったなあ。



朝食を食べようとしていると,PyConで知り合ったBrianさんを見つけた。朝食を食べながら談笑。お話しする内容は,ガジェットのことなどが中心。Pythonistaの興味は日本でもアメリカでもあまり変わらないみたい:-)。アメリカ版のEモバイル,PC接続専用のワイヤレスネット端末などを見せてもらいました。



朝食を食べた後は,シカゴ郊外に建築家のフランク・ライド・ロイトの自宅などを見に行きました。その後は,ハイウエイを使って西の方に。レーガン元大統領の出身地Dixonをちょっと見て回ったりしました。ガソリンを入れるとき,機械がカードを読み取ってくれなくてちょっとびびったり。


翌日(というか今日)から,いよいよセッションの開始です。Guidoのキーノートを録画しようと思うので,早めに行って良い席を取っておくかな:-)。

The URL to Trackback this entry is:
http://coreblog.org/ats/pycon08-day-0/tbping

Python Conference 2008 - Day1

day1_1.jpg Python ConferenceのセッションDay初日。朝の7時30分からレジストが始まり,軽めの朝食を食べて会場に向かいます。

今年は1000人を超える参加者だそうです。去年の倍。会場もむちゃくちゃ広い。キーノードなど全員参加のセッションでは,1000人の参加者が一度に集まれるように,3つの会場をぶち抜きで開催されます。端っこに座っているひとはトーカーが見えないので,プロジェクタのトーカーの姿を写していました。著名アーチストのコンサートみたいですね:-)。

Chair's opening Remarks

去年まで2年,PyConのチェアマンを担当していたStephan Deibelに変わり,ことしからは同じくPSFのDavid Goodgerがチェアマンを担当します。Davidさんはdocutilsやテキストプロセッシングに造形の深い方のようです。Steveさんはまじめな印象の方でしたが,DavidさんはFunnyな方。1000人の参加者を「1 Kiro Pythonista」と言っていたり,Guidoを「この人のことは紹介する必要はないね」などとからかったりしていました。

day1_2.jpg

Diamind keynote : Why Python Sucks(But works good for us)

Googleと同じくPyConのGold SponserであるWhiteOak TechnologyのCHris Hongnerさんのトーク。「Pythonは遅いし開発者は集めにくいし」とひとしきりPythonの「Suck」なところをリストアップしたあと,「でもPythonは便利だしすばらしいよ」とまとめるようなシニカルなトークでした。WhiteOakというのは,バイオや政府系のミッションクリティカル/ハイエンドな案件を専門にとりあつかう会社のようです。Googleと同じくC++やJavaなどのGlueとして,またプロトタイピングなどにPythonを積極的に活用しているようです。

day1_3.jpgday1_4.jpg

Keynote : Python 3000 and You

言わずとしれたPythonの創始者Guido van Rossumの50分のキーノートスピーチ。Python 3000の意義や利点,なぜ後方互換性が破られるような仕様変更が行われるのかなどについて,簡潔にまとめていました。日本語で,Python 3.0について詳しく知りたいひとはgihyo.jpの記事をどうぞ。
"Open source needs to move or die"という,RubyのまつもとさんがGoogleで行ったトークの一説を引用して変化の必要性を強調していたのが印象的でした。
Pythonはすでに生まれてから18年たっています。18年の間にはとても多くのことが変わりました。18年前はlongintはありませんでした。ネットワークから流れてくるストリームデータは,バイナリーデータも含めてテキストとして扱える程度のサイズでしたし,当時はunicodeもありませんでした。現在のPythonには設計上の誤りがあることはGuido自信も認めているところですが,そのような誤りの多くは状況の変化がもたらしているようです。
状況の変化に対応するために,またより新しいパラダイムを取り込むためには変化が必要です。Guidoは再びまつもとさんの言葉を引用して「走り続けるためには餌としてのにんじん」が必要である」と言っていました。Pyton 3.0の仕様変更は,まさに進化を続けるための原動力となるはずです。
Pythonが目指す変化の方向性は,「よりコンパクトなコア」。誰が使っても「たった一つのすばらしい方法」にたどり着けるように,曖昧さを排除し,例外を少なくしてハマりどころを取り除くことによって,よりながく,正しい方向に進化しつづけられるはずです。

Python 3.0の主な変更点としては

  • printが関数に - そもそも文であるのがおかしいし,関数にした方が機能追加がしやすい(引数を追加すればいいので)
  • テキストとデータの境界をより明確に - テキストはユニコードベースに,バイナリデータはbytes型に
  • 辞書のキーがviewを返す - すべてのキーを含むリストではなく,イテレート可能でより軽量なオブジェクトに変更
  • 型の異なるオブジェクトを比較できなくなる - リストにある要素を何でもソートできなくなります。今の仕様だと,比較できないオブジェクト同士はIDを使って比較しますので,リストに何が入っていても ソートできるのですが,こうなっているのはGuidoがPythonを作った当初は動的言語を作ることを想定していなかったからだそうです
  • 割り算が浮動小数点を返す
  • ライブラリのクリーンアップ

昔から変更したかった点,やっと変更できるようになった点としては

  • クラシッククラスをサポートしなくなる
  • intとlongの統合
  • 例外部分の変更 - 一部の機能は2.6から使えるようになります

その他,目新しい機能追加としては

  • Argument/Function annotation(引数/関数への注記)
  • 抽象ベースクラス
  • str.format()メソッド - 旧来の文字列フォーマットより協力なフォーマッティング

Python 3.0はすばらしいものだけど,移行の時期はしばらく先になりそうです。Python 3.0を使いたくても,開発に利用しているフレームワークなどが3.0に対応するのは先になることが予想されるからです。一般ユーザは,Python 3.0とほぼ同時にリリースされる予定のPython 2.6を使えばよいとのこと。また,変更点はある程度分かっているわけなので,クラスはobject型から継承するとか,dict.iterkeys()やxrange()を使うなど,将来的に3.0に移行するための備えは可能ですね。どうしても3.0版と2.6版を同時にメンテしたいなら,まず3.0版を開発して,そこから2.6版を作るようにするといい,と言っていました。
最初のPython 3.0は2.x系よりも遅くなるだろう,とも言っていました。アルファ2の時点で,3.0は2.5と比べて25%遅い,と言われています。文字列型の変更が影響しているようです。処理速度にかんしては,徐々に改善してゆくとのこと。Cで書かれた拡張モジュールを3.0に移行するのはけっこう大変そうです。開発に使うフレームワーク,モジュールがすべて3.xに対応しして,本格的に3.x系に移行できるようになるまで,まだしばらくかかるかもしれませんね。

GuidoのキーノートをXactiで録画して,blip.tvというサービスにアップしてみました。三脚をおけるテーブルが会場後部にしかなく,スライドが見にくいけど,あまりたいしたことかいてないです。

day1_5.jpg

Developing with repoze.zope2

Zope,PloneやDjango,そしてTracをWSGI Savvyに変換するというrepozeというプロジェクトについてのトーク。Zopeの場合は,単純にZServerにリクエストをパイプするような構成になっているわけではなく,ZServerをバイパスして,paste -> ZPublisherという仕組みで動く本格的なものらしい。TracをPlone風に見せるデモをやっていました。
会場からの「Ploneは早くなるの?」との質問には「Ploneは重いよね」と答えていました。Zopeの重さはZServerにあるのではなくZODBにあるので,その部分が同じ以上劇的な速度向上は望めないと思います。
Python界では猫もしゃくしもWSGIという風になっている現状を考えると,最近どうも盛り上がりに欠けるZope 2の世界に光りを当てる面白い試みだと思いました。

day1_6.jpg

A New Compiler for Jython

Jythonの新しいコンパイラの計画についてのトーク。Google Summer Codesでの開発結果をもとにしたプレゼンテーション。Python 2.5の_astモジュールを使って,PythonコードのAST木を作り,それからJavaのネイティブコードに落とし込む,という仕組みで動くもののようです。現状のJYthonの仕組みより,Pure Javaな中間コードを生成する,というねらいがあるとのことでした。Experimentalな実装である,という前置きはあったものの,なかなか筋がよいプロジェクトだと思いました。コアの部分はほぼ問題なく動いているようです。

day1_7.jpg

Stackless Python 101

高負荷なサービスをPythonで記述する場合などに利用されるStackless Pythonについてのお話。Stacklessでは,CPythonのスタック実装を(Cスタックでなく独自スタックを使うように)入れ替えているだけでなく,tasklets,channelsなどいくつかのモジュールを提供しています。そのモジュールの使い方,動作原理や利点などについてのトーク。
本来予定されていたトーカーが来れなくなって,別の人が突然しゃべることになったみたい。

day1_8.jpg

ランチタイム

日本から来ているa2cさん,増田さん,シアトルのBrianさんとPyPyのMaciej Fijalkowskiなどを交えてランチ。先週松本で開催したDevCampの画像や動画などを見ながら,いつのまにか技術と教育みたいな雑談をしていました。
なお,PyCon参加者には無料のランチが振る舞われます。

day1_10.jpg

Rich UI Webapps with TurboGears 2 and Dojo

TurboGearsの開発者Kevinさんのお話。PylonsベースになるTurboGears 2とDojoを使って,リッチUIなWebアプリケーションを作るための手法について解説していました。TurboGears 2が搭載予定の先進的な機能を使えば,リッチなWebアプリケーションを手早く作れる,ということがよく分かるトークでした。ちょっと早口だったけど,短い時間で,盛りだくさんの内容をよくまとめてありました。
Pythonの話は2割くらいで,あとはJavaScriptとかテンプレートのお話だったように思います。今時のWebプログラマはスクリプト言語だけでなく,SQLとかテンプレート言語とかJavaScriptとか,いろいろやらないとならない,ということなんでしょうねえ。

day1_11.jpg

The State of Django

Django ProjectのAdrianさんのトーク。Djangoの現状を総括するトーク。Djangoって,本体の他にいろいろとブランチがあるんですね。ちょっと使ってみたいと思いました。Adminの設定とモデルの設定と分けるとか,newformsの話とか,1.0に向けて搭載予定の機能について紹介していました。
トークの最後で,もう一人のDjango開発者Jacobさんが出てきて,2つのお知らせをしていました。一つはDjango Foundationを設立する,という話題。もう一つは,Jacobさんが現在の会社を辞めて,フルタイムでDjangoを開発するようになるそうです。会場からは惜しみない拍手が送られていました。

day1_9.jpg

企業ブース

今回のPyConでは,一部屋を使ってスポンサー企業がブースを並べていました。Googleをはじめとして,Pythonを活用していて,Python使いを雇いたい企業が10社ほどブースを出していました。なかにはノベルティを配っている企業もあり,私はGoogleの赤いノートをGetしました。そうそう,ILMがブースを出していてちょっとびっくりした。

かいもの,夕食

セッションの後は,増田さんと中村さんと私で,買い物 + 夕食を食べに外出。レンタカーを使って,シカゴ郊外にあるショッピングモールWoodfieldに行ってみました。なんでもアメリカで2番目にでかいショッピングモールだそうで,とにかく巨大さに圧倒されてきました。
その後は,ホテル近くまで戻ってシカゴピザで夕食。3人でも食べきれなくて半分残してしまいました。
day1_12.jpg day1_13.jpg day1_14.jpg
The URL to Trackback this entry is:
http://coreblog.org/ats/pycon-2008-day1/tbping

Python Conference 2008 Day2

時差の関係で4時頃に目が覚めました。昨日分のエントリを書いたりして,録画したGvRのキーノートのビデオをニコ動にアップロードしようとして失敗したりしていたら,あっという間に8時くらいになってしまいました。エアロバイクをこいでからセッションに出かけようとしていたのですが,時間がなくてムリでした。

セッションの合間に,会場をうろうろしていたりしたせいもあって,いろんな人お話をした。台湾から来たPythonistaで,COREBlogを使ってくれている人と話したり,となりに座った人から「Airってパフォーマンス悪くない?」「僕は大柄じゃないので,軽くて薄いMacがいいんですよ」なんて会話してみたり。コミュニケーション能力は重要だし,英語のコミュニケーションスキルも重要ですよ>技術者のみなさん。使い捨てにされたりしないためにも,自己投資はしっかりしましょうね。

さて,二日目のトークについて,簡単にリポートをお送りします。


day2_1.jpg

Twisted Announcement

Pythonのネットワークサービス構築フレームワークTwisted開発チームのトーク。Twistedの開発を促進,バックアップするために,Twisted Foundationを立ち上げ,スポンサー企業からの献金を募集する,というアナウンスがありました。Twistedはルーカスフィルムなど多くの企業で活用されているようで,そのような企業が出資をするようです。

昨日のDjangoセッションではJacobが独立,Django Foundationを設立するというアナウンスがあったし,Pythonの周辺では,コアだけでなく,Python製のフレームワークにもお金を出して開発をより安定させようとする動きが目立つように思います。Pythonを取り巻く世界の広さや層の厚さをよく表している。


day2_2.jpg

Diamond Keynote: You *can* Fool All of the People All of the Time

もう一つのダイアモンドスポンサーGoogleのBrian Fitzpatrickさんのトーク。BrianさんはシカゴのGoogleブランチで働いているようです。ちなみに,今回はプラチナ,ゴールドというスポンサー枠の上にダイアモンドという枠が新設されています。

トークは,Googleの企業理念,Googleがカスタマーサービスと技術をどのように関連づけて考えているか,といった内容。「マーケティングチームは嘘を言うためにいるんじゃなくて,お客と技術者に真実(Truth)を言うためにいるんだ」「ユーザが増え,サービスの機能が増えると,開発者にとっても顧客にとっても満足度が下がる。だからサービスをできるだけシンプルに保つことが重要」「GoogleとPythonの哲学は似ている」。小気味よい言葉が次々に飛び出してきて。スーツ的な立場にいるはずの人でありながら,PyConにくるような技術者の琴線に触れるような言葉を次々に繰り出すのがすごいと思いました。やっぱりGoogleで働いている人はひと味違うなあ。


day2_3.jpg

Keynote: Intellectual Property and Open Source

IP(Intellectual property, 知的所有)法律家のVan Lindbergさんのトーク。知的所有権,著作権や法律をからめながら,オープンソースやオープンソースライセンスについてのトークをしてくれました。

知的所有権の概念,歴史などから始まり,時には知的所有権にかんして争われた実際の訴訟を例に取りながら,トークはオープンソース自体の話題に及びます。社会的に見ると,オープンソースはWinWinの関係を生みやすい仕組みであること,ただしフリーライダー問題についてはよく注意する必要がある,などとお話ししていました。オープンソースライセンスについては,BSDやPSFライセンスの方が,GPLより「より利用者を獲得しやすく,広がってゆきやすい」という点で優れていると考えているようでした。

技術的な内容ではなく,かつ難しかったのですが,こういうトークが聞けるのもPyConのおもしろさといえるかも。Van Lindbergさんはもとバリバリの技術者で,ソフトだけでなくハードの回路設計に関わっていたこともあるそう。法律の世界では,オープンソースライセンスモデルの法的妥当性についての専門家として認知されています。


day2_4.jpgday2_5.jpg

SQLAlchemy 0.4 and Beyond

PythonのData mapper型O/Rマッパー SQLAlchemyの作者Mike Bayerさんによるトーク。まずはSQLAlchemyの歴史を簡単に振り返りながら,これまでの開発の道のりをたどります。
0.1はまったく実験的なプロジェクトで,0.2からユーザが集まってきて,0.4がリリースされてから開発者がどっと集まって,周辺の開発が盛んになってきた,と簡単にこれまでの経緯を振り返っていました。かくいう私も,0.3まではSpecを見ただけで使おうと思わなかったけど,0.4になってから本気で使おうと思ったクチです。

0.4では本当にいろいろな機能が追加されています。テーブル継承についても機能が大幅に強化されているし,「c」が不要になったり,SQL表現が抽象化できるようになったり,いわゆるwhere句に書くような条件指定用のSQLがPythonicに書けるようになっていたり,スピードが早くなっていたり。

細かい機能追加を見てゆくときりがないんだけど,他に特記すべき点としては

  • Migrationが正式に復活 - モデルの変更をDBに反映しやすくなった
  • Jythonを正式にサポート - JythonでSQLAlchemyを「正式に」使えるようになります
  • SQLAlchemyの本が2冊出る - ひとつはTurboGearsの本を書いているMarkさんが,もう一冊はMikeさん本人が書くようです。「本を書くって本当につらいよね」とボヤいていました:-)

昼ご飯 - PSF ミーティング

初日はバックに入った簡単な昼ご飯でしたが,二日目はちょっと豪華。テーブルに盛られた料理を取り分けられる形式。こういう形式ってなんて言うんだろ,バイキングではないし。。。

会場となるホテルの一階はトーク用に使われています。地下にはもう小さな部屋がいくつかあって,自由に予約して使えるようになっています。広めの部屋に入って昼食を食べました。

しばらくすると今回のチェアマンであるDavidさんをはじめ,見たことがあるPSFの面々が入ってきた。どうやら,PyConのPSFのランチミーティングをするための部屋だったらしく,興味があるなら残っていていいよ,ということだったので,ミーティングに参加させていただきました。

ミーティングの内容は,再来年(PyCon 2010)の会場をどうするか,ということ。来年(2009)はすでにシカゴに決まっています。もう2年後の話をしているのか,とちょっとびっくりしましたが,ワシントンDCでチェアマンをしていたSteve Holdenが「2年前の今頃は,すでに今年のPyConをシカゴでやることが決まっていたし,遅いくらいだ」とコメントしていました。PSFのマネジメント能力の鉄壁ぶりをかいま見た気がしました。

アメリカはとても広い国で,多くの参加者は飛行機を使って来場する。開催場所は重要。またPSFのBoardメンバー自身ではイベントを運営できないので,地域のユーザグループの協力が絶対的に必要。1000人規模の参加者を収容できる会場は限られているし,ボランタリーな組織である以上コストについてもよく考えなければならない。

ミーティングにおじゃまさせていただいて,PyConというイベントは,Pythonistaの熱狂と,PSFメンバーの手堅い運営能力によって支えられている,ということがよく分かりました。


day2_8.jpg day2_7.jpg day2_9.jpg
day2_11.jpg

Using Grok to Walk Like a Duck

Zope3ベースの軽量Web開発フレームワークGrokの作者Brandon C Rhodesさんのトーク。Grokについてのトークかとおもいきや,ぜんぜん違った。オブジェクト指向の設計のお話が中心でした。Pythonのオブジェクト指向を使って,既存のクラスの機能を拡張するための手法を,ダックタイピング,クラス継承,モンキーパッチなどを例にとって利点や欠点について議論したあと,Java風インターフェースのPython実装zope3.interfaceの話に落ち着く,というような内容。zope3.interfaceやzope3.adapterはZope3とは切り離して使えるし,reusableで独立性の高いモジュールを作るにはとても便利なものだとは知っていたけど,あらためて使ってみようかと思いました。また,こういう人が作っているGrokというフレームワークにも改めて興味がわきましたよ。


day2_12.jpg

py.test: towards interactive, distributed and rapid testing

テスティングフレームワークpy.testのトーク。py.testの,そしてPyPyの開発者でもあるMaciej Fijalkowskiさんと,Brian Dorseyさんのトーク。

py.testを一言で表現するととNoseライクなテスティングフレームワーク。もともとPyPyのために作ったテスティングフレームワークなのだそうです。noseとの違いは,機能がカスタマイズできる,ということ。ちょっと使ってみよう。

本当はライトニングトークも聞きたかったのだけど,夕方には部屋に戻って仕事をしていました。明日の最終日は夕方前にはセッションが終わってしまうようなので,ホテルの隣でやっているCATSの午後イチの講演を見て,そのあとまたモールにでも行こうと思っています。

The URL to Trackback this entry is:
http://coreblog.org/ats/pycon-2008-day2/tbping

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

The URL to Trackback this entry is:
http://coreblog.org/ats/pycon-2008-day3/tbping

シカゴ観光,マック一号店,ヘミングウェイ生家,ネイビーピアー,ジャズクラブ

今回は,カンファレンスの前後に1日づつ余計に日程をとりました。初日,カンファレンスの夜を中心に,ちょっとした観光をしてはみたのだけど,最終日にもういちど,ニッチなスポットを中心に観光をしてきた様子を,思い出しながらまとめてみます。シカゴはとても大きな街で,いろんなスポットがあるのです。

マクドナルド一号店

マクドナルドの一号店がシカゴにあるとのことで行ってみた。ロゴとか全然違う。唯一一致しているのはカラーリングだけ。
私が行った時には門が閉まっていて外からしか見えなかった。夏の時期は門が開いて中に入れるみたい。店の中も当時のまま残されていて,レトロなマネキンが店番をしていました。

day4_1.jpg day4_2.jpg

 

早い昼ご飯

マクドナルド一号店の近くにある小さなカフェで昼食。どうも子供連れでくるようなお店だったらしく,強度のアウェイ感を感じながら過ごす羽目に。店の中を鉄道模型が走っていて,料理が列車に乗って運ばれてくる。
典型的なアメリカの外食,ということでハンバーガーとオニオンリングを頼んでみた。こっちのウエイターはやたらと愛想がよくてちょっと救われる。

day4_3.jpg day4_4.jpg


ヘミングウェイの生家

ちょっと車を走らせて,シカゴ郊外にあるヘミングウェイの生家に行ってみた。二日目(カンファレンス前日)にa2cさんと行った建築家フランク・ロイド・ライトの家の近くにある。
周辺はとても閑静な住宅街。ヘミングウェイの生家は,住宅,学校,教会がならぶ静かなストリートに沿って建っている。内部は記念館になっていて,ヘミングウェイゆかりの品などが展示されている。

day4_5.jpg day4_6.jpg

 

ショッピングモール

ヘミングウェイの生家から30マイル先くらいにあるモールに車を飛ばしてお買い物。セール品を中心に,アバクロの春/夏ものを買ってきた。BEST BUYに寄って骨伝導a2cさんが使っていたBlue Toothヘッドセットを買おうかと思ったが,ちょっと散在気味だったのでぐっとこらえる。

ネイビー・ピアー

シカゴ市街,ミシガン湖にある娯楽施設。観覧車やシアター,IMAXシアターやおみやげ物やさんがある。でっかいクルーザーが横付けされていたりして,なかなか楽しい。いくつかおみやげを買った。時間があったら,IMAXシアターで上映中の映画でも見たかったんだけどな。

day4_7.jpg day4_8.jpg day4_9.jpg

 

ジャズクラブ

摩天楼のど真ん中にある「Andy's Jazz Club」というところに寄ってみた。平日の夕方ということもあって,客もまばら。アンニュイな雰囲気の女性バーテンダーとちょっとお話をしながら,飲み物と一緒に早めの夕飯を頼んでみた。ピアノ,サックス,ベースのトリオがスタンダードを中心に演奏していて,なかなかよい感じ:-)。スケジュールをみると,来週はオルガニストのジョイ・出フランチェスコがくると書いてある。PyConがもう一週間遅かったら聞けたのになあ。

day4_11.jpg day4_12.jpg day4_13.jpg

PyConのおまけ

day4_14.jpgついでに,レジスト時にもらえるグッズをいくつか紹介しておきます。まずはPyCon Tシャツ。右上のイラストは,ちょっと前に話題になったマンガに出てきたキャラクターですね:-)。


day4_15.jpgTシャツはもうひとつ,Google版のPyCon Tシャツ。フロントのプリントは,アメリカンなギトギト感のあるイラスト。日本で日常的に着るのはちょっと勇気がいる,かも(笑)。





今年のPyConは,予定をゆったり目にとったせいか,あまり疲れなかった。疲れなかったこともあり,PyConだけでなく,ミュージカル見たりおいしい食事をしたり,観光も楽しめた。人生を楽しむためには,体力がいかに重要かを改めて思い知った。もっと人生を楽しむために,もっと体を鍛えようと思う。
今年も,たくさんのことを学び,たくさんの刺激を受け,また英語がうまく通じなかったりしてたくさんヘコんだ一週間だった。僕にとっては特にヘコむことが重要で,なぜならいったんヘコんでからでないと,自分になにが足りないのかを認識できないからだ。自分に足りない点を認識して初めて,それを克服する方法について考えはじめ,実践することができる。僕のような凡人は特に,挫折と克服を繰り返すことでしか成長できない。自己否定は成長の出発点なのだ。
今年もたくさんヘコんだおかげで,たくさん目標ができた。来年より成長した柴田淳としてシカゴに帰ってこようと思います。

The URL to Trackback this entry is:
http://coreblog.org/ats/pycon-2008-day4/tbping

SoftwareDesign誌に原稿を書きました - PyCon 2008リポート

SoftwareDesign 2008年5月号に,今年の3月初頭,シカゴで開催されたPython Conference 2008のリポート記事を書きました。Google App Engineの登場でますます注目度が上がるPythonの最新事情はもちろんのこと,現地で取ってきた写真などを盛り込んで,臨場感あふれる記事になるように心がけて書きました。みなさんぜひお読みください:-)。

The URL to Trackback this entry is:
http://coreblog.org/ats/py-con-2008-report/tbping
Recruit
r = urlopen("http://www.webcore.co.jp/recruit")
About this blog
■Author
atsこと柴田淳です。Atsushiはガイジンにうまく発音して頂けないので,これからはJunというペンネームで行こうと思っていましたがあんまり使ってません。
Webcore株式会社 代表取締役
■TRIVIAL TECHNOLOGIES 2.0
トリビアル・テクノロジー 2.0,「トリテク 2.0」と呼んでください。
Blog(ブログ)サイトです。Plone上で動く,オープンソースのBlog Product - COREBlog2を使っています。
 
最近書いた本,Mook
みんなのPython Webアプリ編
Pythonの基礎から,Webアプリやフレームワークの仕組みまで,つまることなく一気に学べる書籍です。「みんなのPython」と一緒に読んでください:-)。
みんなのPython
Pythonの入門書です。基本的なことから分かりやすく解説するよう勤めました。Pythonをはじめたいと思っている人,JavaやC++,PerlやRubyを学ぼうと思って躓いてしまった人はぜひ読んで下さい。
 

Powered by Plone, the Open Source Content Management System