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

4 June 2026
Patch diffing Adobe Acrobat PDF prototype pollution

Adobe Acrobat PDF prototype pollution is one of those bugs that only looks neat after the fact. The diff shows three separate failures, and the ugly bit is how ordinary object lookup, trusted...

4 June 2026
Human-led AI-assisted pentesting and review limits

AI-assisted pentesting is useful in the boring middle, where it can sort noise, group candidates, and keep a large target set moving. The trouble starts when it sounds certain about nonsense, so I...

3 June 2026
F_SETPIPE_SZ and soft page quota effects

Soft page quota effects are easy to miss, until a pipe that should be 65536 bytes turns up at 8192 and your spray no longer lands where you expected. I have seen pipe_buffer capacity limits quietly...

3 June 2026
Public GitHub leaked AWS GovCloud credentials

A public GitHub repository should not have been holding AWS GovCloud credentials, yet there they were, alongside backups, passwords and internal deployment files. I spent too long on the dull bit,...

2 June 2026
Audit RFI history offline with CSV export

Cloudflare Security Center CSV export is one of those dull features that matters once you need a clean paper trail. I prefer the file on disk, where I can sort it, cross-check it, and stop relying on...

2 June 2026
React Server Components DoS patterns and WAF limits

Some Next.js Server Components vulnerabilities are crude enough for a WAF to catch, but the awkward ones sit in routing, cache behaviour, and middleware. I prefer patching first, because a broad block...

1 June 2026
Cloudflare WAF rule merges for CVE-2025-53693

Cloudflare is folding a new Sitecore cache poisoning detection into an older Java deserialisation rule, and that is exactly the sort of tidy merge that makes tracking awkward. With Cloudflare WAF rule...

1 June 2026
Cloudflare Managed Ruleset changes in Security Events

Cloudflare Managed Ruleset updates do not always announce themselves politely; the useful clues often turn up first in Security Events. I keep checking there, because a rule can keep the same name...

1 June 2026
Weekly Tech Digest | 01 Jun 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.

31 May 2026
CVE-2026-42945: rewrite directive failure mode

nginx rewrite module bugs are the sort I distrust most, because they sit in config that looks harmless until a crafted URI tips it over. I dug through this one and found the usual pattern, stale state...