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 · #683

P

Phil Eaton

Personal blog · notes.eatonphil.comdatasystemsprogramming

Phil Eaton writes Notes on software development, a personal blog at notes.eatonphil.com about data, systems and programming. Since 2016, 93 different Hacker News readers have linked it 312 times, most often “Writing a storage engine for Postgres: An in-memory table access method (2023)”. It is still writing: the last post was on 2026-10-29, and you can follow it by feed.

Visit the blog
312mentions?
4recommend?
93HN people?
2016–2026first – last linked?
Links on Hacker News per year · peak 47 in 2022

Rarely recommended · 4 of 40 sampled comments recommend it?

Why HN links it

HN readers link Phil Eaton's posts as hands-on guides to building databases, emulators, parsers and compilers from scratch, and for database internals such as indexes.

Recommended for · 4 comments
One commenter finds it super interesting and lacking fluff; two enjoyed it; one likes the site's design.

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.

Notes on software development

Most-linked posts?

  1. Writing a storage engine for Postgres: An in-memory table access method (2023)
    8 people · 8 mentions · first linked 2023-11-02
  2. Implementing MVCC and major SQL transaction isolation levels
    6 people · 6 mentions · first linked 2024-05-16
  3. Parser generators vs. handwritten parsers: surveying major languages in 2021
    5 people · 7 mentions · first linked 2021-08-21
  4. Writing a SQL database, take two: Zig and RocksDB
    5 people · 7 mentions · first linked 2022-11-14
  5. LLMs and Your Career
    5 people · 5 mentions · first linked 2026-01-19
  6. Is it worth writing about?
    5 people · 5 mentions · first linked 2022-12-02
  7. Writing a SQL database from scratch in Go
    5 people · 5 mentions · first linked 2020-04-12
  8. Writing a minimal Lua implementation with a virtual machine from scratch in Rust
    4 people · 6 mentions · first linked 2021-12-28
  9. Intercepting and modifying Linux system calls with ptrace
    4 people · 5 mentions · first linked 2023-10-01
  10. Enumerating and analyzing 40 non-V8 JavaScript implementations
    4 people · 5 mentions · first linked 2021-09-21

What Hacker News says?

  1. I've been writing a sql parser + memory backend in rust called rustsql[1] I've been following this[2] go tutorial and converting code into rust. [1] https://github.com/madushan1000/rustsql [2] https://notes.eatonphil.com/database-basics.html

    Comment linking /database-basics.html

    on “Ask HN: What's your quarantine side project?”
  2. Submitted Writing a SQL database from scratch in Go as a story · 430 points

    HN discussion
  3. Here's the first post: http://notes.eatonphil.com/emulator-basics-a-stack-and-regis...

    Comment linking /emulator-basics-a-stack-and-register-machine.html

    on “I don't know how CPUs work so I simulated one in code”
  4. Submitted A reawakening of systems programming meetups as a story · 392 points

    HN discussion
  5. Yeah maybe it would force you to get too close to the code, I don't know SQLite well enough. When I do surveys of software I try to provide links to source (mostly just the relevant file or directory) so folks can verify for themselves. For example when looking into the parsers behind Postgres-compatible DBs [0] and parser techniques in a few major language implementations [1]. But both those posts are at a higher-l…

    Comment linking /parser-generators-vs-handwritten-parsers-survey-2021.html

    on “SQLite Internals: Pages and B-trees”
  6. Submitted I run a software book club as a story · 327 points

    HN discussion
  7. This feels like the sort of thing that has led to the development of deterministic simulation testing (DST) techniques as pioneered by FoundationDB and TigerBeetle. https://notes.eatonphil.com/2024-08-20-deterministic-simulat... I hope something like this becomes popular in the Rust/Tokio space. It seems like Turmoil is that? https://tokio.rs/blog/2023-01-03-announcing-turmoil

    Comment linking /2024-08-20-deterministic-simulation-testing.html

    on “Futurelock: A subtle risk in async Rust”
  8. Submitted Standard ML in 2020 as a story · 313 points

    HN discussion
  9. eatonphil · 2020-05-11Recommends
    I have also enjoyed his blog. Here's another way to understand indexes by implementing them in a simple SQL database. This includes both storing/retrieving indexed values and also deciding whether or not a query has an applicable index. https://notes.eatonphil.com/database-basics-indexes.html

    Comment linking /database-basics-indexes.html

    on “Advanced SQL and database books and resources”
  10. Submitted Let's build a distributed Postgres proof of concept as a story · 279 points

    HN discussion
  11. Unexpected, but welcome, to see the first part in the series on here right now. I just published the second part [0] today, featuring binary expressions and WHERE filtering. It also updates the REPL to use a prettier table-printing library and a readline implementation. The repo [1] has some additional bare notes on architecture and links to similar, more mature projects (primarily go-mysql-server and ramsql). [0] h…

    Comment linking /database-basics-expressions-and-where.html

    on “Writing a SQL database from scratch in Go”
  12. Submitted Compiler basics: Lisp to Assembly as a story · 242 points

    HN discussion
  13. I've read a similar series from Phil back in 2020: "Writing a SQL database from scratch in Go" https://notes.eatonphil.com/database-basics.html The code is available on GitHub: https://github.com/eatonphil/gosql (it's specifically a PostgreSQL implementation in Go). It's cool to build a database in 3000 lines, but for a real production-ready database you'll need testing. Would love to see some coverage on correctnes…

    Comment linking /database-basics.html

    on “Build a Database in 3000 Lines with 0 Dependencies”
  14. Submitted SMTP protocol basics from scratch in Go: receiving email from Gmail as a story · 203 points

    HN discussion
  15. gavinray · 2022-01-12Recommends
    I thoroughly enjoyed what little I read of this, bookmarked it for later -- thanks! https://notes.eatonphil.com/emulating-amd64-starting-with-el...

    Comment linking /emulating-amd64-starting-with-elf.html

    on “Writing a Game Boy Emulator in OCaml”
  16. Submitted Want to meet people, try charging them for it? as a story · 192 points

    HN discussion
  17. My unpopular opinion is to emulate an extremely reduced subset of x86. For example, jump to main and emulate the result of `int main() {return 2;}` compiled with gcc. You already have the compiler (no need to cross compile), you already have the decompiler and you can run the binary on the reference machine without an emulator. You save so much time having this entire toolchain already and you can start emulating si…

    Comment linking /tags/emulators.html

    on “Writing a Game Boy Emulator in OCaml”
  18. Submitted Parser generators vs. handwritten parsers: surveying major languages in 2021 as a story · 190 points

    HN discussion
  19. Not sure if you knew this or not, but Phil Eaton (the OP) writes databases for fun[1]. This post isn't saying Postgres and MySQL aren't modern, but is more trying to get ideas for what to play around with next. [1] https://notes.eatonphil.com/database-basics.html

    Comment linking /database-basics.html

    on “Ask HN: What could a modern database do that PostgreSQL and MySQL can't”
  20. Submitted From web developer to database developer in 10 years as a story · 179 points

    HN discussion
  21. It's not a book but I wrote a series on writing a postgres clone from scratch in Go. https://notes.eatonphil.com/tags/database.html

    Comment linking /tags/database.html

    on “Write a time-series database engine from scratch”
  22. Submitted Writing a document database from scratch in Go: Lucene-like filters and indexes as a story · 168 points

    HN discussion
  23. Oh there are way more than 10 implementations of JavaScript before we even start counting all their distributions (Bun being a distribution of JSC, etc). https://notes.eatonphil.com/javascript-implementations.html

    Comment linking /javascript-implementations.html

    on “Will Bun JavaScript Take Node's Crown”
  24. Submitted Compiler Basics: LLVM as a story · 168 points

    HN discussion
  25. > nobody hand-writes parsers for large languages; that's just a needless source of tedium and bugs That is absolutely not true! In fact, most major programming language implementations use handwritten parsers [0]. That said: > Using a parser generator is also a smart move since they exist already Jamie wrote the parser generator here too. So it's all the more "from scratch". [0] https://notes.eatonphil.com/parser-ge…

    Comment linking /parser-generators-vs-handwritten-parsers-survey-2021.html

    on “Goal: Pass all 4259065 tests in sqllogictest in 1 week”
  26. Submitted Writing a simple JSON library from scratch: a tour through modern C++ as a story · 161 points

    HN discussion
  27. Here are my four: Designing Data Intensive Applications, the Google SRE book, High Performance Browser Networking, and Effective Python. https://notes.eatonphil.com/books-developers-should-read.htm...

    Comment linking /books-developers-should-read.html

    on “A curated list of books on Software Architecture”
  28. Submitted A write-ahead log is not a universal part of durability as a story · 159 points

    HN discussion
  29. Focused on systems and design for backend devs: 1. High Performance Browser Networking 2. Designing Data-Intensive Applications 3. Site Reliability Engineering: How Google Runs Production Services 4. Effective Python: 90 Specific Ways to Write Better Python I wrote in a bit more detail here: https://notes.eatonphil.com/books-developers-should-read.htm... . Personally I would definitely not put Pragmatic Programmer,…

    Comment linking /books-developers-should-read.html

    on “Ask HN: Name 3-5 books that had the most impact on your career and knowledge?”
  30. Submitted What's the big deal about embedded key-value databases? as a story · 156 points

    HN discussion

Search all of HN for notes.eatonphil.com

Linked by the same people?