点と接線

#tech

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開発の宿痾である。

Nextcloudでなんかもう色々と所有する

時に単体のサービスでは奥深い機能が多すぎて使いきれなかったり、逆に賢くまとまりすぎていて連携力に乏しい場合がある。そんな状況下ではセルフホスト型でもあえて統合的なプロダクトの利用が検討される。Nextcloud はセルフホスト界の四天王――四天王のうちでどの位置かは人によるとしても――に相応しい強力な網羅性を持つ。さしずめ、Google Workspaceのオープンソース版と言ったところか。ストレージがあり、フォトギャラリーがあり、カレンダーがあり、チャットがあり、オフィススイートがある。僕が知らないだけでたぶんもっと色々ある。それらを全部使うことも、一つか二つを選んで使うこともできる。