Things I build, break, fix, and write about

17 September 2026
Require a BitLocker pre-boot PIN

TPM-only BitLocker is tidy until you remember what is left exposed when the machine can unlock itself. BitLocker PINs are the small, awkward step that makes a stolen laptop less cooperative, and I trust that far more than wishful thinking about physical security.

17 September 2026
Secure connectivity principles in water sector OT

Secure connectivity principles only work when the boundary is real, not decorative. I’ve seen too many remote paths that looked neat on paper and fell...

16 September 2026
Monitoring radio, transport and core faults

Private 5G resilience does not come from a cheerful dashboard or a nice radio map. I want to see where the attach failed, which path dropped, and...

16 September 2026
Pre-boot authentication for BitLocker

TPM-only BitLocker is convenient, but convenience is not the same as a proper boundary. BitLocker PINs push that line back to pre-boot, which is where...

Latest blog posts you might like

7 May 2026
Prioritising patches from Stormcast threat signals

ISC Stormcast is useful when it changes the queue, not when it just adds another tab to the pile. I care less about loud advisories than about whether a service is exposed, reachable, and already...

7 May 2026
Cognito federated login before user persistence

AWS Cognito’s awkward bit is not token issuance, it is timing. If `AWS Cognito PreSignUp_ExternalProvider` is not doing the real gatekeeping, you are already in cleanup territory, and I have no...

7 May 2026
AWS Cognito PreSignUp_ExternalProvider and federated account creation

Federated sign-in in Cognito is less tidy than people assume. If you put the check in the wrong trigger, AWS Cognito PreSignUp_ExternalProvider can still let a user record land before anyone else gets...

7 May 2026
Blocking AI traffic with DNS filtering

Blocking AI traffic starts at the resolver, not the firewall. I’d rather break a query cleanly with DNS filtering than watch it slip through a public resolver and look ordinary, which is exactly why...

7 May 2026
n8n | stable

n8n v2 19 4: bugfix release, dynamic Quick Connect disclaimer, webhook mode hooks, GIT SSH COMMAND restored, Snowflake Insert and Update fixed

6 May 2026
Siri privacy settings for shared rooms and offices

Siri privacy settings are only useful if the microphone is not sitting in the wrong room, listening for the wrong thing. I trust fewer devices in shared spaces, because voice assistant privacy usually...

6 May 2026
Token spend caps for AI APIs

AI token spend caps are one of the few sane ways to stop convenience from turning into a bill I have to explain later. Alerts are useful, but they arrive after the request has already spent the money;...

4 May 2026
Bosch High Pressure Washer EasyAquatak 120 + 2 more Amazon tech bargains

Discover the Bosch High Pressure Washer EasyAquatak 120 and two more tech bargains this week.

30 April 2026
n8n | stable

n8n 2 18 5: hide AI workflows, warn on publishing AI gateway creds, editor fixes, open executions from Connect usage, OpenAI dynamic image models

28 April 2026
Testing Proxmox restores before you rely on them

A green job in a Proxmox backup guide means very little until the restore boots, logs in, and serves traffic. I have trusted the dashboard before, only to find the archive was fine and the recovery...