David Négrier's Avatar

David Négrier

@david-negrier

WorkAdventure CTO, ex TheCodingMachine cofounder and CTO. My Bluesky avatar is all about PHP, JS, Typescript, WebRTC and web development in general. Open-source contributor and PSR-11 co-editor.

68
Followers
166
Following
50
Posts
19.11.2024
Joined
Posts Following

Latest posts by David Négrier @david-negrier

Preview
We mourn our craft I didn’t ask for this and neither did you. I didn’t ask for a robot to consume every blog post and piece of code I ever wrote and parrot it back so that some hack could make money off o…

feeling this one today

02.03.2026 18:45 👍 177 🔁 39 💬 7 📌 12

rip bozo innerHTML

24.02.2026 14:29 👍 61 🔁 3 💬 1 📌 0
Video thumbnail

i built an entire x86 CPU emulator in CSS (no javascript)

you can write programs in C, compile them to x86 machine code with GCC, and run them inside CSS

lyra.horse/x86css/

24.02.2026 02:23 👍 2608 🔁 875 💬 130 📌 158
Preview
a man with a beard says go back to the shadow . ALT: a man with a beard says go back to the shadow .

Thou shall not commit node_modules!

17.02.2026 16:57 👍 4 🔁 0 💬 0 📌 0
Terminal output of Vitest's test run results. The results contain error message of asynchronous resource leaking. Code block pointing to a fetch call that is missing await.

Terminal output of Vitest's test run results. The results contain error message of asynchronous resource leaking. Code block pointing to a fetch call that is missing await.

In the next version of Vitest you can track leaking asynchronous resources via `--detect-async-leaks` option! Available in v4.1.0-beta.4 release. 🔍
(notice missing await in the example)

16.02.2026 12:50 👍 72 🔁 11 💬 2 📌 0
Post image

Just discovered "Annotator", a Linux app to annotate screenshots... actually THE Linux app I'd been looking for for many years. Super sleak, does the job.

23.01.2026 15:09 👍 2 🔁 1 💬 0 📌 0
Preview
A Social Filesystem — overreacted Formats over apps.

formats over apps

18.01.2026 07:05 👍 765 🔁 183 💬 63 📌 81

Are you a people pleaser who doesn't know how to say no?
I present to you No as a service: an API that returns a random rejection reason

Test is: naas.isalman.dev/no
Check the GitHub repository : github.com/hotheadhacke...

16.01.2026 08:00 👍 80 🔁 27 💬 3 📌 12

We added a fixer for unused imports to no-unused-vars! By default it's a suggestion fixer - but you can swap it to an autofixer (for autofix-on-save or --fix).

Please try it out today!

13.01.2026 07:20 👍 19 🔁 1 💬 0 📌 0

Holy moly! 😱

03.01.2026 14:00 👍 0 🔁 0 💬 0 📌 0
Affiche du film « Christmas Twister » montrant une tornade en flamme dévastant une ville côtière.

Affiche du film « Christmas Twister » montrant une tornade en flamme dévastant une ville côtière.

« Une tornade trentenaire et célibataire, engagée dans une carrière intense d’avocate d’affaires à Chicago, rentre pour les fêtes dans la petite ville d’Oklahoma où elle a grandi et croise la route d’un volcan aussi rustique que séduisant… »

31.12.2025 13:26 👍 132 🔁 29 💬 5 📌 0

Your TypeScript year in review

You "silenced" 417 errors with `as any` that turned into runtime errors as soon as the code ran

TypeScript printed 4,693 error messages. 26 of them made sense

You spent 98 minutes waiting for tsc to run. During this time you spent 544 minutes reading social media

30.12.2025 01:59 👍 182 🔁 17 💬 4 📌 0
Preview
The 2025 Matrix Holiday Special Matrix, the open protocol for secure decentralised communications

It’s the 2025 Matrix Holiday Special!! Come read all about what went right and what went wrong in 2025 and what the future holds for 2026. Thanks for flying Matrix, and happy holidays! 🎄☃️⛷️🦑 matrix.org/blog/2025/12...

24.12.2025 17:50 👍 11 🔁 6 💬 0 📌 0

I understand they can charge a fee to connect to your runner, but 0.002 USD/minute... that's 0.12 USD/hour. It's HUGE! A t3.xlarge instance at AWS (4 CPU, 16GB RAM) costs 0.16 USD/hour. The fee is almost as pricey as the machine itself!!! (or way more pricey if you host your runner at Hetzner !) 😱🤯

17.12.2025 11:32 👍 0 🔁 0 💬 1 📌 0
Preview
The Inevitable Evolution of the Developer Role For years, being a good developer meant one thing above all else: writing good code.

Je viens de publier un article sur l’évolution du métier de dev, cela fais suites à quelques réflexions que j’ai eu après des discussions sur ce sujet.

smaine-milianni.medium.com/the-inevitab...

14.12.2025 19:41 👍 7 🔁 3 💬 0 📌 0

Hey! Look at the bright side! At least, no SQL injection. Legacy code is code that survived 😋.
And you are so lucky not to have an infamous "each()" call in there 🤣

11.12.2025 20:07 👍 1 🔁 0 💬 1 📌 0
Preview
Progress on TypeScript 7 - December 2025 - TypeScript Earlier this year, the TypeScript team announced that we’ve been porting the compiler and language service to native code to take advantage of better raw performance, memory usage, and parallelism. Th...

We've got some updates on TypeScript 7! The new native port

- can type-check any project
- supports --build and --incremental
- has rich editor features implemented
- is still 10x faster

and is ready for you to try today!

devblogs.microsoft.com/typescript/p...

02.12.2025 17:48 👍 249 🔁 57 💬 5 📌 10
Preview
How Chrome 142+ broke the local scripting workflow and how we fixed it | WorkAdventure Chrome 142 introduced new protections against local network attacks. For most apps, that change is barely noticeable. For us, it broke a very specific, very common local development workflow.

Chrome 142 introduced a breaking change in the way to handles content coming from localhost. It turns out I'm relying a lot on this with WorkAdventure (to run local map test servers).

It took most of my time last week, so I wrote a blog post to share the knowledge!
workadventu.re/tech/how-chr...

01.12.2025 16:57 👍 3 🔁 0 💬 0 📌 0
Preview
old man yells at cloud is written on a newspaper Alt: old man yells at cloud is written on a newspaper

My boomer trait is that I think it's ridiculous that I have to create an account for a corporation to play a video game I've already bought and installed on a separate platform.

Today is Red Dead and Rockstar on steam.

Before that it was AC Valhalla and Ubisoft on PS5.

It's bullshit

24.11.2025 15:59 👍 972 🔁 72 💬 70 📌 4
Preview
Strengthening npm security: Important changes to authentication and token management - GitHub Changelog As part of our ongoing commitment to securing the npm ecosystem, we’re implementing the first phase of security improvements outlined in our recent announcement. These changes will roll out over…

The npm portal has revamped its user authentication tokens.

New tokens will have a default life of seven days (instead of 30), which can be updated to a maximum lifespan of 90 days (previously unlimited).

The changes are going live this month.

github.blog/changelog/20...

19.11.2025 00:34 👍 9 🔁 3 💬 0 📌 0

If you do, I wonder how quick the agents will take to use this setting natively! That could give a good idea on the time they take to refresh the models 🤔

31.10.2025 16:54 👍 1 🔁 0 💬 0 📌 0
Castor Version 1

Castor Version 1

Nous profitons du #ForumPHP de l'AFUP pour fêter la première version stable de Castor 🦫 !

Notre task runner full PHP sort en version 1.0 aujourd'hui 🎉

Utilisateurs de Makefile, de scripts shell spaghetti ou pire, nous vous conseillons cette lecture 😉 jolicode.com/blog/le-tas...

10.10.2025 12:28 👍 12 🔁 6 💬 1 📌 0

👏👏👏👏👏🙆‍♂️

27.09.2025 17:20 👍 1 🔁 0 💬 0 📌 0
PHP Forever (The Dev Rap Music Anthem)
PHP Forever (The Dev Rap Music Anthem) YouTube video by nunomaduro

php forever / the dev rap music anthem.

listen here: youtu.be/iStPaL3tJOM?...

27.09.2025 16:39 👍 6 🔁 2 💬 2 📌 0
Preview
GitHub - dunglas/frankenphp-grpc: A PHP extension to write gRPC servers using the official gRPC library written in Go A PHP extension to write gRPC servers using the official gRPC library written in Go - GitHub - dunglas/frankenphp-grpc: A PHP extension to write gRPC servers using the official gRPC library writt...

Just released during my keynote at API Platform Con: a new FrankenPHP extension bringing native gRPC server support to PHP! 🚀

The code is live now, but please note it currently requires the main branch of FrankenPHP: github.com/dunglas/fran...

18.09.2025 12:20 👍 13 🔁 2 💬 0 📌 1
Preview
Reload Clicker 🔄 incremental game A most refreshing browser experience.

🔄 NEW THING 🔄
We set out to make the daftest browser game ever; did we succeed?
The final upgrade is where the FULL HORROR becomes apparent
vole.wtf/reload-click...

04.09.2025 09:31 👍 51 🔁 20 💬 5 📌 8
An altered version of the XKCD's Compiling strip:

Title: "The #1 programmer excuse for legitimately slacking off"
We can see a corridor, a door leading to an office on the left, from inside this room, someone is saying "Hey! Get back to work!".
Two people are in the corridor, playing with office chairs and swords, and one of them answers "AI is coding".
The first person from inside the office answers back "Oh. Carry on."

An altered version of the XKCD's Compiling strip: Title: "The #1 programmer excuse for legitimately slacking off" We can see a corridor, a door leading to an office on the left, from inside this room, someone is saying "Hey! Get back to work!". Two people are in the corridor, playing with office chairs and swords, and one of them answers "AI is coding". The first person from inside the office answers back "Oh. Carry on."

I don't know if it's been made already, but here it is.

07.09.2025 11:47 👍 1 🔁 1 💬 0 📌 0

True. In that regard, Javascript really cares about backward compatibility more than any other language ("don't break the web!"), but the ecosystem around Javascript really can't be ignored.

23.08.2025 19:53 👍 1 🔁 0 💬 1 📌 0

Just spent the last 3 days fixing code after a "npm update" on minor versions. The last one was maybe one year ago.
The JS ecosystem is just dreadful.

23.08.2025 15:20 👍 0 🔁 0 💬 1 📌 0
Preview
Email is Easy Everyone knows what an email address is, right?

I scored 13/21 on e-mail.wtf and all I got was this lousy text to share on social media.

20.08.2025 10:17 👍 1 🔁 0 💬 0 📌 0