Engineering,
taught
&
leadership,
practised.
I'm Steven — CTO at Digitonic, a PHP engineer since 2010 and a keen golfer with a terrible handicap. This is where I write it all down.
Latest from the journal
The Long URL That Breaks Your Table: Tailwind v4's wrap-anywhere vs wrap-break-word
Five utilities that sound identical, two CSS properties that are not, and the intrinsic-sizing rule that explains why the old fix stopped working inside a flex container.
Stop Shipping Prompt Regressions: LLM Evals for the Laravel AI SDK with Pest 5
Your faked-agent tests prove the wiring works and tell you nothing about whether the output is still any good. Pest 5's evals plugin closes that gap.
PHP 8.4 mb_trim and mb_ucfirst: The Multibyte Gaps Everyone Polyfilled
Two customer rows look identical, and the unique index accepted both. One of them ends in a no-break space that trim() cannot see. PHP 8.4 finally shipped the fix.