There Are No Emotions in Runtime Software
I read a piece this morning arguing that you shouldn’t trust software you didn’t “suffer” for. The premise being that personal …
Exploring the intersection of AI, 3D rendering, and the Model Context Protocol.

I read a piece this morning arguing that you shouldn’t trust software you didn’t “suffer” for. The premise being that personal …
Six months ago, I started this series with a simple goal: document learning Go as an experienced C# developer. Not a tutorial—there are plenty of those—but an …
Last time I talked about what I miss from C#. Now let’s flip it: what has Go given me that I’d genuinely struggle to give up? Some of these I …
I’ve been writing Go full-time for a couple of months now. I like it. I’m productive. But let’s be honest: there are things I miss from C#. …
If you’ve run .NET on Lambda, you know the cold start pain. 3-5 seconds for a managed runtime. Even Native AOT helps but doesn’t eliminate it. Go on …
Go’s static binaries make for tiny Docker images. Where a .NET container might be 200MB+, a Go container can be under 20MB. Sometimes under 10MB. This …
CI/CD for Go projects is refreshingly simple. Fast builds, built-in testing, cross-compilation—everything you need is in the standard toolchain. Let’s set …
We touched on health checks in the Kubernetes post. Let’s go deeper—proper health checks that actually tell orchestrators useful information. The Three …
Kubernetes is written in Go. The CLI tools are Go. The ecosystem is Go. Running Go services on Kubernetes feels natural—the patterns align. But there are things …
Observability in production means three things: metrics (what’s happening), traces (how requests flow), and logs (what went wrong). OpenTelemetry unifies …