How This Blog Actually Works
After years of WordPress pain, I rebuilt this blog as a hybrid static-dynamic system. Here's how Hugo, FrankenPHP, RethinkDB, and Kubernetes come together to create something that doesn't suck.
After years of WordPress pain, I rebuilt this blog as a hybrid static-dynamic system. Here's how Hugo, FrankenPHP, RethinkDB, and Kubernetes come together to create something that doesn't suck.
In the ever-evolving world of DevOps and cloud infrastructure, there’s a mantra you’ve probably heard: “Treat your servers like cattle, not pets.” The idea is straightforward—design systems where individual servers...
I work on FrankenPHP quite a bit, which is a PHP SAPI written in Go. For the uninitiated, PHP is written in C, so FrankenPHP uses cgo to interface with PHP. This also means that it uses Handles.
In today’s rapidly evolving software development landscape, increasingly complex systems present new challenges in code reviews. As projects grow in size and scope, efficient code review processes become essential to...
This guide will allow you to use value objects in PHP without a special $obj->equals() method. Instead, you can use the === or == operator to compare two value objects. This guide will also show you how to use a...
Durable PHP is a framework for writing arbitrarily complex code that scales. It’s still under active development, but I thought I’d write a few blog posts about it before I release the documentation on how to use it....
Durable PHP is a framework for writing arbitrarily complex code that scales. It’s still under active development, but I thought I’d write a few blog posts about it before I release the documentation on how to use it....
From the beginning, I knew Event Sourcing would be a big part of Durable PHP , and I learned from several Event Sourced projects I’ve built or worked on over the years. Specifically, I knew what issues any project...
I’m fascinated by event-driven systems. In these systems, everything happens for a reason, which is just as important as its effect on the system. In my perfect universe, everything is built to be event-driven… but...
This adventure starts with git-lfs . It was a normal day and I added a 500 MB binary asset to my server templates. When I went to push it, I found it interesting that git-lfs was uploading at 50KB per second. Being...
Get fresh posts, experiments, and updates straight from the workbench. One click to unsubscribe whenever you like.