何かを書き留める何か

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

Curriculum Vitae of XaroCydeykn

Curriculum Vitaeと呼ぶには何かが欠けている気がするが気にしない。

技術書査読

外部発表

2016年

  • PyConJP で感じる私の成長」PyCon JP 2016 Day1 Lightning Talk

受付後にLTの募集枠が空いていたので深く考えずに登録した。 卒論・修論発表で培った(?)勢い重視の発表で中身の薄さを乗り越えた。 最初のPyCon JPは怖い、という話はある程度共感を得たようである。

2017年

当初は話を聞くだけのつもりであったが、Python 3.6の新機能を調べるうちにメタクラスの部分の置き換えができることに気づいたので発表した。

中身のない概要から如何に内容を絞り出すか、と苦戦した発表。

  • Respect the Built-in Names」PyCon JP 2017 Day1 Lightning Talk

Reject Conから評判の良かった内容を抽出して膨らませたLT。

  • 技術書査読・校正の現場から」BPStudy #123 Lightning Talk

間違い探しLT。

2018年

  • レガシーDjangoアプリケーションの現代化」DjangoCongress JP 2018

2017年8月から参画したプロジェクトの経験を元に架空のプロジェクトという見立てを用いて話を作った。

  • SymPyによる数式処理」PyCon JP 2018

SymPyで学んだことを整理するために発表した。

『エレガントなSciPy』の査読を担当しました

興味深い事例と学ぶSciPy

2018年11月10日にオライリージャパンから『Elegant SciPy』の邦訳『エレガントなSciPy』が発売される。 この度、邦訳の査読者として参加させていただいた。 オライリーの方から話があったのは2018年9月中旬であったが、『Elegant SciPy』の話題は2017年のPyCon JPでオライリーの方と雑談をした際に話題に上がっていた。

www.oreilly.co.jp

具体的な題材を中心に、NumPy、SciPyを中心に科学技術計算をPythonでどのように行うか、を説明している。 題材としては筆者たちの専門である生物系の分野からの採用が多く、序盤から遺伝子の話題が登場する。 とはいえ、生物系の話題に疎くても解説とソースコードを読み解けばNumPy、SciPyのすごさが理解できると思う。 Pythonのバージョンも3系であるのがうれしい限り。

本文中、セルゲイ・プロクジン=ゴルスキーが撮影したカラー写真を復元する題材がある。 同一の被写体を3色のフィルタを通して撮影することでカラー写真を構成する手法である。 その被写体は教会のステンドグラスで、神ヤハウェ使徒ヨハネヨハネの弟子プロコロが描かれている。 以前、読んだ本の影響でヨハネとプロコロの関係を詳しく知りたくなった。 その結果、ヨハネがプロコロを通じて『ヨハネによる福音書』を口述筆記*1している様子を描いたのであろう、ということが分かった。 査読者の指摘としては、プロコロという名前の訳出方法(英語の発音通り?新共同訳に寄せる?)に留まったが、こういう寄り道が楽しいのである。

閑話休題。最近のPython本は機械学習系が多かったが、この本は(scikit-learnも登場するが)Pythonの昔からのお得意様である科学技術計算がメインである。 Web系とも、機械学習系とも違う、科学技術計算の面白さを堪能してほしい。

*1:伝承であり、実際に誰が書いたのかはどのような立場をとるのかによると思う。

Pycon JP 2018に参加しました。

まさかの時のなんとやら

2018年9月17日、18日にPyCon JP 2018のカンファレンスが行われた。 2014, 2015, 2016, 2017に続いて5回連続5回目の参加である。 今回はスピーカー、スポンサーブースの主担当者として参加という今までとは全く異なる立場でのPyCon JPであった。

聞いたトーク

Atsushi Odagiri 「あなたと私いますぐパッケージン」

speakerdeck.com

youtu.be

毎年、パッケージングの話を聞いていると着実にパッケージ周りが進歩していることがわかる。

新井 正貴 「Pythonで解く大学入試数学」

slideship.com

youtu.be

まさかの数学ネタ、SymPyネタ被り。自分の宣伝に少なくない時間をかけてもらってしまい申し訳なかった。 センター試験は手計算に優しいのでSymPyだと回りくどい可能性もある。

杉山 剛「自分が欲しいものをPythonで書く方法(Python for Myself)」

slideship.com

youtu.be

YouTubeから視聴。 質問に答える人の役で自分が登場する。

1日目LT

youtu.be

jumpyoshim.hatenablog.com

会社の同僚が発表した。 アレな目的に対して真面目な手法を使うのは面白い。

別のLTで昨年のLTであった「listにlistを代入する」話が再び登場した。

Yasuaki Matsuda「Djangoアプリケーションにおけるトイル撲滅戦記」

speakerdeck.com

youtu.be

会社の同僚が発表した。 一緒に取り組んだプロジェクトやその経験を踏まえた新しいプロジェクトでの経験をいい感じにまとめてある。

2日目LT

youtu.be

麻雀の役判定botのLTにキレがあった。 そのほかもいい感じのネタでとてもよかった。

スポンサーブース

所属している会社の広報の方がまとめてくださりました。

PyCon JP 2018にGoldスポンサーとして協賛しました!

発表した内容: 「SymPyによる数式処理」

github.com

youtu.be

当初、数論成分は薄めであったが、線型代数の説明をするよりも数論の方がSymPyのモジュールを活用できるので素数にまつわる定理や補題、予想を増やしていった。概要に書かれている連立方程式や最大公約数、最小公倍数は一体どこにいったのでしょう? 発表の冒頭でヤバいと思ったら逃げましょう、と煽ってみたが、結局誰も逃げずに最後まで聞いてくれてうれしかった。寝ていた人もいたけれども...。

自分の発表を聞いてみると、自分が思っているよりも声が高めなのか、とか、早口で何言っているのかわかんないなこれ、みたいな印象を受ける。

発表内容も、当初はもう少し高校数学よりの内容にするつもりであったが、ネタ被りが生じたため、修士論文からネタを採用することになり数論ネタが増えたりと「理工系学部1, 2年」というレベル感とは、という状況になった。 それでも、自分が話したい内容を話したほうがやはり話している人が面白いので聞いている分も何言っているのかわからなくても面白そうだった、となれば十分である。

所感

今年はスピーカー、スポンサーブースの主担当者という重めの役割を同時にやったのでなにかと大変であった。 来年も数学ネタで何かできればいいなと思いつつ。

『問題解決のPythonプログラミング』の査読を担当しました

これがMITの学生が学んでいるプログラミング!

2018年9月22日にオライリージャパンから『Programming for the Puzzled』の邦訳『問題解決のPythonプログラミング』が発売される。 この度、邦訳の査読者として参加させていただいた。 オライリーの方から話があったのは2018年7月下旬であった。

www.oreilly.co.jp

この手のエントリは、発売日後に出すことにしているが、今年のPyCon JPで先行発売されるので知名度を上げるために*1早めに出した。

原著の筆者はMITの教授で実際にMITにおけるプログラミングの講義において使われた題材を元に構成されている。 MITのプログラミングの講義、といえばSICPが有名であるが、『Programming for the Puzzled』もまた実際の講義の経験に裏打ちされた密度の高いパズルがたくさん掲載されている。 個人的には、最初の帽子のパズルはなんだこれ?と思ったが情報圧縮アルゴリズムに絡めた問題であることがわかるとちょっと感動してしまった。

この本の難点は、掲載されているPythonコードが全体的にPythonicではない、PEP 8に従っていないこと、Python 3対応を謳っているがPython 2ベースであること、であろう。 自分で読みつつ、Python 3対応を行ったり、Pythonicなコードに置き換えて読んだりするとPythonの力が向上するだろう。 黒川さんのあとがきの通り、研究室や会社の研修で使うとよさそうな本である。

*1:果たしてどの程度の効果があるのか。