Terminal output showing pip-audit reporting no known vulnerabilities found against a requirements.txt file

How to Secure a Python Project Against Supply Chain Attacks: Dependabot, pip-audit, and Branch Protection

I built a small Python TUI to help manage power consumption on my aging Dell laptop. The battery is at 37% health - 18,992 mWh left from a 51,999 mWh design capacity - and the Windows power settings are buried three menus deep. Nothing complicated: a couple of hundred lines using Textual and psutil, showing real-time discharge rates from WMI and letting me cap the CPU speed without clicking through Settings every time. ...

May 16, 2026 · 11 min · Tom Cocking
SwitchBot temperature and humidity sensor displayed on a Home Assistant dashboard using mini-graph-card

Visualising Temperature and Humidity in Home Assistant with Mini Graph Card

Home Assistant’s built-in history graph and gauge cards get the job done, but they’re fairly plain. Mini Graph Card by kalkih is one of those HACS cards that immediately makes your dashboard look like something you’d actually want to show people - dynamic colour thresholds, dual Y-axes, configurable aggregation, and a clean minimal design. In this post I’ll walk through installing it via HACS, then build up a card that shows SwitchBot temperature and humidity data with colour-coded thresholds and both sensors on the same tile. If you’ve not yet got your SwitchBot sensors talking to Home Assistant, start with my earlier post on ESPHome Bluetooth proxies - that covers the sensor setup end to end. ...

May 7, 2026 · 6 min · Tom Cocking

Give Claude Code Eyes Inside Your WSL2 Docker Containers

If you run Docker inside WSL2 on Windows 11, you’ve probably hit this wall: you open a Claude Code session in Windows Terminal, something goes wrong with a container, and Claude starts asking “can you paste the logs?”. Every. Single. Time. It breaks the flow completely. The whole point of an agentic coding tool is that it should be able to diagnose problems itself, not act as a fancy chat window that waits for you to do the investigation manually. ...

April 23, 2026 · 8 min · Tom Cocking

Running Ollama in a Proxmox LXC with NVIDIA GPU Passthrough

Running large language models locally is genuinely useful — no API costs, no rate limits, and your data stays on your own hardware. The catch is getting GPU acceleration working inside a Proxmox LXC container, which involves a few non-obvious steps around driver installation and cgroup device passthrough. Why LXC and not a VM? VM GPU passthrough wasn’t an option here — no iGPU meant the host would have had no display output once the card was handed off. LXC was the practical solution, and it turns out to be a good one anyway: containers share the host kernel directly, so the GPU stays bound to the host’s NVIDIA driver and the container accesses it via bind-mounted device nodes and cgroup permissions. On top of that, LXCs are lighter weight than VMs, with less overhead and near-instant startup times. For a dedicated service like Ollama, it’s a solid fit. ...

March 22, 2026 · 11 min · Tom Cocking

How to Migrate VMs Between Standalone Proxmox Nodes Without Clustering

Moving virtual machines between Proxmox hosts is straightforward when you have a cluster configured, but what if you’re running standalone nodes? This guide walks through the process of migrating VMs between two independent Proxmox servers on the same network, without needing to set up clustering. [IMAGE: Diagram showing two Proxmox servers on a flat LAN with an arrow indicating VM migration between them] I recently needed to migrate several VMs from an older Proxmox host to a newer one with faster storage. Both systems were on the same network but not clustered, and I wanted to avoid the overhead of downloading backup files through the GUI. The solution? Streaming backups directly over SSH using Proxmox’s built-in vzdump tool. ...

February 15, 2026 · 7 min · Tom Cocking
Setting Up a SwitchBot BLE Thermo-Hygrometer in Home Assistant with ESPHome bluetooth_proxy

Home Assistant With ESPhome Bluetooth Proxies

In this blog post, I’ll walk you through how I set up a SwitchBot BLE (Bluetooth Low Energy) Indoor/Outdoor Thermo-Hygrometer in Home Assistant (HA) using an ESP32 running ESPHome as a Bluetooth proxy. If you’re working with Home Assistant in a containerized environment (as I am), you might face challenges with Bluetooth connectivity, in particular, passing through a bluetooth adapter. This approach solves that elegantly and opens the door to other Bluetooth-based projects by providing extended bluetooth connectivity over a WiFi backbone. ...

January 8, 2025 · 5 min · Tom Cocking
A simple no neutral wiring diagram guide for the Sonoff ZBMINIL2 and how to retain the standard switch

Sonoff ZBMINIL2 Wiring Guide: No Neutral, Keep the Existing Wall Switch

Updated October 2026: added the direct answer, a terminal table, the neutral question, switch types and pairing, a troubleshooting section and the agent handoff block. The video and the original diagram are unchanged. The Sonoff ZBMINIL2 (Amazon) is a Zigbee relay that fits behind a UK light switch and needs no neutral at the switch. Wire it in series with the switched live and connect the existing rocker switch to S1 and S2, and the light works from the wall switch, from Home Assistant, or both. The whole job is four terminals, and the only trap is that the blue wire in the switch drop is a live, not a neutral. ...

September 26, 2024 · 6 min · Tom Cocking

How to Expand an Ubuntu LVM Logical Volume to Use All Free Space on the PV

Updated October 2026: added the one-line quick answer, the “I grew the virtual disk first” path (growpart and pvresize), a troubleshooting section and the agent handoff block. The original walkthrough below is unchanged. Quick answer If your Ubuntu root volume is full and vgdisplay shows free space in the volume group, this one command gives the whole lot to the root LV and grows the filesystem in the same step: ...

September 4, 2024 · 7 min · Tom Cocking

Testing Llama3.1 (8B) With LM Studio

MetaAI have done it again… Dropping llama3.1 under the (mostly) open source license and I have been putting it through its paces and benchmarking to find out how well it performs to models preiously tested: Testing Llama3 With LM Studio. Previously we took a look at llama3 in LM Studio which has made self hosted LLMs that rival paid services like ChatGPT and Claude possible; this time we are taking a look at llama through the lend of GPT4All. ...

July 28, 2024 · 10 min · Tom Cocking
Feeding My Cat With Home Assistant

Feeding My Cat With Home Assistant

Let’s face it, cats are demanding creatures. They expect their food to be served on time, and they’re not afraid to let you know when it’s late. But what if you trigger the feeding action to our Home Assistant dashboard? In this post, we’ll explore how to use Home Assistant to control a Tuya-compatible cat feeder, ensuring your feline friend never goes hungry. Get ready to unleash the power of automation and give your cat the royal treatment they deserve! ...

July 3, 2024 · 4 min · Tom Cocking