<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Gianni Leggio</title><description>Software Developer</description><link>https://www.giannileggio.com/</link><language>en</language><item><title>Day Zero Protocol: Standing Up a Proxmox Homelab Node From Blank USB Stick to Tailscale Mesh</title><link>https://www.giannileggio.com/posts/day-zero-protocol/</link><guid isPermaLink="true">https://www.giannileggio.com/posts/day-zero-protocol/</guid><description>The origin of the homelab node behind Ghost Protocol and Pocket Protocol: Proxmox on a mini PC, one-line installs, a BIOS power-cut gotcha, and the Tailscale mesh.</description><pubDate>Sat, 17 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Pocket Protocol: Driving Pi Coding Agents in Your Homelab From Your Phone</title><link>https://www.giannileggio.com/posts/pocket-protocol/</link><guid isPermaLink="true">https://www.giannileggio.com/posts/pocket-protocol/</guid><description>Drive Pi coding agents running in a homelab from your phone: a self-hosted Un Bien relay, pairing over a Tailscale mesh, answering agent prompts, and launching sessions remotely.</description><pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Ghost Protocol: Running AI Coding Agents 24/7 on an Always-On Homelab Dev Machine</title><link>https://www.giannileggio.com/posts/ghost-protocol/</link><guid isPermaLink="true">https://www.giannileggio.com/posts/ghost-protocol/</guid><description>Why I moved AI coding agents off my laptop and onto an always-on homelab dev machine: unattended agent pipelines, a three-layer Docker devcontainer, and remote access from any device via Claude Code and agent-deck.</description><pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Trust No Slicer: Proving the Printer Innocent with curl</title><link>https://www.giannileggio.com/posts/orca-slicer-debugging/</link><guid isPermaLink="true">https://www.giannileggio.com/posts/orca-slicer-debugging/</guid><description>Debugging two Orca Slicer failures with curl and raw FTPS logs instead of trusting the dialog box: a method for isolating what actually broke.</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Everything Is Fine: The Comfortable Lie of Green CI Pipelines and 100% Test Coverage</title><link>https://www.giannileggio.com/posts/false-confidence/</link><guid isPermaLink="true">https://www.giannileggio.com/posts/false-confidence/</guid><description>Why a 100% green test suite doesn&apos;t mean your code is safe: the gap between passing CI and real confidence, and what actually closes it.</description><pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate></item><item><title>Docker in LXC: am I doing it wrong?</title><link>https://www.giannileggio.com/posts/docker-in-lxc/</link><guid isPermaLink="true">https://www.giannileggio.com/posts/docker-in-lxc/</guid><description>Is running Docker inside LXC on Proxmox an antipattern? A year of production experience with 7 containers, the real tradeoffs, and an honest verdict.</description><pubDate>Mon, 06 Apr 2026 00:00:00 GMT</pubDate></item><item><title>The Home Assistant Supremacy: Two Houses, Two Servers, One Command</title><link>https://www.giannileggio.com/posts/ha-skill/</link><guid isPermaLink="true">https://www.giannileggio.com/posts/ha-skill/</guid><description>How I built a Claude Code skill to control two Home Assistant instances from the terminal -- no browser switching, natural language in, correct hass-cli command out.</description><pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Protocol Zero Friction II: from 3 seconds to 100ms</title><link>https://www.giannileggio.com/posts/zsh-optimization/</link><guid isPermaLink="true">https://www.giannileggio.com/posts/zsh-optimization/</guid><description>How I reduced zsh startup time from 3 seconds to 100ms by eliminating Oh My Zsh, caching completions, hardcoding Homebrew paths, and extracting hardcoded secrets.</description><pubDate>Mon, 23 Feb 2026 00:00:00 GMT</pubDate></item><item><title>The Developer Ultimatum: My Old Workflow Died and I Had to Build a New One</title><link>https://www.giannileggio.com/posts/ai-workflow/</link><guid isPermaLink="true">https://www.giannileggio.com/posts/ai-workflow/</guid><description>My AI-assisted development workflow: specs-first, red gate acceptance tests, autonomous agent loops, and how to stay in control when the agent writes faster than you review.</description><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title>The Obsidian Identity: How I Stopped Losing My Mind (and My Files)</title><link>https://www.giannileggio.com/posts/obsidian-identity/</link><guid isPermaLink="true">https://www.giannileggio.com/posts/obsidian-identity/</guid><description>How I rebuilt my personal knowledge system with Obsidian after losing data twice -- local-first, AI-integrated, and built to outlast any single app.</description><pubDate>Fri, 09 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Operation Minilab: synchronizing two houses</title><link>https://www.giannileggio.com/posts/minilab-mission/</link><guid isPermaLink="true">https://www.giannileggio.com/posts/minilab-mission/</guid><description>How I built a self-hosted homelab across two houses using Intel N97 mini PCs, Proxmox, Tailscale, Home Assistant, Immich, and Frigate -- on a budget.</description><pubDate>Fri, 02 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Protocol Zero Friction: tactical zsh configuration</title><link>https://www.giannileggio.com/posts/zsh-config/</link><guid isPermaLink="true">https://www.giannileggio.com/posts/zsh-config/</guid><description>A practical zsh setup for developers: Oh My Zsh, Starship prompt, Zoxide, FZF, Eza, and Bat configured for zero-friction terminal work.</description><pubDate>Sat, 27 Dec 2025 00:00:00 GMT</pubDate></item></channel></rss>