2022年について
2022年が終わろうとしており、特にそうする必要はないのに総括を書こうとしている。なぜなら去年書いたからだ。悪しき前例主義!こういうのはやがて負担になってきて全部沙汰止みになってしまう、というのはよくあることだが、まあこのくらいなら大丈夫でしょう。嫌ならやめる、のももう慣れっこだ。伊達に干支が一回りするほど日記を書いてはいない。
去年のものはここにある: https://ofni.necocen.info/4277 今年のものを読むために去年のものを読む必要はない。
静電容量キーボードを(ファームウェアと基板を含めて)自作した。これはこの一年の目玉エピソードと言えるだろう。昨年時点ではメカニカルスイッチのキットを一つ完成させただけだったのだが、今年に入ってからRustでファームウェアを書こうと考え、Pro Microだと厳しいのでRaspberry Pi Picoに乗り換え、メカニカルスイッチでの試作を経て静電容量スイッチに移行し、分離型で作り始めるも断念し(技術的な問題ではなく好みの変化による)、大きさの問題からRP2040を直接利用するように変更し、さらに3Dプリンタを用いたケースの制作と、昇華印刷によるキーキャップ刻印までを行った。こうして完成したキーボードでこの総括を書いている。こんな風になるとは全然想像していなかった(正確には、夢想はしたが実現するとは思っていなかった)。もちろんこの成功は既に存在する日本語話者自作キーボードコミュニティが公開している情報あってのことであるから、僕も自分の経験をきちんとまとめて公開し、コミュニティに、そしてあとに続く誰かに貢献したいと考えている。完成が間に合えばアドベントカレンダーにするのがよかったと思うのだけど、間に合わなかったので具体的にどうするかは未定。
あとはこのケースをアルミ切削加工で作りたい、と考えているが、これはちょっと試しに、で作れる価格ではなくなってしまうので、慎重になっている。レジン製のケースがそこそこの見栄えだから、もしかするとこのまま使い続けるかもしれない。いや、どうかなあ。
キーボードのファームウェアをRustで書いただけでなく、Rustでレイトレーシングや日本語変換エンジンを実装したりもした(している)。ファームウェアはもちろん組み込み開発というやつで、Raspberry Pi Picoだとかなりコミュニティが充実しており、わりかし簡単にLEDをチカチカさせたりできる。Raspberry Pi Picoに搭載された2つのコアを両方使って並行処理をすることもできた(ただしこれはキーボードからOLEDパネルのサポートを落としたときに使わなくなった)。昨年TCP/IPを実装したときにも思ったけど、必要に応じて低レイヤにも降りていける言語は楽しくていい。
レイトレーシングは、Twitterの情報系大学院生たちがコーネルボックスの画像を上げたりしているのを10年くらい前に見ていた時から一度はやってみたいと思っていたテーマで、"Ray Tracing in One Weekend"というちょうどいいチュートリアルがあったので秋頃に取り組んだ。書いてあるとおりに実装した(元はC++なので移植ではあるけど)以外にさほど凝ったことはしていないけれど、美麗なCGが自分の書いたコードから出てくるというのは楽しい経験だった。TCP/IPもそうだけど、普段目にしているものの実際の仕組みを(簡略化された形であれ)理解するのは楽しい。
日本語変換エンジンはいま取り組んでいる。これは10年来の積読である「日本語入力を支える技術」を参考に進めているが、どうしてこれを始めようと思ったのだっけ。思い出せない。
実用性・変換精度を追求し始めると個人では到底どうしようもない領域になると思うので、あまりそういうことは考えず、ざっくりそれっぽく動くことを目標にしている。どう頑張っても月に500円払ってるATOKに勝てるわけはないのだ。
数学の勉強は停滞している。コードを書く時間に圧迫されているという側面が大きい。昨年読んでいた「相対性理論の数理」は、特殊相対性理論を扱う4章まで進められたが、そこから一般相対性理論に向けて多様体を導入するところで止まっている。来年は細々とでも再開できたらいいのだが。
停滞と言えば、今年の初めにCコンパイラをCで書くというのも始めていたのだけど、これは挫折している。というか参考にしていたWeb上の記事が尻切れトンボなのでその近辺までしか進められていない。なので、簡単な関数定義とかポインタとか、そのあたりはできているが、構造体定義とかはできていない。これをどうするか・・・は来年考えよう。再開できたらいいのだけど。
仕事の話。新しい職場も2年目になった。つまりもうあまり新しくはない。それなりに頑張っているけれど、あまり自分の持ち味が生きているような感じもしない。そんなものがあるのかは知らない。人手の足りなさに由来する、自分の集中すべきことに集中できていない感覚がずっとあるが、そういうのはないものねだりというものかもしれない。
自分が、手を動かすことで価値を出すタイプなのか、頭を働かすことで価値を出すタイプなのか(もちろんそれは二元論的なものではないが、ざっくりの傾向として)、いまいち測りかねている。後者寄りの働きを求められているとは思うが、手を動かす人員が足りているとは言えない。いや、それを僕が勝手に判断して頭を働かすのを止めるべきではないのかもしれない。あるいは、両方等しくできるべきなのかもしれない(理想としてはもちろんそうだ)。難しいよね。難しいです。
とはいえ、開発チームには完全に馴染むことができたと思うし、そこそこうまくやってるんじゃないですかとも思う。それは素直によかったことだ。
これは追記:業務でGo言語を覚えた。だいぶ前に入門しかけて、なんか文法の癖が強いなと思って挫折していたのだけど、使い始めてみるとその良さもよくわかるようになった。独特な文法は解析速度のためで、実際その速さはエディタのサポートの快適さに結びついているように思われるし、(たとえばRustのような)高度な機能を持たず愚直に書く慣習も、業務における開発では明らかにプラスに作用していると感じる。趣味で書きたいとはまったく思わないが、むしろ、だからこそ、こういう言語が必要なのだなという、これはちょっとした衝撃だった。
婚姻生活は3年目、もうじき3周年を迎える。これについてコメントすることはあまり思いつかない(自分が33歳になったことにコメントすることが思いつかないのと同じように)。うまくいかないことはいろいろあるが、うまくいっていることもある。僕のように、放っておくと部屋にペットボトルのゴミを300本だか400本だか放置しても平気(平気ではない)な顔をしているような人間が、曲がりなりにもシャキッと生きていこうと思い続けていられるのは、生活を共にするパートナーあってのことなのだろうと思うとそれなりの感謝はある。あれ?でもそれはルームシェアとかでも全然いいんじゃないの?うーん、まあ、それはそうかもしれないな。ただそうしていない、というだけで。
そういえば転居をした。2年での転居というのは小学校以来のことだ。転居にはエネルギーが必要だから、本当はもうしばらく同じところに住む想定だったのだけど、僕はもうリモート勤務だし転職もしたし、僕の勤務地の都合で住居を選ぶ理由が何一つなくなったので、妻の職場の近くに移った。しかし、この転居はあまり成功ではなかったなと思う。街の雰囲気は旧居のほうがだいぶ好きだったし、なによりこの街にはラーメン屋がない!とはいえ買いものに使うスーパーは近くなったし、いい雰囲気の居酒屋が近くにあるのもよい点と言える。ラーメン屋をなんとか誘致したいものだが。
妻の勤務先が来年また変わるので、おそらく来年また転居するだろう。願わくば、ラーメン屋があってほしい。
健康に関していうと、あいかわらず低調だ。偏頭痛は改善していない。しかしオンライン診療で処方してくれるクリニックを見つけたので(四半期に一度は対面診療に行かなければならないが)通院の手間はずいぶん削減された。毎日薬を飲んでいてもなるときはなる、これはもう仕方がない。たまにはMRIとか撮ってもらったほうがいいのかもしれない。
秋には(ついに)新型コロナウイルス感染症に罹患した。発熱はそこまでひどくなかったが、過去に覚えがないほど喉が痛くて閉口した。ただの風邪というわけにはまだまだいかないらしい。目立った後遺症はなかったのでそれはよかった。
肩凝りがひどい一年だったなと思う。これまでもそういう時期はたびたびあったが、今年は一年中辛かったような気がする。なんだろうね。運動とかしたほうがいいのかな。それはそうなんだろうな。
コードを書く以外の趣味について。今年の後半は比較的アニメとゲームを楽しんだと思う。アニメもゲームも最近の僕の中ではどちらかというと(今風に言うなら)タイパの悪い娯楽という認識になっていて、あまり積極的に時間を使いたいとは思っていなかったのだけど、最近すこし変わってきた気がする(意識してそうした部分もある)。スプラトゥーン3はけっこうガッツリ楽しんだし(弱いけど)、ポケモンも妻が遊んでいるのを一緒に観ていた。アニメに関していうと「リコリス・リコイル」はよかったし、「ぼっち・ざ・ろっく!」はとてもよかった。ガンダムも初めて観ているけど面白い。もうちょっと宇宙空間での戦闘のリアリズムを主張してきてほしい感じはある。あとチェンソーマンもよかったですね。
あと、フィンランド語の勉強をすこし始めた。なぜ???なんかTwitterで誰かがDuolingoのフィンランド語コースを始めたと言っていて(@qnighyだったかと思う)、ああ、そういうカジュアルな始めかたも可能なんだ、と思ったから軽い気持ちで始めた。いまのところ3週間ばかり続いている。まあ、一日10分スマホでぽちぽちするだけなので、たいしたことは身についていないが、継続は力なりという諺を信頼していこうじゃないかと思う。おじさんに可能なのは継続することだけなのだ。
本はあまり読めなかった一年だったと思う。まあ、そういう時期もあるので特に気にしてはいない。人生も30年を超えるとこういうパターンもだいたい既出になってくるので助かる。
それから、小説を書きたかったのだけど、これは完全に進捗がゼロ。自分の書く文章に対する照れくささとの闘い方がなってない。アイデアを弄ぶばかりで全然具体的に取り組めなかった。別に何年掛かったって構わないが、すこし反省している。
そういうわけで、できたこと、できなかったこと、いろいろあるけれど、概ねいろいろ挑戦できた1年だったかなと思う。Twitterのbioに掲げている、「背伸びして生きることを忘れない」を多少は実践できたのではないだろうか。実際に背が伸びたかはともかく。
来年の抱負として挙げることを考える。趣味でコードを書くプロジェクトの流れはしばらく継続していきたい。OS自作とかね。数学の勉強や読書も両立てきたらなによりよい。
それから、ギターを始めたいとすこし考えている。これは完全に「ぼっち・ざ・ろっく!」の影響だ。いま住んでいる家は明らかに壁が薄いので絶対やめたほうがいいと思うが、もうすこし人気のないところに越した暁には多少鳴らしても大丈夫なんじゃないかと思い、それならやってやろうか、いやお前練習嫌いだろ、などと考えている。そう、僕は練習が嫌い。ピアノのレッスンだって結局何一つ楽しくなかったのでやめたし、語学もそうだがとにかく反復練習が嫌いなのだけど、いつまでもそういう過去の失敗に囚われていないで、また挑戦したらいいんじゃないかと思う。そういう心境の変化もまた、老化の一部っぽいよな。
そういうわけで、本年中はたいへんお世話になりました。皆様よいお年をお迎えください。来年もよろしくお願いいたします。