Advertisement · 728 × 90

Posts by Jan Martin

It’ll take a bit before it’s widely usable but I look forward to cleaning up config file boilerplate. 🎉

3 months ago 6 0 0 0

Got inspired by @kentcdodds.com to play around with MCP UI in Angular. Definitely rough around the edges but it's really neat to see this all come together. 🌈

4 months ago 8 1 0 0

It's been really fun to explore how API design and system prompt can come together to make code generation a lot more reliable over the past few weeks. And now anybody can! 🎉

6 months ago 2 0 0 0
Preview
Angular SSR: Global Platform Injector Race Condition Leads to Cross-Request Data Leakage ### Impact Angular uses a DI container (the "platform injector") to hold request-specific state during server-side rendering. For historical reasons, the container was stored as a JavaScript mod...

Today’s first: Published my first security advisory write up!

If you’re running Angular SSR in production, this may apply to you: github.com/angular/angu...

6 months ago 2 3 0 0
Preview
Mock genkit streaming responses in Storybook Mock genkit streaming responses in Storybook. GitHub Gist: instantly share code, notes, and snippets.

Had some fun getting my @storybook.js.org to correctly simulate a streaming genkit LLM response (using msw and/or fetch-mock). For future reference: gist.github.com/jkrems/ce62b... #storybook #genkit

6 months ago 9 1 0 0
Media Queries Level 5

Can’t wait for this to land: drafts.csswg.org/mediaqueries... (API for recording user preferences in a way that just works)

7 months ago 3 3 0 0
Video

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!

8 months ago 8437 2021 557 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!

10 months ago 6 0 0 0
Advertisement

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 months ago 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...

11 months ago 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 months ago 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...

11 months ago 13 2 2 1

Our toddler discovered “Rock around the clock” tonight and I’m afraid he’s taking the lyrics a bit too literally.

1 year ago 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...

1 year ago 50 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.

1 year ago 1 0 0 0
Npmstats

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

1 year ago 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. :(

1 year ago 2 0 1 0
Advertisement

👋

1 year ago 404 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 (!)…

1 year ago 0 0 1 0

Now just give me string concat in calc and I think we can call the web “done”. 🎉

1 year ago 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. :)

1 year ago 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. 🤞

1 year ago 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...

1 year ago 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.

1 year ago 0 0 0 0
Advertisement

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

1 year ago 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.

1 year ago 1 0 0 0

(Technically truncating with “|0” after operations would make it safe. But that won’t appear in typical code, realistically.)

1 year ago 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.

1 year ago 2 0 2 0

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

1 year ago 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. :)

1 year ago 3 0 1 0