Here’s a tiny, stupid problem that has stolen an embarrassing amount of my life: I plug a BrightSign player into my network, it grabs whatever dynamic IP the UniFi controller feels like handing out, and now I have to go find that IP before I can SSH in and do actual work. Claude skills and a new tool to the rescue!
Here’s a thing I’ve quietly hated for years: managing static IP assignments and DNS names for the little fleet of gear on my network. Every homelab has it — the Pi in the garage, the shop printer, the sensor node in the attic, the pool controller. You want them at known addresses with known names. And the “old-school” way to get that is to stand up a DHCP server and a DNS server and keep them in sync. Since my network has tens of BrightSign devices in addition to my hobby robotics devices, this becomes actual work.
I’ve been teasing this for a while. Time to stop teasing. Meet Gorai — a modern, open-source robotics framework written in Go.
Most people think of a BrightSign player as the little box behind a screen that loops a video. That’s true right up until you realize the thing is a full ARM64 Linux computer with an NPU sitting idle most of the day. And you can run your own code on it. Natively. That’s what an extension is, and once you grok it, a whole world opens up.
Python won because it was easy. That was the whole trick. And now, in the age of agentic coding, that trick has stopped being an advantage — and quietly became a liability.
Last post I showed off the chainsaw I built myself — my build-autonomous loop, the padded room, the whole rig — and cut down a little tree with it: a Go CLI to boss around a smart plug. It was well worth building! I also think you should probably stop building your own. Yes, including me. Especially me.
People keep asking me how I actually work with Claude Code now. Not the “does AI coding work” question — I’ve beaten that horse into glue on this blog already — but the boring, practical, how-does-my-loop-actually-work question. So here it is. The whole rig. And fair warning: what I’m about to describe is a chainsaw, and most of the industry is still lined up at the axe-chopping contest.
After two years of false starts with the Bristlemouth platform and permit headaches, I’m revisiting my whale song project with a completely different approach: semi-autonomous floating drones. The regulatory landscape has forced a rethink, and honestly, it might lead to something better.
Looking back at 2025, one theme dominates: AI agentic programming went from novelty to necessity. This year transformed how I think about software development, career advice, and even my personal hardware projects. Here’s what I wrote about, what I learned, and what I expect in 2026.
Popularity, Jobs, LLM Proficiency, Concurrency Complexity, and Deployment Complexity
Five factors now drive language choice: developer adoption, job market demand, LLM code generation quality, concurrency handling, and deployment complexity. Here’s how they intersect.
Python dominates robotics today. C++ is the serious choice. But I’m starting to think we’ve been sleeping on Go. Here’s why I’m actively exploring it.
In my previous post about Claude Code, I talked about using VS Code devcontainers to safely run Claude in “dangerous mode.” That was great for a typical software project. But what about something harder? What about porting a complex hardware-interfacing library from Python to Go, where you need to deeply understand USB protocols, radio registers, and firmware internals?
That’s exactly what I did with gocat – a Go library for controlling the YardStick One sub-GHz RF transceiver. And Claude Code was instrumental in making it happen.
So I’ve been working on this project called client-w-mcp – it’s a leanring project to truly understand how an AI agent works with MCP servers. And I’m exploring Agentic development - with Claude Code.
Why Claude Code? The first time I used it, Claude just… flowed. It seems to do a lot more by itself to figure things out. I especially like the Task() so that it can go do more than one thing at a time.
I decided to learn how to write gRPC code in golang - and used ChatGPT as an accelerator! Jump to the writeup.