Sign in

Benjamin Rothan

@monitaurus.bsky.social
37 followers 58 following 78 posts

Freelance Software Engineer (PHP, Symfony, API Platform) Lyon, France

PostsRepliesMedia
Reposted by Benjamin Rothan
Loïc Faugeron @loicfaugeron.bsky.social · 13/08/2026
Yes, Eclipse was good, but have you tried Vim?
a picture of Sympony, the Symfony pony plush, with solar eclipse on its head, in front of the Eclipse IDE trying to load
142
Reposted by Benjamin Rothan
AFUP @afup.org · 16/07/2026
Le secteur bouge vite. C'est exactement pour ça que le Forum PHP existe. Les 8 et 9 octobre à Disneyland Paris, retrouvez une communauté qui se pose les mêmes questions que vous, et qui vient chercher des réponses concrètes, pas des grandes tendances. event.afup.org
FRANKENPHP & WORKER MODE :
MON APPLICATION SYMFONY
EST-ELLE VRAIMENT PRÊTE ?
Kévin MARTINSZERO TRUST : POURQUOI (ET
COMMENT) CHIFFRER VOS
DONNÉES AVANT DE LES ENVOYER
AU SGBD
Benjamin GEORGEAULTL'IA DANS L'IMAGE : LA MORT DU RÉEL OU LE MOMENT QU'ON ATTENDAIT TOUTES ET TOUS ?
Niels ACKERMANNAVANT QUE PHP N'EXÉCUTE TON PREMIER ECHO : CE QUE LA COUCHE
RÉSEAU COÛTE VRAIMENT
Nicolas PERUSSEL
031
Reposted by Benjamin Rothan
Packagist @packagist.com · 07/07/2026
📌 Stable versions on Packagist are now immutable. Once published, the commit a version points to can no longer change. Retags are blocked, and deleted versions are tracked with a reason and recoverable. blog.packagist.com/immutable-v... #php #phpc #composerphp
01110
Reposted by Benjamin Rothan
Jérémy DECOOL @jdecool.bsky.social · 30/06/2026
🇫🇷 Igor PHP : détectez les fuites de cache en worker mode lecodeestdanslepre.fr/billets/igor-…
021
Reposted by Benjamin Rothan
Antoine Bluchet @soyuka @soyuka.me · 27/06/2026
@dunglas.dev and I just published a preprint on exposing Hypermedia APIs to LLM agents via a Dynamic Gateway Architecture Thanks @p20n.w3c.social.ap.brid.gy for depositing this work hal.science/hal-05630480
hal.science
Making sure you're not a bot!
174
Reposted by Benjamin Rothan
Allen Holub @allenholub.bsky.social · 18/06/2026
When programmers talk about how productive they are with AI, they tend to forget that they are working for businesses, where the only metric that matters is profit, and where the behavior of the overall system of work is the important thing, not the behavior of one small part of it. 1/5
2222
Reposted by Benjamin Rothan
Loïc Faugeron @loicfaugeron.bsky.social · 18/06/2026
Usually an article looking AI written is off-putting (to me) for several reasons: the uncanny-valley effect (words make sense, be would never have been put together by a human, so sound weird), too pattern driven (frequent lists of 3, lots of repetition), lack of trust (has it been verified?) etc
011
Benjamin Rothan @monitaurus.bsky.social · 17/06/2026
Interesting survey. I don't care if it was AI assisted / authored. Tbh I'll be surprised today if AI isn't involved a bit, like just to have a kind of neutral feedback. I'll care if the author delegates it's thinking and forgetting who's the target, hiding the real value behind a pile of slop.
210
Reposted by Benjamin Rothan
Antoine Bluchet @soyuka @soyuka.me · 12/06/2026
API Platform skills are now publicly available! github.com/api-platform...
github.com
GitHub - api-platform/skillset: API Platform agent skills
API Platform agent skills. Contribute to api-platform/skillset development by creating an account on GitHub.
042
Reposted by Benjamin Rothan
JoliCode @jolicode.com · 10/06/2026
Comment mettre en place un attribut PHP personnalisé sur un contrôleur Symfony ? 🎯 C'est ce que nous vous présentons dans notre dernier article 🆕 Cerise sur le gâteau, de Symfony 6.2 à 8.2, les exemples évoluent ! jolicode.com/blog/commen... #symfony #post #php #tips
jolicode.com
Comment utiliser les attributs PHP sur un contrôleur Symfony ?
PHP 8.0 a introduit les attributs, et c'est une excellente fonctionnalité ! Le code devient plus lisible, plus simple à écrire, et bénéficie pleinement de la coloration syntaxique et du linting
043
Reposted by Benjamin Rothan
Loïc Faugeron @loicfaugeron.bsky.social · 09/06/2026
Composer and Packagist need business sponsors to sustain themselves. There are also other actions we, individuals, can take to help. #PHPverse
002
Reposted by Benjamin Rothan
Antoine Bluchet @soyuka @soyuka.me · 04/06/2026
🔒 API Platform CVE-2026-49858: JSON:API & HAL normalizers cached components across users on long-running runtimes (FrankenPHP, RoadRunner, Swoole). Patched in 4.1.29 / 4.2.25 / 4.3.8 — upgrade now. github.com/api-platform...
github.com
Cross-user attribute leak in JSON:API and HAL item normalizers due to missing isCacheKeySafe gate
### Impact `#[ApiProperty(security: ...)]` is evaluated per request to decide whether a property is exposed. The `componentsCache` arrays in `ApiPlatform\JsonApi\Serializer\ItemNormalizer` and `Ap...
076
Benjamin Rothan @monitaurus.bsky.social · 01/06/2026
Being able to vibe code custom workflow tooling in minutes feels so nice😌
A set of buttons added on Github by a vibe coded extensions that allow to expand all files or mark them all as viewed.
000
Reposted by Benjamin Rothan
Frédéric Bouchery @bouchery.fr · 27/05/2026
I'm Becoming a Markdown Developer: f2r.github.io/en/markdown-...
f2r.github.io
I'm Becoming a Markdown Developer
I've been coding since 1983. Today, my primary tool isn't an IDE — it's a Markdown file. That's not surrender; it's moving up an abstraction level. And strangely, I've never felt more like I'm actually doing my job as a developer.
152
Reposted by Benjamin Rothan
Brent @stitcher.io · 28/05/2026
There's a new RFC for generics in PHP. These are my thoughts about it: www.youtube.com/watch?v=4wpW...
youtube.com
The final boss. Generics in PHP
YouTube video by PHP Annotated
032
Benjamin Rothan @monitaurus.bsky.social · 29/05/2026
👀 That's the most useful thing found this year to enhance my tech watch process. For non native speaker, watching tech videos could be difficult. @obsidian.md Web Clipper Reader view allows follow the transcript and coming back easily on terms while the video is playing. 🫶
A screenshot of the bottom part of Obsidian Reader in a video view showing options to highlight the active line, auto scroll on the transcript and showing a cursor on the left part.
070
Benjamin Rothan @monitaurus.bsky.social · 28/05/2026
Nice, @packagist.com gets a list of flagged versions as malware from @aikidosecurity.bsky.social which allows the new composer 2.10 to block any install or update and fails the audit. 👏
011
Benjamin Rothan @monitaurus.bsky.social · 23/04/2026
Je lis un blog post sur les Dotfiles, jusqu'à que: > Voici quelques exemples de **fichiers de points** les plus couramment utilisés. ... Je ne lis plus un blog post sur les Dotfiles.
000
Reposted by Benjamin Rothan
Loïc Faugeron @loicfaugeron.bsky.social · 25/03/2026
Turn your PHP app into a standalone binary. No PHP interpreter, Composer, etc needed on the target machines! It's actually surprisingly quite simple: 1. Box: makes a phar 2. concat with micro.sfx from static-php-cli Done! Read more about it here: gnugat.github.io/2026/03/25/t... #PHP
Screenshot of the build script. The code snippet can be found in the article.
253
Reposted by Benjamin Rothan
Loïc Faugeron @loicfaugeron.bsky.social · 25/01/2026
#PHP is undead whyphp.dev
whyphp.dev
Why PHP in 2026? It's Actually Insanely Good Now
PHP is actually insanely good now. TypeScript-level types, no build steps, immutability via readonly, enums, and more. Just write code and deploy.
031
Reposted by Benjamin Rothan
AFUP @afup.org · 07/01/2026
Devs de Lyon et des environs, on compte sur vous pour répondre à l'appel de l'AFUP Day 2026 Lyon ! Avec une sélection pareille, la journée s’annonce dense, variée et résolument tournée vers l’excellence. Rendez-vous à CPE le vendredi 22 mai, prenez vos places dès maintenant ! buff.ly/UtcubAQ
Trombinoscope des speakers de l'AFUP Day 2026 Lyon
032
Benjamin Rothan @monitaurus.bsky.social · 05/01/2026
🐶 Found out that Bruno released OpenCollection, which compete with Postman runnable collections: - plain yaml describing interactions across APIs - runnable using Bruno, CLI, CI/CD, ... - variables to switch env - with tests and assertion opencollection.com 👀
opencollection.com
OpenCollection - Open Specification for API Collections
OpenCollection - Open Specification for API Collections
100
Benjamin Rothan @monitaurus.bsky.social · 30/12/2025
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-...
An inputs validation in PHP, using isset, is_float, in_array and is_int in a if, then an array extraction of variables. The same validation, using the PHP Pattern Matching RFC, where there's no calling to any methods, just using the rules given by the RFC.
001
Reposted by Benjamin Rothan
Loïc Faugeron @loicfaugeron.bsky.social · 20/11/2025
I'm really impressed with the official "What's new in PHP 8.5" page (today's the release of #PHP 8.5 btw!). It's very well made, great job! www.php.net/releases/8.5...
133
Benjamin Rothan @monitaurus.bsky.social · 30/10/2025
Launching a Deep Research trying to understand Gemini's products billing and subscription, first sentence is: > The proliferation of Google's "Gemini" brand across a wide array of products has created a complex and often misunderstood ecosystem. At least it's not biased 😄
000
Reposted by Benjamin Rothan
Pascal MARTIN 😶‍🌫️ @pascal-martin.fr · 23/10/2025
Mon première article sur le Blog #AWS France 🎉 🏦 J’y partage comment, chez Bedrock Streaming, nous optimisons nos couts AWS — en allant bien plus loin que les traditionnelles réservations 💪 aws.amazon.com/fr/blogs/fra...
aws.amazon.com
Comment Bedrock Streaming optimise ses couts AWS | Amazon Web Services
L’optimisation des coûts d’hébergement AWS représente un défi majeur pour les entreprises de streaming vidéo et d’hébergement d’API. Cette problématique s’intensifie avec l’augmentation constante du t...
051
Benjamin Rothan @monitaurus.bsky.social · 30/09/2025
Copy/pasting Makefile all over again across services, and tweaking rules to fit needs. Totally relatable 😅 I like the questions at the end: - Does it need to be configurable? - Does it need syntax of its own? blog.yossarian.net/2025/01/10/B...
blog.yossarian.net
Be aware of the Makefile effect
010
Benjamin Rothan @monitaurus.bsky.social · 23/09/2025
`WHERE field != 'value'` may not include values with `NULL` in the results. This is due to SQL's "Three Valued Logic", which considers a comparison with NULL, such as `NULL != 'value'`, as neither `true` or `false`, but `uknown`. More on the subject: modern-sql.com/concept/thre...
modern-sql.com
Modern SQL: Three-Valued Logic (3VL) — Purpose, Benefits and Special Cases
Making decision despite missing SQL data (NULL): How to avoid OR…IS NULL in the WHERE clause.
011
Benjamin Rothan @monitaurus.bsky.social · 22/09/2025
👀 I just found out that Slack has a way to filter messages on which I reacted with an emoji. So I can notify people that I saw the message, with an eye emoji or a loading one, and then come back to it later with this in the search bar: hasmy::eyes:
010
Benjamin Rothan @monitaurus.bsky.social · 09/09/2025
✍️ A nice image to quickly know how to write simple and easy to understand docs. Reminds me of the paramedic method. Funny enough, it comes from this post, by @theletterf.bsky.social, warning against using AI to generate docs: passo.uno/whats-wrong-...
A document showing highlighted text and annotations, critiquing technical writing for jargon, passive voice, and unnecessary words. Examples include 'Utilizing' instead of 'Use,' 'Marketing Smell!' on descriptive phrases, and 'Useless Adverb!' on 'incredibly versatile!'
110
Reposted by Benjamin Rothan
Gergely Orosz @gergely.pragmaticengineer.com · 31/08/2025
I think in the tech industry we tend to forget how connected VC investment and interest rates are. Especially that despite high interest rates, there is a LOT of investment in AI. Outside AI: not much. This is unlikely to change until rates don't change.
3283
Benjamin Rothan @monitaurus.bsky.social · 24/07/2025
Found out that asking an AI LLM to refactor a code could be more helpful to understand it than just asking for an explanation. Explanation will have to include parts of the code that are not essential or misguiding, as refactor will try to rework them for a better understanding.
000
Reposted by Benjamin Rothan
François Zaninotto @francoisz.bsky.social · 21/07/2025
Imagine a phone that draws its own interface, just for you. We built a proof-of-concept OS that ditches app silos for a truly generative UI. It's controlled by voice or text and handles links, images, and navigation on the fly. marmelab.com/blog/2025/07...
marmelab.com
Thumbless OS: What If AI Was Generating The UI?
We built a proof-of-concept of a new mobile OS based on a LLM, where the notion of application disappears and the UI adapts to the current task. Is it the future of computer UX?
231
Reposted by Benjamin Rothan
Symfony @symfony.com · 11/07/2025
🚀 Kicking off the Symfony AI Initiative ➡️ symfony.com/blog/kicking-off-the-sy…
22219
Reposted by Benjamin Rothan
Alexandre Daubois @alexdaubois.bsky.social · 04/07/2025
🔥 #PHP 8.5 first #alpha version has been released and it's packed of incredible features you don't know yet. @thephpf.bsky.social is delivering yet another awesome release. Here are 10 curated features, a couple you may have heard of, and many more I'm sure you'll discover here! 👇🧵
1128
Benjamin Rothan @monitaurus.bsky.social · 27/06/2025
Having a CI that goes from 40 minutes to 10 minutes, thanks to dmaicher/doctrine-test-bundle, that's beautiful 🥹
000
Reposted by Benjamin Rothan
Kévin Dunglas @dunglas.dev · 27/05/2025
🔧 @alexdaubois.bsky.social‬ and I are currently working on a new FrankenPHP "feature" that could radically change the #PHP ecosystem! Stay tuned 🔥🔥🔥
4145
Reposted by Benjamin Rothan
Les-Tilleuls.coop @les-tilleuls.coop · 23/05/2025
Nous l'annoncions la semaine dernière : le projet #FrankenPHP est désormais officiellement supporté par La PHP Foundation. Son code source va être transféré dans le dépôt GitHub de #PHP, la gouvernance du projet ne change pas. Communiqué : les-tilleuls.coop/blog/franken...
042
Benjamin Rothan @monitaurus.bsky.social · 22/05/2025
My kids first contribution to @api-platform.com. Maybe one day they'll reach the contributors page 😄
152
Benjamin Rothan @monitaurus.bsky.social · 20/05/2025
I saw the AFUP Day Lyon 2024 talk by @mtarld.bsky.social one year ago and was amazed by the JsonStreamer, glad to see it released, well done👏 Can't wait to update my stack to test it!
011
Benjamin Rothan @monitaurus.bsky.social · 20/05/2025
🤩 Don't know why it's not a standard to have such page like @api-platform.com: api-platform.com/resources/co...
A colouring page of Webby, mascot of API Platform.
064
Benjamin Rothan @monitaurus.bsky.social · 15/05/2025
PHPStorm names the SQL results tab depending on the previous comment, neat 👍
020
Reposted by Benjamin Rothan
Kévin Dunglas @dunglas.dev · 15/05/2025
FrankenPHP is now officially supported by the PHP Foundation, the project repository will be moved to the PHP organization on GitHub, and the collaboration between the PHP project, the Caddy web server, and @les-tilleuls.coop will intensify even further! les-tilleuls.coop/en/blog/fran...
les-tilleuls.coop
FrankenPHP is now officially supported by the PHP Foundation | Les-Tilleuls.coop
The FrankenPHP project is now officially supported by the PHP Foundation to simplifiy the PHP development experience.
79937
Reposted by Benjamin Rothan
Loïc Faugeron @loicfaugeron.bsky.social · 14/05/2025
#PHP pipe operator RFC v3 currently under vote 💙 Here's a 🧵 about the history of the RFCs bsky.app/profile/moni...
112
Benjamin Rothan @monitaurus.bsky.social · 14/05/2025
#PHP on a good way to get a pipe operator with: wiki.php.net/rfc/pipe-ope... A way to chain callable, passing results from left to the first argument on right, like a bash pipe operator. It eases reading code compared to callbacks, and less error-prone than temp vars. See below ⬇️ 1/4
A code snippet showing how to use the new PHP pipe operator from the v3 RFC.

function getUsers(): array {
    return [
        new User('root', isAdmin: true),
        new User('john.doe', isAdmin: false),
    ];
}
 
function isAdmin(User $user): bool {
    return $user->isAdmin;
}
 
// This is the new syntax.
$numberOfAdmins = getUsers()
    |> fn ($list) => array_filter($list, isAdmin(...)) 
    |> count(...);
 
var_dump($numberOfAdmins); // int(1);
122
Benjamin Rothan @monitaurus.bsky.social · 28/04/2025
🐞 Find out, our Behat tests suite was configured using tags. So a typo on this tag in a feature file and the whole file is ignored. Difficult to spot, when you've got hundred of files. So better idea here, using paths, so we don't miss any file.
000
Reposted by Benjamin Rothan
Loïc Faugeron @loicfaugeron.bsky.social · 24/04/2025
Fun fact: the TestDox attribute allows you to override what's written there. It's main use to me is to combine it with DataProvider: test method parameters can then be used as placeholders, which will be replaced in --testdox with the values from the data provider. docs.phpunit.de/en/12.0/attr...
Code example, extracted from PHPUnit's doc.
111
Benjamin Rothan @monitaurus.bsky.social · 24/04/2025
So it's not mandatory to specify a variable name to catch an exception in #PHP? 😮 Feel kind of dumb to find such tiny tips now 😅
A try catch in php showing that's not mandatory to specify a variable name in the catch clause.
132
Benjamin Rothan @monitaurus.bsky.social · 23/04/2025
📖Found this in The Design of Everyday Things by Don Norman: "Getting the specification ... is one of the most difficult parts of the design ... to avoid specifying the problem as long as possible but instead to iterate upon repeated approximations" Reminds me of something 🤔... agile
Cover of the book The Design of Everyday Things revised and expanded edition by Don Norman
110