D
Decomposition
decomposition.al · Personal blog · on HN since 2022
Lindsey Kuper, a computer science researcher, writes about distributed systems, programming languages, and CS history, and makes explanatory zines.
What HN saysCommenters call her zines a delightful, well-illustrated way to explain CS topics like choreographies, and link her post on what 'transpiler' means.
20HN people shared it
7linked it in comments
19stories submitted
112story points
3 months agolast shared
2022people per year2026
Most-shared posts
- 1A CAP tradeoff in the wild3 people · 43 points · first shared 2024 · 10 comments on HN
- 2Fighting Faults in Distributed Systems [pdf]3 people · 3 points · first shared 2024 · discussion on HN
- 3Who Invented Vector Clocks?2 people · 10 points · first shared 2023 · 2 comments on HN
- 4"Communicating Chorrectly with a Choreography" is out2 people · 4 points · first shared 2024 · discussion on HN
- 5Where "Simulation" Came From2 people · 3 points · first shared 2025 · 1 comments on HN
- 6Communicating Chorrectly with a Choreography zine [pdf]2 people · 2 points · first shared 2024 · 2 comments on HN
- 7Carol's Causal Conundrum: a zine intro to causally ordered message delivery2 people · 1 points · first shared 2026 · discussion on HN
- 8What do people mean when they say transpiler2 people · first shared 2025
- 9When is causal broadcast not enough for causal memory?1 people · 26 points · first shared 2024 · 4 comments on HN
- 10Adventures in Building Reliable Distributed Systems with Liquid Haskell1 people · 11 points · first shared 2022 · discussion on HN
- 11I took the "Crusty Interpreter" class!1 people · 3 points · first shared 2025 · discussion on HN
- 12Call for lightning talks: Haskell Symposium 20261 people · 2 points · first shared 2026 · discussion on HN
- 13An example run of a matrix-based causal unicast protocol1 people · 2 points · first shared 2023 · discussion on HN
- 14My adventures with Git-filter-branch (2016)1 people · 2 points · first shared 2025 · discussion on HN
- 15How i learned about merklix trees without having to become a cryptocurrency enthusiast1 people · first shared 2023
What HN people wrote when they linked it
g-b-r · 2024-12-06
I link to the pdf directly in hopes that it gets more attention, a post from 7 hours ago (https://news.ycombinator.com/item?id=42330776) didn't get any.
I recommend people to check it out, it's delightful !
Very nice way to present a concept, and they must have put in a lot of work to it
The blog post introducing it is at https://decomposition.al/blog/2024/12/05/communicating-chorrectly-with…
kragen · 2025-11-13
The link to Lindsey Kuper's post https://decomposition.al/blog/2017/07/30/what-do-people-mean-when-they… is great!
I think the note about generators may be a good definition for when one language is "more powerful" than another; at least it's a good heuristic:
> The input and output languages have the syntax of JavaScript but the fact that compiling one feature [generators] requires a whole program transformation gives away the fact that these are not the same language. If we’re to get beyond the vagaries of syntax and actually talk about what the expressive power of languages is, we need to talk about semantics.
If a given program change is local in language X but global in language Y, that is a way in which language X has more expressive power.
This is kind of fuzzy because you can virtually always avoid this by implementing an interpreter, or its moral equivalent, for language X in language Y, and writing your system in that DSL (embedded or otherwise), rather than directly in language Y. Then, that anything that would be a local change in language X is still a local change. But this sort of requires knowing ahead of time that you're going to want to make that kind of change.
Sadly https://people.csail.mit.edu/files/pubs/stopify-pldi18.pdf is 403. But possibly https://people.csail.mit.edu/rachit/files/pubs/stopify-pldi18.pdf is the right link.
rbr94 · 2026-08-07
For anyone looking for an easily digestible primer on choreographies: https://decomposition.al/zines/communicating-chorrectly-zine.pdf
Too bad the github readme doesn't explain how the choreographic side of Wyzer works, or even what it looks like (please correct me if I'm wrong, couldn't find it after a quick skim).
rapnie · 2026-04-14
Wow, it surprises me that there aren't more comments on this zine, which I find a delightful way to present interesting CS topics, detailed explanation and pages full of explanatory drawings that speak. The Zines page [0] mentions the definition of a zine:
> "a small-circulation print or online publication that is produced through noncommercial means and is meant to appeal to a niche audience"
So then, is "causally ordered message delivery", "introduction to choreographic programming", and "Fighting Faults in Distributed Systems" too niche for HN? Hand-crafted with human sweat and tears, no AI. Is that the reason then perhaps for the silent comment thread, i.e. TL;DP, "too long, doesn't prompt"?
[0] https://decomposition.al/zines/
DemocracyFTW2 · 2025-05-22
From the very end of the linked article:
> Lindsey Kuper has a well-written article[1] on the same topic
> [1]: https://decomposition.al/blog/2017/07/30/what-do-people-mean-when-they…
So maybe go read that one instead, because the linked article is sloppily written with lots of careless mistakes and an unclear motivation that probably the author was hazily aware of at the time of writing but failed to communicate.
Also he's wrong because of course there are transpilers and it's a meaningful word.
hyperthesis · 2023-12-15
Good point about teamware, though I think sun was a very unusual company, and particularly network focussed. Also, the internet itself had a decentralized design (for military robustness, IIRC).
Maybe making the core data structure be a merkle tree (not a separate data structure for validation) was new... at least, for version control? It seems monotone used merkle trees as an overlay https://decomposition.al/blog/2019/05/31/how-i-learned-about-merklix-t…
I'm mainly going by larry, who told me that git's data structure wasn't from bitkeeper (but was "all his", IIRC). The significance is that this data structure can't model renames (of course, could do them as an overlay or decoration - though git doesn't)