osama
banner
osamaqarem.com
osama
@osamaqarem.com
eng @ gigs.com, mostly doing typescript • posts are my own

palestinian living in berlin
https://osamaqarem.com • 🇵🇸🇲🇾🇩🇪
Reposted by osama
Been working on a new microsite to teach Next.js patterns, and I just published a new one:

"Sharing data with Client Components"

See how to use promises to keep your page unblocked so it can be rendered (or prerendered) as early as possible.

Enjoy!

next-16-recipes.vercel.app/sharing-data...
December 18, 2025 at 6:29 PM
Reposted by osama
i'm highly enjoying using railway.app

i think instead of starting with serverless, it would be good for many developers to start with Railway and then try serverless. i feel a lot more comfortable understanding the tradeoffs now
Railway
Railway is an infrastructure platform where you can provision infrastructure, develop with that infrastructure locally, and then deploy to the cloud.
railway.app
December 6, 2025 at 8:57 AM
Reposted by osama
Hello friends and welcome to a new “How is ESM vs CJS going!” 33.4% of the popular packages on npm now includes ESM. Up from 29.6% half a year ago. We have a third!

ESM-only is up from 11.5% to 12.6%.

This is also the impact of half a year of Node 18 being EOL, making `require(esm)` available
December 4, 2025 at 8:31 PM
damn, this design slaps
December 2, 2025 at 3:13 PM
Reposted by osama
Kneesvember 2025 Day 21
December 2, 2025 at 4:00 AM
the book I took on the plane but didn’t read was useful anyway
December 1, 2025 at 2:46 PM
Reposted by osama
last week i remembered that macOS lets you set your own icons and that *I* have the power to delegitimize the professionalism of the software that runs on my machine, so here's a thread of the 16 new icons i've made so far

i really forgot how fun it was to just sit down and make art for myself :')
November 29, 2025 at 1:48 AM
sentry redesigned their dashboard 17 times but it still gets confused about which project i have selected
November 18, 2025 at 7:31 AM
When everything on your desk is wireless and it’s that day where you need to recharge all of it

thisisfine.jpeg
November 5, 2025 at 8:09 AM
dang it i'm logged in to work an hour early today because my desk clock doesn't adjust for DST automatically
October 27, 2025 at 7:28 AM
Reposted by osama
September 26, 2025 at 1:13 PM
TIL pnpm can install Node
pnpm.io/settings#use...

using fnm to install node then using corepack to install pnpm then using pnpm to install node

yo dawg...
Settings (pnpm-workspace.yaml) | pnpm
pnpm gets its configuration from the command line, environment variables, pnpm-workspace.yaml, and
pnpm.io
September 13, 2025 at 6:31 AM
Reposted by osama
Just a reminder to check for your name in this list of books that OpenAI trained from. If your name is there, they probably owe you several thousand dollars.

OpenAI cried that if everyone eligible author files, the company will go bankrupt, so I'm alerting every author I have ever spoken to.
Search LibGen, the Pirated-Books Database That Meta Used to Train AI
Millions of books and scientific papers are captured in the collection’s current iteration.
www.theatlantic.com
September 6, 2025 at 6:31 AM
I recently tried going back to git after using jj for a while, just to see if I'd miss it. 10 minutes later and I was back in jj. Using git felt painful, so I switched for good.
osamaqarem.com/blog/jj-has-...
JJ has replaced git for me
`jj new post`
osamaqarem.com
August 25, 2025 at 7:53 PM
nushell is amazing.
I saw this error message and decided I'm sold.
www.nushell.sh
August 24, 2025 at 8:55 AM
Reposted by osama
even by HN standards this is an all-timer
July 16, 2025 at 2:35 PM
Humanity in a nutshell
July 10, 2025 at 5:35 AM
i only became a serious javascript developer today
developer.mozilla.org/en-US/docs/G...
July 5, 2025 at 6:24 AM
Reposted by osama
Shitty button components. We've all seen them, we've all written them. But they don't have to stay shitty! I wrote about building better button components, with simple patterns that I now use everywhere.
Also: the word "button" appears 181 times in it.

timomeh.de/posts/a-bett...
A Better Button Component with Composition | timomeh.de
timomeh.de
July 2, 2025 at 4:20 PM
i don't understand how someone could find this preferable to `useEffect`
June 23, 2025 at 6:49 AM
Reposted by osama
One of the best things about Posting is you never know what obscure preoccupations your followers have. There will be a guy who has followed you for years and never said anything but then one day you disparage applesauce and he activates like a sleeper agent and dedicates his life to destroying you
June 7, 2025 at 1:17 AM
today, i sent someone a link to localhost:3000
June 3, 2025 at 4:49 PM
i choose violence
May 30, 2025 at 2:09 PM
Reposted by osama
Years later, still the best way to keep up with the React ecosystem
This Week In React 235

Lots of cool React stuff in this edition!
thisweekinreact.com/newsletter/235

⚛️
- React Router RSC
- createStore()
- SuspenseList
- Transition Indicator
- SWC React Compiler
- Render Hooks / With React
- Waku
- React Scan
📱
- Lava
- Fortnite
- Expo
- Skia
- Lynx
May 22, 2025 at 8:57 PM