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

2025/02/17

実装を義務とする

先週末、これを作っていた。mttという名前のnpmパッケージで、個人的にまとまっていると嬉しいファイル操作をコマンド化したものだ。実装はTypeScriptで行っている。 指定する引数によって機能が変わり、mtt -rで$EDITORを呼び出して行う一括リネーム機能、mtt -cでファイルおよびディレクトリを個別に圧縮する機能、mtt -iで画像ファイルを縮小する機能を備えている。npm instal -g @riq0h/mttでインストールできる。 特にエディタを用いる一括リネーム機能は以前から様々なツール(たとえばmmvは有名だ)で世話になっていたこともあり、この機会に自分の手で実装して処理を把握しておきたいモチベが強かった。今回の開発を通して最低限の勘所を掴めたと感じている。 あまり頻繁にリネームをしない人はピンと来ないかもしれないが、GUIベースで数十ものファイルの命名規則を合わせたり一貫性を持たせるのは意外に大変だ。その都度、前提条件に沿ったルールを作成したりいちいちスクリプトを書くのも面倒くさい。しかしエディタを――とりわけVimを――自由に扱えるなら話は別だ。どんなファイル群でもたちまちケリがつく。 Read more

2024/12/30

NeovimでCodyを使う

今日、コード生成AIは巷にあふれかえっているが、いち消費者の我々としては無料で補える範囲が広いのに越したことはない。最近いくつか触った中でCodyと呼ばれるツールが特にサービス精神に旺盛だと感じたので紹介したい。 Cody Free vs GitHub Copilot Free ■無制限のコード補完 任意のエディタ上でのコード補完は制限なく行える。対話形式でのレスポンスを求めていない人にはうってつけと思われる。対して、GitHub Copilot Freeは月2000回までに制限されている。 ■チャットも月200回まで無料 対話機能を求める場合でも月200回までは無料で使用できる。他方、GitHub Copilot Freeは月50回までに制限されている。 Read more

2024/11/04

Kindle Paperwhite(第12世代)のテンション低めな雑感

6年も共に暮らしたKindle Oasis(第9世代)に別れを告げて、ついに新しいKindle端末を購入した。これまでにも何度か買い替えの機会をうかがっていたものの、ページ送りボタンを搭載した新型が改めて出ることはなさそうだとようやく諦めがついたのである。 物理ボタン付きのE-ink端末自体は他にもたくさんある。楽天Koboにもあるし、BOOXやらBigmeやら、最近は競合他社の存在に事欠かない。それらの多くはより完全なAndroid OSを搭載してもっと広範な用途に向いていたり、Kindleに先んじてカラー対応のE-inkディスプレイを備えていたりする。 Read more

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