Lean Baseball

Engineering/Baseball/Python/Agile/SABR and more...

【PyCon JP 2014 Report】八重洲で働くエンジニアが「やきうの発表」を通じて学んだこと

PyCon JP 2014に参加した皆様、本当にお疲れ様でした。

昨日の開発スプリント*1を回避、ずっと散歩&お酒を飲んでた私ですこんばんは。

9/13(土),14(日)に行われたPyCon JP 2014の二日目、Closing前の大トリとして「Pythonではじめる野球プログラミング」という発表をさせて頂きました。ものすごく楽しかったです(^o^)

ClosingのLT発表「Pythonではじめる野球プログラミング(続き)」を含む、発表前後のエピソードそして学んだことを中心にReportを書こうと思います。

ちなみに、カンファレンス全体の感想、基調講演含む他の方の発表についてはまた後日Reportします。

八重洲で働くエンジニアが「やきうの発表」を通じて学んだこと

スターティングメンバー

  1. 発表スライド&動画

  2. 発表前々日〜直前にやったこと

  3. 発表

  4. 学んだこと

  5. 伝えたいこと(又は質問の回答)

  6. 裏話

  7. おしまい

発表スライド&動画

Talk Session, Lightning Talk共にslideshareにスライド、YouTubeに発表の動画が上がっています。

個人的には断然YouTube動画がオススメです!

Talk Session 「Pythonではじめる野球プログラミング」


CH15 Pythonではじめる野球プログラミング (ja) - YouTube

Lightning Talk 「Pythonではじめる野球プログラミング(続き)」

動画は16分目あたりから再生してください!


CH16 Lightning Talks ~ Closing - YouTube

発表前々日〜直前にやったこと

発表の三日前までにやったことは前回のブログ*2に譲るとして、直前にやったことが2つほどあります。

直前にやったこと
  • プレゼン用のリモコン「黒曜石」を導入&直前までリハーサル
  • いくつかネタのスライドを追加

以前、とあるハッカソンで黒曜石を借りてプレゼンした&そのプレゼンが中々良い出来だったことを思い出し、

急遽黒曜石をお買い上げ、本番前ギリギリまで接続確認とリハーサルを行いました。

PCのキーボードを操る以上に気楽にスライドを動かせる、PCの位置と関係なく、喋りやすい体勢で喋れるという利点は大きかったです。

リラックスして話せたのは黒曜石のおかげだと思います。

ネタのスライド、、、については「裏話」の件で触れますw

あと、スライドの細かい微調整、デモアプリの動作チェックは発表30分前までやってました。

まあ、、、心配性なんでしょうねw

発表

そして発表の時間。

このネタで発表するのは実質二回目*3だった事、

はじめて発表した時のウケが相当良かったという事実と自信もあり、割と落ち着いて、、、いや、楽しんで発表できたと思います。

発表当日の帰り道および、今日はこのブログを書くためにYouTubeを見なおしたのですが、なんというかずっと笑ってるしクネクネしてるし楽しそうですねこの人*4って思いました笑

全てのネタを思い通りに話せた上、なんとなく聴衆のリアクションも確認しながらプレゼンが出来たので自分としては充分合格だったと思います。

また、Lightning Talkですが、アダム・ダン率はPython mini hack-a-thonで去年からネタにしているかつ、ウケがいいネタという事も知っていた事、

Talk Sessionの方がイメージ通りに進んだおかげで気持ちよく喋れました。

聴衆の笑い声がTalk Session以上に大きかった気がします笑*5

学んだこと

学んだこと = 聞いていただいた皆さんのリアクション、という事でtogetterのまとめから特に気になったつぶやきをピックアップして紹介したいと思います。

[PyCon JP 2014]Pythonではじめる野球プログラミング - Togetterまとめ

つぶやきから学んだこと

Ruby寄りの人なのか

おお、はじめて言われましたが半分正解です

LL言語デビューはRubyで1,2年くらいRuby(主にRails)をやった後に仕事の関係でPythonに移行、そっからツボにハマってPythonにどっぷりという感じです。

Pythonはあくまでグルー言語*6であり、

Webアプリを作る目的なら私はPythonじゃなくてもRubyPHP、Goでも何でもいいと思っています。

っていう多様性が垣間見えたというのは私個人として凄く嬉しかったです。

データを引っ張ってくるところから、鯖を作ったりUI をつくったりなどを、python に限らず色んな物を使って1つのアプリを作っている all in one な講演

個人的には、一番的を得ている感想だと思います。

この発表を作った私自身も言われるまで気が付きませんでした。何を言ってるんだお前って感じかもしれませんが本当ですw

発表そのものは野球 + Pythonのつもりで作ったのですが、インフラからアプリ、可視化の部分まで一気通貫に色々なモノを使って作ったよなそういえばって思い出しました。

考えてみれば、職業エンジニアとしての私の強みが「企画、構築、運用まで一気通貫に出来る所」なので、その強みがそのまま日曜プログラマーとしても生きてるのかなあと思いました。

・ 野球の話は分からんが、面白かった。(始まる前の不穏な空気含め)

・ 野球全然わからなくても爆笑できました。とりあえず「ピタゴラス勝率」だけは覚えましたよ。 ※感想のブログより抜粋*7

かなり嬉しい感想でした!

私は大の野球好きで、もちろん周りに野球好きの友達は沢山いますし、野球ファン同士の会話も大好きです。

一方、「野生の野球アナリスト」としての目標として、

  • 野球マニア以外でも楽しめる野球データの世界を模索する
  • 野球の奥深さをデータの視点からやさしく伝える

このような目標を掲げており、その目標に少しづつ近づいてるな良かったな!という意味ですごく嬉しかったです。

野球が趣味じゃない人、興味が無い人に「面白かった」「野球を見るモチベーションになった」と言われると凄く嬉しいです。

PyCon2014の個人的ホームランは野球プログラミングセッション。好きなデータを好きな言語で。楽しんでいるのもすごくいいね

発表のオチが「好きなデータを好きな言語でHackすると 楽しいよ!」だったので、その気持ちがしっかり伝わったのが嬉しいです。

あとは、野球に限らず、Pythonに限らず、同じようなネタを続けてやってくれる人が出てくることを祈っています。

趣味をHackして発表する、という文化がもっと広まって欲しいなと!

伝えたいこと(又は質問の回答)

伝えたいこと、というか質問めいたつぶやきに対する回答をいくつか。

何故、AnsibleじゃなくてChefなのか?

仕事のエンジニアリングだったらどっちを採用するかちゃんと検討するのですが、

Serverが2,3台程度の趣味プロジェクトであれば覚えたい方のプロダクトにしよう、という動機でChefにしました。

前の章で書いたとおり、PythonistaだからといってなんでもPythonにする必要ないと思っている一人かつ、

Rubyも好き&しばらくRubyに遠ざかりすぎていたのでChefで思い出したかった、という理由もあります。

、、、っていうのを発表中に回答するのはちょっと違うと思ったので発表では言葉を濁した次第です笑

日本のスポーツで使えるデータは無いのか?

これは会場でも質問に上がっていました。

答えとしては、

  • 自分でサイトをスクレイピングすれば手に入る
    • ただし、著作権等の理由でおおっぴらには使えないので注意
    • 自分でサービスを立てる人はこの方法を取れません
  • また、自分でスコアを付けて集計する方法もある
    • 権利問題はクリアできる
    • ただし、データを集めるコストは異様に高い(スコアを書くコスト、プロの場合なら他の試合どうするのetc...)
  • 現状ではデータを扱う会社から手に入れるのが現実的
    • 個人相手に商売するかどうかは不明

野球以外のスポーツについては調査をしていないので正直わからないというのが答えになります。

このへんは是非ともやりたい人が調べて公表してくれると嬉しいです。

(データがないなら)誰かが集計してオープンデータにすべきだ。

これはあくまでも個人の見解ということで。

データがオープンだろうがクローズだろうが、そのデータには必ずお金・コストがかかっています。

国や自治体のデータは私たちの税金で情報を整理したり作ったりしてるので、オープンにして!という要望は当然かつ自然な流れだと思いますが、

スポーツ、特にプロスポーツの場合は競技そのものも集計する仕組み・仕掛けもすべて「主催者」「球団」がコストをかけているものなので、

そう簡単にオープンにはしないと思っています。

裏話

注意事項、のスライドのハナシ

セッション前に、会場モニターに出したスライドです。

本番1時間くらい前にネタとして仕込みました

会場の外に幾つかモニターがあって、メイン会場(私が喋った場所)をモニターしてたのに気がついたので、

ちょっとおもしろいかも!と思って出してみました。

Twitterを見る限り、記念撮影したりしてる人が結構居たみたいで、してやったり感があります笑

名言(珍言?)のハナシ

(ピタゴラス勝率について)Pythonとか関係なく覚えて帰っていただきたい

PythonのカンファレンスでPythonとか関係なくって言い切った人は私が最初じゃなかろうか笑

これはアドリブでもセリフでもなく素が出た感じです、自分でもYouTube見なおして何いってんのって思いました(汗)

(アダム・ダン率について)これはBABIPとは真逆です!

これは完全にアドリブ。

どなたかのブログに、「Talk SessionのBABIPの流れからアダム・ダン率の話を持ってきた流れは秀逸」と素晴らしくありがたい褒め言葉を頂いたのですが、実はそんな計算はしてなくて偶然だったりします。

LTで喋ってる最中に気がついたのでそのまま流れで「BABIPと逆!」って言った感じですw

おしまい

長くなりましたが、発表で学んだことは以上です。

結構インパクトあった発表なのか!?slideshareはてブの伸びっぷりが半端無くて驚き通り越して怖いです(真顔)

あとはこれを真似して、ないしは有志同士が絡んで同じような「趣味のデータを好きな言語でハック」という流れができて欲しい、そう思う次第にございます。

私の「野生の野球アナリスト」としての活動はまだまだ続きます。

Python、、、にかぎらず、他の言語、他の手段も模索しつつ、

  • 野球マニア以外でも楽しめる野球データの世界を模索する
  • 野球の奥深さをデータの視点からやさしく伝える

活動を続けたいと思います!

できれば、外で講演とかしたいですねー、勉強会イベント、会社内の勉強会etc...

もし、私におしゃべりして欲しい!という方がいましたらお声掛けください、お待ちしておりますm(__)m

最後になりましたが、会場およびネットで聞いたり見たりしてくださった皆様、本当にありがとうございました!

、、、寝ます、おやすみ。

*1:PyCon JP 2014 Development Sprints - connpass ミニハッカソンみたいなもんです

*2:【PyCon JP 2014】日曜プログラマーの私が趣味ネタでカンファレンスに"登板"するまでにやったこと - Lean Baseball

*3:Kawasaki.rb #015 - Kawasaki.rb | Doorkeeperで発表した時とほぼ同じアウトライン

*4:楽しい時は笑い声とリアクションが過剰になるのはよく注意されますが絶対治らないのでもう諦めてますw

*5:人数の問題もあると思うw

*6:グルー=糊のこと。OSライブラリや他の言語で作ったライブラリとの橋渡し、すなわち「糊付け」で使えるのがPythonの強みだったり

*7:PyConJP2014のカンファレンスにPython歴-1日で参加してきた話 - しがない学生の雑記