Long-form writing
Blog
Thoughts on Drupal, PHP architecture, AI tooling, and the craft of building software.
Laravel 12 Service Providers vs. Deferred Providers: When Lazy Binding Actually Saves You
Not every service needs to boot on every request. Here's how Laravel 12's deferred providers work under the hood, where they genuinely help, and where they silently bite you.
Drupal 11.4's New Native CLI: What vendor/bin/dr Means for Drush
Drupal 11.4 ships an experimental Symfony Console-based CLI at vendor/bin/dr, built by a team that includes Drush's own maintainers. Here's what changes, what stays, and how custom modules register commands.
Drupal at 25: How a Guestbook Became the Internet's Most Powerful CMS
From Dries Buytaert's university dorm room in 2000 to powering the White House, NASA, and thousands of enterprise platforms — the unlikely story of how Drupal became what it is.
Previewing Drupal 11 Single Directory Components: Storybook vs. the SDC Component Library
Two ways to preview a Single Directory Component in isolation — the Drupal Storybook module (external tooling) and the SDC Component Library module (zero dependencies, runs inside Drupal). Here's how they differ and when to reach for each.
Upgrading from Drupal 10 to Drupal 11: What Actually Changes
Drupal 11 dropped PHP 8.1 support, removed deprecated APIs, and shipped with Symfony 7. Here's a practical guide to what the upgrade involves and how to approach it without breaking production.
Workspaces in Drupal 11: How Content Staging Actually Works Under the Hood
Workspaces went stable in Drupal core back in 10.3 and ships with every Drupal 11 install. Past the marketing pitch of "stage then publish," here's the actual architecture — ContentWorkspace entities, computed fields, and the one thing it still can't scope.
Drupal in 2025: State of the Platform
Automatic Updates, Project Browser, the new Recipes system, and AI-powered site building — Drupal's roadmap for 2025 is the most ambitious since the Symfony rewrite.
Building AI-Powered Drupal Sites: A Practical Overview
From the AI module ecosystem to content generation, translation, and smart search — how Drupal developers are integrating LLMs into production platforms right now.
LLMs for Developers: What's Actually Useful After the Hype
Two years of daily LLM use in a PHP/Drupal development workflow. What works, what wastes time, and the mental model that makes AI tools genuinely useful rather than occasionally impressive.
Context Window Sizes in 2025: What They Mean for Developer Workflows
Claude can now hold 200K tokens in context. GPT-4o goes to 128K. What do these numbers actually mean for day-to-day development, and when does a bigger context window stop helping?
Drupal Custom Module Development: Patterns I Actually Use
After nine years of Drupal module development, here are the architectural patterns, service container approaches, and testing strategies I reach for on every project.