2014年5月17日(土) 、18日(日)に台湾の台北でPyCon APAC 2014 が開催されました。本稿では、PyCon JP にも関わりがある著者3人による、PyCon APAC 2014のキーノート、セッション、インタビューなどの参加レポートをお届けします。
PyCon APAC 2014とは?
PyCon は日本を含む世界各国で開催されており、Pythonユーザーが集まりPythonに関する情報を共有したり、交流を深めるためのイベントです。その中でPyCon APACはアジア、太平洋地域にかけての大きなイベントで一昨年はシンガポール、昨年は日本で開催 されました。英語のセッションも多く、参加する方も色々な国から来ていて、とても国際色豊かなイベントです。今年は台湾の台北で開催され、開催概要は次の通りでした。
PyCon APAC 2014 概要
日本からの参加メンバー
今回のPyCon APAC 2014には、日本からは個人、団体での参加を含め10数名程度が参加していました。各自の都合もあり、全員が集う機会はありませんでしたが、それぞれ交流して非常に有意義な時間を過ごすことができました。
イベント前日
関根です。イベント前日の台湾までの移動や、台北市内での交通、またMozila Taiwanの方々との夕食について紹介します。
飛行機での移動
私は次のようなルートで台湾と日本を往復しました。
往路:羽田空港 → 松山空港
復路:松山空港 → 羽田空港
松山空港、羽田空港ともに都心から近く、とても便利でした。平日の昼間に移動したこともあり、羽田空港はとても空いていて、スムーズに手続きを行うことができました。
現地での移動
現地での移動には、主にMRT(地下鉄)とタクシーを利用しました。
地下鉄
台湾の地下鉄では悠遊卡(EasyCard)というSuicaのようなカードが使用できます(NT$500で購入し、NT$100が保証金、残りの額の$400利用可能でした) 。駅の自販機で購入し、それを使用しました。日本のSuicaと同様の仕組みなので、簡単に利用することができました。
悠遊卡(EasyCard)
タクシー
台湾のタクシーは日本と比べると安く、また台北市内の移動がほとんどだったこともあり、料金もさほどかからず移動できました。主に複数人で移動する場合や早朝、深夜などに利用しました。
夕食
夕食はMozila Taiwanの方と、寺田さんのお友達の方と一緒に取りました。お店は定番の鼎泰豊(ディンタイフォン)です。本店はだいぶ混雑しているらしいので、支店の忠考店で待ち合わせをしました。
鼎泰豊(ディンタイフォン)
小籠包をはじめとして、前菜、チャーハン、スープなど、どれもとても美味しかったです。
食事風景
食事中は、Pythonに関する話題や、開発しているサービスなどについて、また日本や台湾の事などについてお話ができました。私は初めて会う方ばかりでしたが、国籍を超えて交流できてとても楽しかったです。
集合写真
イベント初日
会場
関根です。会場となる Academia Sinica は市街地からは結構離れており、宿泊した台北市内のホテルからの移動は、MRTとタクシーを利用しました。MRTにて約20分ほど、そこからタクシーで約10分ほどで会場に到着しました。
会場はAcademia Sinica(中央研究院)の敷地内にある人文社会科学館という建物でした。Academia Sinicaは台湾の学術研究機関です。敷地も大きく緑が豊富でとても素晴らしい場所でした。他のオープンソース関連のイベントでも非常によく利用されているようです。
Academia Sinicaに到着後、人文社会科学館ビルまで徒歩で10分程かかりますので、歩いて移動しました。
Academia Sinica
人文社会科学館
受付とノベルティ
受付の場所は複数あり、登録の時に利用した電話番号の下3桁の数字によって、並ぶ場所が変わる方式でした。登録時に発行されたチケットにも番号があり、その番号と勘違いして違う場所に並んでしまう方が多かったです(私も間違えた1人です) 。
受付の様子
受付では、名札とノベルティーをいただきました。ノベルティーにはトートバック、Tシャツ、ステッカーなどがあり、Tシャツは白をベースに素敵なデザインで、Python関連のイベントがあれば着用したいと思いました。
ノベルティ
Keynote: Python-powered Business Analytics
宵です。今回始めの基調講演には、データ分析用フレームワークpandas を作り、『 Python for Data Analysis』を出版したWes McKinney氏が登壇しました。
まずは、Business Intelligence、Bussiness Analysis、ETL(Extract, Transform, Load;データの抽出、変換、加工のこと) 、並びにPython用データサイエンス向けのカンファレンスPyDataを紹介しました。次にpandasの利点と欠点、最後に自身の会社で作成しているdatapad というBIツールを説明しました。
datapadはサンフランシスコにある会社なのでTreasureDataとも競合するのではないかいかと思い、「 TreasureDataはご存じですか」と質問したところ、「 名前は知ってるがどんな会社か把握してない」という感じの返答をもらいました。
Wes McKinney氏の基調講演
Keynote: Open Source and Open Science: how Python and its community made me a better scientist
次の基調講演はFernando Perez氏が登壇しました。
この基調講演ではひたすら ipython notebook を使っていろんなものを表示しました。特にD3.jsと絡めてPlot内容をインタラクティブに操作できるあたりがよかったです。
話によれば、クイズで賞金王をとった人工頭脳、IBMのワトソンもipython notebookで対話してたようです。またipython notebookという名前ですが、Rubyなど多言語のサポートも行われつつあるようです。
Fernando Perez氏の基調講演
セッション
発表の部屋は4個所ありました。基調講演は全部の部屋で中継して合同で見れるようにして、この時間帯以外は各部屋で個別の発表がありました。昨年からデータサイエンス向けの発表が数件ありますが、今回はなんと1日中scipy及びデータマイニング関係の発表をしている部屋がありました。ここでは参加したセッションからいくつか内容を紹介します。
Python for High School Students
寺田です。このセッションは、シンガポールのSong Kai氏他、高校生3人による実習の成果を発表 しました。それぞれの成果は次の3つでした。
Google App EngineでSNSを作り、高校の中で使うもの
Google App Engineで構築した、フードコートのランチの人気や待ち時間を予想するサービス
OpenCVを使って提出物の文字を判定するツール
どれも完成度が高く高校生が作ったものとは思えませんでした。
セッション中に話が出ていましたが、シンガポールの高校生がみんなコンピュータに興味がありこのように勉強しているのではなく、ほとんどの高校生は興味がないということで、自分たちはマイノリティーだと述べていました。
引率の先生が一緒に来ていましたが、高校生の時から海外のカンファレンスで発表することは素晴らしいと思いました。
Python for High School Studentsの発表
PySpark: next generation cluster computing engine
宵です。Yahoo TaiwanのWisely Chen氏の発表 ではSparkについて、利点とPythonからの使い方、さらにMovie Lensデータの分析でMapreduceより速いことについて紹介しました。
Spark はHadoopのMapReduceのような大規模並列計算エンジンで、MapReduceよりも10倍以上早いと言われるフレームワークです。さらにSparkはチュートリアルがPythonとScalaユーザ向けに書かれており、JavaでMapReduceを書くよりも気軽に書けるようになっています。ただし途中の計算データは全部メモリ上展開されるため、メモリを思いっきり食います。
本発表では比較的簡単に導入できると説明が進んでいきました。しかしセッションの後に本人に聞いたところ、実際に使ってる環境では、用途ごとに1台あたりメモリを40~100GB程度積んでると聞きました。
TextBlob: Text Analytics for Human
Ken Hu氏の発表 はScipyの発表ではなく、nltkという自然言語処理のツールを使って、文章の分割、感情分析、句構造情報の付与などを説明しました(講演資料はこちら ) 。
Ken Hu氏の発表
Real-time visualization with Python and d3.js
関根です。Muyueh Lee氏は、Pythonとd3.jsを組み合わせたデモを用いて、発表 しました。具体的には過去10年間の台湾の野菜の競り価格のデータを分析し、その結果をビジュアライズして表示するデモを行っていました。膨大なデータを分析して、表示することで、今まで見えなかった傾向や発見があることを伝えていました。
Muyueh Lee氏の発表
LT
寺田です。初日の最後のセッションは、メインホールにてライトニングトーク(LT)が行われました。英語トーク3本が行われ、その後中国語でのトークが10本ありました。詳しくはイベントサイト(英語ページ) をご覧ください。
LTの中からいくつか印象に残ったものを紹介します。
MOOCツール edXの紹介
トップバッターは筆者寺田による、MOOCツールedXの紹介です。 教育関係で私のMOOC(Massive open online course)を構築できるPython&Djangoベースのツールであるedx-platformの紹介を英語で行いました。
筆者寺田の発表
Chia-Chi Chang: Call for PyData Series’ Talk in MLDM Monday
Chia-Chi Chang氏は音楽用キーボードを使って、Pythonで表示しているアナログ時計を操作するという面白い発表を行いました。仕組み的にはMIDIキーボードの出力をスピーカーに渡し、pygameで音程を認識してwebサーバに送り、音程によって時計を戻したり、Let it beの出だしと判断していたようです。残念ながら中国語での説明がほとんどだったため、詳しいことは分かりませんでした。
Chia-Chi Chang氏の発表
ZIPCodeTW: Find Taiwan ZIP Code by Address Fuzzily
日本のPyConでも2回講演している、Mosky氏も登壇。台湾の郵便番号を検索するサイトは使いにくいようで、Pythonのモジュールを作って簡単に検索できるようにするツールを紹介していました。
Mosky氏の発表
FLT
全13本のLTの後に、FLTという面白い試みが行われました。通常のLTは5分間で行われることが多いのですが、このFLTは“ Faster Than Lightning Talk” ということで、2分間で完全に終わらなければならい、1キーワードを紹介するというものでした。また、LTは前もって募集が締め切られていましたが、FLTは当日Webサイトで募集しており、飛び入りで参加できる仕組みを採用していました。なお、FLTを中国語で書くと「超級閃電秀」となるそうです。なんとなく意味が分かりそうですね。
今回は2人の日本人がFLTで発表しました。せっかく海外から来たので簡単に告知や紹介をしたいという方に向いているいい企画だと思いました。
FLTの発表してみて
FLTを発表した宵です。今回元々発表する予定がなく、さらに会議期間中にFLTを知ったため、技術的になにか仕込む余裕もありませんでした。そこで、Hue というdjangoで作られたHadoopの管理システムを紹介しました。
発表は分量が少ないだけで通常のLTと同じペースで進めていきました。達人ならば2分間に早口で詰め込むでしょうけども、実は筆者に取って初の海外かつ英語での発表だったため、ゆっくりと伝えたいことに注力しました。
そして自分のは発表自体は1分ちょいで終わったのですが、2分間完全に使わないといけないシステムであったため、呼び戻されて自己紹介で時間を潰す羽目になりました。
FLTで初めての発表であったこと、また海外からの発表ということもあったためか、発表後は拍手で迎えてもらえました。気持ちよかったです。またやはりカンファレンスは参加するだけでなく発表するほうが楽しいです。
なおその次に発表されたCapy CTOの島田氏は手馴れていて、2分間きっちり流暢に話していました。ですのでどちらも2分間で収まってしまったわけですが、主催としてはタイムオーバーして無理やり引き剥がすことを行いたかったみたいなので、ご期待には添えなかった感じでした(笑
Capy 島田氏による流暢なFLT
BoF
寺田です。BoFとはBirds of a Featherの略で、テーマごとに時間を区切り一つのテーマについて議論をしたりデモをしたりするイベントです。Open Space(オープンスペース)などと呼ばれている場合もあります。台湾で行われているPyConでは毎年初日の夜に、ピザなどを食べながら廊下に椅子を並べて行っています。
今年は8個のBoFがエントリーされ 、とても盛り上がっていました。
BoFの様子
多くのものが中国語で話が進んでいましたが、日本人などの海外からの参加者がいると英語に切り替えてくれました。台湾の方はお酒が強いイメージがあったのですが、PyConに参加されている皆さんはほとんどお酒は飲まず、夜まで真剣な議論や勉強をしている印象を受けました。
夕食
宵です。1日目の夕食はカンファレンス会場の横にある、宿泊施設内にある中華料理屋に入りました。メンバーは日本から来た5、6名でした。そもそも日本から来ている人自体が10人いくかどうかなので、お互いを知るいい機会になりました。話の内容は自己紹介、今回のPyConの内容について、それをPyCon JPにどうやって活かすかについての話などを行いました。食事は大皿をいくつか注文して、参加者でよそいあって食べました。
次回予告
レポート後編ではPyCon APAC 2014の2日目の様子をお届けします。