PHP
Using AI as a deterministic translation tool in Laravel
Split a task into reasoning and execution to get deterministic behaviour out of a non-deterministic model. Read more
Split a task into reasoning and execution to get deterministic behaviour out of a non-deterministic model. Read more
An interesting article on how PHP is used by the government. Read more
In this article, we’ll build an AI-powered Slack bot with the Laravel AI SDK. Unlike tools such as Claude Tag, it can switch AI providers, answer questions, execute tasks, and retrieve information from a knowledge Read more…
Tom Wilson reflects on what AI is changing for design engineers, and where human judgment still matters. He argues that agents can take over more of the scaffolding work, while product taste, restraint, and polished Read more…
A deep dive into modular monoliths, from module APIs and database ownership to cross-module communication, architecture tests, incremental migration, and the signals that justify microservices. Read more
A deep dive into immutability in PHP, from readonly properties and interior mutability to immutable value objects, collections, dates, cloning, boundaries, and testing. Read more
We explain how Flare now uses OAuth to connect MCP clients, the CLI, and the API with scoped permissions instead of broad long-lived tokens. The new flow makes setup faster, adds read-only and project-level access Read more…
A sharp look at Tailwind’s default rem-based breakpoints, and the accessibility tradeoff they make. It explains how browser font-size preferences can shift layouts, why that can help some users, and why px breakpoints are still Read more…
We explain why Flare’s old AI-generated solutions no longer fit the way developers debug with modern coding agents. The replacement is a better workflow built around the MCP server, CLI, Copy for AI prompts, and Read more…
Michael explains why exit() can make parallel test workers crash without useful diagnostics, and why verbose flags do not help when the process dies outside PHPUnit’s control. The fix is simple: throw an exception instead, Read more…