Here’s an LLM workflow I’m experimenting with: I’ve created a ubuntu VM, installed Claude Code, ran it with –dangerously-skip-permissions, and gave it a difficult problem to solve: Solve https://github.com/WordPress/wordpress-playground/pull/2923. I need to make every iframe in WordPress Playground controlled by the service worker, even those with no src or using a blob URL or about:blank as an src. You’ll need to…
When I’ve shared the new PHP Playground beta (with a terminal and a file explorer), Jon Surrell asked me what was still missing before we can create Gutenberg blocks. The answer was Node.js. On Thursday, it seemed nearly impossible. On Wednesday, I had a working prototype. It can already run npm, webpack, and more. With…
Check out https://playground.wordpress.net/php-playground.html/ It’s a PHP code editor where you can quickly test PHP code snippets. You can use WordPress functions, quickly change PHP and WP versions, and share the link to your code+WP+PHP setup. I’ve built it because I wanted something graphical instead of using php -a all the time: It’s built with WordPress…
Bulaj w tym roku był super! Beata Różalska zrobiła nam kilka godzin świetnego warsztatu z masą narzędzi do grania scen grupowych, a dwie godziny później wypróbowywaliśmy nowe umiejętności na głównej scenie festiwalu. Tutaj kilka scen w których grałem: Jaskinia tortur Triatlon z jeździectwem Halinka Bonus z dżemu – Szekspir małżeński
Here are the shows I performed in during the final concert of European Vocal Camp 2025! The camp was a blast! 7 days with fantastic people in a 4 star resort tightly packed with workshops and activities – from learning music theory, through stage fright, to Pygmy chants. Enjoy! Brazilian body percussion African Choir Loop…
I found a cool custom SQLite database parser built in TypeScript the other day. I thought WordPress could use a PHP one to support importing data from .sqlite files in environments without the SQLite PHP extension. Then I thought LLMs are decent at porting libraries. 10 minutes later I was looking at a PHP version.…
We’ve had prepared statements for years, but the WordPress ecosystem still relies on mysqli_real_escape_string() and it’s scary. Can you find the security issue in this, deceivingly simple, code snippet? It’s related to text encoding. Adding backslashes to $_POST[‘new_content’] string can corrupt the data at best, and open up a SQL injection vulnerability at worst. Here’s…
Choć 2024 był intensywny, to był bardziej czilowy niż wiele poprzednich lat. Tym razem odpuściłem katowanie się osobistymi celami i bardzo polecam ten tryb. Tak czy siak robiłem rzeczy na których mi zależy, a nie musiałem się stresować tym, że się nie wyrabiam z tym czy tamtym celem. A co robiłem? Szczegóły poniżej 🙂 Warsztatowałem…
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…