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.…
Measuring string length seems easy, but it’s such a nuanced trap. Here’s a string. Can you guess its length? “My 👨👩👦👦 is fun” It’s a trick question. There isn’t a single answer. In PHP, it’s 38. strlen($string) counts bytes in memory. In JavaScript, it’s 22. string.length counts UTF-16 code units. In Swift, it’s 11. string.count…
Before Dennis Snell started talking to me about Unicode, I thought displaying text on a screen was the most boring thing. I had no clue. It’s fascinating! And I’m sharing my favorite bits below. Aha, if you wonder what are codepoints, code units etc. you may want to start with the short introduction to Unicode…
I’m fascinated with Unicode. This blog post is one I wish I had 20 years ago when I was starting to learn about text encoding. Around 2005, I struggled to use Polish words on my website. I would type in koło in Windows notepad, but in Firefox I would see ko³o. Why? Notepad used the…
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…
Dennis Snell and I want to sync two WordPress sites and we’ve been looking for a way to run a continuous content indexing in WordPress. One idea was to reuse the PHP process that renders the site and do a little bit of indexing after every page render. We’d need to flush all the buffers, ship the…
Creating WordPress Playground helped me grow as an engineer, leader, and product person. This post, focusing on the engineering side, highlights the technical contributions I’m particularly proud of.
During my Christmas break, I’ve turned WordPress into a markdown editor, a git client, and a git server. It’s all dependency-free PHP code. It works in Playground, on any cheap hosting, and it could be merged into WordPress core. Why would I do that? I want Notion that’s free, offline first, and where I own…