Hacker Blogs
Work in progress: 15,409 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #68

E

Eli Bendersky

Personal blog · eli.thegreenplace.net · on HN as elibenprogrammingai

Eli Bendersky's personal blog at eli.thegreenplace.net covers programming and ai. Since 2007, 432 different Hacker News readers have linked it 1,091 times, most often “Computed goto for efficient dispatch tables (2012)”. No feed was found, so read it on the site itself.

No feed foundVisit the blog
1,091mentions?
14recommend?
432HN people?
2007–2026first – last linked?
Links on Hacker News per year · peak 94 in 2023

Sometimes recommended · 14 of 40 sampled comments recommend it?

Why HN links it

HN readers link Eli Bendersky's blog as a go-to for low-level and compiler topics, including futexes, computed goto, parsing, context switching and SICP notes.

Recommended for · 14 comments
Called very good, excellent, awesome, informative, a nice writeup and a must-read for beginners

Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

The author on HN?

eliben · 3,222 karma · member since 2010

http://eli.thegreenplace.net

From their public HN profile, which links to this site.

Most-linked posts?

  1. Computed goto for efficient dispatch tables (2012)
    20 people · 21 mentions · first linked 2017-10-03
  2. Why coding interviews aren't all that bad
    14 people · 15 mentions · first linked 2020-02-08
  3. Measuring context switching and memory overheads for Linux threads
    13 people · 14 mentions · first linked 2018-09-04
  4. The Expression Problem and its solutions (2016)
    11 people · 13 mentions · first linked 2017-11-29
  5. Parsing expressions by precedence climbing (2012)
    9 people · 9 mentions · first linked 2018-02-17
  6. Co-routines as an alternative to state machines (2009)
    7 people · 7 mentions · first linked 2009-08-29
  7. /
    6 people · 6 mentions · first linked 2012-05-08
  8. How to JIT
    6 people · 6 mentions · first linked 2018-10-01
  9. Asimov, Programming and the Meta Ladder
    5 people · 8 mentions · first linked 2022-01-23
  10. Type inference
    5 people · 7 mentions · first linked 2018-11-14

What Hacker News says?

  1. YAML is kind of like C++: > You like C++ because you're only using 20% of it. And that's fine, everyone only uses 20% of C++, the problem is that everyone uses a different 20% :) https://eli.thegreenplace.net/2009/10/17/the-c-bashing-seaso... The YAML footguns are too numerous to reproduce here, so here are some sources: https://stackoverflow.com/questions/3790454/how-do-i-break-a... https://www.arp242.net/yaml-conf…

    Comment linking /2009/10/17/the-c-bashing-season-is-back

    on “JSON Canvas – An open file format for infinite canvas data”
  2. Submitted Common Pitfalls in Go Benchmarking as a story · 1202 points

    HN discussion
  3. henrik_w · 2021-05-28Recommends
    +1 for https://eli.thegreenplace.net/ - very good!

    Comment linking /

    on “Ask HN: Favorite Blogs by Individuals?”
  4. Submitted Making any integer with four 2s as a story · 368 points

    HN discussion
  5. Cover topics around software development, math, programming languages, and academia: http://stuffwithstuff.com/ https://ericlippert.com/ http://thume.ca/archive.html https://medium.com/@mdwdotla https://faculty.washington.edu/ajko/posts https://computinged.wordpress.com/ https://blog.acolyer.org/ https://blog.sigplan.org/blog/ https://blog.paranoidcoding.com/ https://blog.regehr.org/ https://eli.thegreenplace.net/ h…

    Comment linking /

    on “Ask HN: Favorite Blogs by Individuals?”
  6. Submitted How I went about learning Rust as a story · 347 points

    HN discussion
  7. red2awn · 2021-05-27Recommends
    Awesome technical and programming related blogs: https://eli.thegreenplace.net/ http://journal.stuffwithstuff.com/

    Comment linking /

    on “Ask HN: Favorite Blogs by Individuals?”
  8. Submitted Go hits the concurrency nail on the head as a story · 284 points

    HN discussion
  9. In bytecode interpreter VMs, one often encounters the "computed goto" [1] pattern in use to dispatch opcodes. This is one that tends to be a little faster than a switch statement, enough to matter in the dispatch inner loop. Of course, if you are going to JIT compile the bytecode, that'll usually be a lot faster. But at that point you're changing one form of low-level wizardry for another. [1] https://eli.thegreenpl…

    Comment linking /2012/07/12/computed-goto-for-efficient-dispatch-tables

    on “Go 2, here we come”
  10. Submitted Revisiting "Let's Build a Compiler" as a story · 275 points

    HN discussion
  11. See https://eli.thegreenplace.net/2018/go-and-algebraic-data-typ... for more background.

    Comment linking /2018/go-and-algebraic-data-types/

    on “How I write HTTP services in Go after 13 years”
  12. Submitted REST Servers in Go: Part 1 – standard library as a story · 257 points

    HN discussion
  13. I ran into the exact same problem and wrote up some potential solutions at https://eli.thegreenplace.net/2021/rust-data-structures-with...

    Comment linking /2021/rust-data-structures-with-circular-references/

    on “It's time to halt starting any new projects in C/C++”
  14. Submitted To ORM or Not to ORM as a story · 241 points

    HN discussion
  15. From watching the Ted talk, I think that Linus was using a cs101 example to effectively communicate to a large audience of programmers about good design for system level work such as for an Operating System. His example, I think, can be extrapolated to explain the design of Linux’s “clone” system call for threads, which creates a new process that uses the same virtual address space as the parent process, with a diff…

    Comment linking /2018/launching-linux-threads-and-processes-with-clone/

    on “Linus Torvalds' good taste argument for linked lists, explained”
  16. Submitted Bloom Filters as a story · 240 points

    HN discussion
  17. > 2. For hundreds of tasks, it becomes less effective. Threads will rapidly go in and out of I/O wait and the scheduler has to balance all of this. Surprisingly, even thousands of threads can often have better throughput than using event loops and non-blocking IO: https://www.slideshare.net/e456/tyma-paulmultithreaded1 > The cost of OS-level context switching is non-trivial On modern hardware it's non-zero but trivi…

    Comment linking /2018/measuring-context-switching-and-memory-overheads-for-linux-threads/

    on “Websocketd”
  18. Submitted Making any integer with four 2s as a story · 238 points

    HN discussion
  19. > processes and forking are relatively expensive This and "async is always faster" are two things which are no longer true on modern hardware. Forking a process on Linux uses the same clone() syscall as creating a thread so forking a small binary takes only tens of microseconds, leaving plenty of time for <1ms total response times. https://eli.thegreenplace.net/2018/launching-linux-threads-a...

    Comment linking /2018/launching-linux-threads-and-processes-with-clone/

    on “Websocketd”
  20. Submitted Go compiler internals: Adding a new statement to Go as a story · 234 points

    HN discussion
  21. Inufu · 2022-02-02Recommends
    I agree, I expect programmers will just move up the levels of abstraction. I enjoyed this recent blog post on the topic: https://eli.thegreenplace.net/2022/asimov-programming-and-th...

    Comment linking /2022/asimov-programming-and-the-meta-ladder/

    on “Competitive Programming with AlphaCode”
  22. Submitted Clojure will affect the way you think about programming as a story · 228 points

    HN discussion
  23. pthreads don't guarantee fairness. futexes, the underlying locking primitive on Linux and the driver of the glibc implementation, don't either. Futexes do support priority inheritance, so you can use process priority safely. You might drop priority after releasing a lock to ensure some other thread gets a go, and as long as you control the priority of the other contenders, that can work well. Basics of futexes are h…

    Comment linking /2018/basics-of-futexes/

    on “24-core CPU and I can’t type an email”
  24. Submitted Building static binaries with Go on Linux as a story · 184 points

    HN discussion
  25. kodablah · 2017-10-20Recommends
    On a similar note, I have been watching this[0] project which provides an IR to target and optional optimizations. But I like the idea that the only difference between a JIT and an AOT compiler is optimization choice (assuming we don't include tracing as part of the JIT features). Also, this[1] blog series is a must-read for interested beginners. 0 - https://github.com/stoklund/cretonne/ 1 - https://eli.thegreenplac…

    Comment linking /2017/adventures-in-jit-compilation-part-1-an-interpreter/

    on “HolyJit: A New Hope”
  26. Submitted Monte-Carlo Simulations as a story · 181 points

    HN discussion
  27. That is the beauty of this book, there is no need for any extra resources. Install SICP package in Dr. Racket [1] and start reading the book. Try your best to solve the exercises, and don't give up easily on the exercises. Thinking over the exercises and solving them is the best way to assimilate learning from SICP. I read only the first 3 chapters, and relied on notes from Eli Bendersky [2] to check when stuck with…

    Comment linking /2007/06/19/introducing-the-sicp-reading-notes

    on “Books that changed my career as a software engineer”
  28. Submitted Decorator JITs: Python as a DSL as a story · 176 points

    HN discussion
  29. shaklee3 · 2020-02-08Recommends
    For low-level software, these are great: https://eli.thegreenplace.net/ https://travisdowns.github.io/ https://preshing.com/

    Comment linking /

    on “Ask HN: What are good solo developer blogs that you enjoy reading?”
  30. Submitted Intel i7 loop performance anomaly as a story · 168 points

    HN discussion

Search all of HN for eli.thegreenplace.net

Linked by the same people?