2020 年の反省と 2021 年の抱負
2020 年の反省と、2021 年の抱負についてラフに書きます。
TL;DR
2020 年はシステムプログラミングから Web 開発まで色々やれました。 仕事でお付き合いのあった皆様、コミュニティ活動でお世話になった皆様、そしては友人各位、ありがとうございました。 2021 年は心身の健康を大切にしながら、ソフトウェア開発に軸足をずらしていきたいと思っています。 何か新しい挑戦もしたいと思っているので、2021 年に僕(米内)が力になれそうな仕事・活動があれば メール か Twitter の DM から連絡ください。
2020 年の振り返り
一月ずつ何をやっていたかを書き出します。
1 月
前半は大学の試験に専念して、後半は CPU 実験に専念していました。 CPU 実験の話に関しては、別途記事にしてあるので、気にある方は以下をご参照ください。
この取り組みは、単に「やるだけ」系だったので、何か世の中に対して正の貢献ができたわけではありません。そういう意味では人生を無に費やしてしまった気がします。一方、自分の芸の幅を広げられたという点においては、非常にいい機会だったと思います。
2 月
OWASP Night 2020/02 という催しで喋らないか、というお声がけを頂きました。 そこで、(CODEBLUE CTF 2019 である問題を出題してからずっと温めていた) Blind Regex Injection という攻撃手法についての発表をしました1。主催者の方に感謝。以下はその際のスライドです。
この件に関しては、ブログ記事にもしてあります。気になる方は以下をご覧ください(今読み返すと非常に文章が拙くて恥ずかしいので、近いうちにこの記事は消してしまうかもしれませんが)。
3 月
セキュリティ・キャンプの広報活動の一環で、お茶の水女子大学の学生さん向けにイベントを開催しました。僕は正規表現について話しました。資料は以下です。
また、OWASP Kansai 様にお世話になりつつ、オフライン 1 日の勉強会を開催しようとしていました。 しかし、ちょうどこの頃には日本でも大きな問題となっていた COVID-19 の影響を考慮して、オンラインの長期イベントに変更して開催しました。 色々とご調整頂いていた OWASP Kansai の皆様に申し訳ないと同時に、オンライン化の申し出を受け入れてくださったことに、心より感謝しております。 修学旅行を除けば、京都はまだ個人的に行ったことがなかったので、惜しいなあという気持ちがあります。しかし参加者の皆様や、運営にご参画いただいていた皆様の命のほうが当然大事ですから、オンライン化は正解だったと思っています。オフライン開催はいつかリベンジしたいところです。
イベント開催以外に関して言えば、このころ、かなり真剣に書籍の原稿を書いていました。この頃の話は、また改めて、書籍が出た頃にでも書きます。
4 月
書籍の原稿をあらかた書き終えたのもこの時期だったみたいです。ちょうど書き終わったころにに大学の授業が始まったので、体力が既に底をつきかけていたけれども。
大学ではこのころ某先輩のもとで、Linux Kernel Library(LKL)というのを触って遊んでいました。 また Library OS に関するいくつかの論文を読んだり、いくつかの研究実装を眺めたりもしました。 このレイヤの研究者って凄いよなあ。と思ったのでした。
5 月
SECCON Beginners CTF というのを開催しました。今年が 3 年目の開催でした。 例年参加者は増えてきていて、今年は 1000 以上ものチームに参加していただけたようです。参加者のみなさま、ありがとうございました。 また、安定したインフラを実現してくださった LMT2 の皆様、作問者の皆様、SECCON スポンサーの皆様には、心より感謝しております。
SECCON Beginners CTF 2020 は終了しました!今年は例年より参加者が多く、最終的な参加チーム数は計 1070 チームでした。ぜひ今後も継続してCTFに参加してみてください。ご参加いただきありがとうございました。#ctf4b #seccon pic.twitter.com/J1jZQ0g0K7
— SECCON Beginners (@ctf4b) May 24, 2020
僕も作問したので、その時のことを以下の記事にまとめています。気になる方はどうぞ。
あとは COVID-19 の流れを受けて、学習機会が減っているよねということで、この頃にセキュリティ・キャンプ全国大会 2019 の講義マテリアルを公開しました。
誕生日に書いた記事 でも触れられているんですが、このころは大学の授業や演習が佳境を迎えていたので、大分胃がキリキリしていました。確かこのころは FPGA 絡みの Reversing をしていました。Reversing は嫌いです……。
6 月
電気通信大学の社会人向け履修証明プログラムである WEBSYS というやつで講師をしました。スライドは非公開なのですが、今年も少しは価値を届けられたかなあ。
あとこの月は、会社でのサービス開発を頑張っていた気がします。 フロントエンドからバックエンド、インフラの仕様設計から実装まで、ガッとやりました。 その頃の思考の残滓が以下のブログ記事に残されています。興味がある方は読んでみてください。
7 月
この月は非常にしんどかったです。 腕時計の機能で睡眠時間を記録しているのですが、この期間、よく死ななかったなあという睡眠時間をしている。 生きていてよかった。
思い返すと、「諦める」という選択肢が上手にとれるようになったのは、この時期だったかもしれません。 自分の体力的な、あるいは精神的な限界を経験した分、ストッパーがちゃんと自分の中に設置されたというか。 そう思うと、こういう時期を経験したのも悪くなかったのかもしれないです。
8 月
7 月に異常量活動した結果、8 月は反動が激しかったので、この月は 9 月以降の仕事の下地作りに専念していました。 このころが最も精神的な余裕のある時期だったかもしれません。いくつかポエムも書きました。
あと 3~4 月に書いていた書籍とは別の書籍の原稿も少しだけ書きました。 そちらは共著なので、僕が担当すべき分量も少ないのですが、結構書きにくくて難儀した(し、今もしている)。 こちらの本に関しては、来年前半には世の中に出せるとよいなと思っているので、楽しみにしていてください。
9 月
確か頭にセキュリティ・ミニキャンプ in 山梨 2020でセキュリティキャンプ事業の紹介をしたりしました。
一般講座最後の講演は、一般社団法人セキュリティ・キャンプ協議会より「セキュリティ・キャンプ紹介」です。セキュリティ・キャンプ全国大会の紹介を中心に、第一線で活躍する講師陣による講義の概要や全国大会の選考を通過するためのコツ等を紹介いたしました。 pic.twitter.com/6FKul8B8Iq
— セキュリティ・キャンプ (@security_camp) September 18, 2020
あと歳を取りました。当時の心境は以下の記事にあります。 22 歳、もうオッサンだなあ。
会社からサービスをリリースできたのもこの時期でした。よかったね。
10 月
SECCON CTF 2020 の運営をしました。今年の SECCON CTF は作問陣をがらっと入れ替えての開催でした。 僕が作問した分については、作問者としての Writeup が以下の記事にあります。
また、SECCON CTF の 1 週間後くらいには、SECCON Beginners Live というのをオンラインで開催しました。 事前に 776 人もの方が視聴登録をしてくださったのは、さすがに驚きでした。 オンライン勉強会はややこしい点が多い反面、多くの人にリーチできるので、一長一短……。
その少し後に、CODEBLUE 2020 というイベントのパネルディスカッションに参加しました。 僕が敬愛する方々とご一緒できたのは純粋に嬉しかったです。
また、10 月からは大学の後期が始まりました。とりわけ卒論が始まりました。 私の所属している学部(学科)は研究室配属がこの時期なので、卒論はこの時期から始めるのが標準的なのですが、やっぱり遅いよなあ。
11 月
セキュリティ・ミニキャンプ in 北海道 2020 のサポートをしました。 新しい生活様式に従ったイベント開催、やはり難しいし、悩ましい。ウオー。
その少し後にセキュリティ・キャンプで講義をしました。 その時のスライドが以下です。
あとは、幸いにも自著の原稿のレビューを何人かの尊敬している方々に引き受けていただけたので、そのレビューを受けた原稿の修正なんかもしていました。 本当にレビュワーの皆様にはお世話になりました。頭が上がりません。
その他、卒論を少しだけ進めました。 もともとある程度決めていたテーマを少し調理した後、TLA+ と格闘していただけなんだけれども。
12 月
3~4 月に頑張っていた方の書籍の詰めの続きを少ししました。 こちらは 12 月で一段落したので、年明け素敵な報告ができそうです。 楽しみにしていてください。
また、少し余裕ができたので、RISC-V の Hypervisor 仕様と遊んでいました。 卒論や労働からの現実逃避の一環でもあります。 その時の記録が以下の記事にあります。
卒論は大分進んで、あとは少し実験して、書くだけ……なはず。 今は卒論作業の一環で Proxy-Wasm や Istio と遊んでいます。 この辺の技術は結構好き。
あと、ある書籍の翻訳に混ぜてもらえることになったので、年末年始はそれをゴリゴリ進める予定です。 やっていくぞー。
2020 年の総括
まとめると、2020 年は、労働では Web 開発やプロダクト企画をし、学業ではシステムプログラミングや Cloud Native なシステムについてのちょっとした研究をしていました。 あと個人的な活動としては、書籍執筆やイベント登壇などをしていました。 あんまり沢山のことはできなかったし、どれも精度は高くないんですが、最低限自分で自分を許せる程度の活動量はキープできたかなあ、と思います。
ただ、情報システム開発のプロセスの上流から下流まで、計算機の上のレイヤから下のレイヤまでを一年で触れるのは、それなりに頭の体操としての強度が高かったです。 賢ければ苦じゃないと思うんですが、やはり僕はそこまで賢くないので……。二流から抜け出せへん。 本来今年一年で取り扱った技術的チャレンジや、社会的活動については、どれも特に苦なくこなせるべきものだと思っているので、ちょっと悔しいところです。
あと、このような 1 年の中で体力的・精神的な限界を何度か迎えたことによって、自分のキャパシティやケイパビリティが見えてきた気がしています。 これまでの人生の中で一番しんどい 1 年でしたが、その分だけ気づきが得られたので、ヨシ。
何はともあれ、2020 年に僕と関わってくださった皆様、ありがとうございました。
2021 年の抱負
少なくとも心身ともに健康に過ごす、の一点を死守したいと思います。 やっぱりよい進捗は健やかな精神と健やかな体から来るものだと思うので、意図を持って現状を改善していきたいです。 リングフィットアドベンチャー、買いたいんだけど、買えてない。
あと今年 Chrome に 2 件ほど小さなバグを報告して、2000 ドル(1000 ドル + 1000 ドル)ほど頂いたんですが3、これらを通して、2021 年はよく使っている OSS に貢献しようという気持ちが芽生えました。 OSS なら自分で直してパッチでも投げるほうが精神的には健康な気がしますし。 このまえ、早速最近研究で使っている wasme というツールに対して小さな PR を投げたりしたんですが、来年はもう少しフランクにこういう活動をしたいと思っています。 仕事でもソフトウェアを書く時間が増えてきているので、軸足をソフトウェア開発にずらしていけるのが理想的かな、と思っています。
また、2021 年は、できるだけ新しい挑戦を増やしていきたいと思っています。 同時に 2020 年までにやってきた活動は少しずつ世代交代を進めていこうと思います。 というわけで、何か僕(米内)が力になれそうな仕事があれば メール か Twitter の DM から連絡をくださいー。