Twitter Archive: 2024

Twitter dot com was a microblogging and social networking service, where users could share short posts (commonly known as “tweets”) with text, images, and video.

This is an archive of all my tweets from 2008–2025.

These days, you can find me on Bluesky or Mastodon.

By year

…or see popular posts.

2024

Honestly a big unlock for me in the past few years was the realization that the squishy factors like this are often the most important.

What's fun? What are you excited about? What makes you feel good? etc. twitter.com/charliermarsh/…
December 29, 2024 · 45 · 5
"dimly-seen and poorly-documented code gremlins called cycle-eaters"
Tweet image
December 21, 2024 · 5
A big release for @WasmGroundUp today: a draft of the last chapter on the main track of the book.

The end is in sight… 😅 twitter.com/WasmGroundUp/s…
December 16, 2024 · 2
This is great advice and something I’ve been trying to do more recently.

Many of these things end up as a TIL post on github.com/pdubroy/til twitter.com/oznova_/status…
December 11, 2024 · 5

More wise advice in the full thread

twitter.com/oznova_/status…
December 11, 2024 · 1
Looking forward to release a draft of Chapter 10 very soon!

This one's a doozy…memory allocation, string representations, etc. twitter.com/WasmGroundUp/s…
December 11, 2024 · 2 · 1
Reminder that you cannot "hear someone's voice" on a telephone! A telephone is simply designed to vibrate a diaphragm — nothing more. It doesn't (and absolutely cannot) transmit voices over a long distance.
December 9, 2024 · 3
TIL that there's a bridge in Lisbon that's (a) painted the same colour as the Golden Gate bridge, and (b) has the same basic construction as the Bay Bridge.

en.wikipedia.org/wiki/25_de_Abr…
Tweet image
December 9, 2024 · 2

American Bridge Company is the GOAT
Tweet image Tweet image Tweet image Tweet image
December 9, 2024 · 3 · 1
It's always fascinating to read about how startup a *failed* to find product-market fit.

From @replayio: "A new direction"
blog.replay.io/a-new-direction

Kudos to @jasonlaster11 and team for publishing this!
December 8, 2024 · 10 · 1

@replayio @jasonlaster11 The Zaplib post-mortem from @stevekrouse and @JanPaul123 is another interesting one: twitter.com/stevekrouse/st…
December 8, 2024 · 6

@replayio @jasonlaster11 @stevekrouse @JanPaul123 Also ❤️ that this little note turned into @ValDotTown!
Tweet image
December 8, 2024 · 6 · 2

December 9, 2024 · 2
Really enjoyed this talk by Will Wilson (CEO of @AntithesisHQ) —

Testing a Single-Node, Single Threaded, Distributed System Written in 1985
youtube.com/watch?v=m3HwXl…

or, "How to beat Mario with a random number generator"
December 7, 2024 · 67 · 12
What a read.

"Tiger Style", the TigerBeetle style guide: github.com/tigerbeetle/ti…

"TigerBeetle's coding style is evolving. A collective give-and-take at the intersection of engineering and art. Numbers and human intuition. Reason and experience. First principles and knowledge."
Tweet image
December 4, 2024 · 38 · 10

The Safety section is super interesting: github.com/tigerbeetle/ti…

Also this is probably the most concise explanation of the "fail fast" principle that I've ever read.
Tweet image
December 4, 2024 · 8 · 2
In @WasmGroundUp I'd like to link to a good article on Unicode, string encodings, etc.

Is Joel's "The Absolute Minimum…" (joelonsoftware.com/2003/10/08/the…) still a reasonable choice? Or is there something better these days?
December 3, 2024 · 4 · 2
This is really interesting.

More on UserTalk (from ~1997) here: web.archive.org/web/2004081814… twitter.com/msimoni/status…
November 27, 2024 · 10 · 2
Hmmm, never thought about it this way before!

The whole post ("Fantastic Learning Resources") is worth a read: matklad.github.io/2023/08/06/fan… twitter.com/zack_overflow/…
Tweet image
November 24, 2024 · 32 · 1
Interesting, didn't know about the V8 Research Grant! v8.dev/grant

For "programming languages and software systems research based on V8, JavaScript, and WebAssembly"

Too bad that it's only for profs at accredited universities though…
Tweet image
November 23, 2024 · 5
PSA: Like many of you, I'm mostly over here these days: bsky.app/profile/dubroy…
November 20, 2024 · 2
First edition of the Munich Homebrew Systems Club is tomorrow at 2pm.

If you haven't signed up yet, what are you waiting for? lu.ma/je6q8qzq twitter.com/dubroy/status/…
Just one more week until the first edition of Homebrew Systems Club!

Come join us next Sat for talks by @thorstenball, @tsenart, @warianoguerra, and myself.

Details here: lu.ma/je6q8qzq

We still have room for two short (5m) demos/⚡-talks! Lmk if you're interested. twitter.com/dubroy/status/…
Nov 8
November 15, 2024 · 5 · 1
Still love this feature from @TitzerBL's Virgil (github.com/titzer/virgil).

"The compiler contains an interpreter for the entire language and simply executes the code that you write to initialize variables and definitions before it generates a binary."
Tweet image
November 10, 2024 · 35 · 3
Made a little something for my talk next week at Homebrew Systems Club.

It's about running bytecode interpreters on the GPU. It'll be fun, come join us! twitter.com/dubroy/status/…
Just one more week until the first edition of Homebrew Systems Club!

Come join us next Sat for talks by @thorstenball, @tsenart, @warianoguerra, and myself.

Details here: lu.ma/je6q8qzq

We still have room for two short (5m) demos/⚡-talks! Lmk if you're interested. twitter.com/dubroy/status/…
Nov 8
November 9, 2024 · 23 · 3
Same here 🙋‍♂️

You should join us, it really feels like there's a critical mass in a way that never happened for me w/ Mastodon. twitter.com/warianoguerra/…
November 9, 2024 · 5
Just one more week until the first edition of Homebrew Systems Club!

Come join us next Sat for talks by @thorstenball, @tsenart, @warianoguerra, and myself.

Details here: lu.ma/je6q8qzq

We still have room for two short (5m) demos/⚡-talks! Lmk if you're interested. twitter.com/dubroy/status/…
Hey! @warianoguerra & I are starting a meetup in Munich, tentatively called "Homebrew Systems Club".

~~Vibes~~

Programming languages, environments, systems
Databases
Operating systems
Virtual machines
{Handmade, local-first, lo-fi, home cooked} software
Tweet image
Oct 11
November 8, 2024 · 34 · 7
Love this!

I think there are so many ways we could make GUIs more powerful and enable the kind of abstraction you usually only see in programming languages. twitter.com/tophtucker/sta…
November 7, 2024 · 22 · 4
📝New blog post

One way to do applied research
dubroy.com/blog/one-way-t…
Tweet image
November 7, 2024 · 74 · 12
Saw this talk by Jonathan Ragan-Kelley: "The Future of Fast Code: Giving Hardware What it Wants"
youtube.com/live/66oKqvwoI…

Now I'd like to know: are there any books/articles that go deeper but are similarly accessible?

I'd love to learn more about the specifics of modern GPUs.
November 7, 2024 · 4
Hitting some interesting challenges with @WasmGroundUp

How to explain things like memory allocation, pass-by-value, etc., when the audience might only know JavaScript?

Here's a bit from our latest draft. Would love some feedback — is it understandable? Does it seem useful?
Tweet image
November 5, 2024 · 5 · 1
A lot of academic writing can nearly impenetrable to people outside the field.

So it's always a joy to come across things that are as clearly written as this. (And Halide is very cool — halide-lang.org)
Tweet image
November 4, 2024 · 24 · 4

Original article is here: cacm.acm.org/research/halid…

And yes, it's CACM but still. (Also, the Halide papers themselves are similar.)
November 4, 2024 · 1
Author: “The book has over 200 5-star reviews on Amazon!”

The reviews:
Tweet image
November 2, 2024 · 6
Hmmm.

"we're unwittingly creating a kind of 'announcement economy' in which you can receive the same amount of funding, attention, and dopamine from announcing an intention to build something—or by building a shiny demo—as you can by actually delivering a great product." twitter.com/_TamaraWinter/…
November 1, 2024 · 11 · 2
oh hey i'm over here too: bsky.app/profile/dubroy…
November 1, 2024 · 2
A wonderful conversation between two of my favourite people.

Some gems in here if you're interested in programming, learning, growth, … twitter.com/thorstenball/s…
Tweet image
October 31, 2024 · 13 · 3
Graphics programming is the best, I love when my debug output is accidentally beautiful.
Tweet image
October 30, 2024 · 17
“std::string is responsible for almost half of all allocations in the Chrome browser…be careful how you use it” twitter.com/jakubtomsu_/st…
October 29, 2024 · 2
Now that's an inspiring CV. twitter.com/splashcon/stat…
Tweet image
October 21, 2024 · 134 · 6

Seriously. In case you thought you needed a PhD to do impactful compiler/VM work.
Tweet image
October 21, 2024 · 9 · 1
Still think about this every time I'm running benchmarks. twitter.com/dubroy/status/…
If, like me, you thought about this for a bit and then went, "Wait, how is that possible?"

sqlite.org/cpu.html#perfo…
Tweet image
Mar 25
October 20, 2024 · 5
I still think about this a lot. twitter.com/dubroy/status/…
It’s interesting — lots of people talking about alternative models for research funding, but I don’t see anyone looking for new ways to get smart, ambitious people to work on something together.
May 13
October 19, 2024 · 20
Knuth on reusable code:

"re-editable code is much, much better"
Tweet image
October 18, 2024 · 74 · 4

Source: informit.com/articles/artic…

I feel like this idea is kinda gaining traction lately. E.g. shadcn/ui, also @bunjavascript seems to have quite a bit of code ported from other projects twitter.com/jarredsumner/s…
October 18, 2024 · 5
Internet Archive is down😭

Nothing like a service going down to remind you how much you rely on it. twitter.com/brewster_kahle…
Tweet image
October 12, 2024 · 17 · 1
Pascal vibes
Tweet image Tweet image Tweet image Tweet image
October 12, 2024 · 45 · 6

Ok so I'm making a Pascal: github.com/pdubroy/patscal

It's not done yet.
October 12, 2024 · 8
I love this! Why have I never seen a diagram like this before?
Tweet image
October 11, 2024 · 24 · 2

(It's "Box2D's architecture, concepts, and terminologies" from the LÖVE documentation: love2d.org/wiki/love.phys…)
October 11, 2024 · 8
Hey! @warianoguerra & I are starting a meetup in Munich, tentatively called "Homebrew Systems Club".

~~Vibes~~

Programming languages, environments, systems
Databases
Operating systems
Virtual machines
{Handmade, local-first, lo-fi, home cooked} software
Tweet image
October 11, 2024 · 113 · 13
This kind of messaging seems deeply disempowering to me.

"really, truly, the most horribly unsafe thing you can do"
"arbitrary chaos that can't really be predicted"

Like — it's my computer, I can SIGSEGV if I want to.
Tweet image
October 11, 2024 · 5 · 1
I guess "tamagotchi tooling" is the opposite of cold-blooded software.

chrisdone.com/posts/tamagotc… twitter.com/dubroy/status/…
Tweet image
📝 New blog post —

Cold-blooded software: dubroy.com/blog/cold-bloo…
Tweet image
Dec 28
October 11, 2024 · 20 · 4
"Like other forms of art, programming teaches you new ways to pay attention to your surroundings."

From @maxbittker's "My Creative Research Process"

maxbittker.com/creative-resea…
Tweet image
October 11, 2024 · 74 · 5
2016 Feb 08

"The past few months I took a break from working on Genesis Digital Audio Workstation to work, instead, on creating a new programming language.

I am nothing if not ambitious…"
andrewkelley.me/post/intro-to-…
Tweet image
October 11, 2024 · 7
I have gotten confused by this UI sooo many times.

"Next" shows *older* commits.
"Previous" shows *newer*.

Would be better if they were labeled that way imo.
Tweet image
October 9, 2024 · 17 · 1
omg every open source project should have a page like this: vanjs.org/about#source-g…

@taoxin 👏
Tweet image
October 7, 2024 · 35 · 3
This is super interesting. A long time ago I noticed that a lot of inventions in computing came from a partnership — often one philosopher and one hacker.

Kay & Ingalls
Metcalfe & Boggs
McCarthy & Russell

etc twitter.com/ItaiYanai/stat…
Tweet image
October 6, 2024 · 160 · 23
Ok so I decided to do this 😅

pdubroy.github.io/200andchange/

Want to add a new example or help annotate an existing one? PRs welcome! twitter.com/dubroy/status/…
Tweet image Tweet image
I kinda want to make a site that is just collects great examples like this — maybe annotate a la underscore underscorejs.org/docs/underscor…
Oct 6
October 6, 2024 · 63 · 7

Nice, woke up to a gem from @tekknolagi
Tweet image
October 7, 2024 · 3
I’ve been looking for a really minimal virtual DOM implementation — ideally a single file that I could inline into projects.

This week I discovered Superfine by Jorge Bucaran (creator of Hyperapp) which is just that: github.com/jorgebucaran/s…
Tweet image
October 6, 2024 · 69 · 7

There is something magical about ~250 lines in a single source file to illustrate a concept.

I almost did that for Pegboard but I'm tempted to refactor that so they're truly single-file, standalone examples.
twitter.com/dubroy/status/…
New blog post: Two little interpreters
dubroy.com/blog/two-littl…

A little project where I wrote a PEG interpreter in TypeScript in two different styles: tree-walking vs bytecode.

It didn't turn out the way I expected!
Tweet image
Mar 26
October 6, 2024 · 9

I kinda want to make a site that is just collects great examples like this — maybe annotate a la underscore underscorejs.org/docs/underscor…
October 6, 2024 · 14
Academish friends —

Just booked my ticket to LA for @splashcon! Will be there roughly Wednesday to Sunday. Looking forward to catching up and nerding out with y'all!
October 5, 2024 · 14
I could not disagree with this more. This attitude is actively harmful imo

"Don't implement your own GUI library, even as a hobby project. It's extremely hard to get right…"
Tweet image
October 2, 2024 · 51 · 3

Remember folks, you don't have to justify your side projects to anyone! twitter.com/dubroy/status/…
One of the best decisions I've made in the past few years is to stop treating side projects like work projects.

E.g.
- "doesn't something like that already exist?"
- "you shouldn't implement that yourself"

Both make sense at work, but wrong attitude for side projects imo.
May 3
October 2, 2024 · 21 · 1

The full post is actually a joy though.

Someone asks, "What are the performance implications of using an immediate-mode GUI?"

doesn't get a good answer

…and then 2yrs later replies: "I ended up implementing an immediate-mode GUI as my master’s thesis, and have some numbers…"
Tweet image
October 2, 2024 · 17

October 2, 2024 · 4
This feature is so clutch.

Just ran into the following error. Took me ~5s with Zed to fix it, and then another 10s to digest the explanation of *why* that fixed it.

Would have taken me much, much longer to google for the answer. twitter.com/thorstenball/s…
Tweet image
September 27, 2024 · 1

Now that I know the answer, I can look at how useful the Google results would have been. What are the chances I would have found the needle in the haystack?
Tweet image Tweet image
September 27, 2024 · 1
My happy discovery of the day is that if you're doing cross-platform shader development, Rust+wgpu is pretty great: github.com/gfx-rs/wgpu

Great tooling, good validation, and you can still debug your shader code in the native tools (e.g. XCode).
Tweet image
September 25, 2024 · 3 · 1
Is it just me or are the search results on Google Scholar really terrible now?

E.g. here's a query with the exact paper title. But that PDF link — and the others under "All 9 versions" — lead to a random set of slides summarizing the paper, not to the paper itself.
Tweet image Tweet image
September 25, 2024 · 2

This is for a paper published a little over a year ago, with *1405 citations* (!!)

It's both recent and highly cited…hardly a dark corner of academia.
September 25, 2024 · 1
Love it! Looks like a great set of resources for learning graphics programming. twitter.com/kenpex/status/…
Tweet image
September 24, 2024 · 6
One of my discoveries on this odyssey was how wild Vulkan is.

>1000 lines of C++ for "hello triangle" 🫠

…here's the one from the official Vulkan samples: github.com/KhronosGroup/V… twitter.com/dubroy/status/…
TIL: Debugging shaders
github.com/pdubroy/til/bl…

I finally figured out some decent workflows for debugging shaders!
Tweet image Tweet image Tweet image Tweet image
Sep 24
September 24, 2024 · 5 · 3

For comparison, some similar examples —

C++/OpenGL (~180 LoC): learnopengl.com/code_viewer_gh…
ObjC/Metal (~220 LoC): developer.apple.com/documentation/…
Swift/Metal (~160 LoC): github.com/javiersalcedop…

(And yes I know Vulkan is a lower-level API than OpenGL. But similar to Metal AFAIU?)
September 24, 2024 · 1
TIL: Debugging shaders
github.com/pdubroy/til/bl…

I finally figured out some decent workflows for debugging shaders!
Tweet image Tweet image Tweet image Tweet image
September 24, 2024 · 13
Graphics programming is just hours and hours of misery and then getting ridiculously excited when something like this appears on your screen
Tweet image
September 23, 2024 · 52

"Afterwards, we came to refer to certain types of accomplishments as 'black triangles'"

rampantgames.com/blog/?p=7745
Tweet image
September 23, 2024 · 7 · 2
Graphics friends…can you a recommend a tool for step debugging OpenGL shaders, on either macOS or Linux?

Many tools (NVIDIA Nsight, RenderDoc, etc.) only seem to support shader debugging with Vulkan.

glslDevil seemed promising but it didn't work w my app.
September 20, 2024 · 2 · 1
EU Coffee nerds —

If (like me) you've been been looking for a decent decaf, check out the El Carmen from @bonanzacoffee: shop.bonanzacoffee.de/products/el-ca…

Having my first cup right now and it's like wow, this is actually tastes damn good.
September 20, 2024
Awww yeah look what arrived today
Tweet image
September 18, 2024 · 29
Just me and my 847 closest, most trusted partners
Tweet image
September 18, 2024 · 8
I love little things like this — and the tools (like @ValDotTown, @scratch, etc.) that make them possible. twitter.com/stevekrouse/st…
September 17, 2024 · 9 · 1

@ValDotTown @scratch Here's something my daughter and I made in about 30 minutes in Scratch — a simulation of a digital water curtain that we saw at the airport.
September 17, 2024 · 4

September 17, 2024 · 3
TIL: Shader performance profiling on macOS
github.com/pdubroy/til/bl…
Tweet image
September 16, 2024 · 2

Man, programming shaders is a very different world…
Tweet image
September 16, 2024 · 7
There's so much good stuff in here.

I feel like 75% of it is "be high agency and take responsibility for outcomes" but it's pretty interesting how he communicates that.

For one thing, there's a ton of really specific examples. twitter.com/NickADobos/sta…
Tweet image
September 15, 2024 · 12
💯 agree. Personally this one's a big one for me. twitter.com/eatonphil/stat…
Tweet image
September 13, 2024 · 20 · 2

That's why I started my own TIL repo for example, inspired by @simonw.

I wrote more about that here. twitter.com/dubroy/status/…
New blog post: Taking Learning Seriously
dubroy.com/blog/taking-le…
Tweet image
May 30
September 13, 2024 · 1
It's quite shocking when you try the "real" version of a food and realize that up to now, you've been eating a simulacrum.

(Yes I'm the guy at the party who won't shut up about traditional balsamic vinegar)
September 13, 2024 · 14
There's a phrase that's been stuck in my head ever since I heard @_adamwiggins_ say it on the Metamuse podcast:

"Software that says something unique about the world"
September 10, 2024 · 23 · 3

We're so used to thinking in features: "Can't XYZ do that already?"

But as an author/creator, that's not always what it's about. Sometimes, you're just driven by a feeling that there's a better way to do things.
September 10, 2024 · 5

Like I'm sure some people see @_ohmjs as "just another JS parsing toolkit".

Does it do anything that the other tools don't do? Not really.

But we happen to think we have a unique spin on that category.
September 10, 2024 · 1

So I love Adam's phrase for two reasons:

1️⃣ It's a reminder of what most of us really care about. If you're an Emacs-head or a vim-o-phile, an iOS fan or an Android die-hard, it's almost certainly not because of the feature list.
September 10, 2024 · 3

2️⃣ As an author, it pulls me in two directions. On one hand, it's freeing — my work doesn't have to be *novel*, it's enough to be *different*.

On the other hand, I also see it as a challenge: "Why am I doing this? Am I really saying something unique here?"

I like that tension.
September 10, 2024 · 4
Dang — can't believe I've never heard of this paper before!

clear.rice.edu/comp512/Lectur… twitter.com/marksaroufim/s…
September 9, 2024 · 19 · 1

Also why did papers look so much cooler back then
Tweet image
September 9, 2024 · 3
Interesting discussion here.

From a PL perspective, I'd also recommend "Kotlin Coroutines: Design and Implementation" from Onward '21 which is a good summary of some of the tradeoffs and differences:
researchgate.net/profile/Mikhai… twitter.com/fenil_jain_/st…
September 9, 2024 · 8
This is out of nowhere but I really appreciate what a positive influence @recursecenter has had on computing culture in the past 10+ years.

So many of the most thoughtful and interesting people I run across on the internet turn out to be connected to RC.
September 8, 2024 · 153 · 17

@recursecenter It totally wouldn't surprise me if — 20 or 30 years from now — people talk about RC the same way we talk about the Whole Earth Catalog, Homebrew Computer Club, etc. today.
September 8, 2024 · 31 · 4

The whole community is a powerful counterforce to the rampant cynicism (and other -isms 😁) you encounter nearly everywhere else.
September 8, 2024 · 11 · 1

Also, if you haven’t seen it before, it’s worth reading about RC’s social rules: recurse.com/social-rules
Tweet image
September 8, 2024 · 13 · 2
Really enjoyed "About the IMGUI paradigm" by @OCurnut on the Dear ImGui wiki: github.com/ocornut/imgui/…
September 8, 2024 · 7 · 1

It's a good summary of the history, and an attempt to defined and clarify what exactly immediate-mode GUI *is*.
Tweet image Tweet image
September 8, 2024 · 3
Niche subject but as an old gc head I find this pretty interesting.

Plus I can't help but think Niklaus Wirth would approve.

wingolog.org/archives/2024/…
Tweet image
September 7, 2024 · 7
Hoo boy this is going to be a treat!

If you aren't familiar with @rtfeldman's Software Unscripted podcast, I can definitely recommend it. The episode with Greg Wilson is one of my faves: shows.acast.com/software-unscr… twitter.com/debasishg/stat…
September 7, 2024 · 3
I've heard this many times (and in many forms) from Alan Kay, this description of what science is always makes me smile.
Tweet image
September 7, 2024 · 15

From "Etoys and SimStories" (1997): tinlizzie.org/VPRIPapers/hc_…
September 7, 2024 · 2
Looks like an absolutely incredible set of resources —
lectures (+exercises etc.) from Mario Wolczko's "Virtual Machines and Managed Runtimes" course at Berkeley: wolczko.com/CS294/index.ht…

Lecture guests
- Peter Deutsch & Allan Schiffman
- Dave Ungar
- Cliff Click
- Lars Bak

🔥
September 6, 2024 · 96 · 24
A good observation, and I ❤️ the description "very computer-minded" twitter.com/rsnous/status/…
September 6, 2024 · 3

E.g. another "very computer-minded" idea I've run across goes something like this:

"People sketch their ideas in <tool1>…and then create the final work in <tool2>. That's awkward and inefficient! We need a single tool that lets you do both."

twitter.com/rsnous/status/…
September 6, 2024 · 3
Ooh, love this term: "ghost knowledge".

I definitely know the concept but hadn't heard this term for it before.
Tweet image
September 5, 2024 · 124 · 12

September 5, 2024 · 11

@its_bvisness The first time I remember hearing about this idea, it was in reference to VMs and managed runtimes…so it's great to find this. twitter.com/dubroy/status/…
Looks like an absolutely incredible set of resources —
lectures (+exercises etc.) from Mario Wolczko's "Virtual Machines and Managed Runtimes" course at Berkeley: wolczko.com/CS294/index.ht…

Lecture guests
- Peter Deutsch & Allan Schiffman
- Dave Ungar
- Cliff Click
- Lars Bak

🔥
Sep 6
September 6, 2024 · 3
Redditspeedbot is an awesome example of malleable software in the wild.

"If you have ever stumbled upon a video that was too fast or too slow then this bot is for you. RedditSpeedBot will help you control the playback speed of any video or GIF."

reddit.com/user/redditspe…
Tweet image Tweet image
September 5, 2024 · 2
💯 agree.

The way I think about it is: if you're not making tradeoffs, you're not doing design.

But you see a lot of software like this — they just accrete features in a haphazard way. It's most noticeable in the UI, but it happens with libraries & frameworks too. twitter.com/FreyaHolmer/st…
September 5, 2024 · 8 · 2

Quite often I run across new tools (apps or libraries) and the main thing I notice is that it's "actually designed".

"It's like X…but *actually designed*."

(I may have picked this up from @warianoguerra)
September 5, 2024 · 3
I like this little piece of advice from matklad: "Push Ifs Up and Fors Down"

matklad.github.io/2023/11/15/pus…
Tweet image Tweet image
August 31, 2024 · 15 · 1

Interestingly, Ousterhout's "A Philosophy of Software Design" kind of argues for the opposite, although it's nuanced.

IMO the exact opposite is a better rule of thumb: "push complexity upwards".

See also Functional Core / Imperative Shell: destroyallsoftware.com/screencasts/ca…
Tweet image
August 31, 2024 · 7
Tweet image Tweet image
August 29, 2024 · 12 · 2
August 26, 2024 · 3
Love this vision. Years ago I hoped that the “card metaphor” might go in this direction but it turned out to just be a visual design trend. Big missed opportunity imo. twitter.com/genmon/status/…
August 23, 2024 · 8 · 1
I’ve seen this book before and finally decided I need a copy.

Any opinions on which version is the best? Original (1988)? The New Way Things Work (1998)? Or the most recent (2023)?
Tweet image Tweet image
August 22, 2024 · 36 · 2

Yay, my copy arrived today!

I decided to get a used copy of the original (1988)…and it turned out to be a signed by the author. 😄
Tweet image Tweet image
September 4, 2024 · 9
Interesting to think about this when teaching programming. Not much thought is given to exposing kids (people) to the process of creating “serious” stuff, or seeing an expert practitioner work.

(From “How Children Learn” by John Holt.)
Tweet image
August 21, 2024 · 97 · 13
Not a bad resume.
Tweet image
August 19, 2024 · 12 · 2
Compiler buds —

A startup I'm advising is hiring for a Staff Eng role, and interest and/or experience in PL implementation would be a huge plus.

They're tackling some super interesting problems at the intersection of AI and PL.

DMs are open if you'd like more details!
Tweet image Tweet image
August 9, 2024 · 33 · 8

More details on the company and role here: jobs.ashbyhq.com/luminai?utm_so…
August 9, 2024
Interesting. @cs50 , the intro to programming course at Harvard, starts by teaching C!

(And >50% of students have never taken CS before.)
Tweet image
August 4, 2024 · 5

@cs50 Here's the syllabus for the Fall 2024 course: cs50.harvard.edu/college/2024/f…
August 4, 2024 · 2
Wow. This is just an exceptionally clear conceptual explanation by @davidjmalan.

Timely since I'm in the middle of explaining the exact same concepts for @WasmGroundUp. twitter.com/7etsuo/status/…
August 4, 2024 · 14 · 3
August 4, 2024 · 2
If you're looking for a more conspicuous way to say "I'm a typography connoisseur", may I suggest the permille and per-ten-thousand glyphs?
Tweet image
August 4, 2024 · 7

wtf I just learned that the ✌️correct✌️ way to spell it is _connoisseur_, not like you would in modern French, but like the pre–1835 French spelling
Tweet image
August 4, 2024 · 3

Also props to the Wikipedia editor who chose this as the picture for en.wikipedia.org/wiki/Connoisse…
Tweet image
August 4, 2024 · 4
Fred Turner on techno-utopianism
Tweet image
August 4, 2024 · 6

From "Don’t Be Evil: Fred Turner on Utopias, Frontiers, and Brogrammers" (2017) worrydream.com/refs/Turner_F_…
August 4, 2024 · 1
I refer back to this post so often. They're some of my all-time favourite PL implementation papers. twitter.com/dubroy/status/…
✍️ The influence of Self: dubroy.com/blog/self/

All about the Self programming language, the most influential language that most programmers have never heard of.
Tweet image
Nov 1
August 2, 2024 · 11 · 2
More bytecode VMs in surprising places… twitter.com/dubroy/status/…
Tweet image
New blog post: Bytecode VMs in surprising places
dubroy.com/blog/bytecode-…

Most people probably associate bytecode VMs with general-purpose programming languages. But sometimes they appear in surprising places!
Tweet image
Apr 30
August 1, 2024 · 54 · 6

Tweet image
August 1, 2024 · 1 · 1
Tweet image
August 1, 2024 · 95 · 9
Oh man I'm tempted to go down the Oberon rabbit hole.

Such an impressive system. It's fun to think about what a modern take on this would look like.
Tweet image Tweet image
August 1, 2024 · 50 · 5

You can read the full book here: people.inf.ethz.ch/wirth/ProjectO…
August 1, 2024 · 5
✍️ Memories of some fantastic internships
dubroy.com/blog/memories-…

I wrote about some experiences I was lucky to have at the beginning of my career. It was great — every 8 months or so, I was thrown into the deep end and got to work on something I wasn't at all qualified for.
Tweet image
July 31, 2024 · 9 · 1
Amazing day:

1. Finish everything on your todo list by lunchtime.
2. Eat lunch.
3. Go biking. Go swimming. Read. Enjoy life.

Okay day:

1. Finish everything on your todo list by lunchtime.
2. Eat lunch.
3. Sit at your desk all afternoon, get a bit more done.

Choose wisely.
Tweet image
July 23, 2024 · 13 · 1
oh for gods sake
Tweet image
July 19, 2024 · 6

Here's the reasoning. I guess I buy it?
Tweet image
July 19, 2024 · 1
TIL: Installing Python type stubs
github.com/pdubroy/til/bl…
Tweet image Tweet image
July 17, 2024
TIL that REM in Basic is short for "remark"!

When I learned Basic (sometime in the 80s on the Atari 400 & 800) I'm pretty sure I was told it meant "remove", as in "remove this line from the program".
Tweet image
July 16, 2024 · 6 · 2

And yes, before you ask, I'm reading the Applesoft Basic Programmer's Reference Manual…why not?

ia601809.us.archive.org/13/items/apple…
July 16, 2024 · 2

Explaining multi-dimensional arrays using…eggs. And small change. 🤔
Tweet image
July 16, 2024 · 1
This is a lot of fun 😄 twitter.com/kotsoft/status…
July 14, 2024 · 3
Now that I've finally wrapped my head around NumPy, I decided to try making the visual explanation I wish I'd had.

Here's a first stab. WDYT? Is this useful? What's missing?
Tweet image
July 13, 2024 · 15 · 2
In a technical book, a small refactoring of the code can be a ton of work. Happy to get this one over with! twitter.com/WasmGroundUp/s…
July 12, 2024 · 1
July 12, 2024
My best advice for better technical communication is to *stop* doing two things:

- Introducing the topic with general facts
- "Tell 'em what you’re going to say, say it, then tell them what you said"
Tweet image
July 12, 2024 · 275 · 19

I've forever grateful to @timbray for coaching me out of the latter before my Google IO talk in 2011.

I still struggle to not do the "broad general statement" thing. When I need inspiration, I often look to @b0rk's writing.
Tweet image Tweet image
July 12, 2024 · 88 · 1

@timbray @b0rk @DanHollick is also great at this.
Tweet image
July 12, 2024 · 35

If you liked this, you might like my book at WebAssembly. No fluff — learn the low-level details by getting your hands dirty. wasmgroundup.com
July 13, 2024 · 10
When you think about it, isn't this viewpoint kinda funny?

We think it's important that `1 + 2 * 3` means `1 + (2 × 3)`, but otoh we're fine writing things like

2 / 3
radius**2
2 * x

rather than 2 ÷ 3, radius², 2x.
Tweet image
July 8, 2024 · 7 · 3

Related: it's fun reading the Python Matrix-SIG archives from 1995 (which eventually led to NumPy), and one of the first topics that came up was whether * should mean matrix multiplication, or element-wise multiplication: mail.python.org/pipermail/matr…
Tweet image
July 8, 2024 · 3
Just published a new chapter in @WasmGroundUp, a book about WebAssembly I'm writing with @warianoguerra.

This was a fun one. 😄 twitter.com/WasmGroundUp/s…
July 5, 2024 · 9 · 1
📝 New blog post —

Playing like a kid again: dubroy.com/blog/playing-l…
Tweet image Tweet image
July 1, 2024 · 26 · 2
TIL: PyScript
github.com/pdubroy/til/bl…
Tweet image
July 1, 2024 · 4
Wow. This is an incredible list of programming language implementation resources by @tekknolagi: bernsteinbear.com/pl-resources/

Compilers, runtimes, runtime optimization, "small JITs to help understand the basics", assembler libraries, small JIT IR libraries, …
Tweet image
July 1, 2024 · 346 · 52

@tekknolagi Even includes this very important category
Tweet image
July 1, 2024 · 8
TIL: Box blur
github.com/pdubroy/til/bl…
Tweet image Tweet image Tweet image
June 30, 2024 · 4
My superpower —

*listens to 5 seconds of podcast*

"oh the host is Canadian"
June 28, 2024 · 4
Oh man. I knew about Randy Smith (of Self fame)'s Alternate Reality Kit, but have never seen this video before. So much good stuff.

youtube.com/watch?v=w1HhPE…

via FoC Slack: history.futureofcoding.org/history/weekly…
June 24, 2024 · 12 · 2

Not to mention that it ends with this fabulous bit
Tweet image
June 24, 2024 · 1
This aesthetic.

patch-point.com
Tweet image Tweet image Tweet image Tweet image
June 13, 2024 · 13 · 1
Very glad to finally have Chapter 6 out the door! Getting closer and closer to being done. twitter.com/WasmGroundUp/s…
June 7, 2024 · 14
Kinda funny when you coin a term and then it acquires a totally different meaning after the fact
Tweet image
June 3, 2024 · 6

See also
Tweet image
June 3, 2024 · 1
New blog post: Taking Learning Seriously
dubroy.com/blog/taking-le…
Tweet image
May 30, 2024 · 126 · 13
TIL: Curvature combs
github.com/pdubroy/til/bl…
Tweet image Tweet image
May 23, 2024 · 11 · 1
Tweet image Tweet image
May 22, 2024 · 4
Weeknotes: Weeks 19 & 20
github.com/pdubroy/weekno…
Tweet image
May 20, 2024 · 5
TIL(Python): Rye & Poetry
github.com/pdubroy/til/bl…
Tweet image Tweet image
May 16, 2024 · 5
Or: late binding is (currently) very underrated. twitter.com/jarredsumner/s…
May 12, 2024 · 7
TIL: Corner plot
github.com/pdubroy/til/bl…
Tweet image Tweet image
May 10, 2024 · 7 · 1
On my way to Amsterdam and then Delft for @Rust_NL!

Say hi if you want to chat about WebAssembly, parsers and compilers, CS education, useless side projects etc. etc.
May 6, 2024 · 6 · 1
Ok now I want this book. t.co/veICrnh1vK
Tweet image
May 6, 2024 · 2
Weeknotes: Week 18
github.com/pdubroy/weekno…
Tweet image Tweet image
May 6, 2024 · 7
Happy Sunday!
Tweet image Tweet image
May 5, 2024 · 13
Speaking of useless side projects…I made progress on my rasterizer.

After many hours of debugging my matrix / vector handling code, finally got my code for Chapter 7 ("Describing and rendering a scene") working!

gabrielgambetta.com/computer-graph…
Tweet image
May 4, 2024 · 38 · 2

Added a bit of camera control. Next up: clipping 😅
May 4, 2024 · 4
One of the best decisions I've made in the past few years is to stop treating side projects like work projects.

E.g.
- "doesn't something like that already exist?"
- "you shouldn't implement that yourself"

Both make sense at work, but wrong attitude for side projects imo.
May 3, 2024 · 110 · 8

Depends on your goals of course, but for me it's: have fun, learn stuff.

I get a lot more out thinking things like:
- "I wonder if I could make a toy version of that"
- "That shouldn't be too hard to build that from scratch"
May 3, 2024 · 12

(Galaxy brain is when you start applying this at work, too.)
May 3, 2024 · 7
I've been keeping an eye out for good introductory graphics and linear algebra material.

"3D Math Primer for Graphics and Game Development" looks absolutely fabulous, and it's all available online: gamemath.com/book/
Tweet image Tweet image
May 1, 2024 · 39 · 2

Thanks to @ZPostFacto and Ian Parberry for making this available!
twitter.com/ZPostFacto/sta…
May 1, 2024 · 1

@ZPostFacto Also, TIL that Americans pronounce it "primmer"
May 1, 2024 · 2
New blog post: Bytecode VMs in surprising places
dubroy.com/blog/bytecode-…

Most people probably associate bytecode VMs with general-purpose programming languages. But sometimes they appear in surprising places!
Tweet image
April 30, 2024 · 188 · 52
I read that "leaving Rust" post over the weekend, and today spent a few hours pairing on an egui-based Rust app.

I have to say — @zeddotdev with rust-analyzer and copilot makes for a pretty damn quick iteration cycle.
April 29, 2024 · 15

@zeddotdev Some things that stand out, as compared to TypeScript:

- dbg! is great (tho you could implement something like it in TS)
- ⭐ useful Debug representation of most objects
- If the code copilot generates compiles, higher chance that it works
April 29, 2024 · 4
Weeknotes: Week 17
github.com/pdubroy/weekno…
Tweet image Tweet image
April 28, 2024 · 3
Tweet image
April 28, 2024 · 1
Weeknotes: Week 16
github.com/pdubroy/weekno…

More progress on @WasmGroundUp, and learning geometry, graphics, and Rust with @gabrielgambetta's Computer Graphics from Scratch.
Tweet image Tweet image
April 21, 2024 · 12
This looks epic! Can't wait. twitter.com/cgingold/statu…
April 19, 2024 · 12
Today I'm working through "Computer Graphics from Scratch" in Rust: gabrielgambetta.com/computer-graph…

After 20 minutes debugging, refactoring, and then trying to get my code to compile

…you have no idea how happy I was to see this silly little triangle. 😊
Tweet image
April 15, 2024 · 135 · 8

Progress!
April 18, 2024 · 4
Weeknotes: Week 15
github.com/pdubroy/weekno…

More work on @WasmGroundUp, and jumping into 3D geometry and graphics.
Tweet image
April 14, 2024 · 8
Weeknotes: Week 13 (a bit late)
github.com/pdubroy/weekno…
Tweet image
April 14, 2024 · 3
Man I wish I had been shown this 👇 in high school instead of being taught SOHCAHTOA.
Tweet image
April 11, 2024 · 20 · 2
This makes me wonder — is a baseline JIT more complex than making a naive interpreter fast?

The answer's not obvious to me. Any papers or posts that tackle this question? twitter.com/awesomekling/s…
April 11, 2024 · 6 · 1

I mean, the implication here is that the answer is "yes, a baseline JIT is more complex" but I'd love to understand why.
April 11, 2024 · 1
For an upcoming project, I wanted to give myself a refresher / crash course on 3d graphics, geometry, etc.

Thanks to a reddit comment I discovered @cem_yuksel's lectures, which are an incredible resource: youtube.com/@cem_yuksel

Thanks Cem!
April 9, 2024 · 44 · 5
Why have I never seen a book with a "Debugging" section in the first chapter before? Honestly a great idea.

From "Fundamentals of Computer Graphics by @Peter_shirley et al.
Tweet image
April 7, 2024 · 67 · 10
Been looking at The Autodesk File today — so many fascinating details about the early days of Autodesk and the state of the software industry in the early 80s.

fourmilab.ch/autofile/
Tweet image
April 1, 2024 · 13 · 1

In 1982 it wasn't clear how a small, software-only company would be taxed. (!)
Tweet image
April 1, 2024 · 4

Autodesk was from the start a distributed company…which was a bit different back then:

"We will make cassette tapes of the meetings available…"
Tweet image Tweet image
April 1, 2024 · 1

AutoCAD was originally called MicroCAD, and they had a product called "Autodesk" that was basically…Notion?
Tweet image
April 1, 2024 · 4

John Walker did NOT like 8086.
Tweet image
April 1, 2024 · 1 · 1
Tweet image
March 31, 2024 · 22 · 2
Been working hard on this for the past few weeks, feels good to finally ship it! twitter.com/WasmGroundUp/s…
March 26, 2024 · 14 · 2
New blog post: Two little interpreters
dubroy.com/blog/two-littl…

A little project where I wrote a PEG interpreter in TypeScript in two different styles: tree-walking vs bytecode.

It didn't turn out the way I expected!
Tweet image
March 26, 2024 · 63 · 3
You know that feeling you read an article that does a wonderful job of articulating some vague thoughts that have been bouncing around in your head for a while?

You read it and go — YES! Exactly!

That feeling.

blog.nelhage.com/post/profilers…
Tweet image
March 25, 2024 · 10
Very old news (2014) but this is pretty cool — SQLite achieved an overall 50% speedup through hundreds of micro-optimizations.

mail-archive.com/sqlite-users@m…
Tweet image
March 25, 2024 · 34

If, like me, you thought about this for a bit and then went, "Wait, how is that possible?"

sqlite.org/cpu.html#perfo…
Tweet image
March 25, 2024 · 9
Weeknotes: Week 12
github.com/pdubroy/weekno…

Updates on @_ohmjs, @WasmGroundUp, and my little bytecode interpreter project.
Tweet image Tweet image Tweet image
March 22, 2024 · 6 · 1
Anyone using a WebAssembly subset for interesting things?

E.g. for something like eBPF (which disallows loops AFAIK), could you do minimal extra validation (no loop opcode allowed) but otherwise reuse existing Wasm toolchain?
March 22, 2024 · 6
I love programming.
March 22, 2024 · 30 · 4
Something we're trying to be careful of in @WasmGroundUp

Example code that uses poorly-chosen dummy values can be confusing.
Tweet image Tweet image
March 19, 2024 · 4 · 3
Unit tests as an art form

(See the whole thread) twitter.com/eigenbom/statu…
March 18, 2024 · 14 · 2
Worse is better strikes again twitter.com/GrantSlatton/s…
March 17, 2024 · 2
What are the earliest examples you've seen of the "cheat sheet" / "crib sheet" / "quick reference card" format of technical documentation?
Tweet image Tweet image
March 17, 2024 · 5 · 1

Reitman's "Streamlining your Documentation Using Quick References" (1988) suggests that they emerged in the 80s: dubroy.com/refs/Streamlin…
March 17, 2024 · 1
Trying something new — publishing my weeknotes publicly. Lmk if you find it useful/interesting!

2024, Week 11
github.com/pdubroy/weekno…
Tweet image Tweet image
March 15, 2024 · 18
New TIL: The symtable module in Python
github.com/pdubroy/til/bl…
Tweet image
March 15, 2024 · 2
Pascal was considered a big language back then (!) twitter.com/chrisshank23/s…
Tweet image
March 12, 2024 · 8

Here's (AFAIK) the complete syntactic grammar for Pascal, from the 1973 revised report.
Tweet image Tweet image Tweet image
March 12, 2024 · 1

(Whoops…the complete grammar, full stop. Lexical and syntactic.)
March 12, 2024
Compiler buds, need your opinion —

In @WasmGroundUp, we build a tiny compile-to-Wasm language. To keep the grammar simple, there's no arithmetic precedence.

Also, we match binary ops iteratively, not recursively (see `Expr` in img).

Q: Does the latter seem too non-standard?
Tweet image
March 11, 2024 · 4 · 1

@WasmGroundUp The problem is that doing it recursively in @_ohmjs requires at least a minimal discussion of left recursion.

(Below is a more typical way to handle binary operators in Ohm.)
Tweet image
March 11, 2024

@WasmGroundUp @_ohmjs Ok, turns out that @ziglang does it exactly this way. That makes me feel better.

(And TIL that the official Zig grammar is a PEG! github.com/ziglang/zig-sp…)
Tweet image
March 12, 2024 · 1
This doc is actually pretty interesting and well worth watching, even — or maybe *especially* — if you don't know much about eBPF.

Would love to see more documentaries like this! twitter.com/brendangregg/s…
March 11, 2024 · 2

You can watch it here: youtube.com/watch?v=Wb_vD3…
March 11, 2024 · 1
The complete syntax of Lua.
Tweet image
March 11, 2024 · 35 · 3
A wonderful book that teaches you to build a basic but complete web browser in a couple thousand lines of Python.

Feels spiritually similar to @WasmGroundUp. twitter.com/awesomekling/s…
March 8, 2024 · 12
After getting sick the first week of January, I'm now at 8+ weeks of:

• Serious exercise nearly every day
• Strength training 2x per week

…and I can't recommend it enough.

Seriously y'all, give it a try!!
Tweet image
March 7, 2024 · 24 · 1

Somewhat surprisingly (to me at least), it's the mental health benefits that stick out the most.
March 7, 2024 · 10
New TIL: esbuild dev server
github.com/pdubroy/til/bl…
Tweet image Tweet image
March 7, 2024 · 4
This is fun — Flexbox Froggy by @thomashpark is a game that helps you learn CSS flexbox concepts.

flexboxfroggy.com
March 5, 2024 · 1
Old TIL (from Nov 2023): Finding deoptimizations
github.com/pdubroy/til/bl…
Tweet image
March 2, 2024 · 7
I get nostalgic looking at the annotated, single-page Underscore.js source: underscorejs.org/docs/underscor…

Hard to think of another piece of code that I've consulted as often.

Haven't looked at it in years, but it was indispensable in the pre-ES6 days.
Tweet image
March 2, 2024 · 34 · 1
I'm happy to be on the the PC for Onward! Papers 2024.

Send us your grand visions, wild ideas, the unpolished gemstones of your cerebral mine: 2024.splashcon.org/track/splash-2… twitter.com/jonathoda/stat…
Tweet image
February 29, 2024 · 22 · 3
I'd love this.

Part of the long tail of ideas that were in Engelbart's 1968 demo, and yet…we still don't have today. twitter.com/thorstenball/s…
Tweet image
February 29, 2024 · 31 · 4

Tweet image
February 29, 2024 · 2
February 24, 2024 · 5
New TIL: Run-time code generation in WebAssembly
github.com/pdubroy/til/bl…
Tweet image Tweet image
February 22, 2024 · 42 · 8
Recent obsession: "genres" in technical writing.

Is there a better word for this?

What I mean is — books, blog posts, etc. that belong to a recognizable category/style, with shared characteristics and particular pedagogical POV.

A thread with some of my favourite examples…
February 20, 2024 · 13 · 5

"X in One Weekend" / "The Next Week" / "The Rest of Your Life"

twitter.com/dubroy/status/…
Every subject should have a series like this.
Tweet image
May 23
February 20, 2024 · 3

"Build Your Own X" — get a deeper understanding of a certain tool/library by building a toy implementation from scratch.

build-your-own.org/redis/
pomb.us/build-your-own…
February 20, 2024 · 1

"Gems" — small, bite-sized bits of practical knowledge.

The original (AFAIK) was the "Graphics Gems" series: glassner.com/portfolio/grap…, but it's inspired others:

GPU Gems, Game Programming Gems, etc.
February 20, 2024

Cheat sheets!

(Maybe more of a medium than a genre.)

simon.html5.org/dump/html5-can…
github.com/gendx/pdf-chea…
Tweet image Tweet image
February 20, 2024 · 1 · 1

Of course there many famous books series (dummies, 24 hours, etc.) but those are more of a marketing thing than a true genre imo.
February 20, 2024 · 1
Coming back to this again.

I'm curious what people mean when they talk about "a small set of orthogonal primitives".

Specifically:
1️⃣ What does "primitive" mean to you.
2️⃣ What does "orthogonal" mean to you.

(Polls in replies.) twitter.com/dubroy/status/…
I keep thinking about this.

If "a small set of orthogonal primitives" is good, why does *no* popular language have this?

Possible explanations:
1️⃣ It's not good
2️⃣ It's good, but doesn't drive adoption
3️⃣ Number of primitives should be "just right" (not too big, not too small) twitter.com/dubroy/status/…
Nov 7
February 18, 2024 · 15 · 1

A "primitive" means…

1️⃣ Syntactic features of the language *only*
2️⃣ Features (e.g. functions/classes) in the core library
3️⃣ Both
4️⃣ Something else (reply with details)
February 18, 2024

Now the meaning of "orthogonal"…

Do you consider functions and variable declarations to be orthogonal features?
February 18, 2024

Do you consider classes and functions to be orthogonal?
February 18, 2024

Do you consider "if" statements and "while" loops to be orthogonal?
February 18, 2024

Do you consider dictionaries and arrays to be orthogonal?
February 18, 2024
Whoah…somehow I'd never seen a picture of this machine before. twitter.com/okpasquale/sta…
February 18, 2024 · 13 · 3

The bevel…the stipple…
Tweet image
February 18, 2024 · 2
Another new TIL: A precise definition of "data race"
github.com/pdubroy/til/bl…
Tweet image
February 17, 2024 · 6 · 1
New TIL: Authentication in Playwright scripts
github.com/pdubroy/til/bl…
Tweet image Tweet image
February 17, 2024 · 5
I'm curious about the history of 2D graphics APIs.

I'm assuming many (eg Canvas) can be traced back to PostScript, and ultimately to Warnock & Wyatt's "A Device Independent Graphics Imaging Model for Use with Raster Devices": dl.acm.org/doi/pdf/10.114…

Anyone know more about this?
Tweet image
February 14, 2024 · 23 · 3

An early Cairo whitepaper calls out the PostScript influence. (It was called Xr back then — chi-rho.)

cworth.org/cworth/papers/…
Tweet image
February 15, 2024

And Apple’s Quartz 2D is based on the PDF 1.4 imaging model, which of course is derived from PostScript.

web.archive.org/web/2004091707…
Tweet image
February 15, 2024 · 1

The Secret Origin of SVG has some interesting context: w3.org/Graphics/SVG/W…
Tweet image
February 15, 2024 · 5
Wow. It's been a while since I used @playwrightweb, and I just discovered UI mode: playwright.dev/docs/test-ui-m…

I keep being impressed by how much that team is doing right. So much useful stuff that seems to just work — and is well-documented.
Tweet image
February 14, 2024 · 4
Reminder for my friends on the west coast.
twitter.com/dubroy/status/…
New blog post

Casual programming
dubroy.com/blog/casual-pr…
Tweet image
Feb 12
February 12, 2024 · 3
New blog post

Casual programming
dubroy.com/blog/casual-pr…
Tweet image
February 12, 2024 · 103 · 7

This definition of end-user programming, from @amyjko et al, is pretty close:

(From "The State of the Art in End-User Software Engineering": kilthub.cmu.edu/articles/journ…)
Tweet image
February 12, 2024 · 3 · 1
More progress on my Scratch-inspired JavaScript library.
February 8, 2024 · 5 · 1

Here's the code for this demo.
Tweet image
February 8, 2024 · 2
Finally
Tweet image
February 8, 2024 · 7
A weird, pernicious thing about software is that so many projects are started in the hopes of becoming huge.

"It'll be the next React" or "It'll be a $10B company some day"

It can lead to some weird choices.
February 7, 2024 · 7
New TIL: Pareto frontier
github.com/pdubroy/til/bl…
Tweet image
February 7, 2024 · 14 · 1
Dumb thought I had today — is there a sunk-cost-fallacy *fallacy*?

In a certain crowd people are quick to say "well, that's a sunk cost". And it's easy to make the mental leap that the existing investment — especially if it's just *time* — should be written off. twitter.com/devonzuegel/st…
Tweet image
February 4, 2024 · 4
New TIL: Bun dev server
github.com/pdubroy/til/bl…
Tweet image Tweet image
February 3, 2024 · 2
Oh man, Scratch's loop constructs are even weirder than I realized.

I thought there was always a 1-frame delay between iterations. Turns out that's not quite true?

Notice that without the "move" block inside the loop, the variable updates instantaneously.
February 2, 2024 · 1

Aha!

While executing scripts it "keeps a note of when one of them executed a block that can (potentially) change something on-screen"

"If it did NOT execute such a block, OR if it is in turbo mode, then Scratch will NOT (usually) wait for the next screen refresh"
Tweet image
February 2, 2024

Why do I care? Well, just for fun I'm trying to build a little JS library that implements Scratch's semantics as closely as possible.

(There are many like it, but this one is mine. 🤗)
Tweet image
February 2, 2024 · 3

The `yields` and `function *`s are a bit clunky.

If I'm going for a close mapping to Scratch, rather than something like looks like idiomatic JS, maybe a fluent API is nicer?
Tweet image
February 2, 2024 · 1

Progress!

Yields inside a `repeat` are actually working properly now: if you make any changes to the scene, the next iteration doesn't run until the following frame.

(Will release something soon!)
Tweet image
February 7, 2024 · 1

I also wrote up a TIL about Scratch's looping semantics
github.com/pdubroy/til/bl…
February 7, 2024 · 1
Oh man — I was trying to figure out why a basic Bun web server seemed super slow.

Realized that I turned on throttling in the dev tools like…weeks ago? Months maybe? And it's been like this every since. 🤦‍♂️
Tweet image
February 2, 2024 · 25
Copy-and-patch is a neat technique. This post gives a great overview: sillycross.github.io/2023/05/12/202…

The results are impressive too! twitter.com/tekknolagi/sta…
Tweet image
January 30, 2024 · 9 · 2
Ohhh, this looks interesting. Property-based testing is one of those things that I feel like I really *should* be doing more.

Also, I'm biased, but I love to see good qualitative research in software engineering & HCI. twitter.com/kc_srk/status/…
January 28, 2024 · 9
Been finding Ohm feature so useful every time I work on @WasmGroundUp. twitter.com/_ohmjs/status/…
January 26, 2024 · 7
I'm so used to the weird scrollbar behavior in the Chrome dev tools, how did I never realize it's a bug.

The thumb should stay under the cursor when you drag!
January 26, 2024 · 4

Here's a regular scroll bar in Chrome, which behaves correctly.
January 26, 2024

Don't even get me started on the user-hostile scrollbars in macOS that make it nearly impossible to grab the thumb when there's long content.
January 26, 2024
TIL: Chrome dev tools "Framework Ignore List" includes /node_modules/ by default.

If you're using Vite in dev mode, you won't be able to step into code from npm deps.

Wrote this up to hopefully prevent others from wasting as much time on this as I did:
github.com/pdubroy/til/bl…
Tweet image
January 25, 2024 · 6
Love this! Feedforward is still such an underused design technique. twitter.com/redblobgames/s…
January 23, 2024 · 15
New blog post:

Thoughts on Scratch
dubroy.com/blog/thoughts-…

Some reflections after spending 90 minutes teaching @scratch to a group of 8–10 year olds.
Tweet image
January 22, 2024 · 32 · 5

@scratch Ran my 3rd session today.

The most disappointing thing about Scratch is how much distraction there is on the web site. This is just way too tempting for some kids.
Tweet image
January 22, 2024 · 4

@scratch Compare this to @p5xjs, which has a curated showcase: showcase.p5js.org/#/2022-All

I'd rather see Scratch do something similar. The current Explore page feels like it's designed to maximise engagement, not learning objectives.
January 22, 2024 · 2
Really enjoyed @ryanjfleury's series of articles on immediate-mode UI: rfleury.com/p/ui-series-ta….

It gave me a much better understanding of the design space for immediate-mode GUIs and how to handle some more complex cases.
January 21, 2024 · 56 · 5
Still love this technique from Igarashi et al. There are few HCI or graphics papers that reference as often as this one.
youtube.com/watch?v=sdvAqY…
January 16, 2024 · 3

January 16, 2024
After all of these years, I'm finally learning @scratch.

Gotta say, I'm pretty proud that I managed to make this.

(And yes I know I have a bug in my scoring logic 😆)
January 15, 2024 · 10
Curious — how do y'all prefer to consume long-form, podcast-style interviews?

(Say for stuff that's about an hour in length.)
January 9, 2024 · 1

If you answered "it depends", would love a reply to get more details.
January 9, 2024
Tweet image
So I signed up to run a programming project at my kids' school.

What are your favourite activities/resources for teaching programming to kids between 8 and 10?

(I'm re-reading Mindstorms right now.)
Dec 28
January 5, 2024 · 1
No tumblr lives rent-free in my head the way accidentallyquadratic.tumblr.com does
January 5, 2024 · 2