Oliver Ash
oliverjash.me
Oliver Ash
@oliverjash.me
Head of Web at Unsplash
Reposted by Oliver Ash
VS Code pro-tip: check the `@id:chat.disableAIFeatures` setting.

(It’s more getting in the way than helping me, so better to just get rid of it all together)
November 6, 2025 at 3:54 PM
Reposted by Oliver Ash
Some birdy (thanks @tunetheweb.com) told me that Chrome supports split views behind a flag. 😲 Good stuff!

chrome://flags#side-by-side
November 2, 2025 at 3:16 PM
Reposted by Oliver Ash
#PerfNow request throttling is behind a flag in Canary right now, you can enable it in chrome://flags. But please be aware it's not fully feature complete yet and still being worked on! However it is coming to Chrome stable in the future 🙂
October 30, 2025 at 2:44 PM
Reposted by Oliver Ash
I am looking for a full-time job.

Being independent in open source for 3.5+ years has been wonderful. I've gotten done most of the high-level goals I wanted to, and miss having people & structure around me.

If you know of a role for a staff-level TypeScript+web developer, let me know! 🙂
October 30, 2025 at 2:40 PM
Reposted by Oliver Ash
There’s a new type of CSS scroll-state query coming: “scrolled”.

This one remembers the last direction you scrolled into, which you can use to build “hidey bars”: when scrolling down (or having scrolled down), the hidey bar hides itself. When then scrolling back up, the hidey bar reveals itself.
October 22, 2025 at 4:48 PM
Reposted by Oliver Ash
Yeah everyone is hearing about AI in the workplace right now, and everyone has coworkers or bosses that have fallen for the hype of AI

Take a moment to realize how little it’s actually changed the work that needs to be done. How things are progressing largely at the same pace they always have
October 25, 2025 at 5:50 PM
Reposted by Oliver Ash
I think we all know better than to use an accessibility overlay because they are complete rubbish, but that doesn’t stop stakeholders asking to cheat with one.

This fact sheet will give you the facts to rightly, fight back.

overlayfactsheet.com/en/
Overlay Fact Sheet
An open letter about accessibility overlays.
overlayfactsheet.com
October 21, 2025 at 3:04 PM
Reposted by Oliver Ash
✨ New post

There is a lot of chatter about the CSS resets recently. Here is my take. Enjoy 🫶

“The CSS Reset, again”

pawelgrzybek.com/the-css-rese...

#css
The CSS Reset, again | pawelgrzybek.com
Apparently you are not a real CSS dev if you don’t maintain your own CSS reset. Challenge accepted! Not a typical reset, but for sure a bunch of opinions.
pawelgrzybek.com
October 18, 2025 at 1:00 PM
Reposted by Oliver Ash
⚛️ReactConf once again mentioned concurrent stores. What if I tell you, we have concurrent external stores today? (kinda)

My latest blog post explains:
👉 How to to pair `useSyncExternalStore` with `useDeferredValue` (and `useMemo`)
⚡ Why this can improve UX & INP during hydration
October 17, 2025 at 4:15 PM
Can anyone explain this behaviour with `useEffectEvent`? I'm seeing stale closures which I thought should never happen?

stackblitz.com/edit/github-...
Remix-run - React Router Templates - StackBlitz
Run React Router Templates Minimal created by Remix Run on StackBlitz
stackblitz.com
October 11, 2025 at 8:07 PM
@ricky.fm 👋 Hey Ricky, loved your talk! Is there somewhere I can find the demo code to play around?
October 11, 2025 at 1:34 PM
Reposted by Oliver Ash
AI coding sucks

CJ just one-shotted a 15 min rant and it's incredibly refreshing.

www.youtube.com/watch?v=0ZUk...
AI Coding Sucks
YouTube video by Syntax
www.youtube.com
October 9, 2025 at 4:33 PM
Reposted by Oliver Ash
We’ll get there 😂
October 9, 2025 at 12:53 PM
@en-js.bsky.social 👋 Do you know what changed between babel-plugin-react-compiler 19.1.0-rc.3 and 1.0.0? I can't find a changelog anywhere… I'm asking because our bundle size has increased again and I'd like to understand why (presumably better memoization).
October 9, 2025 at 12:22 PM
I'm trying to combine React Actions + useOptimistic + React Query but I'm seeing some odd behaviour. What's going on here?

I suspect it's because React Query uses useSyncExternalStore. Does that mean it's incompatible with Actions?

codesandbox.io/p/sandbox/re...

cc @tkdodo.eu @ricky.fm
October 8, 2025 at 11:42 PM
Reposted by Oliver Ash
Reposted by Oliver Ash
Last week, I had the immense honor of speaking at one of my favorite events, @beyondtellerrand.com. (🤯)

My talk “Painting With the Web” is now available on YouTube. I hope you like it! 🤗💚

www.youtube.com/watch?v=1Pq7...
Matthias Ott – Painting With the Web – beyond tellerrand Düsseldorf 20025
YouTube video by beyond tellerrand
www.youtube.com
May 16, 2025 at 11:52 AM
Reposted by Oliver Ash
Saving lives, saving you money, improving the flow of traffic, there’s no downside to switching to 20mph default limit.
It would be great if we could take a whole country and change the default speed limit to 20mph and then compare it to one left at 30mph. What if it reduced casualties by 25% and with lower risk reduced insurance premiums by £45 a year? Well it did! bit.ly/4gIBPlJ
October 5, 2025 at 7:58 AM
Reposted by Oliver Ash
My talk from #nextjsconf is available on YouTube!

www.youtube.com/watch?v=CvAy...
React Server Components: Elevating speed, interactivity, and user experience (Aurora Scharff)
YouTube video by Vercel
www.youtube.com
November 2, 2024 at 8:02 PM
Reposted by Oliver Ash
This is by some distance the best thing I've seen about the effects, good and bad, of using AI in a large and complex organisation
October 3, 2025 at 4:20 PM
Reposted by Oliver Ash
React 19.2 is now available!

This release includes Activity, useEffectEvent, React Performance Tracks, partial pre-rendering, and more:

react.dev/blog/2025/10...
React 19.2 – React
The library for web and native user interfaces
react.dev
October 1, 2025 at 9:49 PM
Reposted by Oliver Ash
Politics isn't manipulation and backstabbing. It's understanding how decisions actually get made and learning to navigate that reality.

Refusing to engage doesn't make politics go away. It just means you lose by default.

terriblesoftware.org/2025/10/01/s...
Stop Avoiding Politics
Most engineers think workplace politics is dirty. They’re wrong. Refusing to play politics doesn’t make you noble; it makes you ineffective.
terriblesoftware.org
October 1, 2025 at 5:35 PM
Reposted by Oliver Ash
Imagine if useReducer could have side-effects, like a POST request. It would need to order calls so you know the “previous” state to pass the reducer. It would also need a pending state so you can show a spinner while it’s updating.

Now you understand useActionState.
July 20, 2025 at 9:02 PM
Reposted by Oliver Ash
DHH is the biggest reason why I don't use Rails anymore. This post (and especially the linked talk) get to the heart of hte problem.

davidcel.is/articles/rai...
Rails Needs New Governance
Ages ago, when I was still a student, I taught myself Ruby on Rails for my senior thesis and fell in love. Fifteen years later, and I’ve used Rails at every job I’ve ever held in the tech industry. Fi...
davidcel.is
September 29, 2025 at 6:07 PM
Reposted by Oliver Ash
React innovates in scheduling

Other frameworks focus on DOM update performance

Scheduling has a much greater impact!

Everyone should read this thread to understand React's true competitive advantage.
September 18, 2025 at 7:51 AM