Elektrine
Log in Register
Paige Chat Timeline Gallery Friends Email Drive DNS Private DNS Domains VPN Kairo Nerve
Remote

Loïc Faugeron

@loicfaugeron@phpc.social
mastodon 4.7.3
  • Open on phpc.social

My name's pronounced "Law-eek" (as in "coup-le o' week-s")
• 🧑‍💻️ I'm a Lead / Senior backend developer
• ⚧️ My pronouns are: he / his
• 🐘🎼 I write PHP and Symfony code
• 🐬🐘 I develop with MySQL and PostgreSQL databases
• 🐧💻 I use Linux/Mac and the CLI
• 🧱🦿 I like LEGO and Bionicle

18 Followers
63 Following
50 Posts
Joined January 20, 2026
Pronouns::
he/him/his
Tech Blog:
https://gnugat.github.io/
Github:
https://github.com/gnugat
BlueSky:
https://bsky.app/profile/loicfaugeron.bsky.social
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 4w ago
Replying to
@pollita@phpc.social hyped!
1
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to
@grmpyprogrammer@yac.grumpy-learning.com the job market is brutal (went through this in 2025 and also 2024). It seems unfathomable to me that a legend like you got a handful of rejections, and got ghosted… what the heck Congratulations on the offer, Inwish you well for the rest 🤘
2
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 5mo ago

#PHP & #Symfony in 2026: the stack worth a CTO’s attention

https://mustiere.fr/en/blog/php-symfony-2026-cto-perspective/

phpc.social

PHP Community on Mastodon

4
0
7
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to
@dantleech@fosstodon.org ~negotiations accidentally started~ you've found their super secret cheat code
1
2
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 6mo ago

Qalin, BisouLand's Test Control Interface, has 3 UIs: a CLI, API and Web.

And to my utter dismay, I kept reaching for the Web UI. I live in the terminal. Unacceptable.

Next week Fabien will announce a Component to build TUI apps, at SymfonyLive Paris.

I literally couldn't wait. So I built a TUI with PHP-TUI, a PHP port of Rust's Ratatui.

My geek honour is saved 😼. Check out the article detailing it here:

https://gnugat.github.io/2026/03/18/xl-12-php-tui.html

gnugat.github.io
3
0
1
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 4mo ago

I saw @SecondeJ@phpc.social reply to a post with the following link ("Think of an Elephant" by Liam Hammett), and I couldn't agree more.

This is somewhat related to the "PHP lacks marketing" discussion: we need to carefully consider how we talk about PHP, to better promote it.

https://liamhammett.com/think-of-an-elephpant

liamhammett.com
1
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 4mo ago

One of PHP biggest problem is lack of marketing, you say? Let's fix that.

Thames (the good dog in picture) proudly recommends PHP.

https://stitcher.io/blog/php-biggest-problem

stitcher.io
1
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 6mo ago

Woops. I just realised that in Rector, RuleSet::PHP_85 doesn't contain the previous versions (8.4, 8.3, etc).

So when a new PHP version comes, we add the RuleSet, but we don't remove the previous ones. got it. 🫡

1
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 6mo ago
Replying to on fosstodon.org
@dantleech@fosstodon.org legit concern, especially given the recent js, python etc supply chain attacks. But it's what's being used for FrankenPHP, NativePHP, Laravel Herd, and Castor (JoliCode).
1
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 6mo ago
Replying to
@Synchro Vodafone has PAYG options, the cheapest one at £10. You HAVE to disable auto-renew during the registration process, so pay attention to all the options in the form. https://www.vodafone.co.uk/sim-only/pay-as-you-go-sim Not sure if you can register from France though, they do ask for a UK address (not sure what it is used for, because once the registration is completed, you get the eSIM via email). They also require you to provide a "main" phone number, french ones are accepted.
vodafone.co.uk
1
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 7mo ago

I have a Form!

1
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to

:rainbowapple: I use a MacBook Pro M4 (got it as a freebee!), customised with AeroSpace, SketchyBar and skhd.

This allows me to have:

  • Opt + 1: switch to Terminal
  • Opt + 5: switch to Browser
  • Opt + 6: switch to Slack
  • Opt + 7: switch to Spotify
  • Opt + d: switch to Discord

Switching workspace is instant (no animation), and if the app was closed it opens it

0
7
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to
@sculpin@phpc.social standalone binary build for the win!!!! 👏
0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to
@asgrim@phpc.social worth giving Wayland another chance, lots have changed since last year
0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 4mo ago

Now I want raindrop ripples in my terminal.

Cube spinning when switching tmux sessions!

Wobbly tmux windows!!

https://www.youtube.com/watch?v=cY9AX5j-osY

0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 7mo ago
Replying to on fosstodon.org
@dantleech@fosstodon.org I'll see if I can figure this out. Heck, I might even try to go down The Elm Architecture way 😅
0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 6mo ago

Let me translate to English @pockystar@bird.makeup 's Tweet Storm of the #Symfony_Live Paris 2026 for you.

Fabien's keynote: a new Symfony Terminal component, to build TUIs

phpc.social
0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to

I use Slack as my notification center, the icon in the status bar shows:

  • nothing: all good
  • red dot: some messages, can check them later
  • red number: direct mention, go check as ASAP as possible

I've integrated Google Calendar and Github with Slack, so I get direct mention when a meeting is about to start or a PR needs my review.

0
6
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 6mo ago
Replying to on phpc.social
I've just added a "Distribution / Upgrade" section, demonstrating how easy it is to use a package manager for your PHP bin, such as homebrew (mac and Linux). https://gnugat.github.io/2026/03/25/turn-you-php-app-into-a-standalone-binary.html#distribution-%2F-upgrade
gnugat.github.io

Turn your PHP app into a standalone binary — Loïc Faugeron — Technical Blog

Technical articles about Symfony and TDD

0
1
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to
I use zsh as my shell, with homemade config (no bloat like oh my zsh). The autocomplete, autosuggestion and syntax highlighting are what I fancy the most about it. With it I use starship for the prompt.
0
3
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Great to see another big company using #PHP and #Symfony ! https://sensiolabs.com/success-stories/yuka-a-healthy-balanced-symfony-upgrade
Yuka: A Healthy, Balanced Symfony Upgrade
SensioLabs

Yuka: A Healthy, Balanced Symfony Upgrade

Yuka, a leader in global health applications, upgraded from Symfony 4 to 7 with the help of SensioLabs to improve features and reduce technical debt. Read Yuka's success story with Symfony.

0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 8mo ago
Symfony's got a super secret mascot since 2025: the SymPony. Why is there no official announcement introducing the cutie? 🦓 Here's a clip about it: https://youtube.com/clip/UgkxLaUvYHSClyeTCPaeLkuwIJ68Oh9QFydu?si=D3tF2towLesGuI68 And here's a picture of my SymPony
youtube.com
0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 6mo ago

I’m on the hunt for good #Artemis clips to show with my daughters. Any favs to share?

Here are pictures of our LEGO SLS + Orion as payment (set 60228 from 2019)

Best clip we have is about the launch (with booster separation!): https://youtu.be/rKhtEkr127Y?is=-wL0mPsqCXI2iMsd

Would love to find more in space clips

0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago

TIL: one thing I was annoyed with phpactor was the spawning of find processes to index stuff.

Today I decided to do something about it! Originally I was thinking about swapping find for fd, so I looked at the docs.

Turns out there's a better option: find re-scans periodically for changed files even if nothing changed. But inotify (Linux) and fswatch (macOS) can be used instead, which is more efficient because they listen for OS notifications when the files actually changed!

0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 7mo ago
When my 2 apps (monolith and Qalin) started needing the same domain objects, I had a choice: publish packages to Packagist, and feel the pain of having to update multiple repos to propagate a change... Or pull up a 10 year old trick: monorepo. 2 apps, 10 packages, zero extra tooling. Composer path repositories handle it all out of the box! I've written about how to set this up. https://gnugat.github.io/2026/03/04/xl-11-monorepo.html
gnugat.github.io

eXtreme Legacy 11: A PHP Monorepo of Apps and Packages — Loïc Faugeron — Technical Blog

Technical articles about Symfony and TDD

0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 7mo ago

PHP CS Fixer can add declare(strict_types=1) to ALL PHP files in the project, but what if some of those rely on loose types?

RectorPHP (now) has you covered: it can add it only to files that are safe.

https://getrector.com/blog/introducing-safe-and-progressive-strict-type-adoption-rule

getrector.com
0
6
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to
@paulshryock@phpc.social having learned Python back in the 2000s, and learning Rust now, I all I can say is "yes". Python is definitely easy to learn. there are some quirks though, and some PHP reflexes don't apply there (or so I'm being told, for example DIC). I can't share any insight on Rust as I'm still learning it. But I really like its enums, match statements, and the Option (Some/None)
0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 7mo ago
How do you test a feature that only triggers 3 days after registration? You could wait. Or hack the DB. Or hardcode a bypass. Or... expose a dedicated internal API that presets your app into any state on demand, like they've done at Bumble. I couldn't find an established name for this pattern, does one exist? I've written about how to build one with modern #Symfony Usable by devs, QA, designers and product alike, through a CLI, API and web UI. Even in PHPUnit tests! https://gnugat.github.io/2026/02/25/xl-10-qalin-test-control-interface-with-symfony.html
gnugat.github.io

Qalin: Test Control Interface, built with modern Symfony — Loïc Faugeron — Technical Blog

Technical articles about Symfony and TDD

0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 6mo ago

RE: @asgrim@phpc.social

Static PHP binary for PIE! Amazing 😻

phpc.social
0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to
@dantleech@fosstodon.org 🤣
0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 7mo ago
Replying to on fosstodon.org
@dantleech@fosstodon.org so I'm slowly finding my footing. I've got a concept of "Screens" and "Layouts". I've seen that Widgets are all about the "rendering", but somehow lacking the behaviour side. For example: I've created a HotkeyTabsWidget: tabs that can be switched by pressing the corresponding hotkey. I suppose a corresponding HotkeyTabsComponent would manage the behaviour?
0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to
I make heavy use of "terminal tabs" in my workflow, but I don't get that from the terminal app, I get it instead from tmux. When I start working on a project I use my rt-new-session.sh script. It starts a tmux session with the project name, jumps in the project directory (using zoxide), and creates three windows named vim, ai and zsh. - Ctrl + Space + 1: switch to IDE (vim) - Ctrl + Space + 2: switch to coding agent - Ctrl + Space + 3: switch to shell
0
2
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 7mo ago
Replying to
@Girgias@phpc.social do you mean that if people are using static analysis, then they don't need strict_types; and if they aren't using static analysis, they also don't need strict_types?
0
3
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 4mo ago
Replying to
@ghostwriter@phpc.social I didn't know it reached composer. thanks for spreading the word!
0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 5mo ago

Symfony TUI component MERGED! 🎉

https://github.com/symfony/symfony/pull/63778#discussion_r3104843460

github.com
0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to

@asgrim@phpc.social nice! And I 100% agree.

I’ve configure git lg to also display the date and authors: https://github.com/gnugat/dotfiles/blob/93ad73ef828d3bc29e97325768e5f465dc9bfd9c/201-git/config/config#L38

In terms of merging strategy, I’m also a big fan of rebasing before merge, so the graph doesn’t look tangled. This is at the cost of losing the true dates, but makes it easier to read a merged branch history

github.com
0
1
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 7mo ago
Replying to
@Girgias@phpc.social interesting, thanks for the clarification!
0
2
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to

@asgrim@phpc.social I just realised you also advocates for rebase in your article, I somehow missed that part :s

Also for the curious, here's what git lg look like

0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to
@freekmurze@phpc.social if you manage to give AeroSpace another try, maybe my config could be of interest. In combination with SketchyBar and skhd, I've set my environment to use 1 workspace per app (1: terminal, 2: dev adjacent e.g. orbstack, etc, 4: test adjacent; 5: chrome 6: slack, 7: spotify and now d: discord). I use opt + digit to switch to the appropriate space. I have one external screen (in addition to the laptop's), and I haven't had any issues https://github.com/gnugat/dotfiles/blob/main/501-aerospace/config/aerospace.toml
github.com
0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to
I use Alacritty as my terminal (because it uses dotfiles for config, and works on both Linux / Mac). I also like that window decorations can be removed (I use one maximised window per workspace, so those are useless to me)
0
4
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to
@dantleech@fosstodon.org for the record I use phpactor with vim and I’m very happy with it. I have no idea why people feel entitled to complain about a solution that’s been created and maintained by a single individual for a decade. There are new shiny alternatives, but IMHO they are as much someone’s pet project as phpactor, with no guarantee they’ll be maintained to the extent phpactor has been
0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 3mo ago
Replying to
@lordsimal@phpc.social we're using JetBrains YouTrack at work, and I find it okay. I've also heard a lot of good feedback about linear, but I haven't tried it yet.
0
1
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to
@sculpin@phpc.social I'm so glad to see this is happening. I've been wondering if I should switch to hugo or something, but seeing the project maintained again is great! I'm happy to be a beta tester if you need that :)
0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to
I use Chrome as my browser, with vertical tabs which I think were made available in April 2026. It took me two weeks to get used to it (and my eyes still go top right when opening a tab instead of bottom left). Vertical tabs have more readable titles, no matter how many are open. They can be collapsed to icon size to save some space. And I search through them using Cmd + Shift + A. They've also made Grouped Tabs useful again for me!
0
5
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to
For 10 years since 2014, I've been using cd, ls / tree, cat / less, ack, find. In 2025 I've decided to upgrade: zoxide, eza, bat, rg and fd. I'm also heavily using fzf to fuzzy find and preview basically anywhere: vim, shell history and filesystem.
0
0
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 2mo ago
Replying to

I have two other tmux scripts:

  • rt-list-sessions: used to display the sessions in my tmux status bar (index: name)
  • rt-switch-session: used to switch to a session by its index
  • Ctrl + Space + s + index: switch to session

Can you tell I love keybindings?

0
1
0
0
Open post
Loïc Faugeron @loicfaugeron@phpc.social
· 1w ago
Replying to

The way I see it, there are 3 methods that can be used:

  • email (requires a provider like Brevo to send emails)
  • oauth (Google, GitHub, Discord, Mastodon?)
  • passkeys (computer finger print, Face ID on phone)

Ideally I’d implement as many choices for the user, but I’m not too keen on email. The thing I’m wondering about is what would be a user’s expectation when they are asked to sign up?

0
1
0
0
Back
313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

I2P eepsite

j6b6cyk6gjmepjih7jjadxgxvvf3lzzujljuu2v4biemzpg3naya.b32.i2p

Platform

  • Email
  • Chat
  • Timeline
  • VPN
  • DNS

Company

  • About
  • Contact
  • FAQ
  • Lite (no JS)

Legal

  • Terms of Service
  • Privacy Policy
  • Transparency Report
  • Report Abuse
  • Warrant Canary
  • VPN Policy

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 04:49:14 UTC