何かを書き留める何か

数学や読んだ本について書く何かです。最近は社会人として生き残りの術を学ぶ日々です。

Pycon JP 2017 1日目に参加しました。

去る2017年9月8日に早大理工にてPyCon JP 2017のカンファレンス1日目が行われた。 2014, 2015, 2016に続いて4回連続4回目の参加である。 今回は講演を聞くことよりもブースを聞いて回ることや話すことを中心においた。

Keynote Peter Wang

https://youtu.be/kIgGHTsig6gyoutu.be

Anacondaの設立者による基調講演。

Pythonとパッケージングと私 Atsushi Odagiri

youtu.be

今回はsetuptools周りのお話。 setup.pyは恥ずかしながら書いたことがなので、中々この知見を活かすことができずにいる。 pip install -U setuptoolsは忘れないようにしよう。

メディア会議

清水川さんのブログエントリに記録が残っている。

www.freia.jp

もっと裏話っぽい話が聞けると思っていたがそうでもなかった。 著者の皆様が執筆を行った経緯が持ち込みではなく依頼なので、いつでも引き受けることができるように素振りが必要だなと感じた。 その後行われていたMeet upは真剣に話す人たちが多くて近づけなかった。近づく勇気がなかったと言うべきか。

Djangoフレームワークのユーザーモデルと認証 Shinya Okano

www.youtube.com

ちょうど最近Djangoに触れているので、アプリケーションの肝となる認証を知りたくて参加した。 ビューがクラスビューになったりと進化を続けているので、使うのであればきちんとキャッチアップしていきたい。

Lightning Talks

www.youtube.com

  • 1組目はPyLadies Tokyoによる「ギャル語ほんやく」。ギャル語に詳しい人がいないという悩みに笑ってしまった。時間とともに変化する文脈依存言語となるのでコーパスが構築しにくそうである。

  • 2人目は@ymyzk によるWSGIのラインプロファイラ。

  • 4人目は@catcat_festivalによる暗号通貨取引を行うbotの話。バブリーな暗号通貨をbotに託す勇気が欲しい。

  • 5人目は@tn961irによるOSS Fridayの話。紹介と共に今後こうしたいという決意表明でもあったと思う。

  • 6人目は@nasa9084によるDockerの話。Python成分は何処へ。

  • 7人目は@yotchang4sによるJavaPythonインタプリタの話。これに憧れてオライリーの『言語実装パターン』を買ったほどである。

  • 8人目は@renyuanlyuによるカラオケの話。相変わらずすごい技術であり、最後まで聞けずに残念であった。

3人目、そう3人目ですね…。*1

Respect the Built-in Names

speakerdeck.com

前日までは全く別のテーマを考えていたが、 2017年9月6日に行われたReject Conでの反応や自分でスライドを作ったことによる考えの変化から、 あまり明文化されていないと思われる作法「組み込み函数を不用意に上書きしない」にフォーカスして発表してみることにした。 実際、listlistオブジェクトが代入されるケースやsum函数に0が代入するケースは多い。

スライドにある「悪い文明」の元ネタ(と私が認識している)は『もっとマンガで分かる!Fate/Grand Order』の第23話である。 www.fate-go.jp

「親御さんが泣くぞ」という話は昔からあるが、当初使おうとしたのは1936年の二・二六事件『兵に告ぐ』のビラであった。 刺激的すぎるので不採用としたが、心残りであったので口頭で出てきたと思われる。

idにだって人権がある」は事前に考えた内容ではなく、当日その場で口から出てきた言葉である。

感想ツイート

togetter.com

このようなうれしい感想をもらうことができてとてもうれしい。 題材が何だかんだみな遭遇してきたことなので共感がしやすく、自分でいうのもアレであるが笑いは取れていたと思う*2

また、何故組み込み函数や組み込みクラスが上書き可能であるのか、という話を懇親会でスタッフの方とした。 何故だろうか。TrueFalseのように新たな値を代入不可能にすることもできはするはずである。

*1:サムネイルの時点でネタバレしている。

*2:しかし、自分の発表を見ても面白いとは思えず、恥ずかしくなるのである。

PyCon JP Reject Conference 2017に登壇しました

私はオライリーの回し者ではありません

2017年9月6日にTech Play Shibuyaにて『PyCon JP Reject Conference 2017』が行われた。 PyCon JP 2017の前日に行われる非公式イベント*1である。 今回、私もPyCon JP 2017にCfPを提出し、見事にRejectされたので参加することにした。

感想

Reject Conとはいうものの、発表内容は高度なものや興味深いものばかりであった。 ただ、中身は濃いものの、Python色が薄い発表が多かったのも印象に残った。 とはいえ、機械学習系もふたを開けてみればPython色が薄そうな予感もするので、本編のPyCon JPカンファレンスと見比べてみたい。

How to Write Functions in Python

speakerdeck.com

内容としては、『Effective Python』や『Effective Debugging』で得た知見や実務で経験したことをまとめたものの抜粋である。 スライドを作成するうちに、『リーダブルコード』も参考にするべきと思い立った。 『リーダブルコード』は以前先輩に貸した以来返してもらっていないので先日紀伊國屋まで足を運んだ。 結果、『リーダブルコード』や『Effective Python』を薦める内容となった。

ツイートに移る自分の顔を見ると、ものすごく太ったことがわかるので、痩せたい。

最後に

関係者の皆様、さまざまな準備や機会を提供してくださいありがとうございました。

*1:スタッフが発起人であり、関係者もツイートしていたので、非公式ながら公認イベントだと私は思っている。

『PythonとJavaScriptではじめるデータビジュアライゼーション』の査読を担当しました

表紙は3種類の蜂

2017年8月25日にオライリージャパンから『Data Visualization with Python and JavaScript』の邦訳が発売される。

www.oreilly.co.jp

この度、邦訳の査読者として参加させていただいた。 オライリーの方から話があったのは2017年7月上旬であった。

内容としては、「Wikipediaノーベル賞受賞者の情報を可視化する」という目標に沿ってデータのスクレイピング、データの整理、データの分析、可視化を行っていく。 データのスクレイピングから分析までがPython、可視化をJavaScriptで行っていく。

既にオライリーからは『PythonによるWebスクレイピング』『JavaScriptによるデータビジュアライゼーション入門』といった本が出版されているが、 『PythonJavaScriptではじめるデータビジュアライゼーション』はデータの取得から可視化まで一気通貫して行っているのが特色である。

原著はPython 3対応を謳っているものの、原著の記述はPython 2を前提とした記述が多かった。 例えば、Python 2のSimpleHTTPServerモジュールはPython 3ではhttp.serverとなったが、原著ではSimpleHTTPServerの記述のみであった。 監訳者である嶋田さんを中心に補ったはずであるがどこまでPython 3対応が進められたのかはわからない。

全500ページと中々の分厚さで大変であるが、ぜひともデータの可視化に挑戦してみてほしい。

余談

P.xの「図P-1. 危険なWeb開発地帯」の訳注が一番気に入っている。 原著では「Here be webdev dragons」とある。 大昔の世界地図に書かれたドラゴンを意味する。 改変元となった世界地図は大英博物館所蔵の『詩篇』の写本に描かれた世界地図である。 大昔の世界地図は正確性よりも物語性が強いんだなあと感じた次第であるが、自分の内面世界も視野を広げていかないとこのような世界地図になってしまうのではないかと思うのである。