https://freek.dev
85 posts · 13 Votes
Tech 99% · Life 1%
Subscribe via RSS
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. Read more
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. Read more
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. Read more
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. Read more
In this video, Tideways shows how PHP 8.6 speeds up array_map when you use first-class callables.
A deep dive into the Laravel Scheduler, from event registration and cron evaluation to mutexes, background processes, sub-minute tasks, and production-safe scheduling. Read more
Stefan Zweifel shares how he reorganized his dotfiles into a minimal setup, split private config into a separate repo, and streamlined setup and Brewfile syncing with a few small scripts. Read more
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. Let me walk you through what's in there. I'll cover the tools and tricks first, with installation and…
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. Read more
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. Read more
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. Read more
Every year I dread coming back from vacation not because of the work, but because I have no idea where I left off. A failing test, a well-written TODO, and a slow first day back are all you need to ease back in. Read more
A practical deep dive into UUIDs, ULIDs, and Sqids, from generation models and sorting behavior to database storage, public IDs, and security trade-offs. Read more
Nick Houtman shares how AI is reshaping UX work: clients arrive with better prototypes, common patterns get safer and more generic, and real research still matters most. Read more
Laravel now supports attaching arbitrary metadata to routes, and the latest laravel-flare client shows that context in error reports and performance traces. Read more
A deep dive into Laravel Context, from request metadata and automatic log enrichment to hidden context, scoped values, queues, scheduled commands, and internals. Read more
A lovely growing index of colors, each with its own provenance, chemistry, and often grim history. Beautifully made, and exactly the kind of rabbit hole I enjoy falling into. Read more
Matt Pocock shows how his /teach skill turns Claude Code into a personalized teacher that adapts lessons to your goals, level, and progress. It creates structured lessons, resources, quizzes, and a learning record so you can keep building on what you learned. Read more
Mijndert Stuij shares a bunch of practical ways to make your terminal feel instant, from skipping shell frameworks and caching completions to lazy-loading slow tools. A good reminder that tiny bits of latency add up fast when you live in your terminal all day. Read more
A look at the new experimental headingoffset attribute, which lets heading levels adapt to their context instead of hardcoding h2s and h3s. A thoughtful explanation of where this could be genuinely useful, especially in component-based UIs. Read more
Learn how Expressive can improve a Laravel application by keeping Eloquent as the database layer while moving business logic to fully typed objects. Read more
Learn how to use Eloquent Query Classes to organize important database logic in Laravel without adding a full repository layer. Read more
A concise explanation of ADRs: short documents that capture an important decision, the context behind it, and its consequences. Good practical advice on keeping them lightweight, readable, and useful over time. Read more
Every Laravel RAG tutorial builds the same ingestion pipeline (chunk, embed, store) and stops the moment the agent answers on screen. None of them check whether retrieval is any good. But retrieval quality is decided at ingestion, before the model runs once, and four decisions there fail with no error, no exception, no failed test: Chunking that severs the answer mid-sentence, so answer@1 falls while source hit@1 still looks healthy. An HNSW index built with vector_l2_ops while you query with…
How we use class-based Laravel Pennant features, with a kill switch on every flag and a config-driven path to general availability. Read more
Bert De Swaef shows how PHP attributes made his Livewire components easier to read by attaching validation, URL sync, and event listeners directly to the properties and methods they belong to. Nice piece on how attributes reduce mental overhead, improve IDE support, and make components feel more self-documenting. Read more
Read more
Mattias open sourced a small Caddy module that caches get_certificate HTTP lookups, avoiding a backend fetch on every TLS handshake. A nice write-up on the problem, the design, and the trade-offs. Read more
A good write-up on the ghost domain problem in DNS: domains removed from a registry can still appear healthy to uptime checkers because recursive resolvers keep stale delegations warm. The Oh Dear team explains the edge case and how they're tightening their resolver setup to reduce that blind spot. Read more
A practical take on multi-agent setups in Laravel: another agent only earns its place when it needs its own model, tools, or instructions. Good piece on delegation tradeoffs, context handoff, and how to test routing before it becomes an expensive latency tax. Read more