Ansible Like a Pro — Part 3: Writing Your First Playbook with Navigator

Series: Ansible Like a Pro Part 1: Why Ansible Won Config Management — Config management landscape, why Ansible won, the architecture of ansible-navigator and execution environments Part 2: Building a Real Execution Environment — Pinned and private collections, Python dependency conflicts, the additional_build_steps escape hatch, a local registry for sharing Part 3 ← You are here — Inventories, your first real playbook, the navigator TUI versus stdout, artifacts and replay, and the first-week mistakes Part 4: Roles, Reuse, and Keeping It Honest — Planned Two parts of plumbing. That’s what you’ve sat through so far. Part 1 was the why, Part 2 was the container the why runs in. Neither of them configured a single server. ...

August 15, 2026 · 10 min · Sanjay Upadhyay

Ansible Like a Pro — Part 2: Building a Real Execution Environment

Series: Ansible Like a Pro Part 1: Why Ansible Won Config Management — Config management landscape, why Ansible won, the architecture of ansible-navigator and execution environments Part 2 ← You are here — Building a real execution environment: pinned and private collections, Python dependency conflicts, the additional_build_steps escape hatch, and a local registry for sharing Part 3: Writing Your First Playbook with Navigator — Inventories, your first real playbook, the navigator TUI versus stdout, artifacts and replay, and the first-week mistakes In Part 1 we built an execution environment. Twenty lines of YAML, one ansible-builder build, and we were running playbooks inside a container. That was the toy. ...

June 30, 2026 · 12 min · Sanjay Upadhyay

Ansible Like a Pro — Part 1: Why Ansible Won Config Management (and What Came Before)

Series: Ansible Like a Pro Part 1 ← You are here — Config management landscape, why Ansible won, architecture of ansible-navigator and execution environments Part 2: Building a Real Execution Environment — Pinned and private collections, Python dependency conflicts, the additional_build_steps escape hatch, a local registry for sharing Part 3: Writing Your First Playbook with Navigator — Inventories, your first real playbook, the navigator TUI versus stdout, artifacts and replay, and the first-week mistakes I’ve been doing config management for over a decade now. Puppet in 2012. Chef in 2014. Salt around 2016. Ansible since 2017. I’ve got the scars. ...

June 20, 2026 · 12 min · Sanjay Upadhyay

Git for Real People: From Your First Commit to Surviving Merge Conflicts

I’ve been using Git for about four years now and I still occasionally do things that make me go “what the hell was I thinking?” This is not that kind of guide. You know the ones — they exist by the thousands and most of them are written by people who assume you’ve never used a terminal before or — more annoyingly — people who assume you already know everything and just need a cheatsheet. This is somewhere in the middle. ...

June 19, 2026 · 9 min · Sanjay Upadhyay

Mining Exam Papers With Vision LLMs: Building a PDF Question Extractor

Building a scalable question bank extractor using vision language models. Qwen2-7B on serverless GPUs, PyMuPDF text extraction, structured JSON output, and parallel batch processing of 1000+ question papers. The hard parts, the broken parts, and what I’d do differently.

June 18, 2026 · 7 min · Sanjay Upadhyay

Your Own Private LLM Farm: Bare-Metal K8s With GPU Autoscaling

I wanted my own LLM inference setup on bare metal — GPU-backed K8s, autoscaling that actually works with vLLM metrics, and auth so random internet people can’t drain my GPU credits. Here’s how it went.

June 18, 2026 · 10 min · Sanjay Upadhyay

VXLAN, OVS, and DPDK in KVM/libvirt: Building a Multi-Host VM Overlay Network

Deep dive into building a multi-host overlay network: VXLAN + OVS tunnels between hosts, libvirt network definitions, QEMU command-line DPDK setup with vhost-user, NUMA-aware vCPU pinning, and practical validation techniques. Designed for home lab experimentation.

June 13, 2026 · 13 min · Sanjay Upadhyay

Why Your 10G Network Still Drops Packets: DCBX, RoCE, and the Lossless Ethernet Trade-Off

I’ve spent years designing lossless Ethernet fabrics for latency-sensitive workloads. Here’s why DCBX and RoCE are the unsung backbone of everything from high-frequency trading to training billion-parameter models across GPU clusters.

June 13, 2026 · 11 min · Sanjay Upadhyay

Pi.dev: The Coding Agent You Actually Control

Pi is a coding agent that doesn’t tell you how to work. Terminal-native, extensible via TypeScript, with 15+ providers and four operating modes. Here’s how it works, what makes it different from Cursor and Claude Code, and how to build your first extension.

June 3, 2026 · 7 min · Sanjay Upadhyay

How Architects Design Stuff That Actually Scales

A deep look at how architects like Gregor Hohpe (Google Cloud, AWS veteran) design frameworks that scale and handle failure. The 8-step framework, the cylinder problem, and why step 8 is the hardest.

May 18, 2026 · 7 min · Sanjay Upadhyay