2770万円かけてMastodonをRailsからGoに移植した

ポエム
この記事は約3分で読めます。

この文章は100%人間が書いています。

タイトルは半分釣り。

みんなはRailsは好きか?

おれは嫌いだ。もっといえば、Ruby嫌いだ。

一生 end を書くのはもろちん、if を前置したり後置したり、だらだら rbs-inline を書いたり。

言語仕様だけじゃなくて実行環境も無理。Ruby製のCLIアプリケーションはいちいち遅くてやってられない。

ああ、みなまで言うな。JITが効いているのは知ってるから、いちいち石を投げるな。

結局なにが言いたいのかというと、Rubyにはできるだけ関わりたくないということ。

ところがRubyと向き合わなければならないものがある。Mastodonだ。

Mastodonに関して説明する必要はないだろう。知らなかったらインターネッツをROMる時間が足りていない。

自前でMastodonを動かしていると、どうにも不満な部分が出てくる。それは主にupstreamとの音楽性の違いなんだが、生理的に合わないものは合わないんだからしょうがない。

そういうわけで、5年半ほど前からMastodonをフォークして独自機能を入れたり、気持ち悪い変更をリバートしたりして使っていた。使っていたんだが、まあしんどい。型定義も無く、気合い運用のRails。存在自体がレガシーコードのJavaScript。まともにメンテされている気がしないPaaS周りの要らんファイル。macOSで毎回エラーが発生するcharlock_holmes。

騙し騙しupstreamに追従していたが、こんなのやってられない。

少なくとも1年以上バイブコーディングしてきている中で感じてきている、最近のLLMとハーネスの組み合わせなら、このサグラダ・ファミリア、あるいは横浜駅と化したMastodonを、人類が扱えるものに移植できるのではないか。

そう思って先月からCodexとGPT-5.5 xhighをブン回していた。直近ではGPT-5.6 Sol Ultraに切り替えてトークンを燃やしまくった。

命令はシンプルに、

/goal この肥大化したMastodon forkをクリーンなGo言語+labstack/echo/v5で高速・軽量なdrop-in-replacementとして移行し、実行できる状態にしてください。DBのmodelはそのまま互換性を保つ必要があります。JSON-LDやORMなどは適宜最善なものを使用してください。UIは既存のものを使います。API互換を保つ点に注意が必要です。

5時間制限には引っかからないものの、週制限を叩いて止まること約1カ月。ついにMastodonはGo言語で生まれ変わった

費用は $170,934.46 。今日現在のレートで ¥27,752,754 である。

制限リセット連発で圧倒的なトークンを使わせてくれたChatGPT Pro(3万円)に絶大なる感謝を。

余談。

もしかしてサブスクリプションではcacheに対して課金(制限の消費)していない?

タイトルとURLをコピーしました