doug.sh

Building things with keyboards and end mills. Rabbit holes included.

Six GPUs on One x16 Slot: R9700s and RTX 3090s Behind a PCIe Switch

Nov 8, 2026
Four Radeon AI PRO R9700s and two RTX 3090s behind a PEX88096 switch on one X570 slot: BIOS, kernel flags, ROCm and CUDA, and Qwen3.8-27B at 601 tok/s.

PCIe Bifurcation vs PCIe Switches and Retimers for Multi-GPU Builds

Nov 8, 2026
What bifurcation risers, retimers and PCIe switch (PLX) cards do for a multi-GPU box, with peer-to-peer copies at 54.7 GB/s inside a PEX88096 and what ACS costs.

Debugging PCIe Link Retraining on an x8/x8 Splitter with Two RTX 3090s

Sep 27, 2026
Two RTX 3090s on a bifurcated x8/x8 splitter hung vLLM with timeouts and GPU errors. The fix was two PCIe register bits and a gen3 lock at boot.

Custom Models in Oh My Pi: vLLM, llama.cpp, SGLang and More

Sep 23, 2026
How to point Oh My Pi at vLLM, llama.cpp, SGLang, and other local servers or a gateway, plus two config fixes for omp 18.2.7 and later.

Keeping vLLM's Prefix Cache Warm Between Agent Turns

Sep 15, 2026
What vLLM's cache tiers hold, why coding agent traffic keeps invalidating them, and the Bifrost tool schema bug that cost 90 to 180 seconds on the turns it hit.

Tuning a Local Coding Agent: Oh My Pi and Qwen3.8-27B on Two RTX 3090s

Sep 13, 2026
How I cut a self-hosted coding agent's wait per turn from 28 seconds to 7 with Oh My Pi, a thinking budget and a warm vLLM prefix cache.

erm: A Local CLI That Strips Ums, Uhs, and Erms From Speech

May 2, 2026
A tour of erm, a local CLI that removes disfluencies from English speech recordings using faster-whisper, a few detectors that look at the audio directly, and ffmpeg.

Give Your Coding Agent a Journal

Apr 23, 2026
A plain markdown journal file, updated as the agent works, is a simple and effective form of memory for LLM harnesses like Claude Code.

Route53 as a Key Value Store, 2026 Edition

Apr 18, 2026
A modernized take on using Route53 TXT records as a key-value store from GitHub Actions: OIDC auth, no static keys, and a cleaner update flow.

Using Route53 as a Key Value Store in GitHub Actions

Dec 13, 2021
Use Route53 private hosted zone TXT records as a cheap key-value store for GitHub Actions, with composite actions that set and get values through the AWS CLI.