So you've built a neural network, trained it with gradient descent, and watched the loss function steadily decrease. Success, right? Well, not so fast. A decreasing loss function is like a student who...
One of the more interesting aspects of being involved with PHP Architect is that I'll hear about something on the podcast, and then it will become a reality. by Scott Keck-Warren
Hello friends. This time around, there is not much code at all as I talk about a Testing Pattern that really changes how I look at my test suites — the realization that one of the "accepted" methods j...
In Part VII, we focused on correctness under failure - stale reads, uncertain commits, idempotency keys, and the outbox pattern. Once the write path is believable, the next question is - what happens...
I ran composer update on a side project a few weeks back and watched a few dozen packages move. I manually reviewed maybe three of them. The rest I waved through, because that is what we all do. The l...
When asking AI to explain its own failure modes (what the industry calls "hallucinations"), the response is not what it seems. AI appears to be reporting what just happened, but in fact, AI is *specul...
As an application grows, controllers may bloat as we add code to coordinate behavior between multiple objects. In our Spacetraders web client, we've established a highly functional core loop - accept...
For six years, I made a living doing something that may sound glamorous or stupid, depending on your temperament for risk, scrutiny, and games of chance. by David Drury
Modern web APIs spend much of their time waiting for I/O, such as database queries, HTTP calls, or external services, rather than executing PHP code. PHP 8 introduced Fibers as a low-level concurrency...
Our Partners
Collaborating with industry leaders to bring you the best PHP resources and expertise