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

Running a Debian 13 VM on Fedora 42 with Bridged Networking, Podman, and Minikube

Why This Guide Exists You’re on Fedora 42. You want a Debian 13 VM — not through some GUI wizard, but properly, from the command line, with real bridged networking so the VM sits on your LAN like a first-class citizen. You want cloud-init to set up your users and passwords. And then you want to turn that VM into a multi-node Kubernetes cluster with podman and minikube. Every guide I found either stopped at “install the VM” or assumed you already knew the networking parts. This one doesn’t. It holds your hand from dnf install to kubectl get nodes. ...

May 11, 2026 · 19 min · Sanjay Upadhyay

GnuPG (GPG) Command Cheat Sheet: Encryption & Signing Guide

Quick reference guide for GnuPG commands including key generation, encryption, decryption, signing, and advanced security features.

April 30, 2026 · 3 min · Sanjay Upadhyay

Docling vs. Qwen2-VL: How to actually get text out of PDFs

I spent the weekend comparing IBM’s Docling and the Qwen2 Vision Model for document extraction. One is a structural architect, the other is a creative genius. Here is which one you should actually use.

December 5, 2025 · 4 min · Sanjay Upadhyay

Arattai vs WhatsApp: Why I Started Paying Attention to a Homegrown Messenger

I’ve been using WhatsApp for as long as I can remember. Everyone has. It’s the default, the one app you don’t even think about — you just install it because everyone else has it. But over the last year or so, I started paying attention to Arattai, the messenger built by Zoho. Not because someone told me to, but because the more I read about where my data goes, the more uncomfortable I got with the defaults. ...

December 3, 2025 · 4 min · Sanjay Upadhyay