Fragments of verbose memory

冗長な記憶の断片 - Web技術のメモをほぼ毎日更新

Jan 28, 2026 - 日記

並列でセッション管理: tmuxの代替を探したら結局tmuxが最強だった

tmux-alternatives-comparison cover image

tmux 重そう、もっと軽いのないかな?」

100並列でAI開発環境のopencodeを動かすとき、ふとそう思いました。セッション管理ツールといえばtmuxですが、バイナリサイズも大きいし、もっとシンプルで軽量なツールがあるんじゃないか。そう考えて、tmuxの代替ツールを片っ端から試してみました。

結論から言うと、100並列ならtmuxが最軽量でした。

Jan 26, 2026 - 日記

SARA: Markdown要件を知識グラフで管理するCLI

SARA: Markdown要件を知識グラフで管理するCLI cover image

「要件定義書はどこ?」「この設計、どの要件から来てるの?」「あれ、このリンク切れてる…」

チームが大きくなると、要件や設計ドキュメントが散らばり始めます。ConfluenceNotion 、Excel、Wiki、Markdown…ツールはバラバラ、リンクは切れ、誰も全体像を把握できません。

SARA (Solution Architecture Requirement for Alignment)は、この問題を「Markdown + Git + 知識グラフ(ドキュメント同士の関係をグラフ構造で表したもの)」で解決するCLIツールです。要件をMarkdownで書き、YAMLフロントマター(Markdown先頭のメタ情報)で関係を定義するだけで、トレーサビリティ(要件から実装までを辿れる性質)を自動で検証できます。

Jan 25, 2026 - 日記

MiroThinker: AIは「記憶」ではなく「調査」で賢くなる時代へ

MiroThinker: AIは「記憶」ではなく「調査」で賢くなる時代へ

AIの性能を上げるには、モデルを大きくするしかない——そう信じられてきた常識が、いま覆されようとしています。

MiroThinker は、MiroMind 社が開発したオープンソースの検索エージェントです。30Bパラメータという比較的小さなモデルでありながら、1兆パラメータ級のモデルを上回る性能を達成しています。その秘密は「Interactive Scaling」という新しいスケーリング手法にあります。

Jan 24, 2026 - 日記

Qwen3-TTS: Apple Silicon M3で試したら日本語品質に驚いた——VoiceDesignで権利フリーの声を作る

Qwen3-TTS voice design and clone workflow cover image

「オープンソースのTTSで、ここまで自然な日本語が出るのか」——正直、驚きました。

2026年1月22日に Alibaba Cloud のQwen Teamが公開した Qwen3-TTS を、手元のMacBook Air(Apple Silicon M3)で試してみました。結論から言うと、日本語の読み上げ品質がかなり良い。そして何より、VoiceDesign機能で「自分だけの声」を作れるのが面白い。権利的にもクリーンな声を、自然言語の指示だけで生成できます。

この記事では、Apple Silicon(MPS)での動作確認結果と、VoiceDesign→Cloneワークフローの実用性をまとめます。動作確認に使ったコードは GitHub に置いてあります。

Jan 23, 2026 - 日記

Open Paymaster: 誰も運営しないのに回るリバランス設計

Open Paymaster: 誰も運営しないのに回るリバランス設計 cover image

Open Paymaster は、ERC-4337 (Account Abstraction、アカウント抽象化)のPaymaster(ガス代を肩代わりするコントラクト)です。

Paymasterの体験価値は、ユーザーがネイティブ通貨(ETH)を持っていなくても、ERC-20でガス代を払ってトランザクションを通せるところです。一方で、Paymaster自体は「誰かが面倒を見る」前提になりやすいのがしんどいポイントです。

Open Paymasterは、ここを運営者の頑張りで解くのではなく、ユーザー/LP/リバランサーの3者インセンティブで自律的に回す方向に寄せています。この記事では、LP持分の実装(ERC-6909)ではなく、この「誰も運営しないのに回る」設計思想を中心に追います。

Jan 22, 2026 - 日記

Zodで実装するNewtype Pattern: TypeScriptに欠けている型安全性を補う

Zodで実装するNewtype Pattern: TypeScriptに欠けている型安全性を補う cover image

TypeScript の型システムは構造的型付け(structural typing)です。つまり、構造が同じなら異なる型として扱われません。これが原因で、本来は区別すべき値を誤って混同してしまうバグが発生します。

Zod のbranded types(ブランド型)を使えば、この問題を解決できます。これはNewtype Pattern(newtypeパターン、同じプリミティブ型に「意味の違う型」を与えて取り違えを防ぐ手法)をTypeScriptで実現する、かなり実用的なアプローチです。

本記事では、branded typesの基本から実践的な使い方まで、実例とともに紹介します。

Jan 21, 2026 - 日記

Robin: AIを武器にダークウェブを調査する - セキュリティ研究者の新しい相棒

Robinのカバー画像

ダークウェブでの情報収集は、セキュリティ研究者にとって不可欠な作業です。しかし、膨大なノイズの中から有用な情報を見つけ出すのは至難の業でした。Robin は、LLMの力を借りてこの問題を解決する新しいOSINTツールです。OSINT(Open Source Intelligence)は、公開情報をもとに目的に沿った情報を収集・整理する調査手法を指します。

本記事では、Robinの概要、仕組み、そして公式README(2026-01-17時点のv2.0相当)に沿ったセットアップ方法を紹介します。CLIオプションやモデル名は更新されることがあるため、実行前に公式READMEも確認するのがおすすめです。

Jan 20, 2026 - 日記

try: 深夜2時のひらめきを翌朝見つけられるか? — ADHD開発者が作った実験ディレクトリ管理ツール

try: 深夜2時のひらめきを翌朝見つけられるか?

深夜に思いついた小ネタを試して、雑にディレクトリを切って、雑にコードを書いて、雑に寝る。

翌朝になって「昨日のあれ、どこに置いたっけ?」となるのがセットなんですが、これを何度もやると地味にストレスです。プロジェクトは増えるのに、手元のファイルシステムは一向に賢くならない。

このブログのタイトルはFragments of verbose memory(冗長な記憶の断片)なんですが、試行錯誤の断片って、本当に放っておくと消えます。消えるというか、見つからなくなります。

try は、その「見つからなくなる」を減らしてくれるツールでした。実験用ディレクトリの作成・検索・移動がスッと繋がるので、散らかり始める手前で戻ってこれる。作者がShopify のCEO Tobi Lütke というのも面白いところです。

Jan 19, 2026 - 日記

llm-tldr: 「認証はどこ?」に100msで答えるセマンティック検索の精度と限界

llm-tldr: 「認証はどこ?」に100msで答えるセマンティック検索の精度と限界 cover image

大規模なコードベースで「認証機能ってどこに実装されてるんだっけ?」と探したことはありませんか?grepfindでは関数名がわからないと見つけられず、IDEのシンボル検索も完全一致が前提です。

llm-tldr は、自然言語クエリでコードを検索できるセマンティック検索機能を持つコード解析ツールです。「認証機能」「PDF生成」といった曖昧なキーワードでも、実際の振る舞いから関数を見つけ出します。本記事では、269ファイルのNext.jsプロジェクトで実際に試した結果から、その精度と限界を報告します。