Twitter Archive
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 (my username was @dubroy).
These days, you can find me on Bluesky or Mastodon.
By year
- 2025 33 posts
- 2024 203
- 2023 97
- 2022 91
- 2021 89
- 2020 26
- 2019 0
- 2018 6
- 2017 56
- 2016 108
- 2015 71
- 2014 197
- 2013 180
- 2012 160
- 2011 162
- 2010 171
- 2009 238
- 2008 101
…or browse by year above.
Popular
I love this—putting heads on geometric forms makes it easier to do mental rotations.
How to get VC funding
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, …
Compilers, runtimes, runtime optimization, "small JITs to help understand the basics", assembler libraries, small JIT IR libraries, …
The real innovator's dilemma.
Why do so many German web sites end with "24"? Do Germans need reminding that the internet doesn't close at 8pm and all day on Sunday?
Every subject should have a series like this.
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"
- Introducing the topic with general facts
- "Tell 'em what you’re going to say, say it, then tell them what you said"
Maybe you've heard that "<100ms is perceived as instantaneous"…
The unsurprising origin is, well somebody just made it up. twitter.com/thorstenball/s…
The unsurprising origin is, well somebody just made it up. twitter.com/thorstenball/s…
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!
→ dubroy.com/blog/bytecode-…
Most people probably associate bytecode VMs with general-purpose programming languages. But sometimes they appear in surprising places!
500 Lines or less: Experience programmers solve interesting problems — aosabook.org/en/#500lines
(I should have know about this book, but didn't — and it looks great.)
(I should have know about this book, but didn't — and it looks great.)
So sad to see your heroes fall so low.
Are there any good podcasts out there about programming language design and implementation? Languages, compilers, VMs, etc.
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…
Kay & Ingalls
Metcalfe & Boggs
McCarthy & Russell
etc twitter.com/ItaiYanai/stat…
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.
So many of the most thoughtful and interesting people I run across on the internet turn out to be connected to RC.
There's such a huge difference between reading a paper about an algorithm/system/etc., and trying to implement it yourself.
I read the paper and think "I get it".
I try to implement it and realize I didn't get it *at all*.
I read the paper and think "I get it".
I try to implement it and realize I didn't get it *at all*.
📝New blog post —
Visualizing Packrat Parsing: dubroy.com/blog/visualizi…
All about the Ohm visualizer, and the design challenge of creating a full visual explanation of the parser's execution.
Visualizing Packrat Parsing: dubroy.com/blog/visualizi…
All about the Ohm visualizer, and the design challenge of creating a full visual explanation of the parser's execution.
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. 😊
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. 😊
✍️ 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.
All about the Self programming language, the most influential language that most programmers have never heard of.
Now that's an inspiring CV. twitter.com/splashcon/stat…
New blog post: Taking Learning Seriously
→ dubroy.com/blog/taking-le…
→ dubroy.com/blog/taking-le…
Ooh, love this term: "ghost knowledge".
I definitely know the concept but hadn't heard this term for it before.
I definitely know the concept but hadn't heard this term for it before.
Most visual programming languages make limited use of the visual channel — the program structure is represented visually, but not much else. Usually the shapes and colors they use have an abstract (symbolic) meaning, not a concrete one.
What are some different approaches?
What are some different approaches?
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
~~Vibes~~
Programming languages, environments, systems
Databases
Operating systems
Virtual machines
{Handmade, local-first, lo-fi, home cooked} software
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
🔥
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
🔥
Ok so I ended up making a PDF playground: dubroy.com/pdf-playground/. Thanks to @pdfjs it was actually super easy.
Sharing here in case anyone else wants to experience the weird and wonderful world of the PDF stack language. twitter.com/dubroy/status/…
Sharing here in case anyone else wants to experience the weird and wonderful world of the PDF stack language. twitter.com/dubroy/status/…
Patrick Dubroy
@dubroy
·
Aug 16
Thinking about a web-based REPL/playground for the PDF language. Does this exist somewhere??
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.
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.
Excited to announce a new project with @warianoguerra — a digital-first book called WebAssembly from the Ground Up.
Follow @WasmGroundUp for updates, or sign up at wasmfromthegroundup.com.
👉 We're looking for beta readers! Get in touch for early access (reply, DM, or email)
Follow @WasmGroundUp for updates, or sign up at wasmfromthegroundup.com.
👉 We're looking for beta readers! Get in touch for early access (reply, DM, or email)
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.)
(From “How Children Learn” by John Holt.)
Good stuff twitter.com/_feynon/status…
This is why I fed conflicted about the idea of dynamic media replacing papers, textbooks, etc.
I routinely read papers that are 30 or 40 years old. When 30-40 year old software is easily runnable, it’s a wonderful surprise. twitter.com/spiralganglion…
I routinely read papers that are 30 or 40 years old. When 30-40 year old software is easily runnable, it’s a wonderful surprise. twitter.com/spiralganglion…
Academic papers are pretty great actually.
You know they'll tell you:
- what the problem is
- a high-level description of their solution
- how it compares to other solutions
…and usually in the first 2-3 pages.
95% of blog posts / landing pages can't manage to do this.
You know they'll tell you:
- what the problem is
- a high-level description of their solution
- how it compares to other solutions
…and usually in the first 2-3 pages.
95% of blog posts / landing pages can't manage to do this.
Was reminded again today that Starting Forth (forth.com/starting-forth/) is really a delightful book in so many ways.
Impressive & heartening: "@ProjectDrawdown is the most comprehensive plan ever proposed to reverse global warming." drawdown.org
This aesthetic
Thinking a lot about visual communication in technical writing. What should I read?
Is there anything like “Understanding Comics” but more a focus on explanation rather than narrative?
Is there anything like “Understanding Comics” but more a focus on explanation rather than narrative?
Some personal news:
This week I joined @srcgraph as an Engineering Manager on the Frontend Platform team.✨
I used Sourcegraph a *ton* in my day-to-day work at Lyft, and now I'm excited to help make it better for everyone!
This week I joined @srcgraph as an Engineering Manager on the Frontend Platform team.✨
I used Sourcegraph a *ton* in my day-to-day work at Lyft, and now I'm excited to help make it better for everyone!
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"
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"
"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…
From @maxbittker's "My Creative Research Process"
maxbittker.com/creative-resea…
Knuth on reusable code:
"re-editable code is much, much better"
"re-editable code is much, much better"
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.
From "Fundamentals of Computer Graphics by @Peter_shirley et al.
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…
This week I discovered Superfine by Jorge Bucaran (creator of Hyperapp) which is just that: github.com/jorgebucaran/s…
New blog post: Make it happen
It's an old story about a trip to LA, and a couple of spontaneous decisions that changed the course of my career.
It's an old story about a trip to LA, and a couple of spontaneous decisions that changed the course of my career.
In 2022 I didn't expect APL to have an online REPL+tutorial that beats many modern languages. It's quite nice: tryapl.org
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/…
pdubroy.github.io/200andchange/
Want to add a new example or help annotate an existing one? PRs welcome! twitter.com/dubroy/status/…
Patrick Dubroy
@dubroy
·
Oct 6
I kinda want to make a site that is just collects great examples like this — maybe annotate a la underscore underscorejs.org/docs/underscor…
Here it is — very happy to officially release the book that @warianoguerra 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!! twitter.com/WasmGroundUp/s…
If you bought it in early access, thanks for your support! 🙏
If you haven't bought it yet, please check it out!! twitter.com/WasmGroundUp/s…
Programmer: "What are the rules for designing good fonts?"
Designer: "Can't you see?"
Programmer: "Can't you tell me the rules?"
Designer: "Can't you see?"
Programmer: "Can't you tell me the rules?"
I wrote an article for @recursecenter's Code Words about programming with immutable data structures: codewords.recurse.com/issues/six/imm…
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!
→ 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!
Excited to announce that WebAssembly from the Ground Up (@WasmGroundUp) is open for early access!
It's a book for people who want to understand the low-level details of WebAssembly. Co-written with @warianoguerra.
wasmgroundup.com
It's a book for people who want to understand the low-level details of WebAssembly. Co-written with @warianoguerra.
wasmgroundup.com
Nobody ever got fired for using callbacks. But what are some better ways of handling user input?
One idea is *interactors* — see "A New Model for Handling User Input" by @bradamyers: cs.cmu.edu/~amulet/papers….
One idea is *interactors* — see "A New Model for Handling User Input" by @bradamyers: cs.cmu.edu/~amulet/papers….
Excited to be kicking off work on a new project with @inkandswitch!
Together with @szymon_k, @wolkenmachine, and @jameslindenbaum, I'll be working on the lab's latest experiment in *programmable ink*.
Together with @szymon_k, @wolkenmachine, and @jameslindenbaum, I'll be working on the lab's latest experiment in *programmable ink*.
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.
It gave me a much better understanding of the design space for immediate-mode GUIs and how to handle some more complex cases.
More bytecode VMs in surprising places… twitter.com/dubroy/status/…
Patrick Dubroy
@dubroy
·
Apr 30
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!
→ dubroy.com/blog/bytecode-…
Most people probably associate bytecode VMs with general-purpose programming languages. But sometimes they appear in surprising places!
Excited to finally unveil something @alexwarth & I have been working on—a new tool for parsing and pattern matching: github.com/cdglabs/ohm
The Anti-Mac Interface (1996): nngroup.com/articles/anti-…
One of my all-time favourites — I go back and re-read this every couple of years. "The central role of language" seems especially pertinent right now.
One of my all-time favourites — I go back and re-read this every couple of years. "The central role of language" seems especially pertinent right now.
In several subfields of CS (e.g. PL, HCI, graphics) there's a feeling that good systems research is too hard to publish.
In programming languages, SIGPLAN actually has an award for the most impactful systems. So I wondered — how "publishable" were papers on those systems?
In programming languages, SIGPLAN actually has an award for the most impactful systems. So I wondered — how "publishable" were papers on those systems?
Saturday morning doodles.
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.
Such an impressive system. It's fun to think about what a modern take on this would look like.
It's quite striking to read what people were saying about the internet in the early 90s.
Esther Dyson: "The fundamental thing (the Net does) is to overcome the advantages of economies of scale…so the big guys don't rule."
Esther Dyson: "The fundamental thing (the Net does) is to overcome the advantages of economies of scale…so the big guys don't rule."
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…"
"Don't implement your own GUI library, even as a hobby project. It's extremely hard to get right…"
It's funny but part of what made "personal computers" great was that they weren't actually *personal*.
At home, school, etc. you'd often see a few people sitting around the computer like this. Of course it's still possible with an iPad but you don't see it much in practice.
At home, school, etc. you'd often see a few people sitting around the computer like this. Of course it's still possible with an iPad but you don't see it much in practice.
Graphics programming is just hours and hours of misery and then getting ridiculously excited when something like this appears on your screen
Been thinking…there are lots of great resources these days that teach you how to create compilers and interpreters.
But — what are the best resources for creating a visual programming environment?
But — what are the best resources for creating a visual programming environment?
Pascal vibes
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/…
What's fun? What are you excited about? What makes you feel good? etc. twitter.com/charliermarsh/…
New TIL: Run-time code generation in WebAssembly
→ github.com/pdubroy/til/bl…
→ github.com/pdubroy/til/bl…
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!
Thanks to a reddit comment I discovered @cem_yuksel's lectures, which are an incredible resource: youtube.com/@cem_yuksel
Thanks Cem!
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/…
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/…
Patrick Dubroy
@dubroy
·
Mar 6
It's often said that programming languages should have "a small set of orthogonal primitives" but I wonder if there's any empirical basis for this?
It's neat to see how early GUI systems introduced users to the mouse — "just move it around while watching the screen".
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."
"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."
How have I never heard of "syntactic salt" and "syntactic syrup" before?
en.wikipedia.org/wiki/Syntactic…
en.wikipedia.org/wiki/Syntactic…
My (long) weekend project: a Smalltalk-to-JS compiler using Ohm. 👉 github.com/pdubroy/ohm-som
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.
Today I'm launching sponsorship on GitHub and Patreon — so I can spend more time improving @_ohmjs and the Ohm Editor.
Consider sponsoring if you get value from my work 🙏
🅿 patreon.com/pdubroy
🐙 github.com/sponsors/pdubr…
Ohm is over 9 years old now! A short history 🧵 —
Consider sponsoring if you get value from my work 🙏
🅿 patreon.com/pdubroy
🐙 github.com/sponsors/pdubr…
Ohm is over 9 years old now! A short history 🧵 —
"How Jane Street does code review" by @ianthehenry
→ janestreet.com/tech-talks/jan….
Not just about code review; imo it has some deeper ideas:
• explicitly modeling *what the user has seen* and using that in the UI
• subtle impl decisions (eg CR comments) can affect collaboration
→ janestreet.com/tech-talks/jan….
Not just about code review; imo it has some deeper ideas:
• explicitly modeling *what the user has seen* and using that in the UI
• subtle impl decisions (eg CR comments) can affect collaboration
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/…
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/…
Patrick Dubroy
@dubroy
·
Oct 11
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
~~Vibes~~
Programming languages, environments, systems
Databases
Operating systems
Virtual machines
{Handmade, local-first, lo-fi, home cooked} software
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!
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!
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/
"3D Math Primer for Graphics and Game Development" looks absolutely fabulous, and it's all available online: gamemath.com/book/
"The visual representation is not merely an aid to human cognition…" tc.umn.edu/~giere//SCDC.p…
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…
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…
Interesting paper from CSCW '18: "Hackers, Computers, and Cooperation:
A Critical History of Logo and Constructionist Learning "
A Critical History of Logo and Constructionist Learning "
I'm honestly blown away by what Ivan is doing with the FoC podcast.
Is it just my bubble, or is anyone else playing with podcasting as a *medium* like this? Worth listening to the first five minutes even if you don't care about programming. twitter.com/spiralganglion…
Is it just my bubble, or is anyone else playing with podcasting as a *medium* like this? Worth listening to the first five minutes even if you don't care about programming. twitter.com/spiralganglion…
They say you can't judge a book by its cover but damn
Love this list by Dunne & Raby (dunneandraby.co.uk/content/projec…). The tech world could use a lot more from column B.
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."
"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."
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)?
Any opinions on which version is the best? Original (1988)? The New Way Things Work (1998)? Or the most recent (2023)?
The complete syntax of Lua.
I'm curious what people feel are the biggest pain points in software development today.
E.g., if someone you trust said "it totally solves X", you'd definitely give it a try…what is X?
E.g., if someone you trust said "it totally solves X", you'd definitely give it a try…what is X?
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.
Thoughts on Scratch
→ dubroy.com/blog/thoughts-…
Some reflections after spending 90 minutes teaching @scratch to a group of 8–10 year olds.
Super exciting work! Reminds me a bit of aprt.us in AR. twitter.com/ryosuzk/status…
Thinking about why no time-based organization system works as well as my phone’s photo stream.
It’s super easy to find screenshots of directions, confirmations, receipts, etc. Email inbox, Google Docs “Recent”, and similar are somehow inferior.
It’s super easy to find screenshots of directions, confirmations, receipts, etc. Email inbox, Google Docs “Recent”, and similar are somehow inferior.
Using "just JS" (not TypeScript) for side projects makes me feel so ~free~
…until I waste 30 minutes debugging something that would have been a type error.
…until I waste 30 minutes debugging something that would have been a type error.
I wrote a little something about why I think React is interesting from an OOP perspective: dubroy.com/blog/the-inter…
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.
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.
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…
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…