Notes on AI coding agents, back-end work and the occasional Formula 1 season.

LiveblogSecurity · 29 min

PHP2Shell: What to Do About CVE-2026-109618 and CVE-2026-109619

PHP2Shell is fixed in PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35. What the two flaws are, who's at risk, what to do, and how 21 October 2026 unfolded.
Two critical PHP vulnerabilities, CVE-2026-109618 and CVE-2026-109619, both CVSS 9.2, fixed in PHP's security release at 14:00 UTC on 21 October 2026
AI · 6 min

Agent Office: I Built a 3D Office for My AI Coding Agents

Agent Office turns Claude Code, Cursor and Antigravity agents into engineers in a 3D office, with task boards, worktrees, shared memory and cost tracking.
The lobby of Agent Office: the Nero café, the plan usage screens and the way onto the office floor
AI · 7 min

CLAUDE.md vs AGENTS.md: One Memory for Every Coding Agent

CLAUDE.md, AGENTS.md or .cursor/rules? Which file each coding agent reads, what research says to put in it, and how to share memory across engines.
Diagram of one AGENTS.md file feeding Claude Code, Codex and Cursor, with a CLAUDE.md that imports it and Cursor rules alongside
AI · 7 min

How I Run Parallel Claude Code Agents with Git Worktrees

Run several Claude Code agents on one repo without collisions: git worktrees, the --worktree flag, .worktreeinclude, ports, merging and my automated setup.
Diagram of one main git checkout branching into four worktrees, each with its own Claude Code agent, branch and port
Web · 10 min

How I Took a GSAP-Heavy Site from 48 to 85 in Lighthouse

How my GSAP and Next.js site went from 48 to 85 in Lighthouse with 100 accessibility, and two LCP and layout shift traps that animated sites walk into.
Lighthouse performance score going from 48 to 85, with accessibility and best practices at 100
AI · 5 min

I Haven't Written "Boilerplate" in 12 Months (And I Don't Miss It)

Is coding dead in 2026? No, but it has changed. How Cursor and Claude Code shifted my role from "writer" to "architect", and what that feels like.
From writer of code to architect: in 2025 typing the code out, in 2026 deciding what gets built and reviewing what the agent wrote
Formula 1 · 5 min

My 2025 F1 Season Recap: The Year McLaren Won Despite McLaren

2025 F1 recap: Norris beat Verstappen by 2 points. Red Bull's setup struggles, McLaren's pit stop blunders and my top 10 driver ranking.
Max Verstappen's Red Bull ahead of a Ferrari and a McLaren at the Qatar Grand Prix
Web · 2 min

Creating a custom sitemap with dynamic content in Next.js

How to build a dynamic sitemap in Next.js with the App Router, so blog posts and other dynamic pages are added to sitemap.xml automatically.
The Next.js logo
Web · 2 min

Symfony 6.4.7 Release

Symfony 6.4.7 is out. A rundown of the most important bug fixes and changes since 6.4.6, with links to every pull request.
The Symfony logo