Jan Martin's Avatar

Jan Martin

@jkrems.bsky.social

Waiting for a shipment of Club-Mate or drinking Club-Mate. Currently: Angular core team & TC39-adjacent things. Also, node.js collaborator. Previously: Groupon

459 Followers  |  460 Following  |  38 Posts  |  Joined: 31.08.2023  |  2.0021

Latest posts by jkrems.bsky.social on Bluesky

Video thumbnail

Presenting the BRAND-NEW season - @dimension20.bsky.social On a Bus! ๐ŸšŒ

DM'd by Katie Marovitch, and as players: Aabria Iyengar, Brennan Lee Mulligan, Jasmine Bhullar, and Mark Mercer!

14.07.2025 23:17 โ€” ๐Ÿ‘ 8502    ๐Ÿ” 2044    ๐Ÿ’ฌ 566    ๐Ÿ“Œ 336

Wow. Thatโ€™s super sad to hear. Take care and I hope youโ€™ll have the right mix of calm and distraction over the coming days!

13.05.2025 19:49 โ€” ๐Ÿ‘ 6    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Iโ€™ve tried to explain it as โ€œa lot of art is about communication and talking to yourself is just not the same thingโ€. And Iโ€™m saying that as somebody who loves talking to himself on a regular basis.

10.05.2025 17:08 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
You can serialize a promise in React Use React to create a promise on the server and later finish it on the client.

New blog post on serializing promises in React. Learn how RSC serializes data between the server and client.

twofoldframework.com/blog/you-can...

25.04.2025 15:06 โ€” ๐Ÿ‘ 66    ๐Ÿ” 7    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 2

Thatโ€™s so sad and just doesnโ€™t make any sense. โ˜น๏ธ Adamโ€™s an amazing voice for the web and its users.

11.04.2025 21:43 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
switch.md GitHub Gist: instantly share code, notes, and snippets.

Dark mode toggles should be a per-site browser preference, just like zoom.

Why are we still reinventing the wheel with JavaScript? Let's make dark mode a browser-native feature.

bit.ly/dark-mode-is...

08.04.2025 22:35 โ€” ๐Ÿ‘ 14    ๐Ÿ” 2    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 1

Our toddler discovered โ€œRock around the clockโ€ tonight and Iโ€™m afraid heโ€™s taking the lyrics a bit too literally.

02.04.2025 02:58 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Node.js โ€” Node v23.8.0 (Current) Node.jsยฎ is a JavaScript runtime built on Chrome's V8 JavaScript engine.

Just released Node.js v23.8.0.
It includes an initial implementation of URLPattern, an new flag to load system certificates, zstd, and more!
nodejs.org/en/blog/rele...

13.02.2025 18:00 โ€” ๐Ÿ‘ 48    ๐Ÿ” 8    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 1

TIL: itโ€™s easier to implement web sockets from scratch* than to teach various Java clients that bidirectional streaming over HTTP is possible.

30.01.2025 16:46 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Npmstats

I assume it's basically just this (package downloads / global downloads)? jkrems.dev/npmstats/#/d...

23.01.2025 05:24 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I remember @seldo.com showing download stats as โ€œshare of registryโ€ which removed some of the general ecosystem growth noise from the stats. Is there some site that offers those numbers today? Raw download counts are super hard to interpret correctly. :(

23.01.2025 00:13 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

๐Ÿ‘‹

22.01.2025 12:36 โ€” ๐Ÿ‘ 407    ๐Ÿ” 51    ๐Ÿ’ฌ 42    ๐Ÿ“Œ 19

@soldair.bsky.social I knew itโ€™s been a while since mana burn was removed. Didnโ€™t realize it was in 2009 (!)โ€ฆ

18.01.2025 03:12 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Now just give me string concat in calc and I think we can call the web โ€œdoneโ€. ๐ŸŽ‰

17.01.2025 01:58 โ€” ๐Ÿ‘ 5    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

The long term goal is to standardize the relevant bits where applicable. Gathering the gaps in standardization is just the first step on that long road. :)

09.01.2025 20:35 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

The goal is to gather these patterns and properly document them. Hopefully leading to less guess work when publishing libraries or moving between build systems. ๐Ÿคž

07.01.2025 21:59 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Tools: Common Conventions ยท Issue #49 ยท tc39/js-outreach-groups There's a variety of behaviors in authored JavaScript that (web) developers may depend on that aren't described in any officially published spec. This is an attempt to collect them and link to the ...

What are some useful pattern youโ€™d expect to work across bundlers? Weโ€™re collecting a list here: github.com/tc39/js-outr...

07.01.2025 21:58 โ€” ๐Ÿ‘ 24    ๐Ÿ” 12    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1

The race is on: Will I get all post-holiday access issues resolved before the first meeting of the day? Iโ€™ll know in about 5 minutes.

06.01.2025 18:24 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Took me a while to find him in the first picture.

24.12.2024 18:44 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

I'm starting to think that the hard part will be to turn this back into JS... Maybe something higher level than a generic loop node would be better after all.

21.12.2024 04:18 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

(Technically truncating with โ€œ|0โ€ after operations would make it safe. But that wonโ€™t appear in typical code, realistically.)

17.12.2024 13:11 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I was trying to see what it would take to optimize โ€œa === aโ€ to โ€œtrueโ€. One idea was that if โ€œaโ€ is the result of basic arithmetic on integers (w/o division), it would be safe. But itโ€™s not because multiplication/addition may eventually end in Infinity. And that times 0 is NaN.

17.12.2024 13:09 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

TIL: Just by multiplying safe integers, you can reach NaN. Stupid floats.

17.12.2024 02:45 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

The only thing that went away was the โ€œnode debugโ€ variant, fortunately we were able to keep the general feature alive through that transition. :)

16.12.2024 21:50 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
GitHub - SeaOfNodes/Simple: A Simple showcase for the Sea-of-Nodes compiler IR A Simple showcase for the Sea-of-Nodes compiler IR - SeaOfNodes/Simple

Things that allowed this to be a "single weekend project":

1. A great book by cliffclick (I'm roughly at chapter 5): github.com/SeaOfNodes/S...
2. The crates from oxc.rs for JS/TS. I could skip worrying about parser & scope analysis and jump directly into IR construction.

16.12.2024 05:22 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
A control flow graph of a program that contains a phi node for merging data flow.

A control flow graph of a program that contains a phi node for merging data flow.

Achievement unlocked: Created my very first phi node. Wanted to learn more about both sea-of-node and Rust, so this was a great opportunity to check those off the list.

is.gd/8tSIE9

16.12.2024 05:22 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Source map format specification

Ecma just approved the 1st edition of the new "Source map format" standard, ECMA-426! ๐ŸŽ‰

tc39.es/ecma426/2024/

11.12.2024 19:01 โ€” ๐Ÿ‘ 162    ๐Ÿ” 48    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 5

A follow-up meeting was just scheduled for โ€œnext yearโ€ (January) and Iโ€™m not sure how I feel about that.

10.12.2024 18:40 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
How browsers REALLY load Web pages โ€”  Robin Marx
YouTube video by We Love Speed How browsers REALLY load Web pages โ€” Robin Marx

My talk from this year's We Love Speed is on YouTube! ๐Ÿ‘‡

In "Tight Mode: how browsers REALLY load web pages", I take a very deep/very nerdy dive into why browsers sometimes intentionally delay loading resources, why they all do it differently, and why they should *stop clowning around* ๐Ÿคก

#webperf

26.11.2024 10:09 โ€” ๐Ÿ‘ 42    ๐Ÿ” 20    ๐Ÿ’ฌ 5    ๐Ÿ“Œ 2

Welcome to Angular! I hope you enjoy your time with it and let us know when you donโ€™t. Well, also let us know when you do, actually. :)

05.12.2024 18:56 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@jkrems is following 20 prominent accounts