Benjamin Rothan
banner
monitaurus.bsky.social
Benjamin Rothan
@monitaurus.bsky.social
Freelance Software Engineer (PHP, Symfony, API Platform)
Lyon, France
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 😄
October 30, 2025 at 8:12 AM
Reposted by Benjamin Rothan
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...
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...
aws.amazon.com
October 23, 2025 at 11:46 AM
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...
Be aware of the Makefile effect
blog.yossarian.net
September 30, 2025 at 10:11 AM
Reposted by Benjamin Rothan
PHPStorm always surprises me. Found I can copy code from one system, jump to another and do a diff with the clipboard!
September 28, 2025 at 5:55 PM
`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: 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.
modern-sql.com
September 23, 2025 at 3:25 PM
👀 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:
September 22, 2025 at 12:10 PM
✍️ 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-...
September 9, 2025 at 12:21 PM
Reposted by Benjamin Rothan
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.
August 31, 2025 at 1:49 PM
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.
July 24, 2025 at 10:01 AM
Reposted by Benjamin Rothan
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...
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?
marmelab.com
July 21, 2025 at 9:54 AM
Reposted by Benjamin Rothan
🚀 Kicking off the Symfony AI Initiative
➡️ https://symfony.com/blog/kicking-off-the-symfony-ai-initiative
July 11, 2025 at 11:43 AM
Reposted by Benjamin Rothan
🔥 #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! 👇🧵
July 4, 2025 at 8:29 AM
Having a CI that goes from 40 minutes to 10 minutes, thanks to dmaicher/doctrine-test-bundle, that's beautiful 🥹
June 27, 2025 at 1:27 PM
Reposted by Benjamin Rothan
🔧 @alexdaubois.bsky.social‬ and I are currently working on a new FrankenPHP "feature" that could radically change the #PHP ecosystem! Stay tuned 🔥🔥🔥
May 27, 2025 at 7:45 AM
Reposted by Benjamin Rothan
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...
May 23, 2025 at 9:30 AM
My kids first contribution to @api-platform.com.
Maybe one day they'll reach the contributors page 😄
May 22, 2025 at 6:46 AM
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!
🚀 New in Symfony 7.3: JsonStreamer Component
➡️ https://symfony.com/blog/new-in-symfony-7-3-jsonstreamer-component
May 20, 2025 at 12:24 PM
🤩 Don't know why it's not a standard to have such page like @api-platform.com: api-platform.com/resources/co...
May 20, 2025 at 9:21 AM
PHPStorm names the SQL results tab depending on the previous comment, neat 👍
May 15, 2025 at 2:03 PM
Reposted by Benjamin Rothan
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...
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.
les-tilleuls.coop
May 15, 2025 at 9:17 AM
Reposted by Benjamin Rothan
#PHP pipe operator RFC v3 currently under vote 💙

Here's a 🧵 about the history of the RFCs

bsky.app/profile/moni...
#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
May 14, 2025 at 11:50 AM
#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
May 14, 2025 at 6:44 AM
🐞 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.
April 28, 2025 at 9:22 AM
Reposted by Benjamin Rothan
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...
April 24, 2025 at 12:48 PM
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 😅
April 24, 2025 at 2:14 PM