Things I build, break, fix, and write about

29 July 2026
Headlamp in-cluster deployment and RBAC boundaries

Headlamp in-cluster deployment only makes sense when the UI belongs inside the cluster, and even then the service account should be painfully narrow. I trust the boundary, not the person using it on a quiet afternoon.

28 July 2026
Marketplace takedown pressure on vendor operations

Marketplace takedowns do more than pull a site offline, they cut through the vendor routines that keep sales moving. In dark web marketplaces, that...

28 July 2026
Brickstorm persistence in Microsoft 365

Brickstorm showed how Microsoft 365 persistence can survive a tidy password reset and a few blocked logins. I keep coming back to the same point, if...

27 July 2026
Restricting Serv-U access before patching

The SolarWinds Serv-U flaw is the sort of bug that turns a routine patch into an ugly afternoon, so I would block the obvious request pattern first...

Latest blog posts you might like

16 June 2026
Using CONTENT_TYPE to split HTTP traffic by format

Cloudflare Radar API traffic share is one of those measures that looks tidy until you check the rules behind it. I like that; it stops you mistaking a neat chart for the truth, which is how you end up...

16 June 2026
Filter large zones in Cloudflare DNS records page

Cloudflare’s DNS records page is finally usable when a zone turns ugly, but only if you stop treating it like a flat list. I set filters, pin the useful row, and hide the clutter; otherwise I waste...

15 June 2026
Using network_id: 'cf1:network' with remote: true

I keep coming back to Cloudflare Workers VPC because the clever bit is not the binding, it is the return path. Set `remote: true` carelessly and you get traffic that looks fine on paper, then falls...

15 June 2026
Weekly Tech Digest | 15 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.

15 June 2026
Use read-only access for Tunnel log streaming

Cloudflare Tunnel granular permissions are only worth having if they stay narrow. I prefer read-only access for log streaming, because diagnosis needs eyes on the connector, not a spare key to the...

14 June 2026
Cloudflare AI Gateway REST API logging and rate limiting

Cloudflare AI Gateway REST API logging and rate limiting is one of those setups that looks tidy until you test it properly. I spent enough time tripping over the default gateway behaviour to know the...

14 June 2026
Keeping smart bulbs powered with Home Assistant

A Zigbee wall controller is the bit that stops smart bulbs being undone by an ordinary switch. Keep the bulbs powered, let Home Assistant handle the logic, and the room behaves like a system instead...

13 June 2026
Kubernetes v1.36 PodGroup scheduling cycle explained

Kubernetes v1.36 makes gang scheduling less hand-wavy, and the PodGroup scheduling cycle is where the sharp edges show. I like the clarity, but it also means there is nowhere for a bad placement to...

13 June 2026
Kubernetes Service externalIPs deprecation and migration

Kubernetes Service externalIPs was always a blunt instrument, and I have seen enough clusters to know blunt tools get misused. The warnings in 1.36 are the polite bit, because once address ownership...

12 June 2026
Aggregated Discovery during API server upgrades

Kubernetes Mixed Version Proxy is one of those fixes that only matters when an upgrade goes sideways, which is exactly when I want it. Aggregated Discovery finally gives older API servers enough sight...