Jan Martin @hybrist.dev · 02/09/2026One thing I’m excited about is that we’re currently looking into attaching web safety findings to packages (built around trusted types etc) and I’m really hoping we can make that work externally as well. 130
Jan Martin @hybrist.dev · 02/09/2026The vibe coding somebody here! :) Definitely, contributing this to npmx upstream was the plan A. Good to know that you’d generally be open to that! I’m still trying to figure out what the realistic requirements / deviations would be. In true Google fashion, there’s a lot of bespoke things… 120
Jan Martin @hybrist.dev · 04/12/2025It’ll take a bit before it’s widely usable but I look forward to cleaning up config file boilerplate. 🎉 060
Jan Martin @hybrist.dev · 12/11/2025Got 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. 🌈 071
Jan Martin @hybrist.dev · 16/09/2025It'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! 🎉 020
Jan Martin @hybrist.dev · 10/09/2025Today’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...github.comAngular 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... 023
Jan Martin @hybrist.dev · 06/09/2025Had 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 #genkitgist.github.comMock genkit streaming responses in StorybookMock genkit streaming responses in Storybook. GitHub Gist: instantly share code, notes, and snippets. 081
Jan Martin @hybrist.dev · 17/08/2025Can’t wait for this to land: drafts.csswg.org/mediaqueries... (API for recording user preferences in a way that just works)drafts.csswg.orgMedia Queries Level 5 033
Reposted by Jan MartinGame Changer @gamechanger.dropout.tv · 15/07/2025Presenting 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! 55584042009
Jan Martin @hybrist.dev · 13/05/2025Wow. 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! 050
Jan Martin @hybrist.dev · 10/05/2025I’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. 110
Reposted by Jan MartinRyan Toronto @ryantoron.to · 25/04/2025New blog post on serializing promises in React. Learn how RSC serializes data between the server and client. twofoldframework.com/blog/you-can...twofoldframework.comYou can serialize a promise in ReactUse React to create a promise on the server and later finish it on the client. 2667
Jan Martin @hybrist.dev · 11/04/2025That’s so sad and just doesn’t make any sense. ☹️ Adam’s an amazing voice for the web and its users. 030
Reposted by Jan MartinFelds @felds.dev · 08/04/2025Dark 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...bit.lyswitch.mdGitHub Gist: instantly share code, notes, and snippets. 2132
Jan Martin @hybrist.dev · 02/04/2025Our toddler discovered “Rock around the clock” tonight and I’m afraid he’s taking the lyrics a bit too literally. 010
Reposted by Jan MartinMichael Zasso @targos.dev · 13/02/2025Just 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...nodejs.orgNode.js — Node v23.8.0 (Current)Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. 3508
Jan Martin @hybrist.dev · 30/01/2025TIL: it’s easier to implement web sockets from scratch* than to teach various Java clients that bidirectional streaming over HTTP is possible. 010
Jan Martin @hybrist.dev · 23/01/2025I assume it's basically just this (package downloads / global downloads)? jkrems.dev/npmstats/#/d...jkrems.devNpmstats 020
Jan Martin @hybrist.dev · 23/01/2025I 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. :( 120
Jan Martin @hybrist.dev · 18/01/2025@soldair.bsky.social I knew it’s been a while since mana burn was removed. Didn’t realize it was in 2009 (!)… 100
Jan Martin @hybrist.dev · 17/01/2025Now just give me string concat in calc and I think we can call the web “done”. 🎉 051
Jan Martin @hybrist.dev · 09/01/2025The 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. :) 030
Jan Martin @hybrist.dev · 07/01/2025The goal is to gather these patterns and properly document them. Hopefully leading to less guess work when publishing libraries or moving between build systems. 🤞 150
Jan Martin @hybrist.dev · 07/01/2025What are some useful pattern you’d expect to work across bundlers? We’re collecting a list here: github.com/tc39/js-outr...github.comTools: Common Conventions · Issue #49 · tc39/js-outreach-groupsThere'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 ... 12412
Jan Martin @hybrist.dev · 06/01/2025The 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. 000
Jan Martin @hybrist.dev · 21/12/2024I'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. 010
Jan Martin @hybrist.dev · 17/12/2024(Technically truncating with “|0” after operations would make it safe. But that won’t appear in typical code, realistically.) 120
Jan Martin @hybrist.dev · 17/12/2024I 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. 220
Jan Martin @hybrist.dev · 17/12/2024TIL: Just by multiplying safe integers, you can reach NaN. Stupid floats. 110
Jan Martin @hybrist.dev · 16/12/2024The only thing that went away was the “node debug” variant, fortunately we were able to keep the general feature alive through that transition. :) 130
Jan Martin @hybrist.dev · 16/12/2024Things 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.github.comGitHub - SeaOfNodes/Simple: A Simple showcase for the Sea-of-Nodes compiler IRA Simple showcase for the Sea-of-Nodes compiler IR - SeaOfNodes/Simple 130
Jan Martin @hybrist.dev · 16/12/2024Achievement 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 140
Reposted by Jan MartinNicolò Ribaudo @nicr.dev · 11/12/2024Ecma just approved the 1st edition of the new "Source map format" standard, ECMA-426! 🎉 tc39.es/ecma426/2024/tc39.esSource map format specification 216047
Jan Martin @hybrist.dev · 10/12/2024A follow-up meeting was just scheduled for “next year” (January) and I’m not sure how I feel about that. 010
Reposted by Jan MartinRobin Marx @programmingart.bsky.social · 26/11/2024My 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* 🤡 #webperfyoutube.comHow browsers REALLY load Web pages — Robin MarxYouTube video by We Love Speed 54220
Jan Martin @hybrist.dev · 05/12/2024Welcome 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. :) 030
Jan Martin @hybrist.dev · 05/12/2024/cc @mgechev.bsky.social and @jelbourn.bsky.social I can recommend the starter pack that @brandonroberts.dev put together with community folks from around Angular! 130
Reposted by Jan MartinBrandon Roberts @brandonroberts.dev · 04/12/2024🚨 @analogjs.org 1.10 is out! ⚡️ Big performance improvements for @vitest.dev ✍️ Introduced Form Server Actions 🤝 Support for #Angular v19 👀 Route debugging page Release notes: github.com/analogjs/ana...github.comRelease v1.10.0 · analogjs/analogWhat's Changed perf(vite-plugin-angular): speed up tests by reusing compiler by @yjaaidi in #1444 feat(create-analog): update template for latest to Angular v19 by @brandonroberts in #1447 fix(rou... 27016
Jan Martin @hybrist.dev · 03/12/2024At some point I should do a page count across my Google Docs and see what the last few years add up to. 010
Jan Martin @hybrist.dev · 27/11/2024“Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth.” I figured it out. @littledan.dev is in every standards group and GitHub issue because there’s an army of clones: the “little dans”. Big Dan only delegates. 131
Reposted by Jan MartinZillow Gone Wild @zillowgonewild.bsky.social · 27/11/2024A two story office/library 📚 to die for 1338
Jan Martin @hybrist.dev · 25/11/2024Woah, had to do a double-take to realize this was talking about key outside of loops. Makes sense in retrospect but never considered this behavior! 010
Reposted by Jan MartinTypeScript @typescriptlang.org · 22/11/2024📢 TypeScript 5.7 is here! Now with ✅ Better checks for uninitialized variables ✅ Smarter tsconfig lookup in editors ✅ Improved startup time ✅ Stricter checks for JSON imports ✅ Extension rewrites for relative imports and more! Try it today! devblogs.microsoft.com/typescript/a...devblogs.microsoft.comAnnouncing TypeScript 5.7 - TypeScriptToday we excited to announce the availability of TypeScript 5.7! If you’re not familiar with TypeScript, it’s a language that builds on JavaScript by adding syntax for type declarations and annotation... 334695
Jan Martin @hybrist.dev · 22/11/2024Haven’t yet found a good use case for the browser feature. But I’m also not typically using shadow dom which seems like the only (?) place where CSSStyleSheet imports are really useful..? 010
Jan Martin @hybrist.dev · 22/11/2024Which CSS modules? The ones that namespace CSS classes or the browser feature? 100