library maintainer, h3js

Joined March 2022
41 Photos and videos
Reve retweeted
The SURPRISE is: x.com/SinkingStarGame/status… Order of the Sinking Star will have a free demo on Steam, for NextFest, Monday. Because the game is HUGE, the demo is huge: it's bigger than most entire paid puzzle games, and you get to try it out for free.

Play a demo of Order of the Sinking Star for the first time ever during #SteamNextFest from June 15 - 22! 🌟🎮 Step into this massive puzzle adventure, solve brain-teasing puzzles, play as unique heroes and decipher a grand mystery! 🧩 📜 Details > orderofthesinkingstar.com/en…
120
310
3,929
238,042
Reve retweeted
>new framework claimed to be faster than Elysia >run the benchmark >not faster than Elysia Ok but this one is very misleading in the worst way I have ever seen
May 29
Replying to @elysiaJS
@elysiaJS someone is claiming that you are slower morojs.com/
19
12
366
54,349
May 30
I checked the code of morojs This is nowhere close in performance to any fast http framework out there Probably 100% vibe coded too don’t ever use this unless you want security issues
>new framework claimed to be faster than Elysia >run the benchmark >not faster than Elysia Ok but this one is very misleading in the worst way I have ever seen
1
79
Reve retweeted
TanStack Virtual now has first-class chat support: end anchoring, append-follow, stable prepends, and streaming messages that stay pinned when they should. The modern web is now a lot of streaming UI on top of lists, so this needed to feel boring 😉 tanstack.com/blog/tanstack-v…
24
55
1,245
259,253
Reve retweeted
Replying to @DemetriSpanos
Also worth noting that this is not the first generation that was taught that "close enough is just fine". The previous generation was taught that "nowhere close is just fine", and this generation is effectively being taught that "close enough to nowhere close is just fine".
9
22
587
40,769
Reve retweeted
4 Nov 2025
Never mind, query planner papers got hands.
4 Nov 2025
Why I like database papers.
7
9
199
30,426
May 16
I accidentally added 800ns overhead for JIT in the last versions lol
3
2
79
May 16
It seems to be slower only in Bun tho maybe ill keep eval()
11
Reve retweeted
It isn't unexpected that the focus of the Bun Rust rewrite is on the anti-Zig side more than anything, since the internet loves to hate. What is unexpected and unfortunate is that leadership within Bun hasn't tried to steer the conversation away from that at all. There are so many positive and interesting takeaways from this and I'm not really seeing any of them pushed as the primary message. A positive thing that hasn't been talked about at all is how far Bun came thanks to Zig. And even if you dump it now, its meaningful for how good Zig was to even build a product to this point and impact by any metric. I would've loved to see anyone in leadership say this. On the interesting side is how fungible programming languages are nowadays. Programming languages used to be LOCK IN, and they're increasingly not so. You think the Bun rewrite in Rust is good for Rust? Bun has shown they can be in probably any language they want in roughly a week or two. Rust is expendable. Its useful until its not then it can be thrown out. That's interesting! There's been a lot of talk about memory safety and no doubt Rust provides more guarantees than Zig. But I'd love to see a better analysis of why Bun in particular suffered so much rather than take the language-blame path. How could engineering as a practice been more rigorous to prevent this? What were the largest sources of crashes other programs should watch out for? How does Rust prevent them? How could Zig theoretically prevent them? That's interesting. I know the official blog post hasn't come out yet from Bun. But they're smart enough to know that that PR would stir up controversy the moment it opened, or they should've been. And plenty in the company have been tweeting and writing about it. Its somewhat telling to me in various dimensions what they chose to talk about first. I tend to think I'm pretty good at corporate PR/comms (especially when it comes to developer audiences) and I think appealing to the negative is never the right long term strategy; it does work to get short term eyes though.
109
247
3,566
384,237
Reve retweeted
Never ask: - a woman her age - a man his salary - a programmer why they stopped their database project after the storage engine but before the query planner
18
34
952
101,359
github.com/re-utils/runtime-… The most flexible JS compile time system :)

56
Reve retweeted
🚀Rolldown 1.0 is here!🚀 Rust-based high-performance JavaScript bundler. 🏎️ Runs at native speed that’s 10~30x faster than Rollup 🤝 Compatible with existing Rollup & Vite plugins ⚡The underlying bunder for Vite 8 After 2 years, Rolldown is officially stable and has 20 M weekly downloads. Companies like Framer & PLAID are already using Rolldown in production. Thank you to every contributor, user, and team that helped us get here.
34
404
2,582
308,234
Apr 18
None of them are good ideas but theyre the best we have atm
Tauri sounds like a really good idea. Electron is usually a better one.
100
Reve retweeted
Replying to @samth @diptanu
“Stop” might be the right word for concurrent collectors that aren’t on-the-fly, and even then it’s kind of sketchy. Folks often end up with concurrent GCs where the time the mutator is “stopped” is less than the time that a C or Rust mutator would be “stopped” waiting for mmap to return the next available page for an allocation that is growing the heap. For example in FUGC (which is on the fly), the closest thing to “stopping” is a thread scanning its own stack. But what if C exceptions have to scan the stack? We don’t say C “stops” for that, even though C exception unwinding is slower than FUGC stack scans The discussion of “stopping” and “pausing” is detrimental to a good understanding of GC overheads and *why* GCs are often a bad idea. The reason why they’re a bad idea: - GCs will use more memory than a program that uses malloc/free. - GCs cause memory leaks. Relatedly, GCs make it impractical to estimate max memory footprint in systems where this needs to be known statically - GCs increase page demand (the rate at which a program asks for a page that isn’t mapped). - GCs cause a tremendous amount of memory traffic. (A concurrent on the fly GC will have an effect on latency that looks like a pause because during the time it’s running, it’s slamming the memory subsystem). - GCs have positive feedback. They are likely to be triggered when the system is under stress. Hence, they make stress conditions worse. - GCs tend to be inelastic. That is, programs that suddenly free up a bunch of memory will tend to sit on it because the GC hadn’t run yet. - GCs play poorly with real time locking and scheduling (even real time GCs that have a story for this have a bad story in the sense that schedulability analysis gets way nastier than it would be otherwise) These are all good reasons to avoid GCs. Folks should know these reasons. Folks working on GCs should try to address these reasons directly. Talking about “stopping” and “pausing” just confuses the situation by making it harder to see the real problems.
6
16
166
35,972
Reve retweeted
FIRST MCSR RANKED 2800 ELO
69
446
4,906
127,853
Reve retweeted
Apr 14

4
10
69
10,055
Reve retweeted
FFI support has landed in Node.js
5
15
102
23,758
Reve retweeted
How Axios was compromised 🤯
149
851
6,874
1,585,366