How 10x Developers Actually Use AI
– youtu.be - submitted by Nuno Maduro
Read more [youtu.be]
– youtu.be - submitted by Nuno Maduro
Read more [youtu.be]
A practical look at why you should populate essential data from migrations instead of seeders. Once your app is live, manually running seeders becomes a deployment risk. Migrations are deterministic, automatic, and roll back cleanly.
Read more [spatie.be]
Join 9,500+ smart developers
Get my monthly newsletter with what I learn from running Spatie, building Oh Dear, and maintaining 300+ open source packages. Practical takes on Laravel, PHP, and AI that you can actually use.
No spam. Unsubscribe anytime. You can also follow me on X.
"Freek publishes a super resourceful and practical newsletter. A must for anyone in the Laravel space"
Christoph Rumpel reflects on how AI tools are changing the way developers work. The core message: take the shortcuts that cut out mechanical work, but don't outsource the parts that make your work yours.
Read more [christoph-rumpel.com]
Joel Clermont shares a simple trick to determine if a test is covering your application logic or just testing Laravel itself. If you can comment out a chunk of your code and the test still passes, it's probably not worth keeping.
Read more [masteringlaravel.io]
A comprehensive guide to making your Laravel app work well with AI agents. Covers llms.txt, markdown responses, structured data, and coding guidelines.
Read more [hafiz.dev]
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 specific style guide unless you tell it to. That's the problem Laravel Boost solves. It…
Some good thoughts on code reviews in the emerging age of AI.
Read more [tidyfirst.substack.com]
– joshhornby.com - submitted by Joshua Hornby
Prompts break silently. Here's how to catch regressions with PHPUnit evals before your users do.
Read more [joshhornby.com]
The true work is in building complexity into software, then thoughtfully editing and pruning it into something that takes a minute to learn, yet offers a lifetime of mastery for those who want to accomplish complicated things.
Read more [buttondown.com]
– frederickvanbrabant.com - submitted by Frederick Vanbrabant
This week I wrote about my experiences with technical and architectural debt. When I was a developer we used to distinguish between code debt (temporary hacks) and architectural debt (structural decisions that bite you later). But in enterprise architecture, it goes way beyond technical implementation.
To me architectural debt is found on all layers.
Application/Infrastructure layer: This is about integration patterns, system overlap, and vendor lock-in. Not the code itself, but how applications interact with each other. Debt here directly hits operations through increased costs and slower delivery.
Business layer: This covers ownership, stewardship, and process documentation. When business processes are outdated or phantom processes exist, people work under wrong assumptions. Projects start on the back foot before they even begin. Issues here multiply operational problems.
Strategy layer: The most damaging level. If your business capability maps are outdated or misaligned, you're basing 3-5 year strategies on wrong assumptions. This blocks transformation and can make bad long-term strategy look appealing.
Read more [frederickvanbrabant.com]
Dynamic method calls can be useful, but they also come with some risks that you should be aware of.
Read more [ashallendesign.co.uk]
Brent reflects on how using Tailwind CSS has led to a loss of proficiency in writing standard CSS.
Read more [stitcher.io]
Brent Roose has written an excellent book. This time on his programming journey and the lessons learned along the way. It's not too long, I personally read it in one sitting, and liked it very much.
Read more [things-i-wish-i-knew.com]
– doeken.org - submitted by Doeke Norg
Learn how a ClockInterface helps you decouple time and write stable, testable code. It's about time!
Read more [doeken.org]
This is a great way of handling config values.
Read more [cosmastech.com]
Some teams require that every TODO comment in a codebase gets logged in the bug tracker. Others automatically delete any “stale” TODO that has been in the codebase for over a year. Don’t do it!
Read more [sophiebits.com]
Every once in a while, someone opens a PR on one of our open source packages adding a down function to the migration. I usually close those PRs fast with a thank you and a message “We don’t use down migrations in our projects”.
While down migrations might seem like a safety net, they're often a false comfort that potentially creates more problems than they solve.
Instead of explaining this in every PR separately, let me share why we don't write down migrations and what we do instead.
– frederickvanbrabant.com - submitted by Frederick Vanbrabant
When someone comes to you with a question to do something, instead of blindly doing the ask, take a step back and try to understand what they actually want to achieve. Often this task might actually not be the best way to achieve the goal they are set out to do.
Read more [frederickvanbrabant.com]
We've converted our PHP and Laravel coding guidelines into AI-friendly instructions so Claude Code and other AI agents can generate code that matches our established programming style.
Read more [spatie.be]
– ryangjchandler.co.uk - submitted by Ryan Chandler
Have you ever been on a website and navigated between pages, only to notice that the layout shifts slightly because the scrollbar suddenly appears on longer pages?
Read more [ryangjchandler.co.uk]