<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:webfeeds="http://webfeeds.org/rss/1.0" version="2.0">
  <channel>
    <title>かわいい駆動生活。</title>
    <link>https://comamoca.dev/</link>
    <atom:link href="https://comamoca.dev/api/feed.xml" rel="self" type="application/rss+xml"/>
    <description>My tech? blog</description>
    <lastBuildDate>Wed, 11 Mar 2026 00:00:00 GMT</lastBuildDate>
    <language>ja</language>
    <generator>Lume 3.1.4</generator>
    <author>
      <name>Comamoca</name>
      <uri>https://comamoca.dev</uri>
    </author>
    <item>
      <title>あの日の話</title>
      <link>https://comamoca.dev/blog/2026-03-11-about-the-disaster/</link>
      <guid isPermaLink="false">https://comamoca.dev/blog/2026-03-11-about-the-disaster/</guid>
      <author>
        <name>Comamoca</name>
        <uri>https://comamoca.dev/me</uri>
      </author>
      <content:encoded>
        <![CDATA[毎年この日になると当時のことを考えているので、今年はちゃんと文字にしておこうと思う。

## 震災当時

震災にあったのは幼稚園が終わって帰宅して、おやつを食べる前のことだった。

当時はアナログ放送から地デジへの移行期間で、家のテレビはまだブラウン管だった。アナログ放送からデジタル放送への移行期間中だったので、ただでさえ狭い4:3の画面が、移行を促すメッセージでもっと狭くなっていたのが懐かしい。

当時は専業主婦だった母と、幼稚園が終わった後おやつを食べながら相棒を見るのが日課だった。その日もおやつを準備していたところに緊急地震速報が鳴って、すぐにグラッと揺れが来た。テーブルが近くにあったので、母と一緒にその下に潜り込んだ。震度4。思えばそれ以上の揺れにあったことは今もない。

母が取り乱していたのが印象的だった。その半面、自分は妙に冷静だった。というより、不思議なほど現実感がまったくなかった。ブラウン管に映る、黒い波に覆われていく海岸沿いの映像を見ても、よくできたCGとしか思えなかった。

現実感こそなかったものの、震災の前後で日本に漂う空気が明らかに変わったように感じる。震災前は学校で鉄腕ダッシュやイッテQの話をしてゲラゲラ笑っていたのに、震災後はとてもそういう空気じゃなくなった。自粛ムードと計画停電、周囲の大人たちのピリつきもあったと思う。

15年経ってそれなりに薄まったけれど、今でもこの時期になると、空は晴れてるのに心なしかどんよりしているような、あの空気感をどこかで感じている。

## 修学旅行

コロナで沖縄行きがおじゃんになって、代わりに岩手に行くことになった。正直「岩手か……」とあまり乗り気ではなかった。行ってみた感想として岩手県はとても良かったし、東北の他の県にも行ってみたくなった。

ただバスで山梨〜岩手間はしんどかった。6時間程度バスに揺られてたのだけど、これはほぼ山梨〜京都間と同じ距離。次があるなら新幹線か飛行機にしたい。

その修学旅行で、津波の被害にあった校舎を見学することになった。泥と砂だらけの教室に入ったとき、ふと足元に落ちている教科書が目に入った。泥だらけのまま落ちていた。

それが、自分たちが普段使っているものと同じ教科書だと気づいたとき、これまで「スクリーン越しでの出来事」としか捉えられなかった震災が、初めて実際に起こった出来事なんだなと、12年越しに現実として受け止められた気がした。

## 15年経った

あれから15年経った。

実感のブラウン管は液晶テレビになったし、デジタル放送への移行もした。ネット接続はADSLからフレッツ光になったし、住む家も場所も変わった。

当時年長さんだった僕は社会人になって働いてるし、当時赤ちゃんだった人は高校生になって家の前を通学している。

15年も経つと記憶も薄れる。それでも、あれから毎年この日になると、あの海を望む校舎で見た、泥だらけの教科書のことを思い出す。
]]>
      </content:encoded>
      <pubDate>Wed, 11 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>開発環境現状確認 2026</title>
      <link>https://comamoca.dev/blog/2026-02-23-development-environment-status-2026/</link>
      <guid isPermaLink="false">https://comamoca.dev/blog/2026-02-23-development-environment-status-2026/</guid>
      <author>
        <name>Comamoca</name>
        <uri>https://comamoca.dev/me</uri>
      </author>
      <content:encoded>
        <![CDATA[![](/img/2026-02-09-020328.png)

普段作業している机。
最近の記事やらプログラムやらはここか実家のリビングで生まれている。

## 物理

### 机： IKEAのデカいやつ

実家の頃から使っているIKEAのデカい机(竹製)を使っている。
幅が150cm位あるのでデカいディスプレイと本を置けてなかなか便利。
引っ越しの際に机の下にしまう用のキャビネット(これもIKEA)も貰ったのだけど、相性が良くて便利に使っている。

### ノートPC: DynaBook

学校で貰ったやつを後生大事に使っている。 メモリ16GBとSSD1TBを増設してRAM28
SSD1TBにしている。Nixはストレージを食う事で有名だけれど、この構成で困ったことは現状ないため、Nix使うときはストレージを1TB用意するのがオススメ。

### キーボード: HHKB Studio

移動することが多いので、ジョイスティックのあるモデルを買った。実際マウスなしでも問題なくなったので外での作業がやりやすくなった。ただ、キーボードがノートPCより重いため、持ち運んでると若干虚無になる。
個人的にキーリマッパーの役割はキーボードが担うべきだと思っているので、HHKBにはかなり満足している。

### ディスプレイ: EIZO

アキヨドで買った。デカいのと解像度が高いので作業がしやすくて助かっている。長時間見ても目の疲れがたまりづらいのも良い。
ディスプレイの下にアクスタとフィギュアを置いていて、ディスプレイが邪魔になりつつあるのでモニターアームを買いたいところ。

### スマートリモコン: Nature Remo 3

上京してわりとすぐに買った気がする。
部屋の電気を付けっぱなしで寝落ちすることが多く、睡眠の質が悪くなっていることに悩んでいたことが切っ掛けで購入した。
勝手に電気を消したり、朝暖房とか冷房を付けるようにしているのだけど、そこそこ生活の質が上がって満足している。
あと、実家帰った時に「あれ、エアコン消したっけ...」と不安に苛まれることがなくなった。

### アクスタ/ぬいぐるみ/同人誌

実家の頃はあんまりおっぴろげられなかったけど、一人暮らしするようになってから堂々と机に置いている。
直接作業効率が上がっているわけではないけれど癒し効果があるらしいのでよし。

### 炊飯器: 虎印の良い感じな炊飯器

上京の折に購入した。
まぁ白米は美味く炊けた方が良いよな、ということでちょっと値段が高めのものを使っている。
これもあってか、基本的に毎日自炊をして生活出来ている...僕の中で美味いメシが食えることは人生において結構優先度が高いので、高めの炊飯器買って良かったなと。
上京してすぐの頃帰省したら、炊飯器が家と同じモデルになってたのはちょっと面白かった。7年くらい使ってたのでちょうど良いタイミングだったのかなと。

## ソフトウェア

### OS: NixOS

1年くらい継続して使用している。動作が比較的安定しているのと、ロールバックが容易な点が気に入っている。

### エディタ: Neovim/Emacs

去年辺りからCommom Lisp書くためにEmacsを触り始めた。
今ではメインの作業をEmacsでやるようになっている。
この時期にNixを使い始めたこともあって、Emacsの設定自体Nixが前提となっている。
flake.nix等軽微な設定ファイルの修整にはVimを使うことが多い。

### DE: Sway/Niri

マルチディスプレイにおいてniriが安定しないのでSwayと併用している。
最近はちょっとずつNiriが安定してきているので、だんだんNiriに軸足を移していこうかなと。
Niriは横スクロール方のタイル型WMで、無限に幅のあるディスプレイを使っているような感覚で作業が行えるのが唯一無二だなと思ってるけど、このタイプのUIを持ったDEは他にも存在しているらしい。
普段はブラウザとターミナル、Emacsを別のワークスペースで起動して、ブラウザを見る度に都度ワークスペースを切り替える運用をしている。
ウィンドウのワークスペース間の移動自体はショートカット一つで済むので大したコストじゃない。

### ターミナル: Foot

https://codeberg.org/dnkl/foot

ターミナルはFootを使用している。
元はIME用[^1]だったのだけど、今は全てのターミナルでFootを採用している。
このターミナルの優れているところは兎に角起動が速いところで、それもあってIME用として採用していた。
作業用のターミナルにはkitty使っていたのだけど、tmuxの導入をした際にタブ機能がターミナルに必要ないことに気が付いたので、それを機にFootへと移行した。
現状機能不足になることもなく、満足して使えている。そもそもターミナルはCUIで作業を行う場所であって、昨今のターミナルが持っているようなモダンな機能はあんまり必要ないんじゃないかなと思っている。
個人的にはurxvtくらいまで軽量化したいけど、一から自作するのは面倒なのでlibghosttyとか使っていつか自作できたらなと思ったり思わなかったり。

### ターミナルマルチプレクサ: tmux

実はここ最近まで使ってなかったのだけれど、claude
codeが流行ってるのもあって使い始めた。
特に設定はやってなくて、ghqでリポジトリ開いたら対応したパスでtmuxウィンドウが開くのと、C-tでpaneが開くようになってるくらい。
なんならprefixなしで操作できるようにしている。
個人的にこのあたりの設定には特に興味がないので、まぁ概ね満足できている。

### テーマ: catppucin

かれこれ数年はこのテーマを使用している。
サポートしているエディタやツールが多いので設定が楽で良い。ブートローダのテーマまでサポートしているので一貫性を保てるのも良い。
フレーバーはずっとmochaを使っている。ベースの背景色が一番目に優しいのと、色の取り合わせが一番好みに近いと思っている。

### 本人確認基盤: Keyoxide

Keybaseからログイン出来なくなったので移行した。始めは取っつきづらさがあったが、基本gpgしか使わないため、長期的に見た際の運用負荷はこちらのほうが少なそうだなと感じた。また、アカウントという概念が薄いので、秘密鍵さえしっかり管理すれば、Keybaseのようにアカウントから締め出されてしまうことが少ないと感じている。このあたりの扱いはNostrと同じ感じなのでその点も馴染みやすさに繋がっていると感じている。
proof周りの作業方法で手間取ったので、後で手順をまとめたい。特にGPG鍵のnote機能を使用して本人確認を行うのは、普段GPGを直接触ってこなかったから始めは上手く馴染めなかった…

[^1]: [Vim を IME として使いこなす](https://zenn.dev/vim_jp/articles/14ab6ea83f711a)
]]>
      </content:encoded>
      <pubDate>Mon, 23 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Hono Hackathonに行ってきた</title>
      <link>https://comamoca.dev/blog/2026-02-12-went-to-hono-hackathon/</link>
      <guid isPermaLink="false">https://comamoca.dev/blog/2026-02-12-went-to-hono-hackathon/</guid>
      <author>
        <name>Comamoca</name>
        <uri>https://comamoca.dev/me</uri>
      </author>
      <content:encoded>
        <![CDATA[<blockquote class="twitter-tweet" data-media-max-width="560"><p lang="ja" dir="ltr">Hono Hackathonお疲れ様でした！！ <a href="https://twitter.com/hashtag/honohackathon?src=hash&amp;ref_src=twsrc%5Etfw">#honohackathon</a> <a href="https://t.co/5PPKu1Y1C8">pic.twitter.com/5PPKu1Y1C8</a></p>&mdash; Yusuke Wada (@yusukebe) <a href="https://twitter.com/yusukebe/status/2021514844546154994?ref_src=twsrc%5Etfw">February 11, 2026</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

Hono Hackathonに行ってきたのでその感想を書いていく。

今回のハッカソンはアプリケーションを作るというより、Honoとその周辺ライブラリの開発に着目したイベントとなっていて、参加者は実際にHonoとその周辺ライブラリにPRを作成した。

始めにyusukebeさんが今回のイベントの説明と今日捌きたいissueを挙げて、参加者はそれらのissueのうち担当したいものを選んで取り組むという形で行われた。
PRを作成したらその場でyusukebeさんによるレビューが行なわれて、確認が終わったらその場でmergeされていた。
こういうオフラインならではのスピート感はなかなか見られないので面白いなと思ったりした。

## 実際に作成したPR

実際に作成したPRは以下。(テスト書き忘れたので後で追加する)

https://github.com/honojs/honox/pull/357

このPRはHonoXプロジェクトを本番ビルドした際に、islandではないコンポーネントに包まれたislandコンポーネントがハイドレーションされないという問題を修正するPRになっている。

issueはこちら

https://github.com/honojs/honox/issues/355

僕の方は、HonoX関連のissueに取り組むと決めたは良いものの、どのissueが良いか見極めきれずしばらくissueを物色していた。
ここで結構時間使っちゃったので、次回がある時は予めアタリは付けといた方が良かったなと。

HonoXのissue担当した人は3人いたのだけど、担当するissueがバッティングしないよう、ある程度取り組むissueに目処が付いた段階で他の2人に声をかけて、担当issueの擦り合せをした。

実際の作業について、まずissueにあるような問題が再現するかローカルにプロジェクトを作成して実際に動作を確認した。
問題が再現したので原因を探るべく、ソースコードを読んでいった。 この時にClaude
Codeが結構役立ったので、ありがたいな～と思ったり。

問題は本番環境かつisland関係なので、そのあたりのコードに原因があるのだろうとアタリを付けつつコードを読んでいった結果、`walkDependencyTree`という関数においてパス解決の際に使用する基準となるファイルが異っていることを発見した。
forkしたHonoXをローカルにcloneして、該当箇所を修正、問題を再現させたプロジェクトにて修正したHonoXを読み込ませて再度動作確認を行ったら問題が修正したのを確認できた。

今回は`package.json`にて`file:`を使って修正したライブラリの指定を行ったのだけど、正直これが正解だと思えてないので、問題を特定するための最小構成プロジェクトの作成だったり、修正したパッケージの動作確認とかについて懇親会で聞けば良かったなと若干の後悔がある...

## 開発環境

開発自体はEmacsでやろうとしたのだけど、最近Emacsでコードを書くと重くなる現象に悩まされてた[^1]のでNeovimで行った。

Neovimで開発するにあたって、LSPとGit、コーディングエージェントまわりの設定をしておいた方が良いなと思ったので、その調整とかをやっていた。
多分これに1.5時間くらい使ってたので、家でやっとけば良かったなと幾許かの後悔がある。
とはいえこういう時の設定が一番捗るんですよね...

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">honoxのバグ直しながらneovimの設定いじってるけど、こういう時の設定いじりが一番捗るんだよな</p>&mdash; こまもか🦊@シャニ∞th両日 (@Comamoca_) <a href="https://twitter.com/Comamoca_/status/2021486440056864870?ref_src=twsrc%5Etfw">February 11, 2026</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

導入したプラグインは以下。

- [snacks.nvim](https://github.com/folke/snacks.nvim)
- [neogit](https://github.com/NeogitOrg/neogit)
- [nvim-aibo](https://github.com/lambdalisue/nvim-aibo)

snacks.nvimはNeovim界隈で有名なfolkeさん作のプラグイン集で、mini.nvimに近いプラグイン。
僕はpickerとscratch
bufferだけ使ってたけど、他の機能も便利そうなので使ってみたい。

neogitはEmacsのmagit
likeなGitクライアントで、Emacsではmagitをよく使ってたので導入してみた。
操作感がmagitそのままだったのでこれからも使っていきたいところ。

aiboは周囲が良いと言っているのを聞きつつも触れてなかったので導入。
バッファにClaude Codeが表示されて、insert
modeに入ると画面下部にポップアップが表示される。
このポップアップに文字を入力して`:wq`するとClaude Codeに入力が渡される仕組み。

入力以外の操作は従来のバッファと同じなので、普段から慣れてる操作を一通り行なえる。
使った感触はめちゃくちゃ良くて、Neovimとコーディングエージェントを融合させる手段として一番良いのではないかと思っている。

## まとめ

今回は小さい変更とはいえ始めてHono関連のリポジトリにPR投げれて良かった。
HonoX自体はリリース初期に触って以降あまり見れていなかったのだけど、今回PRを投げるために色々触って浦島状態だったのと、実用性が上がっていると感じたので今後機会があったらまたいじってみたい。
あとNeovimの設定も結構捗ったのも嬉しい誤算だった。

コントリビューター向けのハッカソンイベントは今回参加してみて得られるものが多かったので、Honoに限らず今後もっと増えてくれれば良いなと。

[^1]: 恐らく描画まわりだと思うのだけれど、原因は未だに分かっていない...
]]>
      </content:encoded>
      <pubDate>Thu, 12 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>SSGがしんどくなってきたかも</title>
      <link>https://comamoca.dev/blog/2026-02-04-ssg-shindoina/</link>
      <guid isPermaLink="false">https://comamoca.dev/blog/2026-02-04-ssg-shindoina/</guid>
      <author>
        <name>Comamoca</name>
        <uri>https://comamoca.dev/me</uri>
      </author>
      <content:encoded>
        <![CDATA[念のため言っておくと、これはLumeが悪いというよりJS系のSSGもといSSGという形態の限界、あるいは自身の求める機能に似わなくなってきたからだと思っている。

---

このブログは[Lume](https://lume.land/)で構築していて、かれこれ2年くらい運用している。
Lumeの前はAstroで作っていて、その時作ったデザインをJSXそのままに移行して使っている。

Lumeに移行した理由は、正直Astro程機能がなくても良いなと感じたのと、Denoが好きだったから。
Astroから移行を考えてた時は、ビルド時間が今後伸びることも考えていたので、HugoだったりZolaだったりも検討したのだけど、JSXで作ったページデザインを移植するのがめんどくさそうでJSに絞って探していた。
その時の結論としては、「まぁSSGがつらくなったらその時に考えよう」だったのだけど、最近になってついにその時が来たなと感じている。

現状、このブログのビルドには5分程度かかっていて、うち3分程度がLumeのビルドになっている。
なんでこんなにビルド時間がかかっているのかと言うと、単純に記事数が多いのとgzipやbrotli圧縮等の最適化、あとはOGPの生成なんかも都度行ってるからで、現状600程度のファイルを生成している。
極めつけに、ローカルで起動すると毎ビルドに3分程度かかっていて、開発や記事のプレビューに待たされえることが多く、普通に開発体験が悪いと感じる機会が多くなってきた。

ビルド時間については依存をキャッシュするなどして1分程度縮められはしたけれど、肝心の生成しているファイル数の数は減らないので、そこを上手いこと削る必要はあるかなと思っている。

削れそうなファイルについては目星が付いていて、gzipやbrotliについては、Cloudflare側で生成できそうなのでそちら側に任せてLumeでは無効化、あとOGPについても動的な生成に切り替えれば多少は生成するファイルも少なくなるかなと。

どうしてもビルド時間が長くなる場合は一度[Lume CMS](https://lume.land/cms/)に移行して、アクセス毎にページを生成する方向にしようとは考えているけれど、多分Deno
Deployでデプロイすることになるし、hackyな自作プラグインを突っ込んだりしてるので正常に動いてくれるかは不明...
あと、このブログの検索機能はPagefindっていうSSG向けの検索エンジンを使用してるのだけど、これがCloudflareのRocker
Loaderを有効にすると壊れる問題があったりする。
これは自作の記事検索APIを作って、GleamベースのUIを埋め込む形でリプレースすることを考えてる。なのでPagefindからは移行する予定だけど、置き土産としてCloudflareで発生する不具合については調査してPR投げても良いかなと。

まぁ最悪の場合はJSXを捨てて、GleamベースのSPAアプリケーションに書きなおそうかなと思ってるし、ゆくゆくはそうなる可能性が高いかもしれない。
SSG自体、パフォーマンスと引き換えにデプロイ時に負担がのしかかってくるので、記事が増え続ける限りビルド時間の問題は解決しないだろうな〜

式年遷宮は多分するけど、どうやるか、どれを使うかは色々考えていきたい。

一応検索機能については先行して実装しそうなので色々考えがあって、[DuckDB FTS](https://duckdb.org/docs/stable/guides/sql_features/full_text_search)ベースの検索システムになる可能性が高そう。
FTSってのはFull Text Search(全文検索)の略で、DuckDBはC++で書かれたOLAP向けのDB。
FTSだしOLAP関係ないじゃん、とは思ったけど、DuckDB自体に前々から興味があったので、この際触ってみるのも良さそう。

全文検索にあたって避けられない形態素解析は、個人的に気に入っているgoyaをベースにしたいと思ってる。
goyaはRustベースの形態素解析器なのだけど、シンプルで使いやすいのでなにかと使うことが多い。

全体の流れとして、GH
Actionsで記事のインデックスを生成してDuckDB向けのバイナリを生成してR2へアップロード、フロントではインデックスを落してきた後、検索ワードをフロント側のgoyaで分かち書きしてクエリをかける方向を考えている。
goyaはRust製ということもあってwasmも提供しているため、CLIからもブラウザからも使いやすいのが良い。

検索APIについては自作Web
FWの[hinoto](https://github.com/Comamoca/hinoto)を使って構築しようと考えている。
そもそもhinoto自体Cloudflare
workersを前提として設計したし、作るだけじゃなくてドッグフーディングして改善のサイクルを回したいと思っていたので丁度良いと思っている。
現時点ではR2向けのインテグレーションが作れてないので、まずはそこから作っていくことになりそう。

とまぁこんな感じで久々にブログに手を入れようかなとか考えてるけど、やっぱこういうの考えるのは楽しいな〜って思うので、楽しみながら式年遷宮やっていきたい。
]]>
      </content:encoded>
      <pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Niriで外部ディスプレイを繋ぐとクラッシュする問題</title>
      <link>https://comamoca.dev/blog/2026-01-22-niri-crashes-when-connecting-external-display/</link>
      <guid isPermaLink="false">https://comamoca.dev/blog/2026-01-22-niri-crashes-when-connecting-external-display/</guid>
      <author>
        <name>Comamoca</name>
        <uri>https://comamoca.dev/me</uri>
      </author>
      <content:encoded>
        <![CDATA[あけましておめでとうございます！ 今年もよろしくお願いします。

---

最近はNiriっていうイカしたDEを使っているのだけど、これが外部ディスプレイを繋ぐとクラッシュして外部ディスプレイに何も映らなくなった。
症状はこんな感じ。

- HDMIケーブルを抜き差しすると画面が映らなくなる。
- wdisplays確認するとモニター自体は認識されている。
- マウスカーソルは映らないモニターにも移動できる。

Claude
Codeシバいて色々試行錯誤したのだけど、僕の環境だと以下の2つを設定したらとりあえず動作が安定した。

- ユーザーをvideoユーザーグループに入れる
- no-csdを無効化した(ウィンドウ名の表示を消したりしてると有効化されている可能性がある)

関連するissueとかもあって深掘りしてみても良いのだけど、とりあえず安定動作が先決なのでワークアラウンドだけ書いてみる。
追加で情報があったらここに追記していくかも。

参考まで、にClaude Codeに書かせたレポートも貼ってみる。

https://gist.github.com/Comamoca/2baa860a7245448688b3e40b8c01d0c5
]]>
      </content:encoded>
      <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>1月の月報</title>
      <link>https://comamoca.dev/blog/2026-01-22-monthly-report/</link>
      <guid isPermaLink="false">https://comamoca.dev/blog/2026-01-22-monthly-report/</guid>
      <author>
        <name>Comamoca</name>
        <uri>https://comamoca.dev/me</uri>
      </author>
      <content:encoded>
        <![CDATA[ここ最近は日報が書けなくなってきたので月報という形での復活を試みてみる。

---

## 今月やったこと

### 帰省

- 諏訪大社行った
- イベント開いた 年末に勢いで県立図書館の部屋取ったので完全に勢いで開催した。
  参加者0人かと思ったけど、1人来てくださったので良かった...

### アイマスDJ

昨年のYAPC福岡で知り合った同担の方[^1]と連番した
この会はミリオンメインだったけど、ずっとシャニの話してたな...
リスアニでも会うので2週間後が楽しみ

### React Tokyo HADO会

久々にHADOした 押上にあるの知らなかった 近場なのでまた行ってみたさある
次の日は筋肉痛で腕が痛かった...！

### PHPer Kaigi パンフ記事脱稿

普通に遅刻してしまったけどなんとか脱稿した...！
序盤からChatGPTと相談して案を練っていたのだけど、色々言われすぎて方向性を見極められなかったので序盤にすぐ相談するのは悪手かなと思ったりした。

### React Tokyo Fes ポスター脱稿

こちらも微妙に遅刻してしまったけどなんとか提出成功...！
ポスターセッションは初めてだけど、落語経験活かして喋りに全振りしていきたい。

### リスアニ

<h1>太陽キッスッ!!!</h1>
<h2>太陽キッスッッッッッッッ!!!!!!!!!!!!!!!!!!!!!!!!!!!</h2>

(HTMLタグをセマンティクス無視して強調表示として使うのは非推奨だけどこの感情を伝えるにはこの方法しかなかったので許して欲しい)

タオル持ってきて良かった....

イントロで「太陽キッス！？！？！？！？！？！？」って声出たし慌ててペンライトを左手に持ち替えてタオルの準備して全力コールした

太陽キッス現地は夢だったけど、まさかリスアニで叶うとな思わなかった...\
あと夏葉さんの「今日は晴れてるわね」が普段夏葉さんが言わなさそうなセリフなのでなんか良かった

あとシャニマスの初手はboarderlineだったのだけど、<h2>boarderline！？！？！？！？</h2>って声出そうになった...

リスアニというシャニマス知らない人もいる場で初手boarderline！？！？！？

流石に攻めすぎでしょ、と思ったけど会場を完全に乗っ取った感じがしたので今思えば掴みとして最高のセトリだったのではと思ってる。

あとリスアニは**生バンド**なので、完全に螺旋を意識してるのが伝わってくる。MOIWでやっと螺旋から抜けだせたのにまた螺旋のことしか考えられない体にしようっていうんですか...？

夢限大みゅーたいぷはリスアニで初見だったけど、曲調がみらくらぱーくすぎて好きになってしまった...バンドリらしいので、また可処分所得と可処分所得をバンナムに吸われるんだなぁ...と謎の感慨に耽ったりした。

TrySailではadrenaline!!!のコール楽しかったし、最後のReoNaさんの力強いお歌はリスアニを〆るのに相応わしいなと思った。
後でシャドーハウスのOP歌っている方だと気付いて、まさかこのライブで聞けるとは思わなかったので嬉しかった...

### 転職活動

面談一回した。
最近ずっと出社なので有休削る必要あるのが地味に痛いけど、辞めるなら問題ないなと気付いたので来月はもっと面談増やしていきたい

あと転職の軸としてサブカル系を軸に企業を探してるけど、ジャンルゆえに母数が少ないので少し範囲を広げて企業を探した方が良いなと思った。
それはそれとして、今年は転職前提なことが多すぎるので、なるはやで転職はキメたいところ...

## 来月やりたいこと

### Gleam meetup

ずっとやりたいと思ってたので、2月に一度できれば良いなと思っている。
Gleamでサーバーを作るハンズオンをやる方向で資料とか構成を考えている。

[^1]: [@ratie_dev](https://x.com/ratie_dev)
]]>
      </content:encoded>
      <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>2025年の振り返りと2026年の目標</title>
      <link>https://comamoca.dev/blog/2026-01-11-review-2025-resolutions-2026/</link>
      <guid isPermaLink="false">https://comamoca.dev/blog/2026-01-11-review-2025-resolutions-2026/</guid>
      <author>
        <name>Comamoca</name>
        <uri>https://comamoca.dev/me</uri>
      </author>
      <content:encoded>
        <![CDATA[なんか書かないと一年が始まった感がないので書いていきます。

## 2025

去年はとにかく躍進の年だったなと。
就活キメて東京来て一人暮らし始めて、諸々のカンファレンスに登壇したりスタッフやったりライブに行ったり、人生で一番充実していたのでは？と思う年だったなと。

特に環境が大きく変わったのが一番影響が大きくて東京っていう人が一番集まる場所で生活することによる効果をかなり受けられた気がするし、東京来なかったら知り合えなかった人がかなりいるので、東京行くよう勧めてくれたvim-jpの人達には感謝しかないなと。

### 技術

去年は関数型まつりに登壇させていただいたのがめちゃくちゃ大きかったなと感じてる。
数百人規模のカンファレンスで登壇したのは初めてだったし、「関数型まつりで登壇した〜」って言えるので精神的にかなり箔が付いたなと思ってる。
ここで知り合った方もいるので、運営さんにはこの場で感謝したいし、今年の関数型まつりも参加したと思ってる。

https://zenn.dev/comamoca/articles/2025-06-17-i-was-talk-about-gleam-at-fpmatsuri

大きいカンファレンス以外にも、今年は小さいイベントに結構な数参加していて、これが出来るのも東京(もとい東京近郊)のメリットだなと感じている。
何回かLTもやらせてもらったし、こういう活動は来年もやっていきたいなと。

東京以外だと、今年は山梨のテックイベントも盛り上がっていて、例えばこんな感じ。
個人的には[あなぐら](https://x.com/AnaTofuZ)さんに知り合えたのが一番印象的だった。
と言うのも、知り合ったきっかけが「山梨出身でNixOSとVRChatをやっている」というあまりに狭すぎる積集合にいたからで、そんなことあるんだ...(1)と思ったりしてる。

<iframe class="speakerdeck-iframe" style="border: 0px; background: rgba(0, 0, 0, 0.1) padding-box; margin: 0px; padding: 0px; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px; width: 100%; height: auto; aspect-ratio: 560 / 315;" frameborder="0" src="https://speakerdeck.com/player/ba3e4274722d495e91d64efe067ccf96" title="2025年 山梨の技術コミュニティを振り返る" allowfullscreen="true" data-ratio="1.7777777777777777"></iframe>

あなぐらさんがきっかけでPerl界隈に出入りするようになって、YAPCに行ったり、そこでまた別の人と知り合えたりしたので、今年は人脈のバタフライエフェクトとでも言うべきか、人の連鎖的な繋がりをすごく感じられた年だった。

YAPCでは、なんか色々あってスタッフとして参加することになったのだけど、そこで同担のアイマスPに出会ったというのが一番衝撃だった。そんなことあるんだ...(2)

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">これ僕です <a href="https://t.co/QjpnQtqt4g">https://t.co/QjpnQtqt4g</a></p>&mdash; こまもか🦊@シャニ∞th両日 (@Comamoca_) <a href="https://twitter.com/Comamoca_/status/1989418404613333248?ref_src=twsrc%5Etfw">November 14, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

その場ではクラフトビール飲みながらアイマスと女性声優の話してなかったけど、普段こういう事がなかったので楽しかったな〜と。

https://comamoca.dev/blog/2025-11-18-yapcfukuoka2025/

今年はGleamの方も色々やっていて、登壇(という名の営業活動)だとか、ライブラリの開発だとか色々動けたと思ってる。
あと、今全然動かせてないけど、gleam-jpっていうコミュニティとかも作ったりして、これは今年動かしていきたいなと思ってる。

https://gleam-jp.org/

### アイマス

去年を語るにあたってやっぱりアイドルマスターは絶対外せないと思ってる。
僕はアイマスと同い年で、二十歳という特別な年にアイマスの20周年を祝えたのはやっぱり感慨深いものがあると思ってる。

去年はライブとかにも色々行っていて、以下の3つのライブに7公演現地参加した。

- [THE IDOLM@STER SHINY COLORS 7th LIVE TOUR 螺旋](https://idolmaster-official.jp/live_event/shinycolors_7th_rasen/)(螺旋)
- [CINDERELLA GIRLS fes. Once Upon a St@rs](https://idolmaster-official.jp/live_event/cg_fes_oustars/)(デレXR)
- [THE IDOLM@STER M@STERS OF IDOL WORLD 2025](https://idolmaster-official.jp/live_event/idolworld2025/)(MOIW 2025)

### 螺旋

Day1 Day2両日参加かつ、実に2年ぶりの現地参加で、初のKアリーナだった。

#### Day1

https://imas-db.jp/song/event/shinycolors_7th_rasen_day1.html

なんかツアーでまた高山ワールド出してるなと思ってはいたけど、螺旋は高山ワールドの煮詰ったやつの塊みたいなライブだったと思ってる。
Day1の初っ端から新曲披露とダンサーによるパフォーマンスをぶつけられて、始めはえ〜...って反応しか出来無かったけど、Fashionable->とある英雄たちの物語->快盗Vと来てUOポキポキの会場爆沸きで一気にスイッチが入った気がする。

個人的には快盗Vと迅雷鉄火のコンボ出されたのが嬉しくて、ライブ前日はみんな迅雷やるぞやるぞという雰囲気を出していたので、イントロかかった瞬間迅雷キター！って叫びそうになった。

その後はストレイのCyber Parkourがあって、キックの打点の高さに驚いたりした。
あとONE
STARやってくれたの嬉しくて、普段と違う雰囲気の果穂さん見れたのは良かったですね〜

アルストのDAYDREAM LOVEとVERY BERRY
LOVEはバックダンサーさんの衣装が妖精みたいで、すごく映えてた。
普段のライブでバックダンサーってあんまりないのでその点ここはかなり好きな演出だった。

その後はリフレインブレインが来て、イントロから沸き上がって楽しかった。
この曲自体アルストとコメの混合ユニット曲なのだけど、わりと色の違うユニットのはずなのにカッチリハマってて新しい色が出てて好きなんですよね〜

その後は泥濘鳴鳴だった。やっぱこの曲盛り上がるんだよな〜って思ったし、UOブンブン振るのがめちゃくちゃ楽しい曲ので来て嬉しかった。
アイマスDJでもやってくれないかな...
あとシャニソンでこの曲やるとサビのノーツ捌くのが楽しいんですよね。難易度はかなり高いんですが...

最後のイルミネゾーンでスマイルシンフォニアが流れたのだけど、隣のイルミネPが絶叫してたのが結構記憶に残ってる。
スマシン歌詞強いしSoLと同レベの格の強さがあるんだよな...
この時はスマシンそこまで聞きこめてなかったのがちょっと心残りだったりする...

最後はSpread the Wings!!とシャイノグラフィ、Migratory Echoesと全体曲をやった。
Spread the
Wings!!は圧倒的実家感あるな...と。この曲自体結構コール多いのだけど、まわりに合わせながらなんとか出来たので今後はもっと確度を上げていきたい。

### Day2

Day2は放クラが**5人全員**そろっていたのが嬉しかった...
白石さんはDay1来れないことがほとんどなので、ちゃんと5人揃った放クラを見れて嬉しい。

前半はDay1と同じような構成だったのだけど、急にVOY@GERぶっこんできて会場全員ビビり散らかしてたし、当然僕もビビってた。
完全に予想外だったのでまんまとハメられた感がある。

GOTCHA来たの良かったな〜と思う反面、コール難しくてふわっとしてたので次あるときはちゃんとコールできるようにしたいなと。

後半は唐突に新曲乱舞るが出てきて、びっくりしたしどうすんだこれ...と思ってたけれど、みんな母音合わせてコールしてそれなりの声量出てたがすごかった。
「放クラはノリでなんとかなる」を会場全体で体現できてあれって本当だったんだ...と感慨深くなるなどしたなと。

前日にスマシンやってDay2にShower of
light来たのでイルミネPめちゃくちゃ嬉しかっただろうなと思ったし、シャニマスPは全員潜在的なイルミネPなのでなかなかくるものがあった...
方々で言われてるけど「あなたが太陽なんです」って歌詞かなり力強いし、基本傍観者の目線にいるであろうシャニマスPをこちら側に引き寄せられる言葉で自分アイマスPであることを自覚させらる曲なので神格化されるのも納得だよなと思ったりした。

ライブの最後にあったMigratory
Echoesはそれぞれのユニットで「歌っていこう」のパートを歌うという演出が入ったのだけど、このパートは「一緒に歌おう」ってコールがあって、それぞれのパートが歌う度にこっちも「一緒に歌おう」って歌い返せてちょっとボロ泣きしてしまった...
あれ以降Migratory
Echoesの該当パートを聞く度にちょっと泣きそうになるし、螺旋を伝説たらしめたのはこの曲だったなと感じている。
Migratory Echoesの曲自体もすごく良くて「晴れだけ期待して勝手に諦める
そんな拙い想像力じゃどこにもいけない」っていう言葉が強めの歌詞があるのだけど、この何か行き詰まった時にこの歌詞を思い出したら頑張れる気がするのでこれからも大事にしたいし、歌っていきたい曲だと思ってる。

今年のシャニマル流行語大賞に「一緒に歌おう」が受賞したので、やっぱりこの場面が印象に残ってるシャニマスPは結構多いんじゃないかなと思ってる。

### デレXR

デレのライブにも行っときたいな〜と思ったので、勢いで通し券(6万円)を申し込んだ。
会場が幕張メッセで、初めて行ったから東京駅の京葉線乗り換えの洗礼を受けたりした。

このライブは土日合わせて4公演あって、通し券を買ってしまったばかりにかなりハードなスケジュールになったライブだった...

#### Luminaria Tiara

https://imas-db.jp/song/event/cinderella_cg_fes_oustars_stage1.html

アタポンのコール楽しかった...！アタポンから入ったデレPも結構いるからか、会場も盛り上がって楽しかった。
もしカワ初見だったけど、まわりに合わせながらコールした。「とっきゅーのぞみ」ってなんなんだよって今でも思ってる。
幸子さんは同郷なので親近感があるのだけど、それ関係なしに普通にファンになる曲だった。

急にノートの中のテラリウムでなのくら成分出てきて、なのくらP大丈夫か〜と思いながら聞いていた。全然大丈夫じゃないです。
とは言えテラリウムで致命傷でも、スーベニともりのくにからのコンボでトドメ刺されたので耐える耐えないの話じゃなかったなと...

Romantic Nowで会場爆沸きしてたの凄かった...
U149でもED曲で使われてたので感慨深いものがあった。

OTAHEN アンセムであの狂ったコール出来たのめちゃくちゃ楽しかったな...
コールに自信が付いたので定期的にやって欲しいと思ってる。合法的に「うんこーー！」って叫べる機会なんてなかなかないですからね...アイドルの曲でうんこ...？

O-Ku-Ri-Mo-No
Sunday!でmiroir出てきてやっぱ久川姉妹良いな〜って思ったし、O-Ku-Ri-Mo-No
Sunday!自体めちゃくちゃ好きなんですよね...ライブで聞けて良かった。

Orange
Sapphireめちゃくちゃ盛り上がったし、オレンジってついてるからか、PがUO炊きまくってて会場がオレンジ色に輝いてたのが綺麗だった...

確かこのタイミングでしまむーが出てきて、あーなんかデレアニの最後っぽいな〜と思ってたらS(mile)ING!のイントロ流れ始めてあーーーっ!って声が出てしまった...
その後GOIN'!!!があって、コールでGOIN!って叫べたの楽しかったな...と思ったし、当時デレステの更新が終了したのもあってこれから大丈夫か...？みたいな事も考えてたのだけど、デレステが止まってもデレマスは止まらないんだなって思えたのが嬉しかったなと。

あと今回のライブはありすPの打ち上げに参加したりして、普段Twitterでやりとりしてる方と実際に会えたりして嬉しかった...
ライブに行くと普段会えない人と会えるのでそこも楽しいなと思ったりした。

「トキメキは赤くて甘い」の前にキンブレを破壊して赤色にしか光らなくなるというやらかしをしたけど、偶然次の曲に「トキメキは赤くて甘い」が来たのでそのまま使ったりした。
この公園が終わった後に近くのドンキまで往復一時間かけてキンブレ買いに行ったのは多分忘れない...ペンライトは予備を準備しておきましょう。

#### Nocturne Crown

https://imas-db.jp/song/event/cinderella_cg_fes_oustars_stage2.html

スパンが思ったより短かくて会場全然回れなかったな...と思ったりしていた。
と思ったのもつかの間、序盤にin factが出てきて普通に取り乱しそうになった。

毒茸伝説、輝子ちゃんがわりとオンオフが激しいとは聞いてたけど、想像以上に激しかったのと、バーナーの演出があったりしてアツい曲だったなと思った。
あと曲終わったあとちょとヘバってる感じがしてかわいかった。

最後に恒久のユニバースが来て良い〆だったな...と思ったりした。

最後に本日2回目のおねシンをやった。これ多分明日も2回やるからめちゃくちゃコール上達するのでは...？と思ったした。

#### ありすP打ち上げ

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">打ち上げなのでいちごサワー飲んでる<br>ありすPの方がいちごのぬいぐるみくださって感謝…！ <a href="https://t.co/h9cIX5nVrw">pic.twitter.com/h9cIX5nVrw</a></p>&mdash; こまもか🦊@シャニ∞th両日 (@Comamoca_) <a href="https://twitter.com/Comamoca_/status/1994766664727236821?ref_src=twsrc%5Etfw">November 29, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

Day1の後はありすPの打ち上げに行った。
こういうのは初めてだったのだけど、参加者はみんなアイマスが好きなのでめちゃくちゃ盛り上がれて良かった...
シャニPもいて、アルスト担当してる人に「この前『薄桃色にこんがらがって』読んだんですよ...」って話したら全てを理解してただ頷いていたのが印象的だった。
あと、普段Twitterでお世話になってるありすPの方と挨拶できて良かった。
普段IT界隈にいるので、IT以外の繋りが作れたのは良かったなって思ったり。

#### Princess Riot

https://imas-db.jp/song/event/cinderella_cg_fes_oustars_stage3.html

この回はDJぴにゃこら太によるメドレーがあった。
初めに湊さんによる注意事項の説明があって、「湊さんかっこいいな〜」とか思ってた。

初手LiPPS2曲続いて、新宿のライブの時も思ったけど、やっぱりLiPPSの影響力はすさまじいなと。

この回で一番印象に残ってるのはなみだのく→さよなアンドロメダの流れで、もりくぼ〜からのアナスタシアさん合流は流石にデカい声を出してしまった。

その後VOYG@Rがあって、これも結構不意打ちだったな...と。
来るMOIWに向けて気分が上がるセレクトだった。

この回はLiPPS回だったので、最後にNeon Spherで〆るのは良かった...
ここでもおねシンをコールして、もう完璧にコールキメられるようになって成長を感じた。

#### Ever Starlight

https://imas-db.jp/song/event/cinderella_cg_fes_oustars_stage4.html

この回が一番楽しかったかもしれない...
MCで「みんなの好きなアイドルの名前を叫んで！」って言われたのだけど、その時となりで「みりあー！」って叫んでたPがいてアツかった。[^1]
Romantic
Nowからのドレミファクトリー！はとなりのみりあPともども絶叫したのが記憶に残ってる。

もしカワとメルヘンデビューはDay1でもやったけど、今回は完璧にコールできて嬉しかった...
OTAHENは難しかったけど、昨日と違って全力でコールできたのは良かった。
これで鍛えられたお陰でヴヴヴのコールできたまであるので感謝している...

なおこの回ではin
factの後に恒久のユニバースが流れて、ありすPとしては感無量と言わざるをえなかったなと。
しかもその後にStarry
Nightという僕がデレマスで3本指には入るくらい好きな曲を**担当が**歌うというクソデカ供給をぶつけられて「えっえぇ〜」とか「まって〜」みたいなことした言えなくなった。
**人間は処理能力を越える情報を与えられると思考が止まるんですよ**。

その後はユニ募とニュージェネが来て、最後にクロス×オーバー！とおねシンで〆だった。

いや〜6万払って全通したけど、これは6万払った甲斐あったなと思えたライブだった。
XR自体ちょっと懐疑的には思ってたけど、新しいアイマスの形として期待していきたい...！

### MOIW 2025

MOIW 2025に行った。
初遠征ということもあって結構バタバタしてたけど、なんとか駆け抜けられた。

安いというだけで宿取ったら西成だった時はビックリしたけど、まぁ大きなトラブルもなくて良かった...

- ホテルと聞いてた場所が実質ホステルだったり
- 部屋の暗証番号全部同じだったり
- Day1後の夜なんかチャリ乗った知らないおっさんになんかゴチャゴチャ言われたり(流石西成クウォリティ...)
- スーパー玉手がイカれた内装してるスーパーだってことに衝撃受けたり
- 有休使って大阪滞在してるのにコメダでPRシコシコ作ったり
- 京セラ前で怪しい人になんかアンケートお願いされたり(最近こういうのめちゃくちゃ多くてうんざりしてる)
- 大阪住みのGleamlinsの人とGleamの話したりした

ライブの感想だけど、良すぎてやっと螺旋の呪縛から逃れられそうな感じだった...
さんざんTwitterで話してたので記憶が薄いのだけど、Day2(配信で見ていた)のUpper
Dog良かったですね...いつもと一味違う果穂ちゃん良かった

Day1最後の「アイ need
you」はいっしょに口遊んでたのだけど、感極まって泣いた。アイマスの歴が長いほど歌詞が染みるんですよね...

## 2026やりたいこと

- Gleam meetup 去年できなかったので今年はやっていきたい。
  ハンスオンやるってことは決めたので資料とか作ってあとはやるだけにしたい
  環境構築問題はNixとDockerの併用でなんとかなりそうなので、後は教材作るだけな感じ

- 本書く ずっとやろうとして出来てないので今年でキメたい。
  ハンズオンの教材を本にして、本をハンズオンの教材にすれば良いことに気が付いたので、そのスキームでやっていきたい。
  なんならmeetupで本売りたい。

- GleamにPR出す
  Gleamのコード読んだりissueをwatchしてたりはするし、[sqlight](https://github.com/lpil/sqlight)にPR出したりしてるので今度は本体にPR出したいなと。
  今はLLMもあるし、なんか案外簡単そうなので軽率にコントリはやっていきたい。

- アイマス
  今年は全ブランドライブ制覇とか、「283プロ全員WING優勝」を目標にしていきたい。
  去年の反省点として、もっとアイマスと真剣に向き合えるなと感じることが多かったので、今年は真剣にアイマスと向き合う年にしていきたい。

## まとめ

そんなこんなで2025はアイマスして、2026もアイマスですよ〜！な年にしていきたい。

あと目下の課題は転職ですね...これをしないと他が全部詰まるまであるので喫緊の課題であるのだけど、いかんせん初めてなので手探り感が否めないなと。
これも急ぎつつも自分の歩幅でやっていきたいなと思ってる。

結局公開するのが一月終わりになっちゃったけど、ギリギリセーフということにして、去年の振り返り&今年の抱負としたい。

[^1]: 僕は「ありすーっ！」って叫びました。
]]>
      </content:encoded>
      <pubDate>Sun, 11 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>NixでGleam(Erlang)をシングルバイナリにする</title>
      <link>https://comamoca.dev/blog/2025-12-17-build-gleam-erlang-target-to-single-binary-with-nix/</link>
      <guid isPermaLink="false">https://comamoca.dev/blog/2025-12-17-build-gleam-erlang-target-to-single-binary-with-nix/</guid>
      <author>
        <name>Comamoca</name>
        <uri>https://comamoca.dev/me</uri>
      </author>
      <content:encoded>
        <![CDATA[この記事はNixアドベントカレンダー日目の記事です。

## nix bundle

Nixには`nix bundle`というUnstableながら便利なコマンドがあります。

https://nix.dev/manual/nix/2.24/command-ref/new-cli/nix3-bundle

これはNixの依存関係を単一のバイナリにまとめ、単一の実行ファイルを生成できるというものです。

例えば、以下のコマンドを実行すると単一のPython 3.14バイナリが生成されます。

```sh
nix bundle nixpkgs#python314
```

## bundler

`--bundler`オプションを指定すると、バンドルするアルゴリズムを変更できます。
例えば、`github:ralismark/nix-appimage`と指定すればAppImageとしてシングルバイナリを生成できます。

https://github.com/ralismark/nix-appimage

さきほどのPython 3.14をAppImageでバンドルするにはこうします。

```sh
nix bundle --bundler github:ralismark/nix-appimage nixpkgs#python314
```

AppImageは使用するファイルのみ都度自己解凍する仕組みなので、従来のバンドル方法と比べて起動速度が速いです。
そのため、基本的にはAppImageを用いてバンドルするのがおすすめです。

## Gleamをバンドルする

これまでGleamでシングルバイナリを生成するには[garnet]()等のツールを用いるしかありませんでした。
これはDenoとBunを用いるため、JavaScriptに限定されてしまう問題がありました。

今回紹介した方法はGleamが使用するランタイムの機能に依存しないため、Erlangもシングルバイナリにできます。
試しにやってみたものがこちらにあります。`nix build`で単一バイナリが生成されるはずです。

https://github.com/Comamoca/sandbox-gleam/tree/main/appimage_build

GleamプロジェクトをNixでビルドするのには`gleam2nix`を使いました。
https://gleam2nix.foxgirl.engineering/

## まとめ

- `nix bundle`を使うと任意のpackageを単一バイナリにできる
- `--bundler`オプションでバンドル方法を切り替えられる
- AppImageを使用すると起動時間の速い単一バイナリが得られる
- GleamにおけるErlangターゲットなプロジェクトもこれで単一バイナリになる
- 便利だけどバイナリサイズは結構大きくなる(数百MBとか)
]]>
      </content:encoded>
      <pubDate>Wed, 17 Dec 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>HonoをVimプラグインにしちゃおう</title>
      <link>https://comamoca.dev/blog/2025-12-16-hono-work-on-vim-plugin/</link>
      <guid isPermaLink="false">https://comamoca.dev/blog/2025-12-16-hono-work-on-vim-plugin/</guid>
      <author>
        <name>Comamoca</name>
        <uri>https://comamoca.dev/me</uri>
      </author>
      <content:encoded>
        <![CDATA[この記事はHonoアドベントカレンダー16日目の記事です。

## Honoは便利

Honoはサーバーを立ち上げるまでに必要な最小ステップが小さいです。
また、コードサイズが小さいためプラグインとして組み込んでも影響が少ないです。

## Vimからでも使いたい

Honoは便利ですが、HonoはTypeScriptなのでVimでは直接動きません。
そこで、[denops](https://github.com/vim-denops/denops.vim)を使います。
denopsはDenoを使ってTypeScriptでVimプラグインを作成できるプラグインエコシステムです。

現在広く使われているVimの実装にはVimとNeovimがあるのですが、両者は細かいAPI等の違いやそもそもプラグインに使える開発言語が異なったりなど、両方に対応したプラグインを開発するのが大変でした。

また、以前はjob
API等がなくVimで重い処理を実装すると動作がブロッキングし体験が悪くなるなどの問題がありました。
そもそもプラグイン開発で広く使われているVim
Scriptはパフォーマンスが悪い等の問題もありました。

denopsは別プロセスでDenoを動かし、TypeScriptで書かれたプログラムとVimをmsgpackで通信する方法を使いこれらの問題を解決しています。
これまでにも似たような発想でNeovimの[remote plugin](https://speakerdeck.com/yuki_ycino/developing-remote-plugin-in-typescript)等のプラグインエコシステムが存在していましたが、denopsは
型安全かつnpmの資産を用いて高度なプラグインを開発できるとして、日本のVimコミュニティで広く使われています。

また、TypeScriptでプラグインを書ける特徴を活かして、プラグイン側でインターフェースを定義し、設定をユーザーに書かせるスタイルのプラグインも登場いています。

https://github.com/Shougo/ddu.vim

そんなdneopsですが、TypeScriptが動くので**当然Honoも動きます**。
という訳でHonoを動かすdenopsプラグインを作っていきたいと思います。

コードは[Comamoca/sandbox](https://github.com/comamoca/sandbox/tree/main/hono-vim-plugin)にて公開しています。
該当のディレクトリのみ欲し方は[tiged](https://github.com/tiged/tiged)で良しなにダウンロードしてください。
以下のコマンドでダウンロードできるはずです。
なお、カレントにファイルの中身をぶち撒けるのであらかじめディレクトリを作成して、その中で実行した方が良いです。

```sh
mkdir hono-vim-plugin
cd hono-vim-plugin
bunx tiged Comamoca/sandbox/hono-vim-plugin
```

## 起動してみる

denopsをインストールしている前提で進めます。
まずruntimepathにプラグインのパスを追加します。

```vim
set runtimepath += /path/to/hono-vim-plugin
```

Vimを再起動し、以下のコマンドを実行すると`http://localhost:8000`でサーバーが起動するはずです。

```vim
call denops#request('hono-vim-plugin', 'launchServer', [])
```

## シャットダウン

サーバーの起動は出来たものの、このままではサーバーのシャットダウンをする度にVimを落とす必要があります。
サーバーのシャットダウンもプラグインから行えると便利です。

`Deno.serve`で作成されるインスタンスには[shutdown](https://docs.deno.com/api/deno/~/Deno.HttpServer.shutdown)メソッドがあるため、これを用いてサーバーを停止できます。
ただ、denopsの各コマンドはdispatchとして実装するため、`let`でインスタンスをグローバルアクセスできるようにし、それを操作する必要があります。
このあたりもう少しきれいに書けたら嬉しいですね。

## 他の改善点

### Vimを落したらサーバーも止まる

denopsはVim上で動いているので、Vimプラグインとしてサーバーを動かすと当然止まります。
これはプレビューサーバーとして見ると都合が良いのですが、僕はプロジェクト毎にVimを起動し落とすスタイルなので若干都合が悪いです。

そこで最近追加されたhono
cliで別プロセスとして立ち上げると良い感じにプロセスを分けられて良さそうだなと思ったのですが、
ここまで来るともはやHonoである必然性が薄れてくるのでプラグイン前提で考えた方が良さそうです。

https://github.com/honojs/cli

## まとめ

使い道など
プレビューサーバー用途はもちろんですが、個人的にはWebからVimを操作するような用途で使えないかなと考えたりしています。
HonoはJSXが使えるので、良い感じにUIが作れますし、認証とかも楽に実装できるので色々面白いことができそうです。

あと、このネタ自体は[VimConf 2023](https://vimconf.org/2023/)の頃から考えていたものなので、かれこれ2年越しに放流したものになります。
もし先駆者の方がいたら先にごめんなさいをしておきます。

あと、Denoが動くということは当然[Gleam](https://gleam.run/)が動くということなので、denopsのGleam
wrapperとかも作ってみたい。
以前作ってみたことはあったのだけど、当時はGleam力が足りなくてAPIがイマイチでポシャったという過去があるのでまたリベンジしてみたいところ...

明日は[@hayatosc](https://qiita.com/hayatosc)さんの記事です！
]]>
      </content:encoded>
      <pubDate>Tue, 16 Dec 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>YAPC福岡に行ってきた</title>
      <link>https://comamoca.dev/blog/2025-11-18-yapcfukuoka2025/</link>
      <guid isPermaLink="false">https://comamoca.dev/blog/2025-11-18-yapcfukuoka2025/</guid>
      <author>
        <name>Comamoca</name>
        <uri>https://comamoca.dev/me</uri>
      </author>
      <content:encoded>
        <![CDATA[<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">YAPC::Fukuoka 2025 本編・懇親会にご参加いただいた皆さま、ありがとうございました。無事すべての日程を終えることができました。… <a href="https://t.co/SDqFH7mSz4">pic.twitter.com/SDqFH7mSz4</a></p>&mdash; yapcjapan (@yapcjapan) <a href="https://twitter.com/yapcjapan/status/1989905545210597784?ref_src=twsrc%5Etfw">November 16, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

_自分が写ってる写真見ると毎回はちゃめちゃに笑ってるな〜って思うし実際はちゃめちゃに楽しかった_

YAPC福岡2025にスタッフとして参加したのでその感想を書いていきます。
今回は初YAPC、初カファレンススタッフ、初九州、初飛行機と初めてづくしの2日間でした。

## 初めての飛行機

![スターフライヤーの飛行機](/img/2025-11-24-025050.png)

福岡への交通手段は結構迷ったのですが、飛行機をオススメされたので飛行機にしました。

コロナ世代でもあるので修学旅行で飛行機に乗ったことがないので不安でしたが、案外簡単に乗れてビックリしました。
こんなに簡単に乗れることが分かってしまうと、ひたすら行動力のある輩になってしまいそうでちょっと怖いですね...

## 初九州 & 初福岡

僕は家族旅行で中部や近畿はよく行ってたのですが、九州は行ったことがなかったのでどんな場所か楽しみでした。

いざ福岡に行ってみると想像より都会でびっくりしたのと、東京より余裕がある感じがしておもしろかったです。

Day1の夜[わいとん](https://x.com/ytnobody)さんと飲みに行ってGleamの話をしたりしていたのですが、川沿いにある屋台で日本酒とてんぷらを食べられてこれが博多か...！と感慨に耽ったりしました。
そもそも縁日以外で屋台があるというのも珍しいと思っていて、博多ならではの良い経験ができたなと思っています。

![屋台で日本酒とてんぷら](/img/2025-11-24-025225.png)

後日蜂楽饅頭というものを知って、今度行ったときは必ず食べよう...！と思ったりしました。

## 初めてのYAPC

![](/img/2025-11-24-025327.png)

YAPCには今回初参加でした。 Perlコミュニティのイベントには大吉祥寺.pm以来でした。

YAPCはPerlコムニティを代表するイベントなので行ってみたいとは思っていましたが、
まさか初参加がスタッフになるとは思わなかったです...

PerlコミュニティはPerlを書いていない日も受けいれる寛容さがあるところ、その寛容さから様々なコミュニティの人が集るところが魅力だなと思っています。
こういうところはPHPコミュニティにも通じるところがあると思うので、いつかPHPカンファレンスにもお邪魔したいですね。

あと会場を歩いていると「インターネット」でお世話になっている方々とバッタリ会うこと多かったのも面白かったですね...
立ち話してると「インターネット」が集まってきてカンファレンスの醍醐味を感じられました。

特に、今回は遠方に住んでいる方と直接お話しできたのは嬉しかったなと思います。

## セッションの感想

個人的に目玉だと思っていたセッションが3つあるので、それについて感想を書いていきます。

### 大規模OSSに一人で立ち向かうには

https://fortee.jp/yapc-fukuoka-2025/proposal/0d4c761a-df5b-46b9-83ef-66bea4f87fa3

最近Bunに入社したことが話題になったsosukeさんによるセッションでした。

僕自身来年にかけてGleamコンパイラへのコミット考えているので、その点からとても参考になるセッションでした。

### OSS開発者の憂鬱

https://fortee.jp/yapc-fukuoka-2025/proposal/72e1ace7-5a57-45fe-8d16-3af47539574f

Honoの作者yusukebeさんによるセッションでした。

使われる人数が多いOSSのオーナーをすることの大本さとやり甲斐について話されていました。

先述したsosukeさんのセッションとは逆の観点からの話が聞けて、コミットをする際にどのような点に気をつけると作者にとって優しいか考える良いきっかけとなりました。

### 読む技術・書く技術・伝える技術 - 15年続けて分かった持続可能なオープンソース開発

https://fortee.jp/yapc-fukuoka-2025/proposal/64dbeabc-a630-4564-97ff-812106e7be81

textlintの作者azuさんによるセッションでした。

特に伝える技術においては記事以外に登壇でまず前提を揃えることに気を付けていると話されていて、プロポーザルが採択されたら満足してしまっていた僕にとってはかなり刺さる内容でした。

登壇は記事と違って巻き戻しができない為、話す順序などにも気を使う必要があるとも話されていて、これから登壇する機会があった際にはこれらのことに気を付けていこうと思いました。

また、記事を書く際に持続可能にしていくため極力自動化したり心理的な負担を減らす、習慣づけるために逆に自身へ圧をかけていくなど、自身の心理をうまく使って継続する習慣をつけていく事についても話されているのが印象的でした。

僕は一度毎週書くと決めた記事についてうまく続けられなかった過去があるので、これらの話も大変参考になるものでした。

### 探求の技術

https://fortee.jp/yapc-fukuoka-2025/proposal/8d349fb7-8f87-4ba1-bd14-e0071bc570c6

普段Zennなどで最新のweb技術について分かりやすい記事を書かれているazukiazusaさんによるセッションでした。

新しい技術を調べる際に大体azukiazusaさんの記事が出てきていて凄いなと思っていたのですが、そのアウトプットを支える技術の片鱗を覗けた気がします。

## なんと同担がいた

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">これ僕です <a href="https://t.co/QjpnQtqt4g">https://t.co/QjpnQtqt4g</a></p>&mdash; こまもか🦊@YAPC福岡ありがとう！ (@Comamoca_) <a href="https://twitter.com/Comamoca_/status/1989418404613333248?ref_src=twsrc%5Etfw">November 14, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

Day1の時にニアミスしていたシャニマスPの方と懇親会でお会いできた。

![YAPC::Fukuoka 2025 懇親会御会場と書かれた看板を挟んでパンダ果穂ぬいをが写っている。](/img/2025-11-24-030258.png)

会うまで知らなかったのだけれど、アイマスの[小宮果穂](https://shinycolors.idolmaster-official.jp/idol/hokagoclimaxgirls/kaho/)を担当しているらしく、同担じゃん...！とテンションが上がりまくってビール飲みながらずっとアイマスの話をしてました。
同担になかなか会えなかったのでめっちゃくちゃ嬉しかったですね...

![関根瞳さんが食べたらしいカレー](/img/2025-11-24-031115.png)

なお彼とは翌日東京であった同人誌即売会に彼の友人とあわせて会っていて、一緒に同人誌を買ったり関根瞳が食べたらしいカレーを食べにいったりしました。

## 感想

今回は人生初のカンファレンススタッフをしました。

どういう仕事をするのかあんまりイメージが掴めず不安なところもややあったのですが、他のスタッフの方が親切に教えてくださったので当日はスムースに仕事をこなせました。
実際にやってみた感想になるのですが、スタッフとしてカンファレンスに参加するのは思ったより楽しく、やりがいも感じられました。
また、スタッフという箔が付くので、一般の参加者として参加するよりも他の方とも話しやすいなと思いました。

カンファレンスのスタッフは基本無休なのであんまりやりたがる人がいないと思うのですが、懇親会等で他の方と話しやすくなったり「カンファレンススタッフをした」という実績ができるので結構オススメできるんじゃないかなと思っています。

最近の人生の方針が「オタクを支える良いオタク」になることなので、カンファレンススタッフはその点から見ても方針にかなってて良かったなと思っています。
なので来年のTSKaigiやエンジニアニメではスタッフとして参加する事を考えているところです。

## 余談

スタッフだけなのか分かりませんが、初日にチャック付きのポシェットが配られて、これがなかなか使いやすかったので次のYAPCのノベルティはこれなんかも良いんじゃないかなと思ったりしました。

あと、Day2は参加者さんからヘルプを貰うことが多かったのですが、これはポシェットに果穂ぬいを付けていた効果なのかなと勝手に思っているので、カンファレンスでスタッフやるときは必ず果穂ぬいを付けていこうと思いました。

Day2は箱崎駅に行きたかったので、わざわざ箱崎宮前で降りて箱崎駅まで行きました。

![箱崎宮の参道の鳥居。鳥居をくぐる人がいる。](/img/2025-11-24-025522.png)

![街の上を低空で飛ぶ飛行機。](/img/2025-11-24-025542.png)

空港が近いこともあってか飛行機が低空飛行していてすごい街だなと思ったりしました。山梨だと考えられない....

![魚屋にいた猫。こちらを見て威嚇している。](/img/2025-11-24-025659.png)

めちゃくちゃ威嚇されておもしろかった。僕なんなの。

![朝のJR鹿児島本線箱崎駅。](/img/2025-11-24-025805.png)
箱崎駅ｽｺﾞｲﾃﾞｽ!しかも隣駅は千早駅。運命を感じざるをえない。

![箱崎せりかと箱崎駅](/img/2025-11-24-030934.png)
スタッフ懇親会の後に箱崎駅へ行ったので、せりかちゃんと写真を撮ったりした。
朝は時間がなくて撮りそびれたので嬉しかった...
]]>
      </content:encoded>
      <pubDate>Tue, 18 Nov 2025 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>