ハクソク

世界を動かす技術を、日本語で。

一人用のデスク

概要

  • 25年ぶりに自作ツール中心のPC環境を実現
  • 既製ソフトを自分向けツールに置き換えた経緯と感想
  • Vimを自作エディタ「scribe」で置換した経験
  • 技術進歩で個人向け環境構築が現実的になった理由
  • 他人向けでなく「自分のためだけ」のソフト開発の喜び

25年ぶりの「自分だけのデスクトップ」

  • ほぼ全ての使用プログラムを自作ツールへ置き換えたPC環境
  • 既製ソフトを一つずつ自分仕様のものに交換した経緯
  • Claude Code(CC)を活用し、自分が指示→CCが実装という開発サイクル
  • 隙間時間に要望やバグ報告→CCが自動で機能追加や修正
  • 2つの主要スイート構成
    • CHasm:x86_64アセンブリ製の基盤層。ピクセル描画やキーボード入力担当
    • Fe₂O₃:Rust製アプリ層。TUIライブラリ「crust」上で動作

CHasm層で置き換えた役割

  • ウィンドウマネージャ:i3-wm → tile
  • ステータスバー/トレイ:i3bar + conky → strip + asmites
  • 画面ロック:i3lock → bolt
  • ターミナルエミュレータ:kitty → glass
  • ログインシェル:zsh → rsh bare
  • ファイルビューア:less → show

Fe₂O₃層で置き換えた役割

  • テキストエディタ:VIM → scribe
  • ファイルマネージャ:ranger → RTFM pointer
  • メール/RSS/チャット:mutt + newsbeuter + Webログイン → kastrup
  • カレンダー:Google/MS Web → tock
  • 天文パネル:astropanel → astro
  • 映画/シリーズ管理:IMDB-terminal → watchit

既存のまま残したツール

  • IRCや他チャット用:WeeChat
  • 唯一のGUI常用:Firefox
  • それ以外は全て自作ツール

Vimとの決別とscribe誕生

  • Vimは2001年から25年間使い続けた「思考の一部」
  • 3日間でscribeを作成しVimから完全移行
  • scribeの特徴
    • Vim同様のモーダル操作
    • 不要な機能を排除し、必要な機能だけ実装
    • デフォルトでソフトラップ
    • Limelight風の読書モード
    • AIプロンプト統合
    • HyperList編集と暗号化対応
    • 永続レジスタで同時セッション間共有
  • 欲しい機能は数分で追加可能な環境
  • 他人に頼らず自分のペースで進化できる喜び

個人開発が現実的になった理由

  • 以前はエディタやファイラー自作は年単位の大事業
  • 多くの人は途中で挫折し、既製品に戻る傾向
  • RustClaude Codeの進化、TUIノウハウの蓄積で開発コスト激減
  • 「この機能が欲しい」→「数晩で実現」が現実に
  • AIやRust自体の話ではなく、個人最適化の壁が大幅に低下した点が本質

「自分のためだけ」に作ることの喜び

  • 他人を意識した設定やサポート不要
  • 他人向けのドキュメントや議論も不要
  • 自分だけが使うので、複雑さ・無駄が激減
  • キーバインド・UIも完全自分仕様
  • 「デザインは独りよがりで良い」—意思決定が即断即決
  • 本当に必要なものだけが残り、小さく・速く・快適な環境

Build Your Own Software(BYOS)のすすめ

  • 「このツールがこうだったら…」と感じたら
    • プラグイン作成や難解な設定に頼らず
    • 自作という選択肢が現実的になった時代
  • デスクトップ全体でなくても、日常の1ツールから始めてみる価値
  • 自分だけのためのツールを持つ満足感
  • 春のウサギのような軽やかな気持ち

Hackerたちの意見

メッセージに感動したよ。このソフトウェアについてだけど、使ってみた感じが知りたいな。すごく軽いよね。今まで使ってきたものとは明らかに違う感じがするのかな?1980年代のホームコンピュータが恋しいのは、数KBのROMから数秒で使えるコマンドラインが立ち上がったことなんだよね。今のハードウェアがその効率を保っていたら、どれだけのことができたんだろう。
もうその域に達してるよ。ブートローダーやOSの組み合わせによっては、CLI専用なら1〜5秒以内で立ち上がることもできる。
すごく違う感じだよ。全てが瞬時に感じる。嬉しいな。
これはめっちゃクールだね。実際にどれくらいの時間がかかったのか、そしていくらかかったのか気になるな。Clause Codeは全然無料じゃないからね。[1][2] まるでロボット請負業者を雇うようなもので、すごく速いけど、時給が高いんだよね。
自分はClaude Maxを使ってるから、今のところ既存のサブスクリプション以外はお金がかかってないよ。何かのために使わなきゃいけなかったんだ。時間については、CHasmとFe2O3のソフトウェアのフルセットを始めたのが2026年3月29日で、60時間くらいは使ったかな。でも、去年の夏から調整してきた非常にカスタマイズされたCCセットがあるから、70以上のCCプロジェクトが手伝ってくれてるんだ。
これ、めっちゃ興味深い。自分のコードでデスクトップ体験をカスタマイズするのも好きだけど、実際にはいろいろなものを組み合わせて、追加のコードでつなげる感じなんだ。ちょっと警告しておくけど、X11用の信頼できるロックツールは難しいよ。XSecureLockを見てみて。これはマルチプロセスアプローチを使って、クラッシュ時にデスクトップが無防備にならないようにしてるんだ。デスクトップがロックされたままで、ロッカーが画面の前にいることを確実にするための対策もいくつか実装されてるよ。サイズも小さいから監査もしやすい(でもCで書かれてるけどね)。
ありがとう。ちょっと調べてみて、ボルトに役立つものを借りるよ。
ちょっと話が逸れるけど、デスクの上のノートパソコンの画像を生成する価値って何なの?あんまり関係ない気がするんだけど、セットアップのスクリーンショット(いくつかのリポジトリに載せたのと同じやつ)とか、もっとユニークなものを見せればよかったのに。もしそれを見せたいなら、同じ雰囲気の画像は簡単に見つかるし、楽しみの一環で見逃したのかな?
その画像、いいね。シンプルで。
自分も(他の人もきっと)ここ数ヶ月ずっと考えてたことなんだ。数ヶ月前のブログ記事で「非常に個人的なソフトウェア」って呼んだんだけど(https://redfloatplane.lol/blog/14-releasing-software-now/)、同じ基本的なアイデアに対していろんな名前や概念が出回ってるよね。2026年には1〜10人のために書かれる新しいソフトウェアの量が、過去のどの年よりも多くなる可能性があると思うし、その後も何年も続くんじゃないかな。これらのソフトウェアの多くは本質的に「隠れた」ものになると思う。人々は自分のためにこれを作ってるから、エージェントに何かを伝えるコストが、ソフトウェアデザインを計画するコストに比べて非常に低いんだ。相互運用性は今後数年で重要になるだろうし、これがエージェントやLLMレベルで解決できることなのか気になるな(「通常はsqliteを使う、プレーンテキストを使う、オープンスタンダードを使う」みたいな指示があれば)。可視性や運用もかなり重要になると思う。個人的なソフトウェアを望んでいるけど、メンテナンスや管理には興味がない人が多いからね。
すごく良い、考え深い返答だね。ありがとう。
僕も同じ反応だったよ。自分のツールを好きなように形作れる時代に突入してるね。工場で作られたものじゃなくて、職人のワークショップみたいな感じ。APIやバリデーションレイヤーの重要性が高まるのは正しいと思う。ライブラリにするのが理にかなった内部ツールがいくつかあって、最初のライブラリが良くて、テストスイートが充実してれば、いろんな言語に移植するのはすごく簡単になるよ。それに、誰かがこのライブラリにカスタムツールを接続するのも簡単になるだろうね。コンピュータの世界は本当に面白い時期に来てるよ。
同意するよ。もうClaudeを使って自分のためにソフトウェアを書き始めたんだ。AIがなかったら絶対にやってなかったと思う。そうじゃなきゃ時間がないからね。今は商業製品では簡単に提供できないような、いろんな機能を持ったオーダーメイドのアプリができたよ(非商業利用に該当するから、いろんな扉が開かれるんだ)。フリーソフトウェアが後で提供するかもしれないけどね。その過程で技術的にもたくさん学んだし、僕にとって未知の領域に挑戦できたから、コストを抑えつつもっとこういうアプリを作るつもりだよ。確かなのは、僕の料理アプリが市場の他のアプリをすぐに置き換えたこと。なぜなら、他のアプリは僕の要件に合ってないから。生産面も特に興味深いね。ほとんどのユーザーは生産ソフトウェアを使わないから、そこを考えなきゃいけなかった。TailscaleやCloudflareはかなり役立ったし、ここには確かに市場があるよ。
自分でソフトウェアを作ることのセキュリティの問題を考えると、ゾッとするよ。自分のOSやブラウザ、ファイルシステムが安全だって信じてるのは、何千人もの人が関わって、複雑な利害関係の中でそれを守ってくれてるからなんだ。初めてコードを書いた子供から、NSAで暗号基準を作ってる博士たちまで。誰か一人がそのネットワークを置き換えられるなんて、笑っちゃうよね。
これだね。最近、自分のコンピュータを自分好みにするためにたくさんのソフトウェアを書いてきた。いろんなツールからアイデアを借りて(例えば、vimのモーダル動作とか)、全く新しいアイデアと組み合わせて、自分だけのユニークなツールを作るのがすごく楽しい。「手にぴったりフィットする」って感じだよ。残念ながら、これ全部仕事用のコンピュータに入ってて、個人用に移せないんだよね。コピペもできないし(笑)。アイデアを思いついてから実際に使えるようになるまで、5分から15分くらいでできちゃうのがワクワクする。めっちゃクールだよ。
これを思い出させるのは、Maggie Appletonの自家製ソフトウェアに関するブログ記事とカンファレンスのプレゼンテーションだね。
アセンブリ言語はやらないけど、そのアプローチは好きだし、僕も似たようなことをRubyでやってるよ。僕のwm、シェル、ターミナル、エディタ、ファイルマネージャー、ポップアップメニュー(dmenuみたいなやつ)も全部純粋なRubyで作ってるんだ(フォントレンダリングやX11バインディングも含めて)。これらはClaudeを使い始める前から作り始めたから、ほとんど手書きのままだけど、少しずつ変わってきてる。ごちゃごちゃしてるし、バグや「変な機能」があって、僕には合ってるけど他の人には辛いかも。OPと同じように、他の人に僕のコードを使うことはあまり勧めないし、少なくとも直接はね。それがすごく解放感があるんだ。全体的に、プロジェクトはカーネル、ブラウザ、Xorgを超えて僕が使うものの大部分をカバーしてる(すごく、すごくやりたいけど、LLMがもっと進化しないとスケジュールに組み込むのは難しいと思う)。磨き上げる必要はなくて、ほとんど自分のためだから。バグがあっても、他の選択肢よりも自分に合ってれば大丈夫。もっと多くの人がこうするべきだと思う。素晴らしい学びの経験になるし、自分が実際に欲しい機能だけを持ったシステムが手に入るからね。これからもっとやりやすくなるはずだよ。
エージェントセッション(トレース)もすごく勉強になると思う。マリオ・ゼッヒナーが自分のAIとのチャットを共有したみたいに、jsonlファイルを共有することは可能かな? https://x.com/badlogicgames/status/2041151967695634619?s=46
それは数千のプロンプトがあるから、かなりのデータ量になるね…
今は「自作 vs 購入」の話が主流な気がする。自分は開発者じゃないけど、日常で使うエージェントを作ったことがある。ほとんどの人がコードを使ってカスタムアプリを作れるようになったら、価値はサポートや他の「サービス」にかかってくると思う。自分の意見だけど、間違ってたら教えてね!
これらのことを「自家製」ソフトウェアって呼ぶこともあるよ。
これは本当にワクワクするね。ものを作る人たちの中には、自分の好みに合うだけじゃなくて、小さなオーディエンスの好みにも合ったものを作る人がいる。そういうオーディエンスが成長して、大手を脅かす存在になるかもしれない。ソフトウェアの構築にかかる資本集約的な部分が薄れて、運用コスト(トークンの支払いと自分の時間)に変わっていくことで、可能性の空間が広がって、大きな共有資源が生まれると思う。もし作るのがそんなに安いなら、オープンソースにしちゃえばいいじゃん!誰かのオープンソースのものが気に入ったけど、全部をそのまま使いたくないなら、自分のエージェントに「このアイデアを自分のものに入れて」って言えばいいんだよ。コードについての新しい考え方でもあるね。