Teaching My Static Analyzer to Catch the Bug It Missed
I found a stack use-after-return bug in Architect today. Then I taught zwanzig, my Zig static analyzer, to catch it.
Personal blog of a software developer at JetBrains. Writing about Java, Kotlin, Go, cloud technologies, AI-assisted coding, and developer tools with an 80s retro aesthetic.
I found a stack use-after-return bug in Architect today. Then I taught zwanzig, my Zig static analyzer, to catch it.
I run multiple AI coding agents simultaneously because I often need to work on several tasks at once. One agent implements a feature, another does a code review, another improves my dev setup, yet another helps me keep my Obsidian notes up to date.
I don’t know about you, but for me, killing processes from the command line always involved a ritual: run ps aux, scroll through output, find the target, copy the PID, then kill it. Or maybe grep for a pattern, parse column 2, and hope I picked the right one.
Tried out the new Gemini 2.5 Flash Image Preview, was surprised how fast it is. Used it to generate a new icon for the ClaudeNein app which turned out to be exactly what I wanted. Couldn’t help it, just had to use the “Guardians of the Galaxy” color palette.
Today, Ollama launched its desktop app for macOS and Windows. As someone who regularly uses Enchanted LLM, I gave the new Ollama app a spin. Here’s where it stands out:
Claude Code usage isn’t free, and keeping costs under control matters—for several reasons: Financial awareness: You stay within your budget and avoid unpleasant surprises. Environmental responsibility: Less compute = less energy, water, and waste.
You might think it’s silly to be polite with a machine. “It’s not human,” you say. Fair point — but hear me out: it’s not about the AI, it’s about me.
We’re slapping AI assistants on broken systems and calling it innovation. Booking tickets, ordering food, hailing rides — all the places where AI is supposed to “help” are just UX graveyards we’ve created. You don’t hand over booking a flight to an AI because it’s beneath you — you do it because it’s a multi-hour nightmare.
I just vibe-coded this blog with Windsurf, really. The initial prompt was “Build a personal developer blog for github pages. Use 80th era style.” However, it came up with such eye-popping design that we had several iterations until converging to this.
Had a lot of fun, got some interesting ideas. Trying to go to sleep now, while the party music is still booming somewhere below. Next week a break, then another week of KubeCon, where I’ll man the booth.