I’ve used Google Gemini to generate a MySQL query parser in PHP and I’ll tell you exactly how. It took two nights, ~$520, and yielded a 1MB MySQLParser.php file that worked out of the box, but not without bugs. This post is just a summary. If you want the full story. check out the original…
For the last year, I couldn’t find a fast, low-transfer way of downloading Git files in a web browser. git is a server-side command and GitHub REST API, even if it was fast, doesn’t extend beyond GitHub, Yesterday it finally clicked – I needed a Git client built in JavaScript! This article explains how that…
Two years ago, I used to stress for 25 hours to write a short 500 words piece. Each time it was the same struggle, and no matter what I tried, it didn’t get any easier. I almost gave up on writing. But today, ~100,000 words later, I can write 500 words in an hour. There’s…
This may be my last WordPress-related post until I’m back from my Sabbatical on September 26th. Enjoy! WebAssembly is easier than you think. It is difficult to get started with, but then it’s not. I’ve spent the last 10 months learning that, and now I will save you that time by sharing how to build…
People are often surprised that the first prototype of WordPress Playground came together in just a week. It is so very tempting to wear my serious face and add something like oh, you know, that’s just experience and a few tricks from robust chaos theory. Some experience was involved, sure, but mostly tricks and chaos.…
People often ask me why did you build WordPress Playground? Well, here’s the story: One time I wrote an entry-level introduction to the Gutenberg data layer, and I noticed it was everything but entry-level. It starts with an innocent-looking tar pit of setup instructions where you’re asked to: If you’ve ever been to a WordPress Contributor…
Adjusting the HTML markup in PHP has always been a struggle, but WordPress 6.2 makes it a breeze with the WP_HTML_Tag_Processor API. For example, here’s how you can add an alt=”” attribute to an <img /> tag: The PHP code snippets in this post are live! You can edit and re-run them to your heart’s…

Removing the first argument from the function signature is surprisingly hard. The way to do it correctly is equally surprising!

Using TypeScript to solve a common mistake Gutenberg developers make.