Skip to content

Instantly share code, notes, and snippets.

@wtnabe
wtnabe / peas-board.sh
Last active October 14, 2026 11:09
peas and jq and fzf combination
#!/usr/bin/env bash
set -euo pipefail
no_parent='__PEAS_PICK_NO_PARENT__'
clear_selection='__PEAS_PICK_CLEAR_SELECTION__'
for command in peas jq fzf; do
if ! command -v "$command" > /dev/null; then
echo "Install \`$command' first." >&2

まとめ - 欲しかったのはTiDDだったかもしれねぇ

SpecKit を触って、なるほどバイブコーディングは uncontrollable で大変だよねーと思って一つ二つプロジェクトを(趣味で)動かしてみて、「ちょっとこれは割に合わないし、自分のように TDD で動かしながら設計を練るタイプとは相性が悪すぎる」と思ってやめて、できるだけ light-weight なやつを探して lean-spec を見つけてしばらくそれを使ってたんだけど、開発が停滞してるのと、CLI / MCP と Skill に矛盾があっていちいちエージェントの動作がギクシャクしてイヤな感じがしていた。

今回「SDDの文脈を外して探してみればよいのでは?」と思いついてやってみたところ、「local file system で完結する issue tracking system が欲しかっただけなのかも?」と気がついた。

重視していること

  • AIエージェントがゴールを見失うので、それを避けること
  • そのために基準となる安定したドキュメントを用意[^1]し、それを中心に据えて作業を行うこと
@wtnabe
wtnabe / migrate-claude-sonnet-to-glm.md
Last active June 30, 2026 06:18
安めのLLMを試して気づいたこと

まとめ

Claude Sonnet 4.6 を GLM-5.2 に置き換えてみるよ、なんでそうなったか書いたよ。

背景

個人でも業務でも GitHub Copilot + Claude Sonnet 4.6 で作業させてるんだけど、GitHub Copilot の課金方法が変わって課金が捗るようになっている。業務では6月は比較的日本語での情報の整理、調査によく利用しているので、これで基準を作ろうという意味でしっかり走り切るまでどんどん budget を上乗せしてるんだけど、個人の方は丸2日くらいで簡単に天井に達してしまい、どうしたもんかと思っていた。

この機会にいろいろ調べていたら

@wtnabe
wtnabe / signals-and-lit-practice.html
Last active May 30, 2026 10:02
Alien Signals x LitElement x Custom Model
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>alien-signals x LitElement x custom model</title>
</head>
<body>
<app-selector></app-selector>
<script type="importmap">
* 比較的ロースキルでもこなせるコーディングタスクに掛かる時間は生成AIでグッと減る
→ ジュニア問題 and/or コーディングタスクに切り出すミドルの疲弊
→ agentic codingの精度
→ タスク切り出しの自動化
→ ミドル以上のレベルアップ
* ミドルはより設計以上のレイヤーへのキャッチアップが求められるように
* シニアはよりアーキテクト and/or 企画寄りの動きが求められるように
@wtnabe
wtnabe / rv-and-rvx.md
Last active March 10, 2026 04:53
rvとrvxでRubyスクリプト、rubygemsの実行のハードルがだいぶ下がりそう
@wtnabe
wtnabe / langextract.rb
Created February 7, 2026 12:28
LangExtract practice with Ruby and Pycall.rb ( and uv and Ollama )
require "pycall"
# see https://github.com/google/langextract/blob/main/examples/notebooks/romeo_juliet_extraction.ipynb
ENV["PYTHON"] = File.join(__dir__, ".venv/bin/python")
ENV["PYTHONPATH"] = File.join(__dir__, ".venv/lib/python3.14/site-packages")
pylx = PyCall.import_module "langextract"
pybuiltins = PyCall.import_module "builtins"
@wtnabe
wtnabe / marp_counter.rb
Created December 20, 2025 00:40
Marpで作ったスライドの発表時間を粗々と計算する
require "cgi"
class MarpSlideCounter
TOKENS_PER_SEC = 5.0 # chars
INTERVAL = 4.0 # sec
class Slide < Data.define(:type, :content); end
class Stat < Data.define(:content_slides, :avg_length, :avg_cost, :total_cost); end
SLIDE_TYPE = [:content, :ghost]
@wtnabe
wtnabe / README.md
Last active December 16, 2025 05:17
YARD + sord で RBS を生成する

YARD + sord で RBS を生成する

具体的な方法

  • 添付の sh script か Rake task で
    • sh script は moon 経由で叩いている想定

sordの注意点

  • ヘルプには表示されないが --rbs オプションを与えると RBS を出力する(--rbi は RBI)
@wtnabe
wtnabe / valid_value_concept.rb
Last active July 4, 2025 15:30
A concept code of reusable schema and Value Object with Dry::Schema and Data ( Ruby 3.2+ )
require "dry/schema"
module GuideRail
#
# @param [String|Symbol] klass
#
def class_name(klass)
@_class = klass
end