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
A few quotes about Steve Jobs from "Valley of Genius" by Adam Fisher.
January 11, 2026 at 5:26 PM
It's actually official supported (from the pre-X times), you can find instructions here: www.tweetarchivist.com/how-to-downl...

I just took that and wrote some scripts to do some additional processing on it (resolving short links, etc.)
www.tweetarchivist.com
January 10, 2026 at 7:15 PM
I believe it can! But it was a one-time thing, and I tried gallery-dl first, and it worked.
January 10, 2026 at 6:16 PM
Oh dang, that looks nice! I think I saw it a while back but forgot about it.

If I had remembered, I would have probably just used that :-)
January 9, 2026 at 5:09 PM
My web site is built with a custom-written static site generator (basically just a ~700 line Python script + Jinja templates).

I extended it to be able to able to parse the download and render the downloaded archive (with lots of help from Claude Code).
January 9, 2026 at 2:52 PM
Do you ever (or would you consider) recording/streaming your investigation into such an issue? Would be really interesting to see imo.
January 7, 2026 at 5:45 PM
(This is basically the same as the distinction between synthesized vs inherited attributes in attribute grammars.)
January 5, 2026 at 12:08 PM
One diff I've noticed is that in compilers, most computation is bottom up — generally, a change in a leaf means that all the ancestors are dirty.

Whereas in UI, there's a lot more top-down information flow (props).
January 5, 2026 at 12:06 PM
Nice article, I was looking at this recently as well: bsky.app/profile/dubr.... I've also been working on fully incremental pipelines on top of the incremental parsing support in @ohmjs.org.
January 5, 2026 at 12:00 PM
"a nice chewy problem"
January 5, 2026 at 10:11 AM
Yeah, perhaps. Still think it would be really interesting to dig into the specifics of all the different cases! Will let you know if I decide to investigate and write that post :-)
December 21, 2025 at 7:10 PM
Isn't the specific issue there a megamorphic call site?

Whereas with tagged unions, you more often have a switch on `obj.kind` and then monomorphism within the individual cases, no?

And I wonder if the `obj.kind` access would go through a shared transitional map, and thus be fast? But not sure.
December 21, 2025 at 6:14 PM
Thanks. Yeah I’m familiar with the concepts (hidden classes, poly/megamorphism, etc.) but would love a concrete demonstration of how this plays out with typical usage of tagged unions.
December 21, 2025 at 5:32 PM
Do you know of a good post that describes the performance implications of tagged unions? I’d be interested to read that.
December 21, 2025 at 3:27 PM