|
Hi there!
Welcome to the 206th freek.dev newsletter!
Here are a couple of links I hope you'll enjoy as much as I did.
A tour of my dotfiles
Over the years, I've built up a collection of aliases, shell functions, and CLI tools that make my terminal feel like home. All of it lives in a single repository: my dotfiles.
It's a backup of every terminal tool and configuration I rely on, and it means I can set up a brand new Mac from scratch in about five minutes. Colleagues at Spatie use it as a starting point for their own setups too.
PHP version stats: July, 2026
Brendt shares fresh Packagist-based PHP version stats for July 2026: PHP 8.4 is now the most-used version, while PHP 8.5 reached 16% adoption after six months. He also notes that package minimum requirements still lag behind, with relatively few popular packages requiring a version that still gets active bugfix support.
Oh Dear: one service that monitors everything about your site (sponsored link)
Oh Dear is the monitoring service Mattias and I have been running for ten years. We check your sites every minute from multiple locations, and watch uptime, SSL certificates, DNS, broken links, mixed content, scheduled tasks, sitemaps, domain expiration, and application health. When something breaks, you get notified right away and your public status page updates itself. And unlike most monitoring tools, every check is included in every plan, starting at €15 per month. No feature tiers, no per-client fees.
Setting up a remote environment for agentic coding on a VPS
Mattias walks through moving an AI coding setup off a laptop and onto a private VPS. He covers Tailscale, tmux, a browser-based editor, and the small tweaks that make a remote setup practical from any device.
New in PHP 8.6: Faster array_map with first-class callables
In this video, Tideways shows how PHP 8.6 speeds up array_map when you use first-class callables.
Supercharge your PHP apps with Go-powered PHP extensions
A practical conference session on building PHP extensions with Go and FrankenPHP, then wiring them into Laravel and Symfony as native-feeling features. It uses an in-memory LRU cache as the example and offers a nice tour of framework flexibility and PHP internals.
The Laravel Scheduler Under the Hood
A deep dive into the Laravel Scheduler, from event registration and cron evaluation to mutexes, background processes, sub-minute tasks, and production-safe scheduling.
PHP Attributes: What, Why, How and When
A deep dive into PHP attributes, from metadata and Reflection to practical design patterns, Laravel examples, performance, testing, and the cases where explicit code is better.
Building an order fulfilment workflow in Laravel
Steve King builds a real order fulfilment flow to show how a workflow engine handles long-running processes in Laravel. The post covers steps, signals, retries, branching, human approval, compensation, and the surrounding tooling in one practical example.
There's no artisan schema:show, so I built one
A live, zoomable ER diagram of your Laravel app's actual database schema, safe to run in production because it only ever reads structure, never rows.
Claude Code Routines: A Third Way Beyond /goal and /loop
There's a third way to automate Claude Code, and unlike /goal and /loop, it doesn't need your laptop open at all. Anthropic just shipped routines: cloud-hosted automations triggered by a schedule, an API call, or a GitHub event.
How I tricked Claude into leaking your deepest, darkest secrets
A sharp writeup on how a malicious site could trick Claude into exfiltrating memory-derived personal data through its web browsing flow. It walks through the attack chain, the prompt injection setup, and Anthropic's eventual mitigation.
Rewriting Bun in Rust
Jarred Sumner explains why the Bun team is moving from Zig to Rust, after years of fighting memory safety issues in a codebase that mixes GC and manual memory management. He also shares how Claude helped make a mechanical, test-suite-driven rewrite realistic without pausing feature work for a year.
CLAUDE.md is RAM, not disk
CLAUDE.md isn't documentation, it's working memory. A practical approach to keeping it lean and focused instead of letting it grow into an unreadable 300-line dumping ground.
Charging AI Agents Per Request: A Practical Guide to the Machine Payments Protocol
Agentic commerce is a buzzy term, but is still pretty abstract for developers asking what they can actually build today. This post explains MPP through a working Laravel example, and introduces the new square1/laravel-mpp package.
UUIDs, ULIDs and Sqids: A Practical Deep Dive
A practical deep dive into UUIDs, ULIDs, and Sqids, from generation models and sorting behavior to database storage, public IDs, and security trade-offs.
Preventing SSRF in Laravel: Why Blocking Private IPs Fails
I found there wasn't any good SSRF prevention libraries for Laravel, so I built one. Very comprehensive tests based on this paper:
https://www.usenix.org/conference/usenixsecurity24/presentation/wessels
https://github.com/securized/laravel-ssrf
Community links
In this section you'll find links submitted by others. Let me know if you wrote or stumbled across a blog post, tutorial or video that might be interesting to appear in this section.
(2026 Updated) Database Backup Automation for Laravel Projects Using Docker Compose (submitted by Andrei-Daniel Petrica)
Docker-sandbox: run untrusted code in isolated Docker containers (submitted by Shehryar Amin)
Claude's Working Memory Is Smaller Than You Think (submitted by Alberto Arena)
Retrofitting a Ledger onto a Legacy Inventory Table (submitted by Elisha Ukpong)
Favicon Fetcher v3.12.0 released! (submitted by Ash Allen)
Laravel AI SDK-Ready Plugins. 100 packages that already use the sdk. (submitted by Andrei-Daniel Petrica)
PHP 9: Holly's Roadmap (Generics, Structs & More) (submitted by Nuno Maduro)
CLAUDE.md Is RAM, Skills Are Not Disk: The Four-Tier Memory Model for Claude Code (submitted by Alberto Arena)
The clamp Function in PHP 8.6 (submitted by Ash Allen)
Old posts
Here are a couple of links from a while ago!
How to monitor your Laravel app for critical vulnerabilities
Introducing spatie/ping and spatie/simple-tcp-client
Preventing scrollbar layout shifts
Caching is an Abstraction, not an Optimization
Deploying Inertia Vue SSR to Cloudflare Workers: From Traditional Node.js to Global Edge
SQL Generated Columns and Views: How to Use Them in Your Laravel App
Laravel Headless API + React Frontend: Full Stack Tour de France Tutorial
Pipe Operator |> PHP 8.5
How to Make Your AI Agent Program PHP and Laravel with Grace and Style
The Custom Tenant Code Nightmare (And How to Wake Up)
PHP 8.5: Full Review – What’s New & What Changed!
Introducing Rich Text Laravel - Part 2
Exploring Coroutines in PHP
Laravel Serializable Closure: serialize the unserializable
Enjoy this newsletter? Help it grow!
If you found this edition useful, here are two quick ways to support the newsletter:
👉 Write a short recommendation. Approved recommendations appear on the newsletter page for others to see.
👉 Forward this email to a colleague or friend who might be interested.
Alternatively, you could consider picking up one of the paid products my team and I have worked on:
If you have any questions, remarks or thoughts about this newsletter, simply hit reply!
Thank you so much for reading!
Freek
P.S. Know someone who'd enjoy this newsletter? Send them here to subscribe.
You are receiving this newsletter because you subscribed at freek.dev
Unsubscribe from this newsletter
This mail was sent using Mailcoach
|