-
The AI Slot Machine
LLMs feel like a superpower and a gambling addiction at the same time. You just keep spinning the slot machine. There are enough wins to make you try again if you lose. Combine that with the urge to always do something, and it’s easy to end up with 10+ agents running and a pile of…
-
WP Tester first beta version
Over the past two months, I’ve been worked on WP Tester, a new tool for testing WordPress projects that focuses on making integration and matrix testing easy, without local dependencies. If you maintain a plugin, theme, or site, please give it a try! The setup is quick and easy, especially if you already use PHPUnit…
-
Why I use Node as the default testing environment instead of JSDOM
A while ago I was updating the Node version from 18 to 20 on Playground. This felt like a good time to review our Node polyfills and I found that we were pollyfilling URL.canParse because it wasn’t available in Node 18. But, when I removed the URL.canParse polyfill, unit tests started failing. JSDOM removes some…
-
Don’t use URL to construct paths in Node.js
I’ve been spending some of my time recently making sure WordPress Playground works in Windows.While working on Windows fixes I learned a lot about making sure Javascript code works POSIX and Windows when running it in Node.js. One thing that I learned is that you shouldn’t use URL to construct paths. If you construct a…
-
Building Automated Tests with WordPress Playground
A big advantage of WordPress Playground is that it can start a new WordPress site quickly and be configured during boot. Both of these features are important for automated testing, so Playground seems like a good fit for testing WordPress projects. Previously Jan and I worked on the Playground tester which automatically tests Playground compatibility…
-
Webshops are about people and products, not user flows
I’ve spent a long time building webshops, and for years I thought it was all about features and removing friction to improve conversion funnels. I thought that if a shop didn’t do well, we could always get it back on track by researching, improving, and measuring. The process is repeated forever, and the business grows.…
-
Someone finished installing WordPress for me
When I first started building this site, I took it slow and did a bit every day. One day I would update DNS records, the next day I would set up Nginx, and so on. When it was time to install WordPress I uploaded the files and stopped for the day, leaving an unfinished WordPress…