I've set up that git repo back in 2014, and it's been extremely useful to me for the past 11 years. The biggest changes happened earlier this year (2025) as I suddenly needed macOS compatible settings, but other than that it's still the same.
Did I understand this wrong? Can I get the missing $14?
Did I understand this wrong? Can I get the missing $14?
Instead had to spend the little time I had planned for it to: combat OS update shenanigans, realise I need Docker kerfuffle to get a chance to tweak it...
But this won't stop me 😼
Instead had to spend the little time I had planned for it to: combat OS update shenanigans, realise I need Docker kerfuffle to get a chance to tweak it...
But this won't stop me 😼
Also featuring Bionicles (sortof)!
www.youtube.com/watch?v=LGrx...
Also featuring Bionicles (sortof)!
www.youtube.com/watch?v=LGrx...
1. SELECT message FOR message_id
2. if message is unread: UPDATE SET as read
This can be done in one single UPDATE query, with RETURNING
1. SELECT message FOR message_id
2. if message is unread: UPDATE SET as read
This can be done in one single UPDATE query, with RETURNING
In this article we'll also demonstrate the vulnerability is real, by crafting the message with malicious code and the server to receive the stolen cookies.
gnugat.github.io/2026/01/21/x...
In this article we'll also demonstrate the vulnerability is real, by crafting the message with malicious code and the server to receive the stolen cookies.
gnugat.github.io/2026/01/21/x...
Just look at those benchmark results. Worst case scenario: same perf as Nginx/FPM, but with one less point of failure. What's holding you back?
Just look at those benchmark results. Worst case scenario: same perf as Nginx/FPM, but with one less point of failure. What's holding you back?
Notre obsession : bien faire notre métier pour mener à bien les projets clients. Architecture claire, code lisible, et compréhension fine des enjeux.
JoliCode, c'est la qualité. Pour nous, pour nos clients. Rejoignez-nous !
Notre obsession : bien faire notre métier pour mener à bien les projets clients. Architecture claire, code lisible, et compréhension fine des enjeux.
JoliCode, c'est la qualité. Pour nous, pour nos clients. Rejoignez-nous !
github.com/gnugat/dotfi...
github.com/gnugat/dotfi...
I wonder if we can add a match in the mix 😀
I wonder if we can add a match in the mix 😀
Replacing 9 statistics queries with just a single 1, using FILTER ⚡
Replacing 9 statistics queries with just a single 1, using FILTER ⚡
I initially thought of it as another syntax sugar until I saw those diff snippets (from @loicfaugeron.bsky.social).
Readability gains for complex logic are huge 🤯
Thanks Crell and Ilija for pushing PHP DX forward 🙏
wiki.php.net/rfc/pattern-...
I initially thought of it as another syntax sugar until I saw those diff snippets (from @loicfaugeron.bsky.social).
Readability gains for complex logic are huge 🤯
Thanks Crell and Ilija for pushing PHP DX forward 🙏
wiki.php.net/rfc/pattern-...
“The vast majority of customers will not see a change to their bill. Actions will remain free in public repositories.”
How many people will be impacted? 💰
resources.github.com/actions/2026...
#GitHubActions
“The vast majority of customers will not see a change to their bill. Actions will remain free in public repositories.”
How many people will be impacted? 💰
resources.github.com/actions/2026...
#GitHubActions
CTEs are not. Use WITH.
CTEs are not. Use WITH.
In today's tweet: replacing 2 SQL queries (SELECT + UPDATE), with just a single one (UPDATE and RETURNING).
In today's tweet: replacing 2 SQL queries (SELECT + UPDATE), with just a single one (UPDATE and RETURNING).
But after @damienalexandre.fr brilliant talk (“Atteindre la qualité d’une SPA avec HTMX et Twig” at ForumPHP Paris 2025), I‘m looking forward to try it!
And I know exactly what project I’ll use it in 💖
youtu.be/wjmCTfVr4Q8
But after @damienalexandre.fr brilliant talk (“Atteindre la qualité d’une SPA avec HTMX et Twig” at ForumPHP Paris 2025), I‘m looking forward to try it!
And I know exactly what project I’ll use it in 💖
youtu.be/wjmCTfVr4Q8
Like, doing a `for` loop on database results, instead of a foreach loop...
Plz can I haz help 😿
github.com/pyricau/biso...
Like, doing a `for` loop on database results, instead of a foreach loop...
Plz can I haz help 😿
github.com/pyricau/biso...
Turns out Pg has a big overhead when making a new connection, so it's better to set it as persistent. Which then makes it 13% faster that MySQL!
gnugat.github.io/2025/12/03/x...
Turns out Pg has a big overhead when making a new connection, so it's better to set it as persistent. Which then makes it 13% faster that MySQL!
gnugat.github.io/2025/12/03/x...