
PHP 8.5 adds support for final properties using constructor promotion. In this (very short) article, I’ll show you everything you need to know about this new addition.
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.
PHP 8.5 adds support for final properties using constructor promotion. In this (very short) article, I’ll show you everything you need to know about this new addition.
PHP 8.5 adds a new function for calculating the Levenshtein distance between strings — now with proper UTF-8 support.
PHP 8.5 introduces support for attributes on non-class constants. This article walks you through everything you need to know about this new feature!
Today, we'll explore one of the exciting features coming with PHP 8.5—the new #[NoDiscard] attribute to indicate important return values.
Creating a basic Matrix bot is straightforward—generate an access token, send an HTTP request, and you're done. But posting messages to an encrypted room with verified sessions is a bit more involved. This guide will walk you step-by-step through creating your own encrypted Matrix bot using Golang.
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.