Ben Lesh
benlesh.bsky.social
Ben Lesh
@benlesh.bsky.social
RxJS lead. Dad. Art lover. I’ve worked at the NG in FAANG.
✨Heads up! Observables are shipping natively to a browser near you soon!

Huge thank you and congrats to @domfarolino.com ❤️

I've helped / worked on / watched this through different standards bodies for more than 10 years now. ☠️

(I'm going to have a lot of work now to adapt RxJS to this 😅)
February 21, 2025 at 10:59 PM
🚨PSA: When copying GitHub URLs, always hit "Y" first!

Hitting "Y" adds the current SHA to the URL. This ensures your link doesn't break as the repository changes over time.
February 7, 2025 at 3:37 PM
I'm not sure why I never realized this, but it makes sense.

JSX doesn't treat new lines in text the same way that the browser interprets them in HTML text content

It's just interesting, in HTML the outcomes below would be the same.
January 24, 2025 at 5:01 PM
Progress photos part 2:

I used a simple 3 color palette: Ultramarine blue, cadmium yellow light, and alizarin crimson.

I used a relatively thin medium for the lower layers: 2:1 turpenoid to safflower oil. Getting heavier with more raw paint as I worked up.
January 3, 2025 at 5:39 AM
Progress photos part 1:

The wash/underpainting is just burnt sienna and turpenoid.
January 3, 2025 at 5:39 AM
This is the first oil painting I've finished in 25 years. A long overdue gift for my parents.

Although there's a lot to improve, I've never been happier with a painting. I'm not really an "artist" anymore, but a hobbyist. So I'll take it
January 3, 2025 at 5:39 AM
Watching Ghostbusters 2. My favorite New Year's Eve movie.

🍻
January 1, 2025 at 4:02 AM
Oh no. I can’t see the controls on iPhone.
December 20, 2024 at 12:38 PM
December 6, 2024 at 6:32 PM
This is what happens when you try to use AI for professional art work. This is a Call of Duty: Black Ops loading screen.

🤣
December 6, 2024 at 6:24 PM
#TypeScript PSA: If you're using `for..of` to do all of your iteration, you don't need to pass/type things as Array, use Iterable!

`for..of` does iteration, so any Iterable will work.

Passing `Item[]` here would be a unnecessarily restrictive:
December 3, 2024 at 3:29 PM
Haha. So like... None of them?
November 26, 2024 at 3:58 PM
I'm very impressed by Microsoft Edge's built-in shopping features. If you browse to an item on a retail site, Edge will give you price trend information and prices for other retailers! Super handy, IMO.
November 22, 2024 at 3:52 PM
lol... if only I contributed to open source. 😿

(It seems like this is off a little)
November 18, 2024 at 9:17 PM
It's been ages, but I swear that sometime in 2017 or so, @danr.bsky.social (TS team) told me "Use interfaces, not types, for objects". I've also seen people whom I trust less tell everyone to "use types, not interfaces".

What is everyone doing now? cc @mattpocock.com
November 18, 2024 at 9:13 PM
Spotted wild parakeets while waiting in line for barbecue here in Austin. 🦜🦜
November 17, 2024 at 6:12 PM
In the minivan like...
November 15, 2024 at 6:40 PM
PSA: Use `crypto.randomUUID()` and not the `uuid` package.

It's supported in all modern browsers and in Node >19.
November 15, 2024 at 3:58 PM
Side note: “danabra mov” reads like part of a Harry Potter spell.
November 14, 2024 at 4:44 PM
Does BlueSky have their own emojis? Or is this my new Windows machine showing me really lame looking emojis??

🤪🫡🦆

Okay, I actually like the duck though...
November 8, 2024 at 5:27 PM
I guess I don't spell Shawarma very often... Also, I feel like when that's what I'm ordering, I already know it's what I want when I walk in, so I probably don't even really read the menu. 🤔
November 8, 2024 at 5:24 PM
While perusing BlueSky, I came across this meme.

I feel so included! 🥰

😂⚰️
November 7, 2024 at 9:11 PM
Okay... here's a primitive example.

Let's say that the expected version number updates 3 times in a row, but the actual only updates 1 time after all of that.

What's ACTUALLY rendered here only changed twice. Which is fine in isolation.

But the component has a lot of other hooks/logic to execute.
November 7, 2024 at 8:55 PM
And after looking through some GraphQL related stuff, I decided to checkout tRPC's offering for streaming data... and look! Another observable implementation. No RxJS here.
May 2, 2023 at 5:47 PM
More observables in the wild.

Note that there's no RxJS here. That observable is yet another flavor of observable. This time from Facebook's Relay library.
May 2, 2023 at 4:29 PM