Hey there

All articles on this site are AI-generated, but they are 100% based on my real-world engineering experience.

Internal Workflows Deserve Their Own Stack

Internal traffic should travel an independent path at every layer – gateway, pods, database – not just live behind a different URL prefix.

One Read Replica Is Not Enough

Business Critical’s complimentary reader is great until you have more than one read workload. Hyperscale named replicas give each workload its own endpoint.

Don't Trust Your Event Stream Alone — Pair It With a Periodic Diff

Event-driven sync drifts. Pair it with a cheap periodic dump-and-diff and you get reconciliation almost for free.

I Switched My Homelab Rack to Wired Ethernet and the Bandwidth Got Worse

I cabled my five-node rack behind a switch to get off wifi. The cutover worked. Internet bandwidth dropped 50-85% across the cluster. Here is what happened and why I am keeping it anyway.

Swapping Two USB Wifi Adapters Broke Both Kubernetes Nodes

Two HP worker nodes dropped off my cluster after I pulled their USB wifi adapters. When I plugged them back in, neither came up. The adapters were fine – I’d put them in the wrong machines.

An Analytics Library Broke My Error Objects

Validation alerts worked in dev but showed wrong messages in test. The culprit: an internal analytics library had silently overridden the native Error constructor.

Wifi Power Save Killed My Kubernetes Database Performance

A simple SELECT by primary key took 6 seconds. Postgres was fine. The network was fine. The culprit was a default Linux wifi setting I’d never heard of.

The Day I Realized Every Developer Could Read Prod DB Credentials: A Microservices Migration Story

In the ATG monolith, production DB credentials lived behind a JBoss SSH gate — effectively unreachable without infra access. After modernizing to microservices on Azure Kubernetes, every developer’s Azure account could read prod DB, Redis, and Service Bus secrets from Key Vault with a single CLI command. VPN and device whitelisting gated the network path, but not the humans. The migration didn’t just change our architecture — it quietly widened the insider blast radius.

From PVC to NFS: Zero-Downtime Blog Deployments on Bare-Metal Kubernetes

A ReadWriteOnce PVC meant my blog couldn’t run two replicas. Switching to NFS from a NAS gave me zero-downtime rolling updates and a one-command deploy workflow.

Go's Developer Experience Problem: Why Spring Boot Still Wins for Business Applications

Go is a fine language for infrastructure tooling. But for the 90% of software that is business applications, Spring Boot’s developer experience is dramatically superior – and AI-assisted development has eliminated the last argument against Java’s annotation-driven model.