« ^ »

あれから10年経った

所要時間: 約 16分

1年に1度、その1年の仕事や個人的な出来事を「あれからn年経った」というタイトルで記事にしている。2023年は昨年に引き続き実りの多い年だった。ただ個人的な事では、それ以上に悲しい事もあった1。今年は10年の節目だから10年間の総括もしたいが、それはまた別の記事で行う事として、ここでは2023年の総括をする。

過去分

Github上での活動記録

https://res.cloudinary.com/symdon/image/upload/v1703927802/blog.symdon.info/1702646963/contributions.png

ソフトウェアの開発

僕は主にソフトウェアの開発を生業としている。今年もこの仕事にしっかり取り組んだ。ただ様々な制約があるため、あまり表に出す事はできない。貢献できた所と、至らなかった所の両方がある。また一緒に働いている人達や、関係者の皆様に支えられてやってこれた。しっかり振り返って、今後の取り組みに生かしていきたい。あと、もっとコミュニケーションを増やしていきたい。

書籍

ここ数年、書籍のお仕事をしている。今年も幾つかの書籍に関わらせて頂いた。このようなお仕事ができるのも、まず読者の皆様があってこそだ。去年も同じような事を書いた記憶があるけれど、大事な事だから今年も書く。ご購入くださった方々をはじめ、あらゆる形での関係者の皆様の支えがあって形に出来た事だ。

本当にありがとうございました。

感謝の言葉を書き出すと、その言葉だらけになるから、感謝の気持ちについては、ここに書くに留める。それでは成果を書いていく。

「Pythonではじめるオープンエンドな進化的アルゴリズム」の執筆(共著)

「オープンエンド」をテーマに機械学習の手法を解説する「Pythonではじめるオープンエンドな進化的アルゴリズム」を共同で執筆した。

僕は著者の一人という形で名前を載せて頂いた。実際には、岡先生と斎藤さん(メインの著者のお二人)が骨組や大部分を執筆及び実装されていたものだ。僕は途中から執筆やその他の作業に参加した。まえがき、2章の一部、各章のコード説明の一部の加筆や修正、Evolution Gym自体の修正、サポートサイト、その他の雑務を担当した。その貢献を認めて頂き、岡先生と斎藤さんのご厚意で名前を載せて頂く事になった。

メインの著者のお二人には、本当にたくさんアドバイスを頂き、作業を進める事ができた。理解できていない(もしくは理解の浅い)僕の質問に対し、お二人は根気良く向き合ってくれた。MITの研究者の方を紹介して頂いたり、その繋りでEvolution Gymのコミット権限も頂き作業を進める事ができた。また編集者の方や、作図を手伝ってくれた方、いろんな人が僕の作業を見て補助線を引いてくれたり、サポートしてくれた。

僕にできる事は少なかったけれど、それでも全力を出したと言える。2023年に一番頑張ったのは間違いなくこれだ。

「SQLではじめるデータ分析」の監訳(共同)

「SQLではじめるデータ分析」という書籍を大橋先生と共同で監訳した。この作業は2022年の年末に行っていた作業なので、実は去年の記事である「あれから9年経った」にも記載している。年末の出版には間に合わず2023年に出版となった。こちらも大橋先生や編集者の方に様々なアドバイスを頂き作業を進める事ができた。見本誌が届いた時は本当に嬉しかった2

「SQLクックブック」のサポートページを更新した

SQLクックブックは2年前ぐらいに取り組んだ作業だが、読者からの問い合わせがあり、それについての調査とerattaの記述を行った3。宿題として暫く放置してしまったが、きちんと対応できて良かった。

自由ソフトウェアやOSSの活動

僕は自由ソフトウェアやOSSの恩恵を享受してきた。こういう文化が好きだし、そういった文化に対し多少の貢献ができれば良いなと考えている。そして今年も少しだけ貢献できた。

Evolution Gymに色々と貢献した

本の執筆の関係もあり Evolution Gym というソフトウェアに対して取り組んだ。

リリース作業

Evolution Gym に修正を加える前に、論文のバージョンを残しておきたいという話が挙がり、リリース作業を担当した。

https://github.com/EvolutionGym/evogym/releases/tag/1.0.0

それに合わせてGithub ActionsでCIも整備した。

https://github.com/EvolutionGym/evogym/pull/25

プルリクエストをいくつか送った

僕が書籍の作業に参加し始めた頃、 Evolution GymmacOS へのインストールに失敗する状態だった。これにはいくつか理由があったが、当初は全く分からず途方に暮れていた。

暫く問題を放置した後、本腰を入れて調査する事にした。エラーの出力をよく読み、同じ問題が発生する小さなプログラムを書いて再現させ、その解決方法を探るという作業をした。言葉にすると、それほどの作業に思えないかもしれないけれど、実際にはかなり沢山の時間を使った。狙い通り上手くいったのかどうかさえぱっと見では分かない事や、上手くいったと思って作業を進めると前提の所で間違えていたり、など上手くいかない事も多かった。かなり粘り強く取り組んだ。

その甲斐あって、いくつかの問題の原因は分かり、それをプルリクエストにする事ができた。また Evolution Gym の開発者の方と進め方を相談しながら、結果として3つのプルリクエストをマージする事ができた。良い経験になったし、少しだけ自信が付いた。

Popplerに注釈の返答機能を追加する

書籍の監訳をする時、PDFを扱って作業を行う。PDFはEmacsでも扱えるのだが、その操作性はPDF専用のツールには及ばない。僕にとって生産性を向上するためには、いかにデータやファイルをEmacsで取り扱うかという事になる。そのため、EmacsがどのようにPDFを扱っているかを調べる事にした。PDFを使用するのであれば pdf-tools というライブラリを使用すると様々な機能が使えるようになる。このライブラリは内部で epdfinfo というプログラムをCで実装し内部で使用している。この epdfinfo で使用しているPDFライブラリが Poppler だ。これをフォークし手を入れた。

https://github.com/TakesxiSximada/poppler-symdom-custom/commit/291337c0b76fdc0c7e2493b8496065165de4e046

この長い旅の記録は以下に著した。

書いたEmacs Lisp

普段、Emacsを使っていると日常的にEmacs Lispを書く事になる。それらをざっとまとめる。これは、どこかへの貢献というよりも個人的な活動なのだけれど、それでもGPLで公開はしているので、(文化への貢献という意味で)「自由ソフトウェアやOSSの活動」に含める事にした。

その他の活動

ソフトウェア開発と書籍以外にも様々な活動をした。

オンラインの配信イベントを主催した

「Pythonではじめるオープンエンドな進化的アルゴリズム」の販促活動の一環として、ゲストを呼んでオンラインのイベントをやろうという話になった。ただ、そういった経験が無かったため、プレイベントとしてオンラインのハンズオンをやる事にした。

ハンズオンの内容は、エージェントがクッキーを探す宝探しゲームを採用した4。これは、自分の勉強用に書いていたコンテンツだ。後に、書籍の付録として掲載させて頂ける事になった。

いざイベントをやろうとすると、予想以上に多くの作業をしないといけなくて大変だった。こういったイベントや人前で話す事には少しだけ苦手意識があったし、相変らず進行やスピーチはヘタクソだったけれど、それでもやってよかった。良い経験になった。

本当は後続の対談イベントにも参加する予定だったのだけれど、僕の精神的な問題で活動きない状態になってしまい、そちらは参加できなかった。connpassのグループのリンクも貼っておく。

https://openended-codebook.connpass.com/

ゲームの開発や運用を楽しんだ

暫く前から仲間内でゲームの運用をしている。ここでは、それに関する振り返りをする。

思い出作りをした

ゲームを運営している理由の一つは思い出作りだ。企画を考えて協力しながら、何かを作ったり、探索したりした。一つ一つの出来事は小さくて、忘れてしまうかもしれないけれど、あの時あんな事をしていたという事実は忘れないだろう。また、それらの記録としてライブ配信を約45回、動画を2本作成した。閲覧数を指標として考えると惨憺たるものだったが、実施回数を指標として考えると上出来な結果だと思う。これらも含め良い思い出作りとなった。

拡張の開発

ゲーム自身に手を入れる事はあまりできなかったけれど、拡張の開発はいくつか行った。誕生日にはダイヤモンドを贈るようにしたり、ボール実装にチャレンジしたりした。

自作のEmacs Lispの管理方法を見直した

自作のEmacs Lispの管理方法は人によって異なるだろう。僕自身も様々な方法を試してきた。今は小さいLispに関しては、このサイトに直接Emacs Lispを置いている。 個人的な Emacs Wiki のようなものだ。自分用はこれでいい。

個人的な事

その他の個人的な事も色々とあった。自分の中で整理できていない事もあるけど、書ける範囲で書く。

これまでの人生で一番稼いだ

本当に仕事を頑張った。金額は流石に伏せるが、その結果過去最高に稼ぐ事が出来た。この事実を褒めてくれたのは税理士さんぐらいだったけれど、過去仕事が無くて困ったり、ワーキングプアだった自分がここまで出来たという事が本当に嬉しかった。これらは僕の至らない部分を、同僚や仕事上の関係者がフォローしてくれたり、目を瞑ってくれたりしたから何とかできた事だという事を忘れないようにしよう。

実家に1ヶ月ほど帰った

11月初旬に心の問題で、自分の力で生活できるような状態ではなくなってしまった。ただ仕事を止める訳にはいかない。滅多に話さない遠方の実家に電話をし、その電話の1時間後には新幹線に乗っていた。その後1ヶ月程、実家の両親に生活を支えてもらいながら仕事をした。両親と直接顔を合わせるのは5年ぶりぐらいだった。

実家に暫く帰った事で、ここ数年苦しんでいた発作は気が付くと起きなくなっていた。誰かと話をするという事がとても大切だという事が分かった。どうやら話(発話)をしないという状態は、とんでもなく不健康な状態らしい。

そのまま地元に引き篭る事も考えたが、僕はまだ頑張りたいと思ったから、12月初旬には実家を出て、元いた場所に戻った。だからまた力を尽くそうと思う。

たくさん学んだ

技術的な事、考え方、ものごとへの取り組み方、自分自身に何ができて、何がどれほど出来ていないか、など様々な事を学んだ。学んだ事はブログ等で文章にしようと考えていて、それはある程度できた。品質はそんなに良いものはないし、中途半端な物も多いけれど、数だけで言えば140記事ある。自分の考えた事を文にするという目的はある程度達成できたと思う。これからも自分自身を見直しながら、良い姿勢で取り組み続けたい。

Emacsで学んだ事

その他

最後に

2022年に引き続き、2023年もとても実りの多い年だった。至らぬ所はたくさんあったとけれど、全力を出し切ったと言い切れる。やった事のない事にも、踏み込んでいった。特に今年は10年という節目でもあった。全力で走りきれた気がする。ただ、長年心の支えにしていたものを、失った事はさすがにこたえた。生活できなくなる程だった。これからやっていけるのかという不安は今でもあるけれど、しっかりと足元を見て、来年もできる限りの事をしていきたい。ほんのちょっとだけ世の中を良くできるように。

それでは良いお年を。


1

自分の中でまだ整理しきれていない。この記事でも直接的な事を書く事ができなかった。時間が経って整理ができたら、この酷い話について書こうと思う。

2

見本誌が届いた時の投稿。https://blog.symdon.info/posts/1674023873/