I thought return_call_indirect had to do a runtime table load + type check, whereas br_table was on a label index where the labels are known upfront?
Posts by Ian Grunert
I'm surprised return_call_indirect is reasonably quick on wastrel.
I think it'd be possible to use br_table as a tail call - the code would be similar to the switch based interpreter without returning to the main opcode dispatch loop between each instruction.
I just published a deep-dive into the 250-hour build behind syntaqlite, a SQLite formatter and LSP I built using AI agents.
AI agents were the only reason built this after 8 years of wanting but there's a psychological toll to AI-assisted engineering.
The post-mortem:
lalitm.com/post/buildin...
It's tempting to re-prompt the same session to fix up the work, but I think unless it's really trivial it's better to start a fresh session / context.
"No sense of time" also applies to being very eager to write lots of code; most people would feel that a change that's getting too large / taking too long, take a step back and rethink the approach.
I had similar experiences with refactoring for this project:
iangrunert.com/2026/03/22/w...
Yeah I think you might be able to do the br_table without returning to the top level dispatch loop? Not sure how you'd convince the compiler to do that though.
I think this might be lowered to a return_call_indirect wasm instruction, which pushes to the value stack. For a tail recursive it'd be return_call which'd be faster.
I guess you might be able to get a block per opcode function and use br_table? No idea if you could coax the compiler to do that.
Great, wide-ranging episode. Not just about the technical pieces, but about (slightly unorthodox) decisions on how to build, grow, and retain the company behind it.
New on the Squarespace Engineering Blog! Squarespace & Web Standards: How We Helped Bring HTML Video & Audio Lazy-Loading to Today’s Browsers.
I'm real proud of the teamwork that went into this. Stay tuned for part 2 next week, which will cover dev best practices for using this new HTML standard.
Claude Code is great at "duct tape" work. Here's an example of a refactor + build config task.
Input: Could we compile quickjs libregexp to wasm, call it via wazero, and use it as a replacement for regexp2 which can actually handle some of the unicode edge cases?
github.com/iangrunert/g...
Over the past two months, I wrote a JS Engine in Go using Claude Code.
It's passing ~44000 Test262 tests, almost reaching parity with QuickJS on Test262.
iangrunert.com/2026/03/22/w...
New blog post: A Decade of Slug
This talks about the evolution of the Slug font rendering algorithm, and it includes an exciting announcement: The patent has been dedicated to the public domain.
terathon.com/blog/decade-...
There's no e-mail marketing team more optimistic than Mattress Firm.
Just bought a mattress? Want another one?
It's odd to me that V8SloppyMode is used on ~92% of page loads, while V8StrictMode is used on ~82% of page loads. Must be a lot of mixed strict and sloppy JS on the same page?
chromestatus.com/metrics/feat...
github.com/WebKit/WebKi...
The WebKit change was reviewed, however the backslash before the exclamation mark prevented the merge queue automated tooling from replacing the Reviewed by line to reflect that.
Sometimes it gets confused when rebasing and introduces a commit that undoes all the changes. Pretty easy to catch on review, though.
The WebKit team at Apple is taking a different approach to achieve more safety; I take that as signal that their colleagues on LLVM aren't prioritizing implementation of profiles.
www.youtube.com/watch?v=RLw1...
This trick might fit into this series:
> Can we plan to execute each phase in a separate agent session? This would help manage the context window.
iangrunert.com/2026/02/14/c...
Very neat!
How did you come across this video?
iangrunert.com/2026/02/14/c...
Claude successfully implemented a very complicated 16-phase refactoring plan using this one weird trick.
Link to 2025 schedule is broken
If you don't already have one, I'd hold off on buying an Apple TV right now. Should get updated really soon.
buyersguide.macrumors.com#Apple_TV
Good tips in here even if you're running a single window of Claude Code.
We're only scratching the surface of how we can use this technology in our discipline.
www.anthropic.com/engineering/...
Been deep in some browser & standards contributions lately and feeling renewed love for this idea that when companies need a certain feature, they can build it one-off, or they can propose (and prototype) a way to build it into browsers for everybody. Latter’s more approachable than many think!
youtu.be/0nlNX94FcUE?...
> “I had this vision that I was gonna sit in cafés and study physics, which was my passion at the time” - Sergey Brin
www.youtube.com/watch?v=GmJI...
new jynpost jyn.dev/i-m-just-hav...
Super Exciting Announcement: #Steam page for my multiplayer falling sand game is now LIVE at store.steampowered.com/app/3816900/...
Announce Trailer: www.slowrush.dev/signs-trailer
2 years of hard work, but now the real work begins :)
#fallingsand #indiegame #indiegamedev #indiedev #gamedev