Loïc Faugeron
banner
loicfaugeron.bsky.social
Loïc Faugeron
@loicfaugeron.bsky.social
Test. Code. Refactor. Repeat!
Pinned
Published: My dotfiles gnugat.github.io/2025/08/27/m...

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.
Good murning @anthropic.com 🌅 , why did the $50 gift become a $36 gift without a warning?

Did I understand this wrong? Can I get the missing $14?
February 9, 2026 at 8:52 PM
Brilliant and hilarious. As always 😂

www.youtube.com/watch?v=40Sn...
Interview with a ‘Just use a VPS’ bro (OpenClaw version)
YouTube video by Kai Lentit
www.youtube.com
February 6, 2026 at 11:34 AM
Today I received my prize for winning the #SymfonyOnline January 2026's quizz: the mythical Sympony! 🦓
February 3, 2026 at 5:39 PM
Starting the weekend feeling like updating some old libs of mine 🌟

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 😼
January 24, 2026 at 11:32 AM
Reposted by Loïc Faugeron
Hot take: #PHP's strict mode is the new weak mode!🍿 Recent improvements to casting rules in default mode are so much better than the explicit casts that strict mode forces on ppl that use it!
January 23, 2026 at 5:24 PM
Nice podcast between CodeToTheMoons and @orhun.dev

Also featuring Bionicles (sortof)!

www.youtube.com/watch?v=LGrx...
OpenAI went ALL IN on this Rust framework
YouTube video by Code to the Moon
www.youtube.com
January 23, 2026 at 12:51 PM
Yet another PostrgreSQL improvement on the eXtreme Legacy (2005 LAMP) application, when the player wants to read a single message:

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
January 22, 2026 at 5:46 PM
Identifying and fixing a XSS vulnerability in an eXtreme Legacy (2005 LAMP) app.

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...
January 21, 2026 at 7:28 AM
Reposted by Loïc Faugeron
How are you still not using #FrankenPHP? That's free perf for everyone and every #PHP project!

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?
January 21, 2026 at 7:00 AM
Reposted by Loïc Faugeron
👋 Nous recrutons un·e développeur·se PHP/Symfony.

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 !
January 20, 2026 at 10:35 AM
I don't know what took me so long: I finally added a git alias to remove deleted remote branches as well as the local ones tracking them.

github.com/gnugat/dotfi...
January 16, 2026 at 7:15 AM
I've been experimenting with the different models with ✳ Claude Code, and so far my observation is that Opus 4.5 is brilliant for code review (misses less stuff), but Sonnet 4.5 is good enough for the most development tasks (though it might need guidance or plan mode on occasions).
January 15, 2026 at 2:58 PM
Gotta admire the diversity of eXtreme Legacy (2005 LAMP) code: starting by using switch, then following with if, if, if.

I wonder if we can add a match in the mix 😀
January 14, 2026 at 7:22 AM
Refactoring eXtreme Legacy code with the power of PostgreSQL (part 4)!

Replacing 9 statistics queries with just a single 1, using FILTER ⚡
January 13, 2026 at 7:11 AM
Bionicle 2025 vs 2015 🌊
January 9, 2026 at 6:42 PM
Claude Code + Refactoring BisouLand = 💙
January 7, 2026 at 9:44 PM
Reposted by Loïc Faugeron
Found out about the new PHP Pattern Matching RFC🐘

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-...
December 30, 2025 at 7:16 AM
Reposted by Loïc Faugeron
Starting March 2026, GitHub will charge 0.002$/minute for self-hosted runners 😮

“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
Pricing changes for GitHub Actions
GitHub Actions pricing update: Discover lower runner rates (up to 39% off) following a major re-architecture for faster, more reliable CI/CD.
resources.github.com
December 17, 2025 at 10:16 AM
Reposted by Loïc Faugeron
Subqueries are unreadable.

CTEs are not. Use WITH.
December 4, 2025 at 10:41 PM
Refactoring eXtreme Legacy code with the power of PostgreSQL!

In today's tweet: replacing 2 SQL queries (SELECT + UPDATE), with just a single one (UPDATE and RETURNING).
December 12, 2025 at 8:36 PM
I’ve heard a lot about HTMX but didn’t have time to look too much into it.

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
December 12, 2025 at 9:55 AM
Sometimes, eXtreme Legacy code is too eXtreme.
Like, doing a `for` loop on database results, instead of a foreach loop...

Plz can I haz help 😿

github.com/pyricau/biso...
December 11, 2025 at 6:26 PM
Reposted by Loïc Faugeron
This morning, I woke up energized and eager to code. Two years ago, I presented a Terminal component at #SymfonyCon, but never published it due to its flawed design. I've now started over with a better plan to address these challenges. Let's see how far I can go. #symfony
December 6, 2025 at 9:04 AM
When you switch your eXtreme Legacy (2005 LAMP) app from MySQL to PostgreSQL, and it becomes... 90% SLOWER 🙀.

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...
December 3, 2025 at 7:23 AM