Things I build, break, fix, and write about

1 September 2026
Privacy boundaries when AI touches government records

AI governance gets awkward fast when government records are involved, because the model is rarely the problem. The problem is the sloppy boundary around it, the sort I have seen quietly turn a harmless prompt into a route through records nobody meant to expose.

1 September 2026
Metadata schema choices for content libraries

Structured metadata only works when it matches how people actually retrieve content. I have seen neat schemas fail as soon as the library meets real...

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...

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...

Latest blog posts you might like

6 July 2026
Agentic AI still needs domain judgement

Agentic AI can write the thing, but it still cannot tell you whether the thing is right. That is where domain expertise matters, because a clean config or neat bit of glue logic can still be wrong in...

6 July 2026
Weekly Tech Digest | 06 Jul 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.

6 July 2026
wolfCOSE zero-allocation parsing in embedded C

wolfCOSE looks sensible only if you care about what your firmware actually has to carry. I like that, because on small targets the wrong crypto feature can cost more than the message itself, and there...

5 July 2026
Layout trade-offs in Design Engineering Magazine

Design Engineering Magazine only works if the structure holds under real reading, not just in a tidy mock-up. I care less about pretty grids than about whether the archive, type and page weight stay...

5 July 2026
Keeping smart bulbs powered with Zigbee wall switch

Zigbee wall switch controllers fix the bit people keep getting wrong, the wall still feels normal, but it stops murdering smart bulbs. I prefer that to rewiring a room just to keep the lights alive;...

4 July 2026
Home Assistant Matter alarms for local CO alerts

Home Assistant Matter alarms are only worth bothering with if they still behave properly when the mesh sulks or the border router falls over. I prefer that sort of boring reliability, because a CO...

4 July 2026
Chunked range reads with etcd RangeStream

etcd RangeStream is one of those changes that sounds minor until you watch a large read stop clogging memory on both ends of the RPC. I like it because it replaces one ugly pause with a series of...

3 July 2026
Why Kubernetes CVE records still flag unfixed issues

Kubernetes CVE records can say “fixed” when nothing was actually fixed, and scanners will believe them. I have seen that sort of paperwork mistake turn into quiet false negatives, then loud surprises...

3 July 2026
Spotting API access in DDoS-as-a-Service panels

DDoS-as-a-Service platforms rarely hide what they are doing; the panel, the payment flow, and the API tend to sit out in the open. I pay more attention to the selling machinery than the noise, because...

2 July 2026
23andMe breach notification gaps and account risk

23andMe breach notification gaps are the part that still bothers me, because people were left guessing whether they had a password problem or something much wider. If you reused a login anywhere,...