Homelab and Infrastructure
Hardware, DNS, smart-home, bridge, voice, mail, and deployment infrastructure.
- Why Four DGX Sparks Talk Slowly in the Middle: NCCL Tuning in Plain English October 26, 2026
A thread on X showed two NCCL settings that fix a mid-size all-reduce hole on four DGX Sparks. We reproduced it on ours: a 1 MiB exchange went from 1,154 µs to 137 µs (1.36 to 11.5 GB/s) with the 256 MiB peak unchanged at ~22 GB/s. Both of our serving recipes already carried the fix; what changed is our fabric gate, which only looked at big messages. Also measured: the Spark's 10 GbE Realtek port drops packets only under an 850 kpps UDP flood; every TCP test ran 9.41 Gbit/s with zero retransmits, so it stays stock. - Making a 400G Switch Quieter: What Actually Works on the CRS804 October 22, 2026
Measured on a MikroTik CRS804-4DDQ-hRM: the fan curve buys at most 20% fewer RPM, and only at one room temperature. Why 63 °C held one day and cycled to full speed the next, why shortening the control interval made it worse, and what actually moves the noise. - DeepSeek Flash 1017: TensorFold vs SGLang vs vLLM on 4 DGX Sparks October 19, 2026
Third lane on the same four Sparks: a vLLM fork (Christopher Owen's spark-ds41f r6x, TileLang kernels, local build), not stock vLLM, which cannot serve V4.1 on SM121 yet. It leads SGLang at every concurrency (92 vs 85 tok/s at C1, 287 vs 263 at C6), prefills ~6K tok/s cold at 93K and reads a 300K needle in 55 s; TensorFold EXL3 still wins one stream at 100. Why Tony's 48.5 was a kernel-family gap, and nine tuning arms that all lost to Owen's defaults. - DeepSeek Flash 1017: TensorFold vs SGLang on 4 DGX Sparks October 18, 2026
Same model, same day, same switch: LibertAI's 3.5 bpw EXL3 pack on TensorFold (Sparks 1ā4) against the native MXFP4/FP8 checkpoint on SGLang via knapcio v2.4 (Sparks 5ā8). EXL3 wins single-stream decode by 18% (100 vs 85 tok/s); native wins prefill 1.6ā2Ć and the Hermes 20-hop agent gauntlet by 26%, and leads from four streams up. Quality gate identical, 71/75 both. Now extended to a 3-way with a tuned vLLM fork lane; since October 19 Lane B is stopped (kept) because that lane runs on its nodes. - GhettoRak: an 8-node DGX Spark cluster Updated October 16, 2026
Eight Sparks on a wire rack, one CRS804. A long GLM-5.3 prompt drew ~1.72 kW and tripped the 15 A strip; a 2,200 MHz clock cap holds it at ~1.35 kW with no decode loss. - StudioStack on the M4 Max: what we put in it October 16, 2026
One 8 TB SN850X in the M.2 slot, HDD bay empty, 80 Gb/s TB5 link, holds ~/Downloads. 6.29 GB/s read in one dd pass. - Switching 8 DGX Sparks and a GB300 Station: CRS804 Ć2 vs one 32Ć400G switch September 30, 2026
Two CRS804s vs one N9200-32DC for 8 Sparks + GB300: inter-switch latency ā1 µs (<0.5%/token); the real costs are the 2:1 trunk, zero spare ports, noise, and 240 V. - Sep Security Work: a container-escape bug, and what it shook loose September 23, 2026
Unpatched Ubuntu container-escape CVE; the audit found Docker bypassing ufw, a default DB password, and the vault key in agent files. All fixed. - A 1 MW solar datacenter that can grow to a gigawatt: where to put it September 20, 2026
Sourced site screen for a 1 MWā1 GW solar inference campus. Eastern NM / West TX wins on power, sun, land, and rules. - Fill the yard with solar. Then see what compute fits. September 19, 2026
Yard-first solar: 18ā21 kW islanded IT in winter. NVL72 does not fit a home lot. Theorycraft, no spend. - Photo Hunt, Part 2: 7,038 Photos Off a Wiped SSD September 2, 2026
Erased and reinstalled in 2019, Pictures empty. Imaged read-only, carved the image: 7,038 photos back, 1,495 of them lab scans of Mom's prints. - Photo Hunt: Mom's Photos Aren't on the NAS August 31, 2026
The NAS Aperture library was 2013ā2015 camera shots. The older photos should be on a 2009 Mini. If a reinstall wiped the catalog, they may still be retrievable. - MS-01 (Forge) ā a Full Inventory, August 2026 August 26, 2026
Read-only inventory of the rack's GPU-less Docker and agent host. Not overloaded ā just loaded. - Milo-Ark: A Model Archive Is Not a Downloads Folder June 27, 2026
Concise Milo-Ark status table: 16 checksum-verified entries, 675 checksum records, 2.3T on NAS, and runtime proof still pending. - The DGX Sparks Arrived February 2026
Two NVIDIA DGX Spark GB10 units showed up. Here's what they look like out of the box. - DGX Spark Setup: From Box to Inference February 2026
Everything we learned setting up NVIDIA DGX Sparks. Drivers, containers, vLLM, networking. Honest notes from a home lab. - GoDaddy's UI Is Broken. Their API Isn't. April 9, 2026
Cisco Desk Pro needs a public TLS cert just to use its own microphone on a private LAN. GoDaddy's UI refused to accept the DNS record we needed. Their API did not. Milo handles DNS now. - The Linux Node, One Week In April 22, 2026
The $500 MS-01 was about token cost, not spare compute. - Adding an OpenClaw Linux Node April 21, 2026
Parts list and bring-up for the TecMojo MS-01 as an OpenClaw Linux node. - Milo Home: Wiring Up the House in a Weekend April 15, 2026
Building a local smart home automation layer ā Lutron, Roomba, Hue, HVAC, presence detection, and an event-driven automation engine ā from scratch in a day. - MiloBridge v2: Voice Clone, Smart Glasses, and Five Bugs That Nearly Killed It April 17, 2026
End-to-end voice pipeline validated: AirPods PTT to on-device STT (86ms) to Claude Haiku to zero-shot voice clone (RTF 0.46) on a DGX Spark ā with captions on Even G2 smart glasses. The five bugs were the interesting part. - MiloBridge v1: Voice Pipeline Goes Live April 5, 2026
AirPods PTT to first audio in 1.5 seconds. FluidAudio CoreML STT, Claude Haiku, Orpheus TTS. - I Built an AI to Manage My AI's Email April 13, 2026
Milo gets email. Lots of it. So we built a Python/SQLite triage pipeline that classifies, digests, and learns ā and explicitly refuses to send anything without approval. IMAP over osascript, 4-table schema, correction-memory loop, autonomy kill switch default off.