点と接線

fzfと仲良く

言わずと知れたあいまい検索ツールfzf。日々、Vimを通してよろしくやってきた。しかし、元を正せばそもそもfzfはターミナル上で使う代物ではなかったか? そこへいくと僕の.zshrcに記されしかの設定群はいかにも心もとない。たぶん最初の出会い方が悪かったのだろう。今から言う昔話はちょっと気が早い人たちには心当たりがあるかもしれない。 初めてfzfをインストールした状態で、おもむろにfzfと打つ。すると、なにやら景気よくパァーッとファイルの一覧が表示される。ウオーッ、なんだかすごそうだ、選択したら一体どうなるんだ、などと期待に胸を膨らませつつ任意のファイルを選ぶと……普通に相対パスが標準出力される。

血流で駆動している

まだ「彼」との対話を会得していなかった若かりし頃、僕はモチベーションのばらつきに悩んでいた。書くべき時に、書けない。やるべき時に、できない。ともすると急速に倦怠感が襲いかかってきて頭が働かない。結果、せっかく用意した時間が虚空に溶けていく。 確かに、最終的にはなんとかなる。果てしない再抽選の末に掴んだモチベの高まりを掴みとって、一気に進捗をひねり出す。しかし、こんな行き当たりばったりなやり方を繰り返していると、一体なにに自分が駆動されているのかいよいよ解らない。もちろん人が文をしたためるのは肥大化した脳みその為せる技に他ならないのだが、その脳自体がたいがい気まぐれな代物である。調子が悪いと壊れた霧吹りよりなにも出てこない。

あるはずのバックアップが全部消えていた

自分だけは、と思っていても起きる時は起きる。いつまでもあると思うな親と金とバックアップ。Cloudflare R2にcronで毎日アップロードしていたMastodonインスタンスのデータベースが、いつの間にか全部消えていた。AP実装においてデータベースはすべてである。これをなくしたらもはや取り返しはつかない。 だからこそインスタンスの運営者はデータベースの保全に気を配る。わざわざオブジェクトストレージにアップロードしているのもサーバ本体の破損にデータベースが巻き込まれるのを防ぐためで、ローカルよりもクラウド上の方が安全との判断からだ。にも拘らず、ちょっとした行き違いが重なると瞬時に死の刃が首元まで迫ってくる。かつて僕が書いた自動化スクリプトの例を以下に記す。

とりあえずnone-ls.nvimでよくないか? / null-ls.nvimの保守的代替

夏真っ盛りのある日、Neovimの超有名プラグインが爆発四散した。null-ls.nvim はLSPの規格に合わないLinterやFormatterを言語サーバのように動作させられる画期的なクライアントだった。ほぼコピペの設定で完結する簡便さは同プラグインを事実上のデファクトスタンダードの座に押し上げた。 しかし、そんな圧倒的権勢を誇るプラグインは驚くべきことにたった一人の開発者によって維持されていた。極度の多忙さゆえ彼がギブアップを宣言した瞬間、null-ls.nvimのリポジトリはたちまちアーカイブせしめられ、我々は否が応にでも事態を悟らざるをえなくなった。貢献に相応しい報酬を受け取れないのは誠に遺憾ながらOSS開発の宿痾である。