Patrick Dubroy
dubroy.com
Patrick Dubroy
@dubroy.com
Programmer & researcher, co-creator of https://ohmjs.org. 🇨🇦 🇩🇪 🇪🇺

Co-author of https://wasmgroundup.com — learn Wasm by building a simple compiler in JavaScript.

Prev: CDG/HARC, Google, BumpTop
Pinned
Here it is — very happy to officially release the book that @marianoguerra.org and I have been working on for the past 2½ years.

If you bought it in early access, thanks for your support! 🙏

If you haven't bought it yet, please check it out!!
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. 👇
TIL: V8 Natives syntax
github.com/pdubroy/til/...
December 24, 2025 at 1:20 AM
Reposted by Patrick Dubroy
Reposted by Patrick Dubroy
We just sent out our last newsletter of the year, chock full of Wasm tidbits and captivating compiler content.

Not signed up? You're missing out!

Get on the list at sendfox.com/wasmgroundup
December 18, 2025 at 3:06 PM
Reposted by Patrick Dubroy
Just added an example to the Ohm repo of implementing something like Zed's SumTree.

(aka "monoid-cached trees" if you want to sound clever)

Full example here: github.com/ohmjs/ohm/bl...
December 10, 2025 at 3:59 PM
Reposted by Patrick Dubroy
A very readable doc about V8's new bytecode verifier.

Readers of our book may notice the similarity to the Wasm security model — see this excerpt from the chapter "What makes WebAssembly safe?"
December 9, 2025 at 11:13 AM
Reposted by Patrick Dubroy
What defines a correct program? What education makes a good programmer? The answer depends on what culture of programming you subscribe to!

This has been a long time in the making, but my open access book on the history of programming is available for pre-order!

www.cambridge.org/core/books/c...
December 9, 2025 at 9:52 AM
December 7, 2025 at 3:21 PM
This document radicalized me.
December 5, 2025 at 2:21 PM
No tumblr lives rent-free in my head the way accidentallyquadratic.tumblr.com does.
Accidentally Quadratic
accidentallyquadratic.tumblr.com
December 5, 2025 at 10:30 AM
Periodic reminder — bunny.net is great!

I pay them…*checks notes* $1/month for a better version of everything I used Cloudflare for.
For…reasons, I've been investigating non-US alternatives for some of the services I use.

TIL that @BunnyCDN offers a drop-in replacement for Google Fonts: fonts.bunny.net/

Also Bunny itself is a great EU-based alternative to most of what Cloudflare offers.
December 5, 2025 at 10:27 AM
TIL: Printing V8 bytecode
github.com/pdubroy/til/...
December 3, 2025 at 7:35 PM
Reposted by Patrick Dubroy
A lot of folks know me for one or two posts, and might not know I've created nine (9!) visual explanations of computer science topics, aimed at practitioners.

If you're looking for things to read this Thanksgiving, I think you'll love them.

Computer science is a lot of fun, when explained well. ❤️
November 28, 2025 at 4:34 PM
Not often that I’m reading a CS paper and think, damn, now there’s a good diagram.

These pretty good…love the ✂️s

From ”The Ubiquitous Skip List: A Survey…” dl.acm.org/doi/pdf/10.1...
November 27, 2025 at 7:25 PM
I'm working on something that benefited from a sprinkle of PBT, and this was *very* useful —

Choosing properties for property-based testing
fsharpforfunandprofit.com/posts/proper...
Choosing properties for property-based testing
Or, I want to use PBT, but I can never think of any properties to use
fsharpforfunandprofit.com
November 26, 2025 at 1:33 PM
Definitely one of the cooler language playgrounds I've seen: pinky.cool.omg.lol
November 21, 2025 at 3:46 PM
Excited to finally release the blog post that @marianoguerra.org has been working on for a while!
Per your request, please find enclosed…a new blog post!

A WebAssembly interpreter (Part 1)
wasmgroundup.com/blog/wasm-vm...

We build up a simple interpreter from scratch, in JavaScript, for a small subset of Wasm instructions (arithmetic and comparison).
A WebAssembly interpreter (Part 1)
Implementing a Wasm Interpreter to explore its design and semantics
wasmgroundup.com
November 20, 2025 at 2:02 PM
TIL: Branded types in TypeScript
github.com/pdubroy/til/...
November 19, 2025 at 7:40 PM
"Some compiler-development experiences are long slogs where you write code for months without ever having a thing that produces an actual executable that you can run."

"My First Fifteen Compilers" by Lindsey Kuper
blog.sigplan.org/2019/07/09/m...
November 18, 2025 at 12:34 PM
A new blog post —

devlog: garbage collection is useful
dubroy.com/blog/garbage...

Trying something new: quick, technical posts about things I'm working on. Let's see if it sticks.
November 14, 2025 at 4:14 PM
In basically every TypeScript codebase I touch, I end up adding a `checkNotNull` function exactly like the one from the Kotlin stdlib.

So useful! Surprisingly I haven't seen many TS resources which mention this specific pattern.
November 14, 2025 at 8:05 AM
Somewhat surprising (to me) advice in Google's C++ style guide:

"Try to avoid unsigned types (except for representing bitfields or modular arithmetic). Do not use an unsigned type merely to assert that a variable is non-negative."

Example of a possible bug: abseil.io/tips/227

(via @wingolog.org)
November 11, 2025 at 3:45 PM
A cool paper from OOPSLA '25 —

An Empirical Evaluation of Property-Based Testing in Python
dl.acm.org/doi/pdf/10.1...

Some interesting findings:
- "Each property-based test finds about 50x as many mutations as the average unit test"
- "76% of mutations were found within the first 20 inputs"
November 8, 2025 at 7:31 PM
Reposted by Patrick Dubroy
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
Did you know that Microsoft MakeCode (a Scratch-like coding environment) supports a variant of TypeScript called "Static TypeScript"?

github.com/microsoft/px...

Also described in a 2019 MPLR paper: www.microsoft.com/en-us/resear...
October 31, 2025 at 8:58 AM
Reposted by Patrick Dubroy
jumpscared by my own research paper appearing halfway down this blog post
A blog post from last year, which I never posted here —

Bytecode VMs in surprising places
dubroy.com/blog/bytecod...
October 29, 2025 at 11:47 PM