Je n’ai pas le temps
Évariste Galois
最近、やりたいことが急速に増大しており、時間の不足を感じます。この記事では私のやりたいことを列挙してみます。
目次
プログラミング関連
LunarML
別の記事でも書きますが、そろそろリリースしたいです。
ClutTeX
放置気味です。
GitHubにIssueとPRがいくつか届いていますが、対応できていません。
TeX Live 2023になってBibTeX関連の機能が壊れたような噂をキャッチしています。それもなんとかしなければなりません。
ClutTeXは現在Luaで実装されていますが、型がなくて改修が辛いです。そこで、ClutTeXの実装に使う言語をStandard MLに置き換えることを考えています。ソースはStandard MLで書いて、LunarMLを使ってLuaにコンパイルする計画です。
書き直しのためにはまとまった時間が欲しいです。
Haskell関連
最近はGHCのSIMDプリミティブをもうちょい活用できないか考えています。
コンパイラーの用意するプリミティブがへぼいから使われないのか、誰も関心がないからコンパイラーに機能追加されないのかわかりませんが、とにかく何かしたいです。もったいない精神ってやつ?
できることはいくつか考えられて、
- x86 NCGでSIMDを扱えるようにする。
- LLVM backendでAArch64 (ASIMD) 向けコードを生成できるようにする(現状はx86だけ)。
- WebAssembly backendでSIMDを扱えるようにする。
- プリミティブ関数を充実させる。現状はsqrtやabsやビット演算がない(LLVMの最適化を当てにすれば回避方法はあるが)。あと比較演算とかselect系の型と命令もあると良さそう。
- FFIで使えるようにする。
などがあります。
このうち、x86 NCGについては先人が(確か)Summer of Codeで実装したパッチがありますが、一旦取り込まれた後不具合によりrevertされたという経緯があります。レジスターアロケーション周りだったかな?とにかく、モノはある程度できているので気合いがある人が時間をかければ修正できるかもしれません。
LLVM/AArch64の対応は難しいところをLLVMがやってくれるので比較的楽です。なので試しにパッチ(マージリクエスト)を作ってみました。まだ十分テストされているとは言えないのでDraft扱いですが。
テストのためにはSIMDを使うアプリケーションが必要です。ベクトルの内積なら誰でも書けますが、もっと複雑な例が欲しいです。N体問題とかハッシュの計算とかですかね。私は高性能計算に興味はありますが実力も動機付けも伴っていない人間なので、こういう時弱いです。
数学文書システム
既に何回か書いている気もしますが、Webと相性のいいやつを何か作りたいです。
執筆物
数学科のためのHaskell入門
数学とコンピュータの絡みに興味がある人間として、「数学科のためのHaskell入門」みたいな記事(本?)を書きたいです。
勉強したいこと
構成的数学をやりたいというのは4月の記事に書きました。
その時やっていた勉強は、本のUFDの定義が間違っていたことで精神力を消耗し、中断したままです。
そういえば親戚から誕生日のお小遣いを頂いたので、Handbook of Constructive Mathematicsをポチりました。足りない分は自腹です。海外からの取り寄せなので、いつ届くかはわかりません。
アウトドア
夏山に行きたいです。登山靴も新しいのを買ったし。
行きたい山は色々ありますが、今気になっているのは剱岳です。若いうちに登っておきたいです。
欲しいもの
自分の持っているWindowsマシンがIvy Bridge世代でいい加減古いので、新しいのをポチりました。高性能GPU搭載は諦めて、ミニPCです。それともeGPUできるのだろうか?(調べてない)
CPUはAMDのZen 4世代のやつです。AMDのCPU/GPUも触ってみたいなと思ってそれにしました。
ミラーレス一眼も欲しいですが、今年は色々大きな出費があった(iPhone、登山靴、ミニPC)ので先送りでいいかなと思っています。
写真の管理
自分の持っている写真の管理をどうにかしたいです。現状はApple謹製の写真アプリを使っていますが、自分に万が一のことがあった時に残された人がアクセスできません。
そこで、バックアップも兼ねて、これまでの写真をブルーレイに焼いてみようかと思っています。とりあえず結婚式の写真・動画をBD-R(2層)に焼こうとしています。他の写真はどうするか未定です。
スマートフォンで撮った写真はGoogleやAppleのクラウドストレージに流し込んでいますが、保存容量にはお金が必要なので、引き揚げたいです。iCloud Driveは現在月額400円の200GBプランですが、月額130円の50GBプランにならないかと思っています。
時間もお金も欲しい
やりたいことが多いと、なんとかして時間を捻出したいです。睡眠時間を削るのはやりたくないです。そうすると、日中の活動時間の多くを占めるのは労働なので、これに目が行きます。
もしも自分のやりたいこと(LunarMLやClutTeXや執筆活動)でそれなりのお金、例えば月10万円をコンスタントに稼げるようになれば、労働時間を削ってやりたいことをやることも考えられます。しかしまあ現実的ではないです。GitHub Sponsorsをやったところでどれだけ集まるでしょうか。
「時間がない」という記事を書くくらいならその時間をやりたいことに充てろ、と言われそうですね。この記事を書くのにかかった時間は50分くらいです。50分と「記事にして吐き出すことによるスッキリ感」のどちらに価値を見出すか、という話です。