June 4, 2026
Making public API surfaces changes more visible in open source libraries
While reviewing pull requests it often happened to me that I missed a new public (or even protected) method being added. A public constant slips in. A new property with a suboptimal name or type. This is in general not a huge deal in closed source...
ReadAugust 3, 2022
Narrowing types for static analysis
I have spent the last year moving a few big old codebases, including Composer, to PHPStan's level 8. Here are a few lessons I think I have learned in the process. I was for a while skeptical about using the baseline feature as it seemed to me like...
ReadJuly 26, 2022
A nomenclature of hate
(What feels like) a lifetime of maintaining open source projects has left me with some things to say about the haters. I'm not sure why. Trying to do a light take of it instead of getting mad, here is a post categorizing them. Your average online...
ReadApril 2, 2022
New Jigsaw-based Site
My blog was always based on some home-grown CMS I built during my studies in.. checks CV 2007-2008. This was mostly fine but it had no markdown support and it was one more server to manage. I would...
ReadMay 16, 2018
Web Development on Windows in 2018
I have been developing web apps on Windows for the last 10+ years. I ran PHP, Apache then Nginx, MySQL and Postgres, Redis and others. I dabbed in VMs at some point but was always dissatisfied with...
ReadMay 15, 2018
PHP Versions Stats - 2018.1 Edition
It's stats o'clock! See 2014, 2015, 2016.1, 2016.2, 2017.1 and 2017.2 for previous similar posts. A quick note on methodology, because all these stats are imperfect as they just sample some subset...
ReadNovember 13, 2017
PHP Versions Stats - 2017.2 Edition
It's stats o'clock! See 2014, 2015, 2016.1, 2016.2 and 2017.1 for previous similar posts. A quick note on methodology, because all these stats are imperfect as they just sample some subset of the...
ReadMay 7, 2017
PHP Versions Stats - 2017.1 Edition
It's stats o'clock! See 2014, 2015, 2016.1 and 2016.2 for previous similar posts. A quick note on methodology, because all these stats are imperfect as they just sample some subset of the PHP user...
ReadNovember 18, 2016
PHP Versions Stats - 2016.2 Edition
It's stats o'clock! See 2014, 2015 and 2016.1 for previous similar posts. A quick note on methodology, because all these stats are imperfect as they just sample some subset of the PHP user base. I...
Read