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
    C

    composition.al

    composition.al · Personal blog · on HN since 2013

    Lindsey Kuper, a programming languages researcher, writes about compilers, parallelism, concurrency, distributed systems, and verification.

    Visit blogHN submissions
    Languages & CompilersDistributed SystemsProgramming
    What HN says

    HN commenters recommend 'My First Fifteen Compilers' and link her posts on verifying neural-network collision avoidance, though one finds the compiler book it describes parsing-heavy.

    Stats for nerds
    45HN people shared it
    42linked in comments
    802story points
    Oct 2021last shared
    2014people per year2021

    Top posts on HN

    1. 1
      My first fifteen compilers
      3 people · 387 points · first shared 2017 · 76 comments on HN
    2. 2
      What do people mean when they say “transpiler”?
      4 people · 77 points · first shared 2017 · 74 comments on HN
    3. 3
      Why does a Turing-complete type system make type checking undecidable?
      1 person · 69 points · first shared 2017 · 22 comments on HN
    4. 4
      My students made zines, and so can you(rs)
      1 person · 61 points · first shared 2019 · 7 comments on HN
    5. 5
      Time is Partial: distributed consistency models and weak memory models
      1 person · 59 points · first shared 2018 · 3 comments on HN
    6. 6
      Yet another blog post about how parallelism is not concurrency
      3 people · 40 points · first shared 2014 · 7 comments on HN
    7. 7
      Browser extensions are kernel modules for browsers
      1 person · 34 points · first shared 2015 · 12 comments on HN
    8. 8
      Disorder and determinism
      2 people · 10 points · first shared 2014 · Discussion on HN
    9. 9
      Say “experts” instead of “smart people” (2015)
      3 people · 5 points · first shared 2015 · 1 comments on HN
    10. 10
      Browser extensions are kernel modules for browsers
      2 people · 4 points · first shared 2015 · Discussion on HN

    What HN people wrote when they linked it

    • jvnsJul 2017

      Dan Luu has a list of programming blogs you might like: https://danluu.com/programming-blogs/. The rest of his blog is good too!

      a few of my favorite blogs:

      - http://blog.acolyer.org for fantastic daily summaries of CS papers.

      - http://stephaniehurlburt.com/blog/ -- she has a business creating a new compression algorithm and I love reading about it

      - https://rachelbythebay.com/w/ is pure gold for weird debugging stories

      - https://accidentallyquadratic.tumblr.com/ is always a fun read

      - http://wingolog.org/ on building compilers

      - http://composition.al/blog -- Lindsey Kuper on her programming languages research

      - aphyr's blog on distributed systems, of course

      - https://charity.wtf/

      - http://www.pgbovine.net/writings.htm -- Philip Guo is a CS professor whose blog on his experiences in academia I really like

      - http://whilefalse.blogspot.com by Camille Fournier, mostly on engineering management

      - http://larahogan.me/blog/ by Lara Hogan, on engineering management

      Also I think this comment from Dan's blog (https://danluu.com/about/) is very true and important:

      > I view that as a sign there’s a desperate shortage of understandable explanation of technical topics. There’s nothing here that most of my co-workers don’t know (with the exception of maybe three or four posts where I propose novel ideas). It’s just that they don’t blog and I do. I’m not going to try to convince you to start writing a blog, since that has to be something you want to do, but I will point out…

    • ernst_klimDec 2019

      sigh

      Yet another book which spends more than 1/3 of its pages on parsing.

      Syntax doesn't matter (much), semantics matters. You need to know how to implement efficiently various PL stuff within your compiler: exceptions and algebraic effects, modules and parametric modules, parametric polymorphism and optimizations for it in presence of modularity, fibers, method dispatching in Object Oriented langs, type inference etc etc.

      These books are about parsing, not about compilers. They spend a lot of time explaining how to parse a simple featureless language, instead of just use a parser generator and focus on actual programming languages design and features.

      Appel's Modern compiler in ML/Java/C is way better. Also there is a great course from the creator of Chez Scheme (I bet I've seen the whole course available in the internet, but I couldn't find it anymore)

      https://www.cs.princeton.edu/~appel/modern/

      http://composition.al/blog/2017/07/31/my-first-fifteen-compilers/

    • philzookJan 2021

      These are other good resources:

      - rise4fun https://rise4fun.com/z3/tutorialcontent/guide

      - https://ericpony.github.io/z3py-tutorial/guide-examples.htm

      - Programming Z3 -https://theory.stanford.edu/~nikolaj/programmingz3.html

      - Nikolaj Bjorner's tutorial https://youtu.be/nGwyNmsxX6I

      - Hakank's examples http://www.hakank.org/z3/

      - Yurichev's book "SMT by Example" https://yurichev.com/writings/SAT_SMT_by_example.pdf

      - http://hackage.haskell.org/package/sbv

      - https://www.youtube.com/watch?v=ruNFcH-KibY Tikhon Jelvis - Analyzing Programs with Z3

      - https://www.youtube.com/watch?v=rvPWDgJc0O4&ab_channel=ACMSIGPLAN - Nadia Polykarpova on Z3

      - SAT SMT school https://sat-smt.in/

      - Emina Torlak's course https://courses.cs.washington.edu/courses/cse507/19au/calendar.html

      - Lindsey Kuper - SMT Solving and Solver-Aided Systems http://composition.al/CSE290Q-2019-09/

      - http://www.sc-square.org/CSA/school/lectures.html

    • noshbrinkenSep 2017

      > The trend started by minifiers like UglifyJS and continued by transpilers like Babel will only accelerate.

      Not to be pedantic, but are UglifyJS and Babel "frameworks"? Not a Ember user, so maybe Ember has some sort of built-in source code transformer and that's what the author is referring to?

      I think the basic idea that JavaScript developers, especially those working in a browser environment, will increasingly write source code that compiles to JavaScript "bytecode" is not a recent idea. A much more nuanced reflection on that idea can be found here: http://composition.al/blog/2017/07/30/what-do-people-mean-when-they-say-transpiler/.

      With all the hand-wringing about "JavaScript fatigue", it's a little bit sad that prominent JavaScript developers use titles like "Compilers are the New Frameworks". The tone of this title is the tone of a bell ringing for the next round of JavaScript fad musical chairs.

    • ATschSep 2017

      Also has a great list of other blogs, most of which are my favorites now too.

      https://jvns.ca/blog/2016/04/09/some-of-my-favorite-blogs/

      here's a copy+pastable list:
      https://rachelbythebay.com/w/
      http://danluu.com/
      https://aphyr.com/
      http://www.elidedbranches.com/
      http://composition.al/blog/2015/03/31/what-isnt-a-key-value-store/
      https://www.harihareswara.net/sumana/2016/03/29/0
      http://blog.plover.com/aliens/dd/intro.html
      http://blog.jessitron.com/2015/06/ultratestable-coding-style.html
      http://akaptur.com/blog/2014/08/03/getting-started-with-python-internals/
      http://accidentallyquadratic.tumblr.com/post/142387131042/nodejs-left-pad
      http://embedded.fm/blog/takingaparttoys
      http://gigasquidsoftware.com/blog/2012/09/20/7-john-mccarthy-papers-in-7-weeks-1/
      https://mathbabe.org/2016/03/30/apple-vs-fbi-nobody-won/

    • fulafelOct 2021

      The definition this article puts up is, without references, is: " A transpiler on the other hand is a tool that converts between two languages while keeping the same level of abstraction. A theoretical perfect transpilation is therefore a two-way process where you could go back and forth between languages."

      Is the level same-level-of-abstraction really part of the usual meaning of the term?

      Here's a blog post by Lindsey Kuper that finds around 5 meanings, with only one of them (and being an unsourced Wikipedia article to boot) converging to the same idea about abstraction leve: http://composition.al/blog/2017/07/30/what-do-people-mean-when-they-say-transpiler/

    Related

    While Falsewhilefalse.blogspot.com19 people

    Why I'm Moving Away from the Play Framework

    While False
    Personal · last shared 2017
    Decompositiondecomposition.al20 people

    A CAP tradeoff in the wild

    Decomposition
    Personal · last shared 2026
    Storytotellstorytotell.org18 people

    Free your technical aesthetic from the 2010s

    Storytotell
    Personal · last shared 2026
    FP Complete Blogfpcomplete.com201 people

    Monads and GATs in Nightly Rust

    FP Complete Blog
    Company · last shared 2025
    Adrian Sampsoncs.cornell.edu/~asampson33 people

    Statistical Mistakes and How to Avoid Them

    Adrian Sampson
    Personal · last shared 2026
    John Regehrblog.regehr.org401 people

    Teaching C

    John Regehr
    Personal · last shared 2026
    Enfranchised Mindenfranchisedmind.com36 people

    Apple is just Microsoft with better marketing

    Enfranchised Mind
    Publication · last shared 2012
    Aphyraphyr.com551 people

    Hexing the technical interview (2017)

    Aphyr
    Personal · last shared 2026