Home lab notes, project logs, and occasional thoughts.
ChatGPT Plus, Claude Pro, Gemini — everyone starts with a subscription. I don't pay for any of them, and it's not a privacy screed. The real reason: I refuse to hand my thinking tools to someone else's pricing page. 85% that I control beats 100% that can change its pricing model tomorrow. The backlash-riddled Betamax argument: betting big on a model in flux is betting on a format war you don't get to vote in.
My AI had the one-line fix for a dead media server in its memory the entire time — then debugged the wrong host, blamed my clients, and cost forty minutes re-deriving what it already knew. Inside a shared hallucination: what happens when a confident agent and a busy human tell each other the same wrong story, and how to structure memory so it actually gets consulted.
A daemon on my dev box watches every TCP connection and quietly reconfigures the kernel to make it faster. 71,504 per-connection congestion-control decisions in one day, four algorithms matched to four kinds of paths, and the one operational catch: it forgets everything on reboot.
Applying for jobs, I automate the process and fight the bots that check I'm not a bot — a human doing bot work so a bot can do human work. The same circus plays out across all of AI. The tech won't break; people adapt. It's the process that inverts, everywhere, in quiet absurd ways. A frame for the AI industry's real bottleneck.
My job-search pipeline emailed me a daily digest of 28 ranked roles. Eight of them, I'd already applied to. The data existed on two machines — nobody had taught one about the other. The fix wasn't an LLM; it was a shared file, a cross-reference, and a loop we tested by breaking it. State is the product.
Two weeks ago my agents couldn't do what they do this morning. Agentic frameworks learn new tasks continuously — capabilities shift day to day, and what was impossible two weeks back is running in production today. Why documentation, evaluation, and the whole toolchain have a two-week shelf life, and the one approach that keeps working: play, push, discover.
Last week my pipeline reported thirty successes and delivered zero usable results. This week it just worked — the first fully clean cycle in months. Here's what that actually cost, and why a clean week is compounding interest on debugging you did months ago.
Selecting a local model is not a fire-and-forget process. Seven problems that no documentation page covers — from silently wrong context windows to GPU watchdogs to agents that fabricate their own actions. Practical lessons for anyone running local inference for real work.
My job pipeline printed a checkmark next to thirty results. Every single one was empty. No errors. No warnings. The system did exactly what it was built to do — and everything it produced was worthless. A field guide to silent failures in automation.
Every AI model you deploy creates a new attack surface — not from the model itself, but from the connection between the model and everything it touches. The missing layer in enterprise AI isn't better models. It's a broker.
Demos work because they're small and simple. Production breaks when you introduce AI hallucinations and a loose approval process. Five war stories from two years of running AI agents in production — and three guardrails that actually work.
The original Carwash Problem was visible. The sequel is silent. When AI gives you a confident, well-sourced, completely incomplete answer — because it can't join two separately-stated facts — that's the new failure mode nobody's testing for.
Three ordinary machines that each do one thing well — a public-facing host, a GPU inference engine, and a development control plane. No Kubernetes, no service mesh, just three boxes speaking plain HTTP. Why distributed beats consolidated for home AI.
I ran 20 queries against two retrieval architectures on my own 322-thought knowledge base. Naive RAG failed 65% of queries, mostly by refusing to answer questions the data could actually handle. A graph-based approach scored zero wrong. Here's the benchmark data, the failure analysis, and five practical fixes.
When your AI agent kills the desktop it needs to operate, you learn fast that Enterprise IT's single-threaded pipeline can't absorb iterative, multi-source development. The Hyper-Loop framework and the three pillars of a safe operating environment for distributed production.
Twelve hosts, two hypervisors, a Raspberry Pi, and a managed switch. Most I chose. Some I accumulated. A practical guide to recognizing VM sprawl in your own homelab — and what happens when you actually write down everything on the network.
The full inventory and network topology behind the self-hosted AI stack — 12 hosts, DMZ-vs-internal separation via CloudFlare tunnel, 10Gb data plane, MCP endpoints, and operational lessons from the migration that made it work.
AI renamed my network interface. It asked for SSH to a box already sharing via NFS. It skipped 3TB of media without an error. These aren't edge cases — they're the current state. Three concepts and five war stories from running AI agents in the trenches.
How I built a production RAG pipeline using Open Brain (OB1), ChromaDB, and local LLMs — turning 322 career thoughts into a conversational AI with zero third-party API dependencies.
A cautionary tale of AI-assisted data migration, ZFS backups that aren't rsyncs, and why the only bad actor was me. A lightly disguised position paper on managing access with vibe coding tools — born from the real loss of a Jellyfin library during a home lab migration.
Three machines, five LLMs, zero API costs — how I built a local AI pipeline to automate my job search, and what it taught me about frameworks, hallucinations, and knowing when to write it yourself.
How and why this site is built on a home lab with local AI — a hands-on exercise in data sovereignty and independence.
How I built a Cloud Center of Excellence from scratch at Micro Focus — 47 AWS accounts, Guardrails, IAM redesign, SRE transition, and the company's first legacy-to-Fargate SaaS migration.
The framework that gave 10+ product groups a shared language for cloud adoption — six areas, progressive maturity levels, self-assessment methodology, and why the lab work mattered more than the slides.
The technical deep-dive on migrating a heritage Java workload from over-provisioned data center VMs to AWS ECS Fargate — GitOps, Firecracker microVMs, 8-week migration timeline, and lessons learned.
The migration that nearly broke the model — 1,000 VMs, eight years of organic growth, hand-operated monitoring, four unowned failure modes, and the organizational politics of cross-continent coordination.
Privacy-first AI deployment, the VM sprawl parallel, and why local LLMs are a market — size depends on how the pay-per-play model executes over the next 3-5 years.
Two truths and a lie about vibe coding — the 80/20 trap, hallucinations in practice, and why you can actually do something about it.
How we built SREs from scratch — career pipelines, retention math, compensation advocacy, and why a central CCoE is the right place to develop cloud talent.