
Claude Code Voice Control on Windows: Dictate Prompts and Hear Replies Aloud
I run Claude Code on a dev VM and drive it from T3 Code on whatever I’m sat at. The dumb terminal post covers that setup. It works well until you have a few threads going, look away, and miss the one that’s been sitting on a question. So I wanted voice control in both directions: say the prompt, hear the reply. The catch is that Claude Code runs on a headless server, and the microphone and speakers are on my Windows PC. Claude Code’s own /voice needs a local microphone and only covers the talking-to-it half. I built the other half. voiceloop is a free, open-source Windows app that reads Claude Code’s replies aloud on your PC, wherever Claude Code is running. It lives at voiceloop.dev, with the code on GitHub. ...

Local AI on Proxmox: The Complete Homelab Guide (2026)
Everything AI-related on this site runs on one Proxmox host in a cupboard. A GPU in an LXC container serves Ollama, a web front end sits on a VM next to it, Home Assistant talks to local speech models for voice, and my coding agents work from an always-on VM that I reach over Tailscale. None of it costs per token, none of it leaves the house, and the whole stack has survived every host reboot since I built it. ...

Claude Code with a Local Ollama Model: Setup, and What a 12 GB GPU Can Do
Claude Code speaks the Anthropic API. Ollama now speaks it too. Point one at the other with three environment variables and Claude Code runs against a model on your own GPU. No API key, no per-token bill, and the prompts stay on your network. Whether it’s any good is a different question. I ran it against three models on an RTX 3060 with two small coding tasks each. One model did well at both. One was the best at one and the worst at the other. Treat what follows as a smoke test, not a benchmark, but the differences were big enough to matter. ...

Home Assistant Conversation Agent with a Local Ollama Model: Which Model Works
Home Assistant’s own Assist can already turn a light on. It matches your sentence against a list of templates and runs the one that fits. Say something it has no template for and you get “Sorry, I couldn’t understand that”. Point Assist at an LLM and that stops being true. “It’s too dark in the living room” works. The catch is that the model has to call Home Assistant’s tools correctly, and plenty of local models can’t. I ran three models against the same 18 commands to see which ones can. ...

How to Check and Mitigate CVE-2026-98432 (Linux Kernel TCP Use-After-Free) on Ubuntu
On 27 October Anthropic published an exploit chain that gets a root shell on a Linux server across the network, with no credentials and no clicks. The bug behind it is CVE-2026-98432, a use-after-free in the IPv4 TCP handshake. The kernel’s own CVE team scores it 9.8. Ubuntu has no fixed kernel yet. I run an Ubuntu 22.04 VM in a colo that hosts a UniFi Network controller in Docker. When this landed I wanted three answers: is the box vulnerable, can I reduce the risk before Canonical ships a kernel, and has anything already been at it? This post is what I checked, what the first-party sources actually say, and the mitigations I tested. ...

Serve Markdown and llms.txt from Hugo So AI Agents Can Read Your Posts
More of my reading now goes through a coding agent. I ask it to fetch a page, and it works from whatever it gets back. For a blog that’s a problem. A typical post is 22 to 50 KB of HTML, wrapped around 5 to 17 KB of content. The agent has to pull the content out of the wrapper first. So I made every post on this site available as plain Markdown at the same URL with index.md on the end, and added an llms.txt that lists them. Both are Hugo output formats, about twenty lines in total. This post has the config, both templates, the sizes I measured on the live site and the things that bit me. ...

Parametric Sensor Mount in OpenSCAD with Claude Code: A Home Assistant 3D Print
Small Zigbee and Bluetooth sensors tend to ship with a sticky pad and nothing else. The pad fails the first time you move house or the wall is cold and damp, and the sensor ends up behind the radiator. A printed bracket fixes that, but I’d rather not spend an evening in CAD for a plastic box. OpenSCAD is the opposite of CAD. The model is a text file, so Claude Code can write it, render it and check it in a loop. This post has the file I ended up with, the checks I ran, and the one that caught a mistake the obvious check missed. ...

How to Check a Cheap Claude Code Subagent's Research Before You Believe It
I handed two Claude Code subagents a research job. Both ran on Haiku to keep the cost down, and both came back with tidy tables, exact quotes and source URLs. Then I opened the sources, and a fair amount of what they’d told me was wrong. This post is what I found, and the small script I now use before acting on anything a cheap subagent tells me. What I asked them I had a Claude Code session working through SEO and AdSense compliance on this blog, and I spun two background subagents off it with the model set to Haiku: ...

Home Assistant Local Voice Assistant with Whisper and Piper in Docker
A Home Assistant voice assistant needs three parts. Something to turn speech into text, something to turn a reply back into speech, and Assist in the middle to work out what you meant. The first two can run on plain CPU in Docker, so nothing you say has to leave the house. I built the whole stack from scratch on 11 October 2026 on Home Assistant 2026.10.1, ran text and spoken commands through it, and timed the result. This post has the compose file, the settings, the numbers and the two things that tripped me up. ...

Turn a £50 Android Photo Frame Into a Home Assistant Dashboard: Root From Windows, Then Fully Kiosk
Wes Bos put out a video about rooting a $50 Amazon photo frame and running a family dashboard on it. The frames are Android tablets with a vendor app bolted on, and his photo-frame-dashboard repo is written so you can point a coding agent at it and let it do the fiddly bits. I wanted the same thing for Home Assistant, so I ordered the UK listing of the frame he linked and spent a day on it with Claude Code. ...