Things I build, break, fix, and write about

9 July 2026
Checking Logpush field mappings after schema updates

Cloudflare Logpush datasets do not always announce when they change shape, and that is where the trouble starts. I check the field map against real exports, because a parser that still runs can be quietly throwing away useful data.

8 July 2026
Local DNS proxy now preserves DNSSEC records

Cloudflare One Client for Windows now leaves DNSSEC records alone, which is exactly the sort of change I like, because it stops the client quietly...

8 July 2026
Cloudflare One Client for macOS DNS search suffixes

Cloudflare One Client for macOS can make a short hostname behave very differently, and most of the pain sits in the suffix list rather than DNS itself...

7 July 2026
Tracing acme.sh certificate handling in TLS interception

I spent too long chasing the neat version of TLS wiretapping reconstruction, then found the mess: shell parsing, token limits, and renewal timing. The...

Latest blog posts you might like

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

12 June 2026
Track CCM route syncs against cloud API quotas

`route_controller_route_sync_total` is one of those rare counters that tells you something useful, if you bother to watch it. I use it to catch route reconciliation that is chewing through cloud API...

11 June 2026
Chunked gRPC range requests in etcd 3.7

etcd 3.7’s RangeStream makes large reads less painful, but it also clears out a lot of old v2 baggage, which is where upgrades tend to go wrong. I like the new read path; I do not trust any release...