writing
Notes from the build log
Long-form notes on WordPress at scale, PHP tooling, and the unglamorous work of keeping large publishing systems boring.
Publish Obsidian notes to the web self-hosted
I have been using Obsidian for a few weeks to keep better notes. It works really well to keep my notes organized on disk in a way that can be reviewed by Claude/Codex. For sharing externally, I made this plugin with Claude to be able to share my note quickly with the world.
'Introducing' Mantle Testkit
I’ve already written twice about problems Mantle Testkit solves without properly introducing it. Here’s what our WordPress testing framework is, why we built it, and why we use it for WordPress testing at Alley.
Your WordPress tests are leaking state
WordPress relies on process termination to clear runtime state, but test suites reuse the same process. Here’s how Mantle Testkit restores a known baseline and why database isolation alone isn’t enough.
You can't test code that calls exit()
PHP's exit construct stops the process before your assertions can run. Mantle Testkit's terminate_request() preserves the same terminal behavior while turning the response into something your tests can inspect.
Lockdown WP Admin
An older plugin of mine on .org.