Rediscovering Modern CSS
The problems we used to solve with JavaScript and preprocessors now have native CSS answers: container queries, :has(), and native nesting.
Blog
My writing, videos and posts across platforms on software architecture, PHP, DevOps and product development.
The problems we used to solve with JavaScript and preprocessors now have native CSS answers: container queries, :has(), and native nesting.
Two workers produced the same invoice number in production. A log of how I resolved the race condition vs. legal gap dilemma in a real project.
Three months ago I built a tool to audit my own diffs. This post is not about the 'why' but the 'how much': which workflow layers it plugs into, the numbers behind the speedup, the bug patterns it keeps catching — and where it hits its limits.
One afternoon I ran headfirst into the limits of self-review, so I wrote a tool that audits my own diff right from the terminal: CommitBrief. A note on why I built it, how it works, and what problem it actually solves.
Waterfall, Agile, or Hybrid? That's the wrong question. A decision matrix from 18 years of production experience, three real case studies, and a way out of methodology religion.
A view from 18 years of PHP development — the 2026 state of PHP through W3Techs, Stack Overflow, JetBrains, and Packagist data, including the language's often-ignored weaknesses.