何かを書き留める何か

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

PyCon APAC 2023に参加しました

実は初めてのAPAC

去る2023年10月27日と28日にPyCon APAC 2023のカンファレンスが行われた。 今年はPyCon JPではなく、PyCon APACとしての開催である。 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022に続いて10回連続10回目の参加である。 今回は英語発表やらサイン会やら、今までとは全く異なるPyConであった。

会場について

今年の会場は昨年に引き続いて東京都江東区有明にあるTOC有明であった。 昨年とは異なり、発表部屋ごとに仕切りがあり、コロナ禍前のPyCon JPに近い形式であった。 基調講演について、今年はレシーバーが配布されず、同時通訳が流れる部屋とそのままブロードキャストする部屋と分ける構成だった。 会場の関係上、大体全員が入れるホール的場所がなく、オープニングや基調講演、LT、写真撮影における一体感はやや薄かったが、特に不便を感じることはなかった。

聴講した発表について

基調講演や興味がある発表、会社の同僚の発表を中心に聞いた。 発表を聞く際はなるべく質問をするように心がけ、実際に聴講した発表についてはすべて質問した。 テーマを深掘りした内容や趣味をPythonを活用して楽しむ、といった内容は聞いていてやはり面白い。

スポンサーブースについて

昨年は仕切りなしで発表会場に隣接していたが、今年は区切られた部屋で配置され、従来の形に戻ったといえる。 シルバースポンサーはゴールドスポンサーの半分のサイズです、とは聞いていたが、その単位は長机だと知ったのは開催直前であった。 コミックマーケットみたいだな、と思って実際に見てみたら本当にコミケットみたいだった。 何らかの形でPythonを使っている企業が多かったが、やはりデータ分析や機械学習の文脈で使っていて、Web開発で使っている企業は少なめだった。 各社、クイズやらアンケート、チラシや掲示物など工夫を凝らしていた。 当日はやや疲れていたのもあって、「お疲れですか?」と声をかけられたり、メールアドレスが必要なアンケートやらノベルティについては「いりません」「嫌です」と答えるなど、疲れているんだなという対応をしていた。

サイン会について

Python Distilled―プログラミング言語Pythonのエッセンス』の翻訳者として、サイン会が行われた。 PyCon JPスタッフ側から打診があったのは開催まで2週間もない時期であった。 そのタイミングから調整が始まったので、中々宣伝が始まらず、本当にサイン会なんて存在するのか開催前々日まで自分でも疑わしく、「サイン会をやると勝手に主張している人」になっていた。 当日は知り合いの方や会場で購入していただいた方にサインをした。 サインの有無はとにかくとして、『Python Distilled―プログラミング言語Pythonのエッセンス』はいい本なので広く読まれて欲しい。

サイン会で思い出したのが、『サルでも描けるまんが教室』の描写である。

shogakukan-comic.jp

shogakukan-comic.jp

21世紀愛蔵版における下巻の「第2章~大ヒットへの道」にその描写がある。 新宿紀伊國屋の漫画売り場(当時は地下1階にあったらしい)で『サルでも描けるまんが教室』を立ち読みする客に念を送ったり、購入した客の手から漫画を奪って勝手にサインをする、というレポートがある。 実際、僕も新宿紀伊國屋や池袋ジュンク堂で関わった本を立ち読みする人に念を送ったりするが、効果はまったくなく、自分が関わった本を手に取って会計に向かう人を見たことがなかった。 先日行われたMaker Faire Tokyo 2023でも、『Python Distilled―プログラミング言語Pythonのエッセンス』がじわじわ売れている話は伺っていたが、実際に会計に向かう人は見かけなかった。 今回のサイン会では、実際に購入した人やその場で購入した人を実際に目撃したり、実際にサインをするなど、今までになかった経験ができた。 単純な売り上げ冊数を聞いた時もうれしかったが、実際に購入する光景を目撃できたのがうれしかった。

開催に尽力してくださったPyCon JPスタッフやオライリー・ジャパンの皆様、ありがとうございました。

自分の発表「Let's implement useless Python objects」について

speakerdeck.com

github.com

このネタの原型は自分の過去のエントリにある。

xaro.hatenablog.jp

前回の記事の動機付けとしてはMonty Pythonのスケッチから着想をえた、という構成にした。 今回は、それを意識しつつも荘子の無用の用の概念を強く意識して書いた。

なぜ「役に立たないプログラムを書く」という発想に至ったのか。 単なる天邪鬼な性格の故、とも言えるし、「プログラミングは目的ではなく手段」という言説に対する反例を示したかった、とも言える。 「プログラミングは目的ではなく手段」を信奉するのは別に個人の自由であるが、それをありがたい御題目として他人に押し付けられるのが嫌なのである。 プログラミングそのものもそれ単体で十分技芸であり、それ自身を目的としてもよいのである。 それらのエントリが技芸に足るのか、は別の問題であるが。

役に立たないと言いつつも、「ランダムにイテレートされるリスト」は何かに役に立ちそうな気がする。 もっとも、何が何に役に立つのかなど、浅はかな自分にわかりやしないのであるが。

荘子については、過去の長文エントリで触れている。

xaro.hatenablog.jp

学部3年の時に学科改組が行われ大学院は改組後の専攻に属した。大学院で驚いたのは必修の講義が複数あること、選択科目を20単位も取得しなければならないことである。問題はその選択する講義が改組後の専攻の講義であるため前提となる知識が全く無い状態で講義を選ばなければならないことであった。全く専門外である経営工学に関する講義やセキュリティに関する講義、ネットワークに関する講義などは大変であった。また大学院にはオムニバス形式の講義が複数あり中途半端な講義にならざるを得ない状態に困り果ててしまった。役に立たない講義でも考え方によっては意味があったりもする。コンピュータに関する話をオムニバス形式の講義で聴いていたが面白くなかったので出てきたキーワードを検索していたら荘子という春秋戦国時代の宋の哲学者を知った。面白そうだったので『荘子 内篇』を購入し読んでみたらやはり面白く感動した。

とはいえ、荘子を引用したのはuselessという題目やテーマを正当化するための方便である。 実際の発表内容は、役に立たないオブジェクトの作り方を通してオブジェクトプロトコルを学ぼう、という内容である。 Pythonのオブジェクトモデルについては3. データモデル — Python 3.12.0 ドキュメントを読めばわかるといえばわかるのだが、わかりにくい。 そもそも、何が書いてあるのかを知らなければ読もうともしないだろう。 興味を持つきっかけとして、実際に自分で変なオブジェクトを作ってオブジェクトプロトコルを知ってもらえればうれしい。

ところで、当日の発表にて「ShuffledIterableは役に立つのではないか?」という質問から議論が発展した。 実際、過去の自分も

「ランダムにイテレートされるリスト」は何かに役に立ちそうな気がする。

と述べている。 まあ、役に立とうが立たまいが、 __iter__() 特殊メソッドの実装次第でイテレートを制御できる、というのを知ってもらえたなら、ShuffledIterableは役に立ったのである。

発表資料はほぼ全編英語だが、発表言語もほぼ英語だった。 今年はPyCon APACであり、英語枠が多いという事情から英語発表に挑戦したのだが、痛い失敗をすることになった。 台本を作成したものの、台本棒読み発表を嫌う自分にとって台本棒読みをする自分が許せなかった。 普段は、台本を考えずとも、何を話したいかを日本語で理解しているので台本を作らずとも発表できるのだが、それは母国語だからできる話である。 英語でそれをやるのは、今現在の自分にとっては相当な曲芸であった。 結果、台本は手元にあったがほぼ放棄することになり、非常に拙い英語で無理やり20分間の発表をこなすことになった。 読み書きは時間を書ければできるものの、聞いたり話したりはまったくできない。 これは今後の課題である。

テーマとしては非常に面白いと思っているので、また別のカンファレンスで再挑戦したい。 日本語再演か、はたまた海外PyConか。

最後に

コロナ禍は決して終わってはいないが、PyCon JPとしては2019以前の形に、あるべき姿に戻りつつあるのではないだろうか。 2024年はどうなるのかわからないが、発展してよりよい形になることを願っている。

個人的には、PyCon APAC 2023登壇が終わったので、自分の肩に乗っかていた物がだいぶ降りた感じがする。 『ロバストPython』や『Python Distilled―プログラミング言語Pythonのエッセンス』も無事出版された。 会場で複数人から「お疲れですか?」と声をかけられた。 少し、休むタイミングなのかもしれないが、まあ体調に気遣いながら頑張って生きていきたい。 日本語再演や海外PyConもなんとなく考えているが、果たして。