Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    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.

    Visit blogRSSHN submissions
    Distributed SystemsLanguages & Compilers
    What HN says

    Commenters call her zines a delightful, well-illustrated way to explain CS topics like choreographies, and link her post on what 'transpiler' means.

    Stats for nerds
    20HN people shared it
    19linked in comments
    112story points
    Aug 2026last shared
    2023people per year2026

    Top posts on HN

    1. 1
      A CAP tradeoff in the wild
      3 people · 43 points · first shared 2024 · 10 comments on HN
    2. 2
      When is causal broadcast not enough for causal memory?
      1 person · 26 points · first shared 2024 · 4 comments on HN
    3. 3
      Adventures in Building Reliable Distributed Systems with Liquid Haskell
      1 person · 11 points · first shared 2022 · Discussion on HN
    4. 4
      Who Invented Vector Clocks?
      2 people · 10 points · first shared 2023 · 2 comments on HN
    5. 5
      "Communicating Chorrectly with a Choreography" is out
      2 people · 4 points · first shared 2024 · Discussion on HN
    6. 6
      Fighting Faults in Distributed Systems [pdf]
      3 people · 3 points · first shared 2024 · Discussion on HN
    7. 7
      Where "Simulation" Came From
      2 people · 3 points · first shared 2025 · 1 comments on HN
    8. 8
      I took the "Crusty Interpreter" class!
      1 person · 3 points · first shared 2025 · Discussion on HN
    9. 9
      Communicating Chorrectly with a Choreography zine [pdf]
      2 people · 2 points · first shared 2024 · 2 comments on HN
    10. 10
      My adventures with Git-filter-branch (2016)
      1 person · 2 points · first shared 2025 · Discussion on HN

    What HN people wrote when they linked it

    • kragenNov 2025

      The link to Lindsey Kuper's post https://decomposition.al/blog/2017/07/30/what-do-people-mean-when-they-say-transpiler/ 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.

    • hyperthesisDec 2023

      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-trees-without-having-to-become-a-cryptocurrency-enthusiast/

      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)

    • rapnieApr 2026

      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/

    • DemocracyFTW2May 2025

      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-say-transpiler/

      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.

    • g-b-rDec 2024

      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-a-choreography-is-out/

    • rbr94Aug 2026

      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).

    Related

    composition.alcomposition.al45 people

    My first fifteen compilers

    composition.al
    Personal · last shared 2022
    The Morning Paperblog.acolyer.org606 people

    Local-first software: you own your data, in spite of the cloud

    The Morning Paper
    Personal · last shared 2026
    Aphyraphyr.com551 people

    Hexing the technical interview (2017)

    Aphyr
    Personal · last shared 2026
    John Regehrblog.regehr.org401 people

    Teaching C

    John Regehr
    Personal · last shared 2026
    Dustyclouddustycloud.org72 people

    Racket Is an Acceptable Python

    Dustycloud
    Personal · last shared 2026
    LispCastlispcast.com108 people

    React: Another Level of Indirection

    LispCast
    Personal · last shared 2022
    Loper OSloper-os.org159 people

    Why Hypercard Had to Die (2011)

    Loper OS
    Personal · last shared 2026
    Herb Suttergotw.ca84 people

    Ritchie, Stroustrup, and Gosling interview

    Herb Sutter
    Personal · last shared 2026