Things I build, break, fix, and write about

31 August 2026
Federation trade-offs in self-hosted social feeds

Federation looks tidy until you let it touch the edges, and then the odd cases arrive fast. I prefer self-hosted social feeds that stay explicit about what is local, what is remote, and what should never have been pulled in at all.

31 August 2026
FireAvert Z-Wave stove shutoffs for offline safety

FireAvert’s setup does the part that matters without asking Home Assistant to babysit it, which is exactly how I want stove protection to behave. The...

31 August 2026
Weekly Tech Digest | 31 Aug 2026

Stay updated with the latest in tech! This digest covers AI ethics, auto industry shifts, and the impact of politics on technology, exploring today's...

30 August 2026
Self-hosted analytics without cross-site tracking

Plausible Analytics keeps the tracking honest enough for a homelab. It counts site use without the usual baggage, and the trade-offs are plain to see,...

Latest blog posts you might like

31 August 2026
Federation trade-offs in self-hosted social feeds

Federation looks tidy until you let it touch the edges, and then the odd cases arrive fast. I prefer self-hosted social feeds that stay explicit about what is local, what is remote, and what should...

31 August 2026
FireAvert Z-Wave stove shutoffs for offline safety

FireAvert’s setup does the part that matters without asking Home Assistant to babysit it, which is exactly how I want stove protection to behave. The Home Assistant Z-Wave stove shutoffs badge is...

31 August 2026
Weekly Tech Digest | 31 Aug 2026

Stay updated with the latest in tech! This digest covers AI ethics, auto industry shifts, and the impact of politics on technology, exploring today's pressing issues.

30 August 2026
Self-hosted analytics without cross-site tracking

Plausible Analytics keeps the tracking honest enough for a homelab. It counts site use without the usual baggage, and the trade-offs are plain to see, which is more than I can say for most analytics...

30 August 2026
Home Assistant screen automation with Android hooks

Android interoperability is only interesting when it stops being a slogan and starts changing what third-party assistants can actually do. I have spent long enough working around Android’s polite...

29 August 2026
Trusted proxies and interface binding in Home Assistant

Home Assistant OS web server settings matter more than they used to, because the port, bind and trusted proxy choices now decide how the box is reached. Get them wrong and I have seen proxy setups...

29 August 2026
controller-runtime cache: stale reads and conflicts

controller-runtime cache makes reads look easy until you trust them too much. I have chased stale objects and pointless conflicts through more than one controller, and the fix was never magic, just...

28 August 2026
Static Pod config breaks without API access

Kubernetes static pods are unforgiving when kubelet cannot satisfy a reference locally. I have seen a tidy manifest fail because it quietly leaned on the API server, and the fix was not clever, just...

28 August 2026
Gateway API TCPRoute for raw L4 routing

Gateway API TCPRoute finally gives raw L4 routing a proper shape, without the usual controller-specific nonsense. I like it because it stays plain, listener attachment is explicit, and you are not...

27 August 2026
Clipboard hijacking in cryptocurrency transfers

clipboard hijacking works because the address still looks right, until it does not. I prefer to treat the clipboard as hostile, especially with cryptocurrency transfers, where one careless paste is...