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

    Thorsten Ball

    registerspill.thorstenball.com · Personal blog · on HN since 2014

    Thorsten Ball, a programmer who worked on the Zed editor, writes about editors, Git, shells, compilers, and software performance.

    Visit blogHN submissions
    ProgrammingSystems & PerformanceLanguages & Compilers
    What HN says

    The one given comment only adds a side note about POSIX job control and spawning child processes, so HN's opinion of the blog is unclear.

    Stats for nerds
    88HN people shared it
    181linked in comments
    4.4Kstory points
    Mar 2026last shared
    2014people per year2026

    Top posts on HN

    1. 1
      How can you not be romantic about programming? (2020)
      5 people · 783 points · first shared 2020 · 357 comments on HN
    2. 2
      The Tools I Use to Write Books
      4 people · 644 points · first shared 2018 · 97 comments on HN
    3. 3
      Learn more programming languages, even if you won't use them
      2 people · 606 points · first shared 2019 · 304 comments on HN
    4. 4
      Writing an Interpreter in Go: The Paperback Edition
      1 person · 284 points · first shared 2017 · 76 comments on HN
    5. 5
      Why I wrote a book about interpreters
      3 people · 230 points · first shared 2016 · 69 comments on HN
    6. 6
      Losing faith in testing
      2 people · 206 points · first shared 2024 · 148 comments on HN
    7. 7
      Professional Programming: The First 10 Years
      5 people · 192 points · first shared 2022 · 33 comments on HN
    8. 8
      Keeping a long shell history
      1 person · 176 points · first shared 2024 · 94 comments on HN
    9. 9
      Why threads can't fork
      2 people · 147 points · first shared 2014 · 68 comments on HN
    10. 10
      Zed Editor: All Occurrences Search from 1s to 4ms
      3 people · 145 points · first shared 2024 · 38 comments on HN

    What HN people wrote when they linked it

    • chubotMar 2026

      FWIW here is another piece of trivia about job control: the API means you can't spawn a child process "safely" in POSIX -- you have to trust that that the executable you're spawning is well-behaved (or use more advanced Linux process isolation)

      In this case it was the Zed editor spawning the zsh shell:

      How to Lose Control of your Shell - https://registerspill.thorstenball.com/p/how-to-lose-control-of-your-shell

      zsh has a bug where it doesn't do the job control cleanup properly in some cases -- when fork-exec() optimizations happen.

      This can mess up the calling process. For example, here you could no longer kill Zed by hitting Ctrl-C, even after zsh is done.

      My comment: https://lobste.rs/s/hru0ib/how_lose_control_your_shell#c_dfluhm

    • merittJan 2020

      > to handle the same number of requests/sec you need much more workers, which has a lot of overhead

      When doing multiprocessing, it's advisable to fork() instead of creating fresh processes (or launching them in containers etc). As long as you preload the necessary libraries/modules in the parent process before the fork, children will reference the same memory in a copy-on-write fashion. It keeps overhead extremely low.

      This [1] article is for the Unicorn (ruby) webserver but the way it explains forking, signals, and pipes for inter-process control it's absolutely illuminating. These techniques are applicable to any unix-based applications, including php daemons.

      [1] https://thorstenball.com/blog/2014/11/20/unicorn-unix-magic-tricks/

    • dcchambersMay 2021

      Miscellaneous technical stuff:

      - https://danluu.com/

      - https://blog.jessfraz.com/

      - https://adamwathan.me/

      - https://jvns.ca/

      - https://rachelbythebay.com/w/

      - https://dankim.org/

      - https://mtlynch.io/

      - https://rgz.ee/

      - https://markdotto.com/

      - https://thorstenball.com/

      - https://sarahdrasnerdesign.com/writing/

      - https://lukesmith.xyz/ - Quirky minimalist linux & free software stuff. I don't agree with many of his opinions but his rants are entertaining + offer a refreshing view on certain things.

      Non-technical:

      - https://bernoid.com/

    • ratboy666Nov 2014

      http://thorstenball.com/blog/2014/11/20/unicorn-unix-magic-tricks/

      is also a current story on HN.

      Just an example of how powerful that simple 70's Unix is. Allows features that appear "magical" to thorsten, anyway.

      Windows? Wasn't really even an option... until 20 years later. And, of course, Unix really isn't that good, either. But, before you ignore it, please come to feature parity, at least.

    • emmanueloga_Aug 2020

      Maybe check this bibliography [1] of "Resources for Amateur Compiler Writers"... although I'm not sure what's the "Amateur" part of it... it lists several text books and papers that would take anyone a few years to work through :-/

      https://thorstenball.com/books/ seems like a good star, and if you don't know Go it shouldn't take too long to get acquainted with it.

      1: http://c9x.me/compile/bib/

    • altdatathrowSep 2020

      Thorsten Ball's writeup [1] on the architecture behind Unicorn is one of the single most informative pieces I've ever read about fork-based multiprocessing, signals, and pipe-based ipc. The information there can be applied to any platform and, imo, is a must-read for anyone operating in a *nix environment.

      [1] https://thorstenball.com/blog/2014/11/20/unicorn-unix-magic-tricks/

    Related

    Brown PLT Blogblog.brownplt.org33 people

    Teaching the Essentials of Garbage Collection

    Brown PLT Blog
    Company · last shared 2026
    Phil Hagelbergtechnomancy.us59 people

    Atreus – kit to build your own mechanical keyboard

    Phil Hagelberg
    Personal · last shared 2025
    Herb Suttergotw.ca84 people

    Ritchie, Stroustrup, and Gosling interview

    Herb Sutter
    Personal · last shared 2026
    Vidar Hokstadhokstad.com36 people

    Docker Development Patterns

    Vidar Hokstad
    Personal · last shared 2025
    Zef Hemelzef.me55 people

    I Hate Puzzles: Am I Still a Programmer? (2011)

    Zef Hemel
    Personal · last shared 2019
    Gilad Brachabracha.org27 people

    The Strongtalk Type System for Smalltalk (2004)

    Gilad Bracha
    Personal · last shared 2024
    Linus Åkessonlinusakesson.net290 people

    The TTY demystified (2008)

    Linus Åkesson
    Personal · last shared 2026
    Fogusblog.fogus.me197 people

    Technical Papers Every Programmer Should Read (At Least Twice)

    Fogus
    Personal · last shared 2026