WebAssembly from the Ground Up
banner
wasmgroundup.com
WebAssembly from the Ground Up
@wasmgroundup.com
A book about WebAssembly by @marianoguerra.org and @dubroy.com — learn Wasm by building a simple compiler in JavaScript.

https://wasmgroundup.com/
Pinned
Excited to announce the official launch of our online book, WebAssembly from the Ground Up! 🎉

It's the book we wish we'd had 3 years ago.

No messing with tools and frameworks. It's a hands-on guide to the core of Wasm: the instruction set and module format.

Link below. 👇
Reposted by WebAssembly from the Ground Up
Ever thought about writing #WebAssembly by hand? 🤔

Authors Patrick @dubroy.com and @marianoguerra.org think it's crucial for learning. They join #WasmAssembly host Thomas Steiner to discuss their ebook, "WebAssembly from the Ground Up" → goo.gle/3Ln67Pp
November 4, 2025 at 9:00 PM
Reposted by WebAssembly from the Ground Up
Today I presented to the Wasm CG a proposal for fine-grained dynamic code generation as a core WebAssembly feature. The proposal is now at phase 1!

github.com/WebAssembly/...

Also immortalized in song: suno.com/song/19e0679...
GitHub - WebAssembly/jit-interface: WebAssembly specification, reference interpreter, and test suite for the jit-interfaces proposal.
WebAssembly specification, reference interpreter, and test suite for the jit-interfaces proposal. - WebAssembly/jit-interface
github.com
October 29, 2025 at 9:49 PM
Reposted by WebAssembly from the Ground Up
Working on a diagram for an upcoming @wasmgroundup.com blog post.
October 29, 2025 at 10:24 AM
This week the W3C WebAssembly Community Group is holding an in-person meeting in Munich.

We (@dubroy.com and @marianoguerra.org) are planning to be there. Patrick tomorrow, and both of us on Thursday for the Research Day.

If you see us, come say hi!
October 27, 2025 at 4:44 PM
Reposted by WebAssembly from the Ground Up
📢 New #WasmAssembly podcast 🎙️ episode:
#WebAssembly from the Ground Up with @dubroy.com and @marianoguerra.org. Learn how they're teaching #Wasm by building a compiler in JavaScript and why writing Wasm by hand is crucial!

🍿 www.youtube.com/watch?v=dRdD...
🎧 wasmassembly.libsyn.com/webassembly-...
WebAssembly from the Ground Up with Patrick Dubroy and Mariano Guerra
YouTube video by Chrome for Developers
www.youtube.com
October 20, 2025 at 6:22 PM
Interesting paper presented at MPLR yesterday — "A Snapshot of the Performance of Wasm Backends for Managed Languages"
users.cs.northwestern.edu/~robby/pubs/...

Benchmarks Wasm implementations of Dart, Haskell, Scheme, OCaml, Ruby against the native impls.
October 14, 2025 at 4:34 AM
A look at how people are shipping Wasm as part of JavaScript libraries.
TIL: WebAssembly library initialization patterns
→https://github.com/pdubroy/til/blob/main/js/2025-10-05-WebAssembly-library-initialization-patterns.md
October 6, 2025 at 6:14 AM
An interesting article about how Figma moved from WebGL to WebGPU —

Figma rendering: Powered by WebGPU
www.figma.com/blog/figma-r...

Also talks a bit about their overall app architecture, and how they use #wasm.
September 29, 2025 at 2:36 PM
Reposted by WebAssembly from the Ground Up
The WebAssembly 3.0 spec is complete!

webassembly.org/news/2025-09...

This includes major features like GC, 64-bit memories, exceptions, and tail calls.
Wasm 3.0 Completed - WebAssembly
WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the...
webassembly.org
September 17, 2025 at 5:04 PM
Reposted by WebAssembly from the Ground Up
@dubroy.com alerted me to the Safari release notes (developer.apple.com/documentatio...) say version 26 ships an in-place interpreter for WebAssembly, which is in part based on the Wizard design, but adapted for Safari's use cases.

This is cool!

Wasm brings all the VMs to tiers!
developer.apple.com
September 16, 2025 at 1:44 PM
Nice use of Wasm — bundling lightweight WebAssembly decoders with the data.

AnyBlox: A Framework for Self-Decoding Datasets
gienieczko.com/anyblox-paper

/ht Jamie Brandon (www.scattered-thoughts.net/log/0054/)
September 12, 2025 at 1:09 PM
Designing syntax is hard!

Some good examples here of what makes language design so tricky.
From the author of Pandoc —

"I'll go through the six features of Markdown that I think have created the most difficulties"

Beyond Markdown: johnmacfarlane.net/beyond-markd...
John MacFarlane - Beyond Markdown
John MacFarlane
johnmacfarlane.net
September 8, 2025 at 2:52 PM
Many of our friends in North America are back to school already, but we've still got two more weeks of holidays over here.

Which means: it's not too late to snag a copy of the book in our summer sale!
The summer holidays just started here in southern Germany.

So, it's time for a ☀️ SUMMER SALE ☀️ —

Use the code SUMMER25 for a 25% discount on the book until Sept 15: wasmgroundup.com
WebAssembly from the Ground Up
A book about WebAssembly — learn Wasm by building a simple compiler in JavaScript.
wasmgroundup.com
September 2, 2025 at 1:51 PM
Had a fun time recording a podcast episode today…looking forward to sharing it with y'all soon!
September 2, 2025 at 1:37 PM
Reposted by WebAssembly from the Ground Up
Lately I’ve been learning more about WebAssembly fundamentals by reading this fantastic book: wasmgroundup.com .

It’s really well written and focuses on how WebAssembly is written by teaching you to write a compiler for it. Which is honestly pretty genius.
WebAssembly from the Ground Up
A book about WebAssembly — learn Wasm by building a simple compiler in JavaScript.
wasmgroundup.com
August 26, 2025 at 2:43 PM
The summer holidays just started here in southern Germany.

So, it's time for a ☀️ SUMMER SALE ☀️ —

Use the code SUMMER25 for a 25% discount on the book until Sept 15: wasmgroundup.com
WebAssembly from the Ground Up
A book about WebAssembly — learn Wasm by building a simple compiler in JavaScript.
wasmgroundup.com
August 5, 2025 at 2:08 PM
Wasm modules are enabled by default in the latest version of Node (v24.5.0)! 🎉
TIL: Wasm modules in Node
github.com/pdubroy/til...
August 5, 2025 at 1:39 PM
Reposted by WebAssembly from the Ground Up
Pretty pleased with the ergonomics of the Wasm (macro-)assembler in @ohmjs.org.

It's built on the low-level assembler lib we created for @wasmgroundup.com, but has some nice higher-level features, including labeled breaks. I'm particularly proud of the idea to put the block label at the end. 😊
July 25, 2025 at 8:00 AM
Reposted by WebAssembly from the Ground Up
We're still looking for more sponsors! If you or your company can help fund this effort: github.com/sponsors/pd...

Since 2017, my work on Ohm has been unpaid. Your sponsorship helps the project be sustainable, ensuring that I can maintain and improve Ohm for many years to come!
Sponsor @pdubroy on GitHub Sponsors
I'm the lead developer of Ohm (ohmjs.org), a user-friendly parsing toolkit for JavaScript and TypeScript. I also created the Ohm Editor, and the interactive visualization for understanding and ...
github.com
July 14, 2025 at 5:42 PM
Reposted by WebAssembly from the Ground Up
acm queue issue out on webassembly, with articles by @littledan.dev, conrad watt, ben titzer, & yours truly: queue.acm.org/issuedetail....
WebAssembly - ACM Queue
queue.acm.org
July 8, 2025 at 7:55 AM
A good question we were asked recently —

"Does V8 optimize WebAssembly similar to JS?"

The latest post on the V8 blog, "Speculative Optimizations for WebAssembly using Deopts and Inlining", provides some answers!

v8.dev/blog/wasm-s...
June 26, 2025 at 7:58 AM
Reposted by WebAssembly from the Ground Up
Here's what I've been working on the past couple months! It's been a lot of fun, and the prototype shows some promising perf improvements (~10x).

It's still about 8–10 weeks of effort to productionize this. If you or your company can help fund that work, please get in touch!
ohmjs.org OhmJS @ohmjs.org · Jun 23
Ever wanted to use Ohm from another language? Go, Python, Rust?

See the brand new, experimental support for compiling Ohm grammars to Wasm: github.com/ohmjs/ohm/d...

It wasn't the main goal, but it also appears to be a perf win — parsing is about 10x faster on real-world grammars (e.g. ES5).
June 23, 2025 at 2:35 PM
Reposted by WebAssembly from the Ground Up
Oliver Medhurst talks about Porffor and compiling JavaScript ahead-of-time at the Web Engines Hackfest 2025 @goose.icu www.youtube.com/watch?v=RU5N...
Oliver Medhurst - Compiling JavaScript ahead-of-time
YouTube video by Web Engines Hackfest
www.youtube.com
June 16, 2025 at 7:03 AM
What's the opposite of a cautionary tale?

Well, yeah…this is one of those. Learn #wasm and you might just have a helluva lot of fun.
Ok ok this may not make a lot of sense but I am *extremely* happy to have gotten this code working!! So I feel compelled to share.

(And yes, I wrote my own macro-assembler for #wasm in JavaScript. That's how much fun I'm having, and yes I mean that sincerely.)

1/x
May 16, 2025 at 2:57 PM