Sign in

Marvin Hagemeister

@marvinh.dev
2.5K followers 176 following 334 posts

I build simple and fast things. Part of Preact team.

PostsRepliesMedia
Reposted by Marvin Hagemeister
Jovi 🐨 @jovidecroock.com · 8h
Preact 11 is out 🎉 We’ve been hard at work at making our diffing use modern features like moveBefore , leveraging ESM for tree-shaking Preact Compat and ensuring you have a great experience with resumed hydration.
58319
Reposted by Marvin Hagemeister
nate moore @natemoo.re · 29/09/2026
we have no choice but to give the preact team billions of dollars 😌
3486
Reposted by Marvin Hagemeister
jviide.iki.fi @jviide.iki.fi · 21/08/2025
1. make it work 2. [object Object] 3. make it fas
1134
Reposted by Marvin Hagemeister
danielroe @danielroe.dev · 14/09/2026
🙋‍♂️ ever wanted to build something without needing to configure a db, auth, file storage or a cms? it turns out you already have all four if you have a bluesky account 👉 airspace is a typed client for it
getair.space
airspace
The database you already have.
1950789
Reposted by Marvin Hagemeister
Justin Fagnani @justinfagnani.com · 09/09/2026
I wrote about what I've been up to with my new programming language! Zena targets WebAssembly GC, with a TypeScript-like syntax, sound type system, and lots of cool features like pattern matching, async cancellation, borrow checking, WASI integration, and more! justinfagnani.com/2026/09/09/z...
justinfagnani.com
Zena: A new Wasm-first programming language
410526
Reposted by Marvin Hagemeister
Master.dev (Formerly Frontend Masters) @frontendmasters.com · 02/09/2026
New Things You Should Know About HTML Here in Mid 2026 The foundational language of the web is getting plenty of love lately! While HTML moves a bit more slowly than its buddies, CSS and JavaScript, that tends to be a good thing. I'm not gonna do, like, in here. That's too basic for you. Tha
blog.master.dev
New Things You Should Know About HTML Here in Mid 2026
The foundational language of the web is getting plenty of love lately! While HTML moves a bit more slowly than its buddies, CSS and JavaScript, that tends to be a good thing. I’m not gonna do, like,…
02810
Reposted by Marvin Hagemeister
Vale @vale.rocks · 02/09/2026
Respected friends and acquaintances, initial-scale is dead! We are freed of its tyranny. You no longer need to include it in your HTML head. It is an obsolete part of your head's meta viewport declaration. The details: vale.rocks/micros/20260... #WebDev #HTML
vale.rocks
You Don't Need Initial-Scale In Your HTML - 2 Sept 2026 13:50 UTC
410620
Reposted by Marvin Hagemeister
Predrag Gruevski @predr.ag · 28/08/2026
This change by Noah Lev will probably save a zillion dollars in docs\.rs and CI jobs everywhere. Really nice work! noahlev.org/blog/2026/08...
noahlev.org
How I made Rustdoc 25% faster in one week - Noah Lev Bartell-Mangel
From a "weird bug" to massive speedups
1354
Reposted by Marvin Hagemeister
Jovi 🐨 @jovidecroock.com · 26/08/2026
Preact 11.0.0-rc.1 is here ⚛️ preact/compat code is now tree-shakeable, with representative single-export bundles shrinking by up to ~28%. Plus: more size wins, better HTML attribute types and maintenance fixes. This will most likely be the last rc - feedback is appreciated
preactjs.com
Upgrading from Preact 10.x – Preact Guide v11
Upgrade your Preact 10.x application to Preact 11
3459
Marvin Hagemeister @marvinh.dev · 22/08/2026
Then you're missing out :D
120
Marvin Hagemeister @marvinh.dev · 21/08/2026
The new content-mapper API in tsgo has just been merged and will be part of TS 7.1 It's what every framework dev has dreamed of for years. Really excited about this becoming a reality! github.com/microsoft/ty...
github.com
Content mappers by andrewbranch · Pull Request #4712 · microsoft/typescript-go
Implements microsoft/TypeScript#63800 (comment) Overview Content mappers are external integrations that allow TypeScript to include otherwise unsupported file types in a program. They transform a f...
4395
Marvin Hagemeister @marvinh.dev · 20/08/2026
It's fast enough, I think like 6-10s. The previous setup was faster, but karma got deprecated by their maintainers.
000
Marvin Hagemeister @marvinh.dev · 17/08/2026
A stray header?
110
Reposted by Marvin Hagemeister
jviide.iki.fi @jviide.iki.fi · 15/08/2026
It's so great to see this sort of cross-pollination of ideas (and generous sharing of credit): the tsgo-based API exposes AST nodes to JS in a way that's inspired by @marvinh.dev's work on Deno's Rust-based linter.
1171
Marvin Hagemeister @marvinh.dev · 15/08/2026
So many good things are coming to TS 🙌
1251
Marvin Hagemeister @marvinh.dev · 12/08/2026
Eagerly awaiting your review. I'm in a similar boat and I'm wondering if I should switch to oled too. It seems less tiring on the eyes.
101
Marvin Hagemeister @marvinh.dev · 03/08/2026
I only use the "following" tab for this very reason.
150
Marvin Hagemeister @marvinh.dev · 28/07/2026
I feel the same way about the washing machine
000
Marvin Hagemeister @marvinh.dev · 22/07/2026
I like this approach of exposing hooks in a library and letting consumers decide which crypto crate to pick etc. Makes it very future proof and minimal. nickb.dev/blog/theres-...
nickb.dev
There's always a niche: rawzip and the cost of ergonomics
rawzip is a minimalist Rust zip archive parser with zero dependencies, allocations, copies, and unsafe code, built to handle massive archives where existing libraries showed 15x–15000x more overhead. ...
060
Marvin Hagemeister @marvinh.dev · 20/07/2026
That's an awesome fit!
010
Marvin Hagemeister @marvinh.dev · 16/07/2026
Congrats 🎉
010
Reposted by Marvin Hagemeister
Jovi 🐨 @jovidecroock.com · 13/07/2026
Preact supports async hydration. Resumed hydration lets Suspense boundaries become interactive independently while code/data arrives. Why that helps the main thread, what Hydration 2.0 fixes, the remaining useId problem, and streaming: www.jovidecroock.com/blog/resumed...
jovidecroock.com
Async hydration in Preact
How Preact resumes hydration across Suspense boundaries, why useId made that hard, and how streaming changes the tradeoffs.
1278
Marvin Hagemeister @marvinh.dev · 14/07/2026
This is a fantastic article on modern and efficient parser design: www.arshad.fyi/writings/eng...
arshad.fyi
Engineering High-Performance Parsers with Data-Oriented Design
How designing the data structure first (flat arrays of indices instead of a pointer tree) makes a parser fast and collapses memory layout, allocation, and serialization into one decision.
0322
Reposted by Marvin Hagemeister
jviide.iki.fi @jviide.iki.fi · 10/07/2026
I sometimes wonder how many "local" containerized services are accidentally exposed to the internet because of this. See also: docs.docker.com/engine/netwo...
A warning in the Docker Compose documentation (https://docs.docker.com/reference/compose-file/services/): "If you do not specify a host IP (such as 127.0.0.1), Docker binds to all interfaces (0.0.0.0), bypassing host firewall rules. This can expose the container directly to the internet if the host has a public IP address. For more information, see Port publishing and mapping."
3161
Marvin Hagemeister @marvinh.dev · 10/07/2026
Agree it's not something users should need to think about. I. That regards my opinion has changed in the past 4 years
020
Marvin Hagemeister @marvinh.dev · 10/07/2026
There is always a slight penalty compared to no isolation, but it's a lot less than all other options in current test runners.
140
Marvin Hagemeister @marvinh.dev · 10/07/2026
Deno spins up a new isolate per file. It's as good as you can get in that regard.
140
Marvin Hagemeister @marvinh.dev · 10/07/2026
I am once again exploring the modern take on this after 4 years: marvinh.dev/blog/running...
marvinh.dev
Running 1000 tests in 1s
Most code doesn't require the amount of test isolation modern test runners apply by default. If you only opt into the amount of isolations you need, you can easily run 1000 tests in 1s.
3344
Reposted by Marvin Hagemeister
TypeScript @typescriptlang.org · 08/07/2026
📣 The moment is here. 📣 TypeScript 7 is officially released! 7️⃣ devblogs.microsoft.com/typescript/a...
devblogs.microsoft.com
Announcing TypeScript 7.0 - TypeScript
Today we are proud to announce the availability of TypeScript 7, a 10x faster native port of TypeScript! Since its early days, TypeScript has promised to
15617156
Marvin Hagemeister @marvinh.dev · 02/07/2026
How to speed up vitest: De-barrel everything so that the module graph gets smaller. Saves both processing + import time. And get rid of module mocks, which prevents many de-barelling opportunities.
4606
Marvin Hagemeister @marvinh.dev · 01/07/2026
Every month I look at this TS issue and think of how much further frameworks would be if this would be addressed. github.com/microsoft/ty...
github.com
API usage patterns for complex editor extensions · Issue #2824 · microsoft/typescript-go
TypeScript 6.0 and earlier allowed loading third-party plugin code directly into TS Server, exposing language service and project system internals for proxying and patching. This was often used in ...
1230
Marvin Hagemeister @marvinh.dev · 29/06/2026
Really interesting approach to trying to make shared mutable borrowing safe in programming language design. I long for a simpler Rust so I'm always watching this space and excited about all the research happening there! verdagon.dev/blog/ante-bl...
verdagon.dev
Ante: A New Way to Blend Borrow Checking and Reference Counting
0110
Marvin Hagemeister @marvinh.dev · 26/06/2026
I got so many of that as a non native speaker 🙈
030
Marvin Hagemeister @marvinh.dev · 24/06/2026
Congrats!
010
Marvin Hagemeister @marvinh.dev · 23/06/2026
I've been waiting for full bundle mode since the webpack days. Excited that it's becoming a thing now in vite!
0290
Marvin Hagemeister @marvinh.dev · 23/06/2026
Good observation! The way JS prototypes are used here is pretty analogous to traditional vtables in spirit.
010
Marvin Hagemeister @marvinh.dev · 23/06/2026
agree, classes would be the modern way to do it.
040
Marvin Hagemeister @marvinh.dev · 23/06/2026
Some great usage of prototypes in JS! tanstack.com/blog/tanstac...
tanstack.com
How an Underrated Refactor Saved 90% Memory Usage | TanStack Blog
TanStack Table V9 can use dramatically less memory than Table V8 in large tables because row, column, cell, and header APIs now live on shared prototypes instead of every object instance.
2446
Reposted by Marvin Hagemeister
Luca Casonato 🏳️‍🌈 @lcas.dev · 17/06/2026
What's this, a new HTML proposal? Built-in localized time formatting in HTML! github.com/whatwg/html/...
<time datetime="2026-06-17T08:13:41.099Z" format="datetime">
  fallback
</time>
1942657
Reposted by Marvin Hagemeister
Haoqun Jiang @haoqun.dev · 17/06/2026
Babel 8! After all these years! What a surprise! babeljs.io/blog/2026/06...
babeljs.io
Releasing Babel 8 today: ESM-only, drop ES5 default, and a smooth migration path · Babel
Today we are releasing Babel 8. It's been 8 years since we released Babel 7. And that's not without reason.
05812
Marvin Hagemeister @marvinh.dev · 14/06/2026
Sometimes, HTML is all you need. I wish more sites were like that project described in the article.
1504
Marvin Hagemeister @marvinh.dev · 10/06/2026
How do you even come up with those German sentences 😂
010
Marvin Hagemeister @marvinh.dev · 09/06/2026
What's your take to a link to the past? That was always my favorite
100
Marvin Hagemeister @marvinh.dev · 09/06/2026
I love reading these!
010
Marvin Hagemeister @marvinh.dev · 07/06/2026
Congrats on the new role!
010
Reposted by Marvin Hagemeister
Andrew Nesbitt @andrewnez.bsky.social · 27/05/2026
A new way to explore your node modules folder: nesbitt.io/heap
A voxel world full of npm packages
1629830
Marvin Hagemeister @marvinh.dev · 26/05/2026
I feel like it has become hard to follow actual discussions on PRs with so many integrations commenting. Not sure why GitHub hasn't given them a dedicated integration rather than everyone just using comments.
4631
Marvin Hagemeister @marvinh.dev · 24/05/2026
HTML might be getting out of order streaming natively in the future. I really like this: developer.chrome.com/blog/declara...
developer.chrome.com
Declarative partial updates  |  Blog  |  Chrome for Developers
Learn about new out-of-order streaming capabilities and the renewed HTML insertion and streaming methods available for testing from Chrome 148
05713
Marvin Hagemeister @marvinh.dev · 23/05/2026
Mad respect for Jake here. As someone who is into endurance sports (cycling) a little, walking 100km is highly impressive. Takes a lot of mental strength and being very in tune with your body.
1171
Reposted by Marvin Hagemeister
jviide.iki.fi @jviide.iki.fi · 21/05/2026
Instead of doing more, let’s do better.
03611