技術
去年の3月から zellij をターミナルマルチプレクサとして使っていたけど、約11ヶ月で結局 tmux に戻した。 zellijはRust製で設定がKDLで書けて、UIもモダンでめちゃくちゃ良かった。locked modeをデフォルトにして Ctrl+g でモード切替するスタイルが気に入…
仕事始めということで年末に移行した Ghostty からSSHしたら制御シーケンスが入力できなかった。 調べたら TERM に xterm-ghostty が設定されていて、これが接続先の terminfo に登録されていないことが問題だった。 ghostty.org 公式にドキュメントがあるの…
Claude Codeに--permission-mode=autoが追加されてだいぶ安心感は増したけど、結局LLMが判断しているので完璧ではない。Agent SafehouseはmacOSのsandbox-execを使って、カーネルレベルでエージェントのファイルアクセスを制限してくれるやつ。LLMの判断に関…
きっかけ 産まれてからずっと Vim キーバインドで生きてきました。 エディタは Vim → Atom → Emacs → VSCode と渡ってきたけど、いつだって Vim キーバインドです。 もちろん VSCode でも VSCodeVim を使ってきました。 こいつはVimの動きを頑張ってエミュレ…
仕事用のマシンをM1 MacBook Proに交換してもらったので、開発環境を整え直しました。 2年ほど fish を使ってきたのだけれど、普段は良いのだけれど、ちょっと自動化したくなったときに、やはりPOSIX準拠じゃないシェルはなかなか難しかった。macOSの標準も …
moonrepo.dev 各種言語(とか)のバージョン管理に mise を使っていたけど、proto に移行した。 mise はバージョン管理だけでなく、 direnv のような環境管理や、make のようなタスク実行もサポートしていて、少し過剰に感じていた。(し、使ってなかった) 1つ…
最近、Hyper Key という概念を知った。 概要 masOS だと Control+Alt+Shift+Command 、Windows だとControl+Alt+Shift+Win を同時に押すことを言うようです。 現代では失われた物理的な Hyper Key に代替しようということだと思ったけど経緯はあんまり分かっ…
長いこと Catppuccinを使っていたけど、飽きてきたのでkanagawaに乗り換えた。ターミナルからエディタまで全部変えた。 kanagawaの落ち着いた和風のトーンがめちゃくちゃ良い。Catppuccinとは全然方向性が違うけど、こっちのほうが今の気分に合っている。 た…
zerobrew はRust製のHomebrew代替。uv がpipを置き換えたのと同じノリでHomebrewを高速化しようというプロジェクトで、ウォームキャッシュなら7.6倍速いらしい。Homebrewも最近は速くなっていたけど、新しいものが気になって試してみた。結果的にめちゃくち…
zellij.dev 最近、zellij を使ったワークフローが手に馴染んできたので、VSCode (実際は Cursor 使ってる) の Terminal でも自動起動するようにした。 ドキュメント によると eval "$(zellij setup --generate-auto-start zsh)" って書いておけば自動起動で…
AIに否定的な人と話していると、むしろその人たちの方がAIを万能だと思っているような気がする。 万能幻想と失望 万能だと思っているから、一度試して思い通りにならないと「やっぱ使えない」で終わってしまう。でもそれは、とても優秀な新メンバーに何の説…
motemen.hatenablog.com 触発されて自分も地味だけどよく使っているのを紹介します。 変更を無視してpullする (git st-pull) st-pull = "!git stash && git pull && git stash pop" 手元に変更があってまだコミット出来ないけど、最新の変更をpullして持って…
TL;DR 適当な Grammer 拡張を入れて以下の設定を書いておきましょう。 "gopls": { "ui.semanticTokens": true, // you can optionally turn on these features for more colors // see https://go.dev/issue/45753 and https://go.dev/issue/45792 "ui.noSem…
TL;DR BYROW と LAMBDA関数 を使いましょう。 本文 Google スプレッドシートを使っていて、なんかこういうデータがあったときに、各行の MAX を取りたくなったとする。 賢明なみなさんは =MAX($A1:$D1) って書いたあとに各行に適用していきたい気持ちをぐっ…
「みんなに誤解され、そして現在ではみんなに愛される言語、それはJavaScript。 みんなでJavaScriptと戯れましょう。」WEB系のプログラマも、そうでないプログラマも、プログラマじゃ無い人(おすすめはしない)も。 みんなで、JavaScriptと戯れましょう。 …
生きているとGitHubのOrganizationのリポジトリをまとめてcloneしたくなることってありますよね。僕はあります。 1つずつちまちまcloneするのは大変だし、数が多いと物理的に難しい場合もあります。 しかし、近年では ghqや gh のような便利なツールが揃って…
git worktreeの管理ツールが色々出てきている。git-wtはtmux統合やfzfベースのインタラクティブ選択が便利だし、他にもworktreeの管理をいい感じにするツールはいくつかある。 ただ、こういったツールの紹介を見ていると「worktreeへの移動をどう楽にするか…
github.com Docker Desktop を使い続けてきたけど、別にGUI要らんなとなっていたので colima に移行しました。 まずは Docker Desktop をアンインストールする。停止したあとバイナリを削除して、~/.docker をまるごと消しました。 最初、./docker を消して…
blog.nishimu.land この記事で紹介した noSemanticString / noSemanticNumber が v0.18.0 で非推奨になった。 代わりに semanticTokenTypes が使えるのでこれで設定すると良い。 "gopls": { "ui.semanticTokens": true, "ui.semanticTokenTypes": { "string"…
colimaを使い始めてからmacOSを再起動するたびに設定などがまっさらになるという自体に頭を抱えていた。 これは XDG_CONFIG_HOME 以下じゃなくてホームディレクトリに新規で .colima ディレクトリが作成されてしまうからっぽい。 ホームディレクトリの設定が…
Google Search NavigatorというChrome拡張を作りました。 名前はすごい適当。 Googleの検索結果をVimっぽくキーボードで操作できるやつです。 github.com 元々、似たようなChrome拡張を使ってたんだけど、Chromeの最新の仕様変更に追従しなくなって動かなく…
EchoというiOS向けのSSHクライアントが出たので、iPhoneからMacBookにSSH接続して開発できるようにした。接続にはTailscaleを使っている。 EchoはGhosttyのターミナルエンジンを使っていて、TUIの表示がめちゃくちゃ綺麗。$2.99の買い切りでサブスクじゃない…
ジェダイはライトセーバーを自分で作る。フォースの力を借りて。 ソフトウェアエンジニアが自分のためのツールを作るのは昔から当たり前のことだ。ただ最近、AIの力を借りてそのコストがめちゃくちゃ下がった。 最近Rustで自分専用のCLIツールをいくつか作っ…
Zen of AI Coding という記事を読んだ。コーディングエージェントを1年使い込んだ人が、AI時代の開発原則を16個にまとめたもの。Zen of Pythonのオマージュだ。 出発点はシンプルで、「コードを書くコストがほぼゼロになった。そこから全部変わる」という話…
iTerm2のこれ、顧客が求めていたものって感じがする。 pic.twitter.com/Q3Y4qsl379— CHANCE feat. 中村佳穂 (@tomohi_ro) 2021年1月23日 iTerm2 の Shell Integration ってやつをやってみたところ、便利な機能がいろいろ使えるようになったのだけれど、Selec…
marketplace.visualstudio.com GitHub Copilot と直接会話できる Copilot Chat 、皆さん使ってますか? 私は最近まともに使い始めました。 Copilot と言えば補完だけだと思っている人、以前ちょっとだけ触れて使えないと思った人(僕です)、いまのバージョン…
Kanasan.JSに参加しました。 Prototype.JSの以前にJavascriptの知識が足り無すぎでした。眠すぎるのでレポートは明日書きます。参加された皆さんお疲れ様でした。
遅ればせながらLiveCogind #5のレポート。 飛び入りで参加させていただきました。主催者のうじひささんに感謝感謝です。内容については公式サイトやら他の参加者のレポートを見ていただくとして、僕は個人的な感想を書いてみたいと思います。まず、一番強く…
0.0.3の方のライフゲームに添付したシンメトリーのパターンをいじってたら、265生きるパターンを発見。 ダイハードより長い。(追記) 記録更新、370世代(追記) 記録更新、450世代 [ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,], [0, 0, 0…
docker-composeで特定サービスのコンテナIDを得たいことがある。例えば docker attach したいときとか。 これまでなら以下のように書くと web サービスだけのIDが取得できた。 $ docker-compose ps -q web しかし、新しい Docker Compose CLI では ps サブコ…