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
    N

    Nick Drozd

    nickdrozd.github.io · Personal blog · on HN since 2018

    Nick Drozd writes about Turing machines, busy beavers, Lisp, Emacs, and a formal theory of spaghetti code.

    Visit blogRSSHN submissions
    MathProgrammingLanguages & Compilers
    What HN says

    HN commenters call his writeups great and link his Turing machine notation post and spaghetti code conjecture work as interesting, if not beginner-friendly, reading.

    Stats for nerds
    25HN people shared it
    80linked in comments
    2Kstory points
    Dec 2025last shared
    2019people per year2025

    Top posts on HN

    1. 1
      Signed Char Lotte
      3 people · 682 points · first shared 2021 · 79 comments on HN
    2. 2
      I Got a Knuth Check for 0x$3.00
      3 people · 469 points · first shared 2019 · 140 comments on HN
    3. 3
      Maybe the spaghetti code conjecture is false
      2 people · 111 points · first shared 2021 · 47 comments on HN
    4. 4
      New Ways to Be Told That Your Python Code Is Bad
      1 person · 102 points · first shared 2021 · 249 comments on HN
    5. 5
      A Busy Beaver champion derived from scratch
      1 person · 100 points · first shared 2021 · 33 comments on HN
    6. 6
      A Formal Theory of Spaghetti Code
      2 people · 99 points · first shared 2022 · 42 comments on HN
    7. 7
      Another new record in self-cleaning Turing machines
      1 person · 90 points · first shared 2022 · 8 comments on HN
    8. 8
      Basic Web Scraping with Emacs
      2 people · 62 points · first shared 2018 · 6 comments on HN
    9. 9
      The Story of XEmacs (2019)
      1 person · 48 points · first shared 2021 · 8 comments on HN
    10. 10
      Turing Machine Notation and Normal Form
      4 people · 28 points · first shared 2020 · 3 comments on HN

    What HN people wrote when they linked it

    • svatMay 2019

      To know whether you'd enjoy it (which is the only measure of “worth it” I can think of in relation to this book), you could start with one of the recent sections on combinatorial algorithms (Volume 4A and part of Volume 4B have been published so far): http://www.cs.utsa.edu/~wagner/knuth/

      For example, 7.2.1.2 on generating all permutations (http://www.cs.utsa.edu/~wagner/knuth/fasc2b.pdf) has a lot of cool mathematics, some low-language programs, some alphametic puzzles, .... Or 7.1.4 on Binary Decision Diagrams (http://www.cs.utsa.edu/~wagner/knuth/fasc1b.pdf) is on a little-known (IMO) data-structure presented in Knuth's unique way, which can solve many counting problems.

      Stepping back a little, there are two ways you could read this book:

      • Try to engage with the mathematics, try each exercise for at least half an hour before giving up and looking at the solution, etc. (Doing it this way can definitely be a massive time investment.) If you'd like to do this, and find the mathematics difficult, you should read Concrete Mathematics which Knuth co-wrote with Ron Graham and Oren Patashnik, which is a highly enjoyable book in itself.

      • As mentioned in a recent post (https://nickdrozd.github.io/2019/05/17/knuth-check.html):

      > By the way, if you’ve ever thought about reading TAOCP, give it a try. A lot of people will tell you that it’s a reference work, and it’s not meant to be read straight through, but that isn’t true. The author has a clear point of view and a narrative…

    • KranarNov 2021

      The machines used in the article don't have to halt whereas the busy beaver only admits Turing machines that halt. For the purpose of this article the Turing machine either has to halt or has to enter some kind of degenerate state where it can still technically run forever but is in some sense stuck in a trivial infinite loop. The precise details of this degenerate state are explained in this article:

      https://nickdrozd.github.io/2021/01/14/halt-quasihalt-recur.html

      This degenerate state is known as quasihalting. The author points out that for the traditional busy beaver function, let's call it BB, then BB(4) = 107. For this modified busy beaver function, let's call it, QQ, QQ(4) ~= 33 million.

      The article goes into some detail why considering Turing machines that quasi halt instead of strictly halting provides some insight into some interesting questions, notably the spaghetti code conjecture.

    • jakearNov 2021

      Great writeup! I ended up following a few of the links and came across perhaps my favorite hand waving of all time for the validity of "The Spaghetti Code Conjecture"[1]. Basically:

      For N=0,1: the problem is trivaial/degenerate.

      For N=2: the Turing machine must go back and forth between states or else it'd just be stuck in one state forever, which wouldn't be very busy beaverish.

      For N=n+1: well we just proved it up till n, so it seems pretty unlikely that n+1 would be different, things don't really just suddenly change like that y'know?

      QED

      So I'm not too surprised that this conjecture is being called into question.

      [1]: https://nickdrozd.github.io/2021/01/26/spaghetti-code-conjecture.html

    • sligockiMay 2024

      Counting the number of distinct TMs is not a simple task. The way you count it is the most broad (the count of all tables of values where each cell can have any (symbol, direction, state) combination). But this is a significant overcount of the bits needed to describe an arbitrary TM. for the BB(3, 4) case, there are only about 600B distinct TMs using the Tree Normal Form aka Brady's algorithm (https://nickdrozd.github.io/2022/01/14/bradys-algorithm.html) which comes out to <40 bits.

    • 317070Jul 2024

      Ha, the funny thing is, there are conjectures both ways! Some people think winners get noisier and noisier, the spaghetti code conjecture. Others actually think the winners get cleaner and cleaner, the clean code conjecture.

      Personally, I am slightly leaning towards clean code being more powerful. Chaos is hard to control.

      https://nickdrozd.github.io/2022/03/12/formal-theory-of-spaghetti-code.html

    • nickdrozdApr 2021

      The OEIS is an amazing tool. I recently came across a sequence from an unusual source and then made the shocking discovery that the sequence already existed. It turned out to be a wild coincidence.

      Write-up here: https://nickdrozd.github.io/2021/04/12/math-fact-busy-beaver.html

    Related

    Shawn Ligockisligocki.com20 people

    BB(3, 4) > Ack(14)

    Shawn Ligocki
    Personal · last shared 2025
    Jeremy Kunjeremykun.com194 people

    A Programmer's Introduction to Mathematics

    Jeremy Kun
    Personal · last shared 2026
    A Neighborhood of Infinityblog.sigfpe.com185 people

    Why is nuclear fusion so hard?

    A Neighborhood of Infinity
    Personal · last shared 2026
    Eugene Wallingfordcs.uni.edu/~wallingf80 people

    I just need a programmer

    Eugene Wallingford
    Personal · last shared 2026
    John Wiegleynewartisans.com49 people

    Monads in pictures

    John Wiegley
    Personal · last shared 2026
    LessWronglesswrong.com2.4k people

    The Best Textbooks on Every Subject

    LessWrong
    Publication · last shared 2026
    n-Category Cafégolem.ph.utexas.edu134 people

    Galois Theory

    n-Category Café
    Publication · last shared 2026
    Computational Complexityblog.computationalcomplexity.org98 people

    When did computer science theory get so hard?

    Computational Complexity
    Personal · last shared 2026