
ActivityPub is the best protocol available for interoperable federated social media—primarily because no other current federated protocols target social media, offer interoperability, and aren't deprecated.
I'm a developer and an architect with ~10 years of experience. My languages of choice are PHP (Symfony), C#, Go and Typescript. With a tiny bit of Java and C++ here and there. I often write open source libraries, you can find my work on my GitHub. I started this blog for 3 reasons: I've wanted to start a blog for the last 15 years but never had time, I wanted a personal place where I can share whatever's on my mind, and I wanted to create something that uses ActivityPub.
ActivityPub is the best protocol available for interoperable federated social media—primarily because no other current federated protocols target social media, offer interoperability, and aren't deprecated.
If you’ve ever worked with both PHPStan and the official AWS SDK for PHP, you know they don’t get along particularly well. In this article, I’ll show you a package I created that addresses this exact issue.
Transpiling lets you write your package or application using the latest PHP features—even if your runtime is older. This is especially useful for libraries (where you can’t just bump the PHP version without inconveniencing your users) and can be a lifesaver when upgrading legacy apps.
I love creating configurable generic models using OpenSCAD, and this is the most complex one I've created to date—an easy-to-configure calendar using some clever algorithms to render correctly.
The Steam Deck (and SteamOS) delivers a fantastic console-like experience on a Linux system. However, its immutable filesystem means that installing packages that persist across system upgrades isn’t straightforward. Fortunately, with a little Nix magic, you can work around that limitation.
Lazy objects are a fantastic addition to the already impressive PHP 8.4 release. In this article, we'll explore how to use them.
If you're like me and feel uneasy whenever something is typed as 'any' in TypeScript, this article is for you! I'll show you a neat trick to help both the compiler and your IDE understand the exact type of data being passed to your ng-template.
Feature flags (also known as feature toggles) let you enable or disable specific features or code paths at runtime without deploying new code. In this article, we'll explore Unleash, my favourite open-source tool for managing feature flags efficiently.
SQLite has limited capabilities for modifying tables—often, you must drop the original table and recreate it, which can break your foreign keys. PHP 8.4 provides a cool solution for that.