PHP
★ Introducing Ray 3.0
Ray 3.0 is here! Completely rebuilt for better performance (60% less memory), a fresh new look, message archiving, and MCP support so AI agents can interact with Ray directly. Read more
Ray 3.0 is here! Completely rebuilt for better performance (60% less memory), a fresh new look, message archiving, and MCP support so AI agents can interact with Ray directly. Read more
Christoph reflects on how personal AI assistants have changed his daily workflow — from calendar updates to searching the web less. An interesting take on where this technology is heading. Read more
PHP 8.6 will introduce partial function application, allowing you to pre-fill some arguments while leaving others for later. Brent explains this new language feature with practical examples. Read more
[AdSense-A]
At Laracon India, I launched a major update of Ray. For that talk, I needed a little demo project to showcase Ray. I built a simple website about a then-fictional mobile app to play a Scrabble-like word game called WordStockt.
But then I got curious: how far could I push AI-assisted development? Could I actually just create the whole game? After about 10 days, WordStockt is a fully functional word game that's 98% vibe-coded. It's available for iOS and Android. In this post, I'd like to tell you more about it.

Brent continues his optimization journey processing 11 million database events. Starting from 50k events per second, he implements combined inserts, skips unnecessary deserialization, and reaches 400k events per second. A great deep dive into PHP Read more…
Martin Fowler on how technical terms lose their meaning as they spread. When a useful concept becomes popular, it passes through a “telephone game” of explanations until the original definition gets diluted or even inverted. Read more…
The final part of Oh Dear’s series on SQL performance. Mattias introduces phpunit-query-count-assertions, a package that catches N+1 queries, duplicate queries, and missing indexes in your test suite. Since implementing this at Oh Dear, they’ve Read more…
If you’re using AI tools like Claude Code to help write code, you’ve probably noticed they don’t automatically know your team’s coding conventions. The AI might write perfectly valid PHP, but it won’t follow your Read more…
[AdSense-A]
For years, my git history contains "wip" commit messages. I don't really often use git history myself, but my colleagues do. And when they're trying to understand a change I made six months ago, "wip" tells them absolutely nothing. Might as well not have commit messages at all.
I knew I should write better commit messages, but the friction was real. Stopping to think about how to summarize my changes felt like it broke my flow. So I kept typing "wip".
Now, I have a bash function in my dotfiles that uses Claude to generate commit messages for me.
We released version v1.5.0 of Parental, our package that adds support for Single Table Inheritance (STI) in Laravel. This new version allows types to become other types and use numeric type columns instead of strings. Read more…