François Best
@francoisbest.com
1.2K followers 420 following 1.1K posts
Freelance web developer, open-sourcerer, speaker. Building `nuqs`, a type-safe search params state manager for React frameworks: 🔗 https://nuqs.dev 🦋 @nuqs.dev 🎥 youtube.com/@47ng-dev 🟣 twitch.tv/fortysevenfx 🏠 francoisbest.com
Posts Media Videos Starter Packs
francoisbest.com
Well ngl, LLM hallucination-driven API design can sometimes give some nice ideas.

But this is just comical.
Very bad React code generated by an LLM that has no idea how useEffect works.
francoisbest.com
Also lol at the completely unrelated og:image 🙃
francoisbest.com
I spent 5 minutes reading an article about @nuqs.dev, it felt like AI-written initially, and then it predictably spiralled into hallucinated APIs & slop at its finest.

What's the point, seriously? More LLMs are going to feed-back on this slop. I hope to think humans have better judgement.
francoisbest.com
And I forgot that @biomejs.dev is still reticent to sorting @tailwindcss.com classes as part of the formatter 😓
francoisbest.com
I feel your pain. 😓
Git log (most recent first)
chore: remove prettier check step
chore: replace eslint with biome
chore: gaaah
chore: explicit path to eslint
chore: alias eslint bin
francoisbest.com
I feel your pain. 😓
Git log (most recent first)
chore: remove prettier check step
chore: replace eslint with biome
chore: gaaah
chore: explicit path to eslint
chore: alias eslint bin
francoisbest.com
Congratulations² Andrew!
francoisbest.com
Happy πthon day! 🐍
simonwillison.net
Python 3.14 is out today! Here are my notes on the new release: simonwillison.net/2025/Oct/8/p...

If you're an open source library maintainer who supports all current Python releases this also means you can drop 3.9 support now and start depending on features from 3.10, like match/case
Python 3.14
This year's major Python version, Python 3.14, just made its first stable release! As usual the what's new in Python 3.14 document is the best place to get familiar with …
simonwillison.net
francoisbest.com
Ah yeah I forgot about that thing.

Would you like to open a PR? 😁
francoisbest.com
Compressing a 30 min talk into 25 min is much harder than I thought..

Going to have to start from scratch for @reactadvanced.gitnation.org (which is 20min), and go deeper, faster.
francoisbest.com
I was watching @ricky.fm's interview in @syntax.fm and I had the same reaction!

The devtools are so cool, I found a screenshot of custom tracks I had made for @nuqs.dev back in April, but I haven't kept the code 😭
Chrome devtools showing React Performance Tracks (preview), and a custom track called "nuqs tq" (for throttle queue).
francoisbest.com
I need to sort that out.. 😓
francoisbest.com
I think my internet is too fast 😅

Try to log in if you have an account? Seemed to work for some folks.
Stream health
Bitrate 6Mb/s UNSTABLE
francoisbest.com
Oh dear, I haven't kept up with local 🇫🇷 politics, apparently we lost another PM after *checks notes* 14 hours into office.

What a mess 😅
francoisbest.com
🟣 I'll be live on Twitch this afternoon, preparing my slides & rehearsing for @nextjs.org conf.

👀 If you want a sneak peek, come hang out! 👋

3pm CEST, link in bio.
francoisbest.com
Agreed. And make it consistent across web & mobile.
francoisbest.com
And this is my favourite part:

You can set the tab width on the GitHub web UI with the ?ts={width} search param.

URL state FTW 🙌
darderp • 6y ago 
Using ?ts=<value> on github works even if there's a .editorconfig file present. All that file does is set the default.
Reposted by François Best
nuqs.dev
nuqs @nuqs.dev · 2d
📦 [email protected] is out! 🚀

Two rapid-fire PRs by @tkdodo.eu 🔥

- Fixed a bug with MultiParsers & history: push
- Prevent a re-render when doing setState(x => x) (same reference) in useQueryStates

Try it out: pnpm add nuqs@latest
npm i, {pnpm,yarn,bun} add nuqs@latest
Reposted by François Best
tkdodo.eu
🗣️ My talk "Decluttering Sentry - One Knip at a Time" from @react-prague.bsky.social is now available on YouTube

✂️ This is a real-life story (with ups and downs) about how we used knip by @webpro.nl at @sentry.io to delete 20k lines of unused code and now run it in CI so it never happens again 🎉
Decluttering Sentry: One Knip at a Time | Dominik Dorfmeister
YouTube video by React Prague
www.youtube.com
francoisbest.com
TIL you can feature-detect require(esm)
// To feature-detect require(esm) and fall back accordingly
import process from 'node:process';
if (!process.features?.require_module) {
// require(esm) is not available, do something less fancy
}