2025/12/07

自作ActivityPub実装に投稿埋め込み機能を実装した

本稿はFediverse Advent Calendar 2025の7日目の記事である。僕は自作のActivityPub実装を運用している。詳細は左記のリンク先に譲るとして、簡単に説明するとRails 8とHotwireで構築された一人専用の実装系だ。内蔵クライアントを持たず、フロントエンドは閲覧にのみ対応している。 フロントエンド部分はリアルなマイクロブログとして機能させるためにLikeやRTに相当するアクティビティは可視化せず、代わりにRSSを通じて投稿を取得できる。外からは昔の質素な一言ブログのように見えるが、内部では共通の通信規格で交信を行っている分散型SNSソフトウェアと捉えてもらうと話が早い。 このようなミニマルな構成に手馴染みの良さを感じている一方、リッチな既存の実装系と比べるとやはり機能の不足は否めない。同種のソフトウェアであるMastodonやMisskeyには非常に多くの外部向け機能が備わっており、僕にとってその最たるものが投稿埋め込み機能であった。ブロガーにとってこれは、とりわけ重要なアイテムと言っても過言ではない。(以下はMastodonの例) Read more

2025/11/30

Mastodonインスタンスの爆破方法

自作のActivityPub実装を運用しはじめてから4ヶ月ほどが経過した。様々な艱難辛苦を経て弊機は無事、安定軌道に乗っている。いよいよ数光年後方に置いてきた船を処理する時がきた。たとえ心細くても、むやみに電波を発する構造物をいつまでもFediverseの海に放っておくわけにはいかないのだ。交信を試みる幾千の船にいらぬ負担をかけてしまう。僕はそっと古巣の起爆装置に手をかけた。 このような備忘録的記事はいずれどれもLLMに読み込まれて一個の情報単位に均され、僕の生の文章が人々に読まれる機会は次第に減っていくだろう。単純にMastodonのインスタンスを閉鎖したい人にとって、僕個人のナラティブや事情は可聴域外の音声データとなにも変わらない。同様の情報は他にいくらでもある。それでも書くのは、文章に余計な話をくっつけるのが好きで仕方がないからだ。 Bridgy Fedサービスを停止する まずはブリッジサービスを停止する。おそらくこの語で表される仕組みは一つや二つではないと思われるが、ここではBlueskyとの交信を可能にするサービスを指す。当該SNSのユーザ人口を考えると利用している人はかなり多いはずだ。サービスの停止は@[email protected]をブロックするだけで完了する。 Read more

2025/09/13

ActivityPub実装には手を出すな!

ここ一ヶ月弱の間、ろくに文章も書かずになにをしていたのかと言えばActivityPub実装を直していた(泣)ActivityPub実装とは、TwitterがXと化した経緯をきっかけに再び注目を浴びたMastodonやMisskeyなどのサーバソフトウェアを指している。この文言を読んだ覚えがない諸君はまずこの記事を読まなければならない。 先月に銀河の彼方へと飛び立った僕の実装は今のところ無事に航行を続けている。唯一の乗員にして船長にして技術者である僕が毎日せっせと船中を動き回って穴を塞いでいるからだ。穴はそこかしこに空いている。もともと見落としていた穴もあるし、外部との接触で空いた穴もある。 乗っている船が穴だらけだと気になって眠れない。ここしばらくは平均5時間も寝ていない気がする。コンピュータに触れない電車の中でも、同人誌即売会で売り子をしている最中も、隙あらばスマホを取り出してSSHクライアント越しにサーバログを見ていた。流れゆく大量の文字列の流星群から重要な情報を見つけるために目grepしすぎて目暮警部になった。目がしばしばしすぎて柴犬になった。ドッグフーディングしているだけに。その声は、我が友、李徴子ではないか? Read more

2025/07/11

ActivityPub実装を自作した:マイクロブログの復権

開発前談 ここ一ヶ月余りの間、ろくに文章も書かずになにをしていたのかと言えばActivityPub実装を作っていた。ActivityPub実装とは、TwitterがXと化した経緯をきっかけに再び注目を浴びたMastodonやMisskeyなどのサーバソフトウェアを指している。 これらは単一のWebサービスではなく「ActivityPub」という共通のネットワーク上に存在する無数のサーバが相互接続を行う形で成り立っている。もし皆さんがたとえば「Misskeyにアカウントを作った覚えがある」と認識していたら、それは数多ある「Misskeyサーバ」のどれかの一つだ。 Read more

2025/02/25

NeovimからClaude 3.7 Sonnetを使う方法

数あるLLMの中でも僕は一番Claudeが好きだ。話していて謙虚で紳士的な雰囲気がするし、他のLLMよりも独特な世界観を持っている感じがする。開発元のWebページのデザインがセリフ体中心で構成されているところもレトロフューチャーっぽくて気に入っている。 Webデザインの実装がうまいところが特に好きだ。「Tailwind CSSでなんかクールにスタイリングしてくれ」みたいなざっくりした指示でも、それなりにちゃんと見栄えのするものを持ってきてくれる。ChatGPTが大抵どのバージョンでも素組みのHTMLと大差ない代物しか寄越してこない様子を見ると、この分野では明らかに突出していると言える。 Read more

©2011 辻谷陸王 | Fediverse | Keyoxide | RSS | 小説