Spinach Forest

April, 2025

/ Spinach   / Claude Code   / ... 

Spinach

2025-04-24

ちょいと自動化したいが今更 Make つかいたくないな・・・と Chat に聞いたら just というのがあるよ、というので試してみる次第。Pyinvoke でもいい気はするが・・・。

というわけで just. 腐っていない Make という風情。こんなもんでいいわ。これチームだと人々に導入を説得する手間とかで Python-based の PyInvoke とかに流れそうだが、個人なので問題なし。ていうか pipx でもインストールできるのか・・・しかし pipx ってなんだよ … とおもったが uv に乗り換えたわたくしに死角なしイエーイ

2025-04-23

突然気が散って Jax の入門書を買って眺めたりしている。Jax にせよ PyTorch にせよこう簡単に GPU が使えるんじゃ CUDA もやる気になんねーわ、という気分。しかも Jax は XLA とかいう分厚い中小があるせいで custom kernel とか使えなそうじゃね?どうなのだろうね。というのはこの入門書を読めば明らかになる、かもしれない。

あと EdgeTPU のコードとかも出せればいいのになー。

Jax Model Conversion For LiteRT (TFLite)  |  Google AI Edge  |  Google AI for Developers

TFLite ねえ…

てかコードためしたら GPU 無いとか怒られますねあるんですけど・・・ CUDA 導入の難しさは心が挫けそう。

でも前に Triton を試した時は動いたので Jax が悪いのかもしれない。そうに違いない。

なんらかの試行錯誤の末に動いた!

Numpy 速くなるの素晴らしいので、こういうのを backend にした Pandas が欲しいなー。

2025-04-17

最近また余暇コードを書く気力がでてきたので進捗を書く試みをしている。動機としては Claude Code とか Copilot で vibe coding したいな、という。あとエーアイの力を借りてウェブフレームワーク一つくらい使えるようになりたい。

ということで Django のチュートリアルをやっている。Claude Code いちおうなんかコードを吐いてはくれるのだが・・・

  • 遅い
  • 結局チュートリアルのコピペなのに $0.1 とかかかる。そんなら手でやるわ・・・。
  • てか生成してもらったら API とか理解できないじゃん?

なので、わざわざチュートリアルをやるという行為と Vide coding は相性が悪かった・・・。Copilot でちょろっと生成してもらうくらいがちょうどよいな。この用途では。自分のわからないコードを書かれても困るだろうプログラマ的には(素人ならいいのかは疑問だが・・・)。

Django はというと、あーむかしこういうの Rails でやったなーと零年代を懐かしむ気持ちがてきますね。Rails の方が convention で書く量は少なかった気がするけど、まあ、その程度の差はもはやどうでもいいです。比較対象が Flask なので・・・。しかし routing とかは Flask のほうが簡素だよねこの urlpatterns のダサさたるや。

しかしむしろこのダサさが安心である。長く使えそうだな・・・みたいな。LangChain とかあのへんのいかにも一瞬で消えそうな連中を見たあとだと尚更有り難みがある。

2025-04-19

Django のチュートリアルを一通り眺めたが・・・ダサいな!上ではそれがいいと書いたが、チュートリルを進めるにつれてダサさが加速していき、あれまー・・・となる。まあ慣れなのかもしれないが・・・。

ダサく感じる理由の一つには Python 3.x の機能が全然使われていないせいもあるかな。それなんで dataclass じゃなくて tuple なんだよ順番覚えらんねーよ、みたいな。全体的に、それ ${言語機能}でシュッとやってくれよ、みたいのが多い。

しかしテンプレートで HTML を生成するという行為が根本的に古臭いので、仕方ないのかもしれない。JS で SPA は・・・またこんど。

10 年前にブラウザから Android アプリのチームに異動したとき「こいつら JS 書けなすぎてヤバイな・・・」と思ったものだが、十年たったら自分もすっかり書けなくなっていた。

というわけでとりあえず今回は Django を使います。チュートリアルをデプロイするところまでやろうかとおもったけど、かったるいので実際に欲しいアプリを作ってから考えることにすべし。

というわけで作りたいもの、すなわち自分用 pinboard をつくりはじめたが、claude code にエクスポートしたデータを渡し “この json を読むモデルを作るよー” といったら Model のみならず list view まで出来上がってしまったわ。完成。終了。いや終了ではないのだが、おもったより vibe coding してしまう・・・。あともうちょっとで $1 である。

第一印象として、勝手にコードを書かれるのは便利すぎてそのまま accept したい誘惑が強い。accept してちょいと手直しするくらいでいいじゃん、みたいな。しかし本当にいいのか?

バリっと書いてあるのを ListView に直してちょ?と頼んだらめちゃ hallucinate してきたぞ!そしてこれは Django の document を読んでもわからん・・・ということで自分で Django のコードを眺めて原因を突き止め修正。これはヤベーな。こまめな commit が必要というのみならず、コードを直せないといけない。しかしボンヤリしているといつの間にか変なコードを滑り込ませているのである!というわけでそのうち JS 入門しないで Next.js SPA とか作れないかと密かに思っていたが、ちゃんと入門するのがよさげ。Next.js むずかしすぎなのでもうちょっと薄い何かにしたいが・・・。

Claude Code

古いブログのURL (anemone.dodgson.org/…) を新しい URL (records.dodgson.org/…) にリダイレクトする、というしょぼいコードを書くにあたり、せっかくなので Claude Code を使ってみる。とりあえず「オンライン(ex. SO)でみつかったサンプルやチャットの回答をコピペする作業を自動化する」という範囲で使っている分には完全に有能。そして業務外に書くコードにはそういう作業が多いので, あまり色々心配せず pure win として使っていきたい。スタブ生成ならコードを読むのに金をかけないぶん巷でいうような高額出費の心配もなさそうだし。

社畜マインド的には Gemini 2.5 も試してあげたいので、オープンソースの同系ツールや Copilot の Agent mode もそのうち試したい。


r/ChatGPTCodingr/LocalLLaMA を眺めている範囲だと、人々の “vibe coding” はアグレッシブなものほど実用よりも LLM のギリギリを攻める遊びとして捉えられている印象で、たとえば one-shot でどこまで動くものを出せるかを楽しんでいる。まあ遊びとしては面白いよね。「スロットマシーン的中毒性がある」という発言をみたときは笑ってしまった。