Things I build, break, fix, and write about

8 November 2026
Security Advisory – 08 Nov 2026

Daily security advisory summary for 08 Nov 2026

7 November 2026
Prioritising Microsoft Patch Tuesday August 2026

Microsoft Patch Tuesday August 2026 is one of those releases where the order matters more than the headline count. I would patch the exploited flaw...

7 November 2026
Brand abuse detection for checkout page impersonation

Checkout impersonation is often cleaner than people expect, and that is the problem. Once a phishing framework starts swapping content at runtime, the...

7 November 2026
Security Advisory – 07 Nov 2026

Daily security advisory summary for 07 Nov 2026

Latest blog posts you might like

11 September 2026
Hardening PHP YAML parsing against untrusted input

The Symfony YAML component is tidy until you point hostile input at it. I am more interested in the bits that fall over, recurse until PHP gives up, or wander into object handling, because those are...

10 September 2026
Avoiding rtnl_lock() in clsact flower paths

Linux kernel net/sched use-after-free bugs are rarely polite, and this one leans on an unlocked clsact flower path that gives the race room to breathe. I prefer fixes at the locking boundary, because...

10 September 2026
Fast section navigation from Markdown headings in fzf

I built my Neovim Markdown outline the hard way, because headings inside fenced code blocks are exactly the sort of nuisance that break a tidy picker. The fix is simple enough, and once fzf opens on...

9 September 2026
Merge request validation after AI-authored patches

LLM-generated pull requests are easy to file and much harder to trust. I care less about tidy diffs than about where they came from, whether they match a real task, and whether I will be stuck...

9 September 2026
ionCube Loader offline decryption of PHP bytecode

ionCube Loader is less mysterious once you stop assuming the obvious path works. The awkward bit is usually the seed, not the stream, and a small hashing mistake will give you a polished-looking pile...

8 September 2026
HEIC metadata removal in mat2 0.15.0

mat2 0.15.0 finally treats HEIC as the awkward format it is, and I prefer that honesty. If you are relying on clean metadata removal, the ICC profile is still there, so you need to check the file...

8 September 2026
Audit logging for Snowflake account takeover

Snowflake customer data exfiltration rarely looks dramatic at first, which is why I care more about the session shape than the login banner. If the identity, device, and timing do not line up, the...

7 September 2026
Emergency WAF release adds Free Ruleset detections

Cloudflare WAF emergency release has landed with new block rules for attacks I would rather catch at the edge than in production. It is a useful backstop, not a fix, and if it starts firing on your...

7 September 2026
Turbopack and single-locale middleware bypass in Next.js

A single locale entry in i18n.locales changed the shape of my request path, and Turbopack stopped behaving like I expected. The Next.js App Router middleware bypass was quiet, awkward, and exactly the...

7 September 2026
Weekly Tech Digest | 07 Sep 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.