鈴木たかのりです。2019年の個人的な挑戦として「海外のPythonカンファレンスにトークやポスターを応募しまくって、採択されたら行く」ということを行っています。今回レポートするEuroPythonは4ヵ国目です。過去のレポートもgihyo.jpに掲載していますので、ぜひ興味のある国のレポートを読んでみてください。
EuroPythonとは
EuroPython は、ヨーロッパ地域で開催されるPythonに関するカンファレンスです。毎年ヨーロッパの各地域で開催され、今年はスイスのバーゼルで開催されました。過去にイギリスのエジンバラ、イタリアのリミニ、スペインのビルバオなどで開催されています。ヨーロッパでは各国ごとでもPyConが開催されているので、これら各国のPyConとEuroPythonは、PyCon JPとPyCon APACと似たような関係です。
このEuroPythonですが、2002年に第1回が開催された歴史あるカンファレンスで、USのPyCon(2003年が第1回)よりも歴史が古いです。
EuroPython 2019 Webサイト
以下はEuroPython 2019の開催概要です。
筆者はポスターセッションでの発表のために、今年初めてEuroPythonに参加しました。カンファレンスにのみ参加したので、キーノートやトーク発表などを中心にレポートしていきたいと思います。
1回目はカンファレンス1日目までの様子をお伝えします。
日本からバーゼルへ
日本からバーゼルへは直行便がないため、乗り換える必要があります。筆者は最近就航された羽田→ウィーン便で移動しましたが、ウィーンに現地時間の朝6時に到着します。その後乗り換えて、バーゼル到着が9時前、バスと路面電車を乗り継いでホテルに着いたのが12時くらいでした。
ここで、到着時間が早すぎたためまだホテルには入れません。移動でヘトヘトなのとちょっと体調が悪かったのですが、しょうがないのでホテルに荷物を預けてバーゼル市内を観光しました(誤算でした) 。ただ、おかげでバーゼル大聖堂を見学できて(中も見学できました) 、プチ観光気分が味わえました。
バーゼル大聖堂
15時前にホテルに戻ってチェックインして、少し作業をしてから仮眠をとると、19時過ぎに目が覚めました。疲れていたのでホテルの近所のスーパーで買い物をして夕食にしようと思ったら、なんとスーパーは18時30分に閉店していました(早い!!) 。急いで今開いているスーパーマーケットを検索し、徒歩10分くらいの店でなんとかサンドイッチやビールなどを購入し、食事にありつきました。
いきなりヨーロッパの洗礼を浴びた1日目となりました。
オープニング
カンファレンス1日目、会場に到着すると、会場外にEuroPythonの案内が出ていました。テンションがあがります!!
会場の外にEuroPythoの表示が!
受付を済ませて3Fのメイン会場に移動します。オープニングでは基本的なイベントの案内などがありました。主催者が会場に「初めて参加する人ー?」と声をかけると、かなりの手が上がりました。そして次に「EuroPythonに来たことがある人は、初めての人をサポートしてあげてね、自分の家のように」と伝えていたことが印象的でした。このコメントからEuroPythonは来場者みんなで作っている温かいコミュニティなんだなと感じられました。
オープニング
またオープニングでは、グッズとして参加者全員に配布しているPewPew デバイスの紹介がありました。このデバイスはPythonでプログラムができて、コントローラーや8×8のディスプレイを備えています。また、グッズとしてEuroPython電池も同梱しているので、すぐに試せるよといっていました。ちなみにこれは、Pythonの"バッテリー同梱(batteries included)" という哲学にかけたジョークです。
VIDEO
キーノート:Getting Your Data Joie de Vivre On (or Back) ― Lynn Cherny
「Joie De Vivre」とは「生きている幸せ」という意味のフランス語です。データを使っていろいろとLynn氏自身が楽しんで行っているプロジェクトが紹介されていました。
Lynn Cherny氏によるキーノート
1つ目のプロジェクトはBoschBot です。これはオランダのHieronymus Boschという人が描いた「快楽の園」という超巨大な絵画のパーツを投稿するBotプログラムです。プログラムはTwint、Pandas、image segments、leaflet.jsを使用しているそうです。
Twitterの@boschbot でこのBotの投稿が見られます。
このBotプログラムは画像からなんらかの特徴のある場所をとりだし、その画像の座標を投稿しています。最も見られている画像は魚の上に人が乗っていてお尻をこちらに見せている画像だそうです。
このBoschBotは多くの人(35,000人以上!)にフォローされており、投稿された画像にキャプションをつけたりコラージュしたりして、楽しまれているようです。
次のプロジェクトはWord2Vec Toys です。Word2Vecはテキストデータを解析して、単語の意味をベクトル化して似た単語を計算したり、単語に意味を足したり引いたりできるようにするものです。元となるテキストデータにはGutenberg から取得したそうです(日本で青空文庫 が使われるのとよく似ていますね) 。
単語のマップをplotly で可視化していましたが、いくつかのクラスターがありました。また、似た単語を探すというデモをしていましたが、元の文章の種類によって似た単語が変わってくる例が興味深かったです。
そして、ここで作成したWord2Vecを使って詩をコラージュするサイトを紹介していました。詩の文章を表示し、似た単語が存在する場合は適当に入れ替えていって、詩を異なる物にしていくというものです。その場で即興で新しい詩を作っていましたが、会場から笑いが出ていました。
最後にデータセットの楽しい活用の例として、アメリカでビッグフットが目撃された場所を地図にプロットしたもの、オズの魔法使いのビデオを単語順にしたものが紹介されていました。
面白いデータセットを見つけて、自分なりのアウトプットをしてみたいなと思う発表でした。
VIDEO
Python for Realtime Audio Processing in a live music context ―Matthieu Amiguet
この発表では、発表者がライブ演奏を行う際に使用している、音楽をリアルタイムで処理するPythonプログラムについて解説していました。発表者は次の日に行われるSocial Eventでも演奏をするそうで、メインで使用している楽器はフルートです。
フルートは基本的に一度に一つの音しか出せません。このフルートを使ってテレマンのカノンを演奏する、というものをまずはデモしていました。テレマンのカノンは、全く同じ楽譜をずらして演奏する(カエルの歌の輪唱のような)曲です。これを一人で演奏するために、DELAY(録音したものをずらして再生する)をプログラムで実現し、フットスイッチ(フルートの演奏では両手が塞がる)でDELAYのタイミングを指定して実現しているそうです。
スライドが手描き風でかわいい
他にも、LOOPER(繰り返し処理)を3つつけて一人で4重奏を演奏したりとか、いろいろなパターンについて解説していました。
そして、ここで壁にぶつかります。曲によってどのようなプログラムが必要かは異なります。そこで、SETLISTというクラスを作成し、1曲目のプログラムセット、2曲目のプログラムセットなどを作って、それもフットペダルで切り替えるようにしたそうです。
これらのプログラムのメイン部分はPYO というライブラリを使用しています。音声をリアルタイムで扱うのにPythonだと処理が遅いのですが、このライブラリは大丈夫だそうです。PYO自体にはSETLISTの機能は無いため、自分でGigモデル(1つのライブを表す)とSceneモデル(1つの曲を表す)を作成して、別のフットペダルでシーン切り替えを行うようにしたそうです。
自分でやりたい演奏をするためにプログラミングで解決するという情熱が、とても面白いなと思いました。私もトランペットを演奏していますが、管楽器でもテクノロジーを組み合わせるといろんなことができるということが感じられました。
VIDEO
ランチ
ランチは基本的に肉系とヴィーガン用の2種類があって、どちらかを選ぶスタイルのようです。この日のランチは謎の塊を食べるものでした。キッシュかなにかなんですかね?
attendify というスマートフォンのアプリでカンファレンスのスケジュールを確認したり、内容がよかったか星をつけることができるのですが、このランチは5点満点で2点でした...
ちなみにグラスの中身はお酒ではなくてリンゴジュースです。
謎のランチ
Do we have a diversity problem in Python community? ―Cheuk Ho
Pythonコミュニティの女性参加率がまだまだ低いという話をしていました。例として、Rは女性開発者が多いがPythonはそれに比べて少ないということ、R-Ladies はPyLadiesよりもたくさん支部があるということがあげられていました(R-Ladiesは知りませんでした) 。
ビデオ録画されているさまざまなカンファレンスを調べたところ、発表者の男女の割合はPyCon UK以外は男性が75%程度とのことです。PyCon UKは55%程度で他と比べると男女のバランスがよいそうです。
各PyConスピーカーの男女比
そしてどうすべきかという話として、ロンドンの劇場の話が例として出ました。この劇場のあるステージでは、22名の俳優が全員白人で、観客もほとんど白人です。しかし、ナイジェリア出身のシンガーのFelaの公演を行ったところ、ナイジェリア出身のタクシーのドライバーがこの劇場に見に来るようになったそうです。
PyConでも女性スピーカーの割合は増えているようです。2011年は1%でしたが2016では40%だそうです。また、NumFOCUSは2017年からDiversity in Scientific Computing(DISC)というプログラムを始めているそうです。Django Girlsは12言語に翻訳されており、36ヵ国、77の都市で開催されるというように広まっています。
USのPyConに比べるとEuroPythonは女性の参加者は少ないなと思っていましたが、今少しずつ変わろうとしていると感じる発表の1つでした。
VIDEO
キーノート:Why You Should Pursue Public Speaking and How to Get There ―Yenny Cheung
Yenny Cheung氏によるキーノート
このキーノートではYenny氏が考えるPublic Speaking(カンファレンスなどで発表すること)の価値や、どのようによりよい発表としていくかといった内容でした。Yenny氏は2年前のPyCon DE(ドイツ)で初めて発表したそうです。
最初に勤務先であるYelp!の他の複数のメンバーに、外部での発表についてインタビューしたビデオを流していました。ちゃんと編集されていたビデオだなー、と感心して見ていました。最も印象に残ったのは「よりよい発表にするためのTipsは?」という質問に対して複数人が「dry run(予行演習) 」と答えていたことです。
発表をして得た物としては「仕事で企業に対するプレゼンが楽になったり、社内での重大な会話のときにより意図を伝えられるようになった。」と述べていました。また、内向的な人は発表をするとよいと言っていました。
そして、発表についてのいくつかのアドバイスがありました。
心臓の鼓動が速くなったら?
港(自分のよりどころとなる物)を見つめて落ち着く
パワーポーズをとる
ジョークを言う
想定される問題をリハーサルする
スライドがない状態での発表
スピーカーノートにあまり頼らない発表
ビデオなどはローカルのリンクを用意する
なにを言うかを忘れた場合は?
「ここは今は飛ばします」と言って飛ばす
いったん水を飲む
自分をよりよく見せない
後半はトークをどうよくしていくかについて、その方法がいくつか紹介されていました。
Lean start up model
まずはプロポーザルを作成し、rejectされても他のカンファレンスなどに出そう
Rubber-ducking(おもちゃのアヒルに対して発表練習をする)
発表についてフィードバックしてくれる仲間を作る
聴衆に合わせて内容を微調整する
Dry-run(予行演習)
ビデオに撮影して見る
質疑応答であがったものをメモする
同じ内容の発表を繰り返す
そして最後に会場に向かって「発表をしたことがない人は、2週間以内に発表する機会を探してください。」と次のアクションを促して、トークは終わりました。
1つ1つの施策は聞いたことがあるものが多かったですが、このようにまとめて話してくれるととても参考になるので、よい発表だったなと思います。この人のキーノートがきっかけになったのか、カンファレンス2日目と3日目のライトニングトークはあっという間に枠が埋まっていたようです。
VIDEO
ライトニングトーク
1日目のライトニングトークで面白かったものをいくつか紹介します。司会の2人のテンションもとても面白いので、ぜひビデオで見てみてください。
VIDEO
foxdotのデモ
foxdotを使って音楽を再生するサンプルを少し見せたら、スタンドバイミーの伴奏をループで演奏しだし「これは歌うのか?」と思ったらハーモニカで演奏をはじめ、会場全体がすごく盛り上がってました。
ハーモニカで演奏中
各国語のキーボードについて
「英語のキーボードはこうなっているけど、他の言語だとー」という発表を、sk、de、cs、fr、es、pl、it, sv, fu, eo, trと10ヵ国語以上で話すというわけがわからない発表です。当然ですが、全然ついていけませんでした。
10ヵ国語以上を駆使したライトニングトーク
Tour de Snake
過去にいくつかのPyConにバイクなどで行っている人のようで、今回のEuroPythonへは自転車できたそうです。移動中のさまざまなトラブルを紹介する面白トークだったんですが、最後に「車椅子の友人が山に登りたいという夢があり、トレーニングをしてその友達を背負って登山をした」という感動エピソードで締めくくられました。
1日目が終了
1日目の夜は日本人メンバー3名でBrauBudeBasel という近くのクラフトビールに行きました。ここは店の奥の小屋でビールを作っているという本当に小さなブリュワリーで、フードも置いていない硬派なお店でした(常連は近くで食べ物を買ってきてここでビールを飲んでいるようです) 。
BrauBudeBasel
さすがにビールだけだと死んでしまうので、このあと近くのイタリア料理屋で自家製っぽいパスタを食べて、EuroPythonの1日目は無事終了しました。
まとめ
1回目のレポートは以上です。EuroPythonは初参加ですが、USのPyConとはまた違った感じのカンファレンスを楽しむことができました。
次回はカンファレンス2日目の私のポスターセッションや興味深いトーク、Social Eventなどについてお伝えします。