<?xml version="1.0" encoding="UTF-8" ?> <?xml-stylesheet type="text/xsl" href="rss.xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel> <title>Thomas Wilde Tech</title><description>Stay updated with the latest posts from Thomas Wilde Tech!</description><link>https://thomaswildetech.com/</link><atom:link href="https://thomaswildetech.com/feed_rss_created.xml" rel="self" type="application/rss+xml" /> <language>en</language> <pubDate>Sun, 11 Oct 2026 05:59:52 -0000</pubDate> <lastBuildDate>Sun, 11 Oct 2026 05:59:52 -0000</lastBuildDate> <ttl>1440</ttl> <generator>MkDocs RSS plugin - v1.19.0</generator> <image> <url>None</url> <title>Thomas Wilde Tech</title> <link>https://thomaswildetech.com/</link> </image> <item> <title>Do AI coding agents phone home? I grepped five of them</title> <author>Thomas Wilde</author> <category>AI</category> <category>AdGuard</category> <category>DeepSeek</category> <category>Hermes</category> <category>OpenClaw</category> <category>Self-Hosting</category> <category>local-ai</category> <category>opencode</category> <category>pi</category> <category>privacy</category> <description>I cloned five AI agent harnesses — opencode, pi, DeepSeek Harness, Hermes, OpenClaw — grepped every one for telemetry endpoints, then cross-checked against 24 hours of whole-LAN DNS logs. Here&#39;s exactly what phones home, and what doesn&#39;t. </description> <link>https://thomaswildetech.com/blog/2026/10/10/do-ai-coding-agents-phone-home-i-grepped-five-of-them/</link> <pubDate>Sat, 10 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/10/do-ai-coding-agents-phone-home-i-grepped-five-of-them/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/10/do-ai-coding-agents-phone-home-i-grepped-five-of-them.png" type="image/png" length="51736" /> </item> <item> <title>Four open-source coding agents: serve modes, Android clients, and chat integrations</title> <author>Thomas Wilde</author> <category>AI</category> <category>Android</category> <category>DeepSeek</category> <category>Hermes</category> <category>Self-Hosting</category> <category>local-ai</category> <category>opencode</category> <category>pi</category> <category>qwen-code</category> <description>opencode, pi, DeepSeek Harness, and qwen-code compared on the features that matter for a self-hosted setup: web server modes, multi-turn goal prompts, messaging integrations, and the open-source Android clients that drive them from the couch. </description> <link>https://thomaswildetech.com/blog/2026/10/10/four-open-source-coding-agents-serve-modes-android-clients-and-chat-integrations/</link> <pubDate>Sat, 10 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/10/four-open-source-coding-agents-serve-modes-android-clients-and-chat-integrations/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/10/four-open-source-coding-agents-serve-modes-android-clients-and-chat-integrations.png" type="image/png" length="59935" /> </item> <item> <title>Give your AI agent a private messaging home: Signal and self-hosted Mattermost</title> <author>Thomas Wilde</author> <category>AI</category> <category>Hermes</category> <category>Mattermost</category> <category>OpenRouter</category> <category>Self-Hosting</category> <category>Signal</category> <category>local-ai</category> <category>privacy</category> <description>How my AI agents live inside my own messaging: self-hosted Mattermost with a bot account and custom plugins (the !-prefix trick and in-screen button menus), Signal through a dedicated Google Voice number, aux models with thinking turned off, and what I insist on before any OpenRouter fallback. </description> <link>https://thomaswildetech.com/blog/2026/10/10/give-your-ai-agent-a-private-messaging-home-signal-and-self-hosted-mattermost/</link> <pubDate>Sat, 10 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/10/give-your-ai-agent-a-private-messaging-home-signal-and-self-hosted-mattermost/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/10/give-your-ai-agent-a-private-messaging-home-signal-and-self-hosted-mattermost.png" type="image/png" length="66322" /> </item> <item> <title>Running Strata on a 5090: the setup I actually use</title> <author>Thomas Wilde</author> <category>5090</category> <category>AI</category> <category>MoE</category> <category>Qwen</category> <category>Software Development</category> <category>Strata</category> <category>local-ai</category> <description>How I actually run Strata day to day: IQ3_S on a 5090 with 128 GB DDR5, 260K context, Hermes agents and Opencode on top, conversation parking for concurrency, and elastic VRAM resize so agents can queue ComfyUI jobs without losing their brain. </description> <link>https://thomaswildetech.com/blog/2026/10/08/running-strata-on-a-5090-the-setup-i-actually-use/</link> <pubDate>Thu, 08 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/08/running-strata-on-a-5090-the-setup-i-actually-use/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/08/running-strata-on-a-5090-the-setup-i-actually-use.png" type="image/png" length="52387" /> </item> <item> <title>The manual snapshot habit that ate 400 GB</title> <author>Thomas Wilde</author> <category>Fedora</category> <category>Hermes</category> <category>KVM</category> <category>Self Hosted</category> <category>backups</category> <category>libvirt</category> <description>My Fedora KVM host ran Hermes agent VMs with nothing but manual virt-manager snapshots. Here&#39;s the script and systemd timer that replaced that habit, and the pile of disk it cleaned up. </description> <link>https://thomaswildetech.com/blog/2026/10/08/the-manual-snapshot-habit-that-ate-400-gb/</link> <pubDate>Thu, 08 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/08/the-manual-snapshot-habit-that-ate-400-gb/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/08/the-manual-snapshot-habit-that-ate-400-gb.png" type="image/png" length="39986" /> </item> <item> <title>umbrelOS 2.0: what&#39;s new, and can it run VMs inside a VM?</title> <author>Thomas Wilde</author> <category>Projects</category> <category>Self-Hosting</category> <category>homelab</category> <category>umbrel</category> <category>umbrelOS</category> <category>virtualization</category> <description>umbrelOS 2.0 in a VM: what&#39;s new, whether nested VMs (Machines) work, and how it compares to a DIY Proxmox + Docker stack </description> <link>https://thomaswildetech.com/blog/2026/10/04/umbrelos-20-whats-new-and-can-it-run-vms-inside-a-vm/</link> <pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/04/umbrelos-20-whats-new-and-can-it-run-vms-inside-a-vm/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/04/umbrelos-20-whats-new-and-can-it-run-vms-inside-a-vm.png" type="image/png" length="451320" /> </item> <item> <title>The 8.5 GB that showed up as free</title> <author>Thomas Wilde</author> <category>GPU</category> <category>Proxmox</category> <category>RAM</category> <category>Self Hosted</category> <description>I doubled the Powerspec box to 128 GB, sized a 114 GB VM, and the host OOM&#39;d anyway. The kernel was holding 8.5 GB that every memory counter called free. </description> <link>https://thomaswildetech.com/blog/2026/10/02/the-85-gb-that-showed-up-as-free/</link> <pubDate>Fri, 02 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/02/the-85-gb-that-showed-up-as-free/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/02/the-85-gb-that-showed-up-as-free.png" type="image/png" length="52686" /> </item> <item> <title>Why I send 429 instead of 503</title> <author>Thomas Wilde</author> <category>AI</category> <category>GPU</category> <category>HTTP</category> <category>Projects</category> <category>llama-slot-proxy</category> <description>Why the proxy answers 429 instead of 503 when the GPU is busy with a media job </description> <link>https://thomaswildetech.com/blog/2026/10/01/why-i-send-429-instead-of-503/</link> <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/01/why-i-send-429-instead-of-503/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/01/why-i-send-429-instead-of-503.png" type="image/png" length="42027" /> </item> <item> <title>A container runs what it was last created with</title> <author>Thomas Wilde</author> <category>AI</category> <category>Docker</category> <category>GPU</category> <category>Projects</category> <description>A container runs whatever it was last created with, not what&#39;s in the compose file </description> <link>https://thomaswildetech.com/blog/2026/10/01/a-container-runs-what-it-was-last-created-with/</link> <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/01/a-container-runs-what-it-was-last-created-with/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/01/a-container-runs-what-it-was-last-created-with.png" type="image/png" length="40020" /> </item> <item> <title>The number that lies to you: decode tokens per second</title> <author>Thomas Wilde</author> <category>AI</category> <category>AI</category> <category>GPU</category> <category>benchmarking</category> <description>Decode tokens per second is a real number and it&#39;s the wrong one to judge a model by </description> <link>https://thomaswildetech.com/blog/2026/10/01/the-number-that-lies-to-you-decode-tokens-per-second/</link> <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/01/the-number-that-lies-to-you-decode-tokens-per-second/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/01/the-number-that-lies-to-you-decode-tokens-per-second.png" type="image/png" length="43941" /> </item> <item> <title>Deploying a proxy to itself</title> <author>Thomas Wilde</author> <category>AI</category> <category>AI</category> <category>Projects</category> <category>deploy</category> <category>llama-slot-proxy</category> <description>Deploying a proxy that serves the agent doing the deploying </description> <link>https://thomaswildetech.com/blog/2026/10/01/deploying-a-proxy-to-itself/</link> <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/01/deploying-a-proxy-to-itself/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/01/deploying-a-proxy-to-itself.png" type="image/png" length="32298" /> </item> <item> <title>The bug that wasn&#39;t in upstream</title> <author>Thomas Wilde</author> <category>AI</category> <category>GPU</category> <category>cache</category> <category>llama.cpp</category> <description>A llama.cpp bug that isn&#39;t in upstream, and the 0% cache after a slot restore it caused </description> <link>https://thomaswildetech.com/blog/2026/10/01/the-bug-that-wasnt-in-upstream/</link> <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/01/the-bug-that-wasnt-in-upstream/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/01/the-bug-that-wasnt-in-upstream.png" type="image/png" length="40442" /> </item> <item> <title>A front layer for local inference</title> <author>Thomas Wilde</author> <category>AI</category> <category>Docker</category> <category>GPU</category> <category>Projects</category> <category>llama-slot-proxy</category> <description>What the slot proxy is for, and why multi-agent local inference needs a front layer </description> <link>https://thomaswildetech.com/blog/2026/10/01/a-front-layer-for-local-inference/</link> <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/01/a-front-layer-for-local-inference/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/01/a-front-layer-for-local-inference.png" type="image/png" length="31382" /> </item> <item> <title>The Proxmox balloon ate my model</title> <author>Thomas Wilde</author> <category>AI</category> <category>AI</category> <category>GPU</category> <category>Proxmox</category> <category>Self Hosted</category> <description>Proxmox hot-shrank a VM from 48GB to 16GB on the same boot and the engine refused to start </description> <link>https://thomaswildetech.com/blog/2026/10/01/the-proxmox-balloon-ate-my-model/</link> <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/01/the-proxmox-balloon-ate-my-model/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/01/the-proxmox-balloon-ate-my-model.png" type="image/png" length="40567" /> </item> <item> <title>Runaway thinking</title> <author>Thomas Wilde</author> <category>AI</category> <category>AI</category> <category>benchmarking</category> <category>reasoning</category> <description>Three requests burned 13 minutes of thinking and produced no answer </description> <link>https://thomaswildetech.com/blog/2026/10/01/runaway-thinking/</link> <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/01/runaway-thinking/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/01/runaway-thinking.png" type="image/png" length="29247" /> </item> <item> <title>The 401 spam that wasn&#39;t HA</title> <author>Thomas Wilde</author> <category>Docker</category> <category>Mealie</category> <category>Self Hosted</category> <category>gotify</category> <category>ntfy</category> <description>Gotify kept pinging 401s that looked like an app was erroring. It was a log matcher, and the real cause was a kiosk session expiring. </description> <link>https://thomaswildetech.com/blog/2026/10/01/the-401-spam-that-wasnt-ha/</link> <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/01/the-401-spam-that-wasnt-ha/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/01/the-401-spam-that-wasnt-ha.png" type="image/png" length="40323" /> </item> <item> <title>The 56 GB that wasn&#39;t there</title> <author>Thomas Wilde</author> <category>GPU</category> <category>Proxmox</category> <category>RAM</category> <category>Self Hosted</category> <description>I sized a 56 GB VM on a 64 GB host and the OOM killer took kvm twice. Here&#39;s what I had wrong and what the numbers actually said. </description> <link>https://thomaswildetech.com/blog/2026/10/01/the-56-gb-that-wasnt-there/</link> <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/01/the-56-gb-that-wasnt-there/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/01/the-56-gb-that-wasnt-there.png" type="image/png" length="42254" /> </item> <item> <title>The false alarm that became the watchdog</title> <author>Thomas Wilde</author> <category>Monitoring</category> <category>PBS</category> <category>Proxmox</category> <category>Self Hosted</category> <description>A storage pool flapped to inactive during an auth refresh and the watchdog called it CRITICAL. That false alarm became the debounce design. </description> <link>https://thomaswildetech.com/blog/2026/10/01/the-false-alarm-that-became-the-watchdog/</link> <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/01/the-false-alarm-that-became-the-watchdog/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/01/the-false-alarm-that-became-the-watchdog.png" type="image/png" length="46444" /> </item> <item> <title>The one-byte bug</title> <author>Thomas Wilde</author> <category>Debugging</category> <category>Home Assistant</category> <category>Self Hosted</category> <category>Voice</category> <description>A missing byte in my own test client looked like a broken voice pipeline for weeks. The satellite was never broken, only the harness was. </description> <link>https://thomaswildetech.com/blog/2026/10/01/the-one-byte-bug/</link> <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/01/the-one-byte-bug/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/01/the-one-byte-bug.png" type="image/png" length="35026" /> </item> <item> <title>The stale mount that ate half the backup windows</title> <author>Thomas Wilde</author> <category>PBS</category> <category>Proxmox</category> <category>Self Hosted</category> <category>virtiofs</category> <description>Virtiofs ENFILE errors failed vzdump about half the time on the external drive. The fix was not a better mount, it was a different kind of passthrough. </description> <link>https://thomaswildetech.com/blog/2026/10/01/the-stale-mount-that-ate-half-the-backup-windows/</link> <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate> <source url="https://thomaswildetech.com/feed_rss_created.xml">Thomas Wilde Tech</source><guid isPermaLink="true">https://thomaswildetech.com/blog/2026/10/01/the-stale-mount-that-ate-half-the-backup-windows/</guid> <enclosure url="https://thomaswildetech.com/assets/images/social/blog/2026/10/01/the-stale-mount-that-ate-half-the-backup-windows.png" type="image/png" length="49491" /> </item> </channel> </rss>