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
Honestly all survey papers should include a graphical taxonomy of related work.
November 29, 2025 at 7:42 AM
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
Definitely one of the cooler language playgrounds I've seen: pinky.cool.omg.lol
November 21, 2025 at 3:46 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
Bjarne Stroustrup: "Subscripts and sizes should be signed" open-std.org/jtc1/sc22/wg...
November 12, 2025 at 5:35 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
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
Working on a diagram for an upcoming @wasmgroundup.com blog post.
October 29, 2025 at 10:24 AM
(Needed a thread here where I can post new examples!)

Dodrio (by Nick Fitzgerald) is an experimental virtual DOM library for Rust and Wasm. It uses bump allocation for the VDOM nodes and uses a stack machine language to represent change lists: github.com/fitzgen/dodrio
October 29, 2025 at 7:25 AM
A blog post from last year, which I never posted here —

Bytecode VMs in surprising places
dubroy.com/blog/bytecod...
October 29, 2025 at 7:19 AM
To be clear, I'm only talking about those 4 functions.

Take useContext, why do you say this doesn't involve hidden state?

And how is Provider/useContext not dynamic scoping? (Just using the standard trick to emulate dynamic scoping in a lexically-scoped lang, set and restore a long-lived var.)
October 26, 2025 at 7:58 AM
If you're interested in UI frameworks/architectures, @raphlinus.bsky.social's writings on the evolution of Xilem (Rust UI toolkit) are an incredible resource: github.com/linebender/x...

Covers details basically all the modern paradigms/toolkits: React, SwiftUI, Flutter, Compose, ImGui, etc.
October 25, 2025 at 6:26 AM
Hmmm, this paper from this year's OOPSLA looks interesting…

React-tRace: A Semantics for Understanding React Hooks
dl.acm.org/doi/pdf/10.1...
October 24, 2025 at 7:53 PM
Under the CLOUD Act, isn't the physical location of the servers irrelevant if it's a US company?

www.forbes.com/sites/emmawo...
October 23, 2025 at 11:03 AM
The "Inside Flutter" page from the @flutter.dev docs is a joy: docs.flutter.dev/resources/in....

Would love to see more libraries document their philosophy/approach and "what makes us different" like this.
October 20, 2025 at 5:12 PM
🤔
October 16, 2025 at 6:21 PM
DanielRosenwasser gets increasingly agitated
October 15, 2025 at 7:29 AM
This place is not a place of honor…
October 15, 2025 at 7:23 AM
TIL: [JS] Explicit resource management
github.com/pdubroy/til/...

Don't miss the getter trick! It's super helpful and not well-documented.
October 9, 2025 at 12:22 PM
Causal Separation Diagrams (CSDs) from "Inductive Diagrams for Causal Reasoning" by Castello et al (2024)

dl.acm.org/doi/pdf/10.1...
October 8, 2025 at 7:01 AM
I like this —

A case for learning GPU programming with a compute-first mindset: themaister.net/blog/2025/10...
October 7, 2025 at 2:37 PM