{"pageProps":{"articles":[{"slug":"adding-asana-mcp-to-opencode","author":"Helge Sverre","date":"2026-08-06","title":"Adding the Asana MCP Server to opencode","description":"Configure the official Asana MCP server in opencode."},{"slug":"hidden-comments-in-php-src","author":"Helge Sverre","date":"2026-08-06","title":"Hidden Gems in the PHP Source Code","description":"Easter eggs, developer frustrations, and self-deprecating comments buried in the php-src codebase."},{"slug":"php-cups-sapi-label-printer","author":"Helge Sverre","date":"2026-08-06","title":"PHP Is a Printer Language","description":"I added a CUPS printer filter SAPI to PHP. My label printer now runs PHP scripts at print time and spits out thermal stickers."},{"slug":"laravel-13-folio-list-command-fix","author":"Helge Sverre","date":"2026-08-05","title":"Fixing \"folio:list is registered under multiple names\" on Laravel 13","description":"After upgrading to Laravel 13, every php artisan command dies with a Symfony error about folio:list. The cause is an inherited $signature in RouteListCommand. Here's the fix."},{"slug":"what-if-php-strings-had-shapes","author":"Helge Sverre","date":"2026-08-05","title":"What if PHP strings had shapes?","description":"A proposal for annotating structured string DSLs in PHPDoc so IDEs and static analyzers can validate, highlight, autocomplete, and reason about them."}]},"__N_SSG":true}