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

Top all-time · #5945

L

Lu’s blog

Personal blog · blog.the-pans.com · on HN as aptxkidprogrammingsystems

Lu’s blog is a personal blog at blog.the-pans.com about programming and systems. Since 2018, 13 different Hacker News readers have linked it 85 times, most often “Notes on the FoundationDB Paper with Additional Proof of Correctness”. It is still writing: the last post was on 2026-10-31, and you can follow it by feed.

Visit the blog
85mentions?
13HN people?
2018–2024first – last linked?
Links on Hacker News per year · peak 26 in 2022

Too few sampled comments (4) to say how often HN recommends it.?

Why HN links it

HN readers link Lu's blog for distributed-systems notes, including a breakdown of the FoundationDB paper, an explainer on Paxos, and a post arguing against pointing out errors immediately.

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

Learnings on system and programming.

The author on HN?

aptxkid · 225 karma · member since 2013

https://blog.the-pans.com/ Software Engineer at FB working on distributed systems.

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

Most-linked posts?

  1. Notes on the FoundationDB Paper with Additional Proof of Correctness
    7 people · 7 mentions · first linked 2021-07-21
  2. Learning C++ Memory Model from a Distributed System's Perspective (2021)
    3 people · 3 mentions · first linked 2021-10-23
  3. Understanding Paxos as a Read-Modify-Write Transaction
    2 people · 3 mentions · first linked 2019-09-16
  4. Caching partially materialized views consistently
    2 people · 2 mentions · first linked 2023-04-06
  5. Discover Paxos via 2PC (2019)
    2 people · 2 mentions · first linked 2019-03-26
  6. DNS – The First Distributed Database
    2 people · 2 mentions · first linked 2021-10-19
  7. Don’t point out something wrong immediately
    2 people · 2 mentions · first linked 2022-02-16

What Hacker News says?

  1. azurelake · 2024-01-17Recommends
    Vector clocks give a partial ordering. FDB version stamps give a total ordering by having a single process issue them for the entire cluster. There's a good breakdown here: https://blog.the-pans.com/notes-on-the-foundationdb-paper/

    Comment linking /notes-on-the-foundationdb-paper/

    on “Apple built iCloud to store billions of databases”
  2. Submitted Don’t point out something wrong immediately as a story · 371 points

    HN discussion
  3. logicallee · 2022-02-18Recommends
    I actually really like the linked article ( https://blog.the-pans.com/wrong/ ), I think it is supportive of ideation and prototyping. It really made me glad to read that. When learning a new language or environment, there's no place to get an expert to pair program through it (or is there?) Baby steps always look wrong, especially when the baby keeps falling over. It's just part of growing up. Case in point I recent…

    Comment linking /wrong/

    on “Don’t point out something wrong immediately”
  4. Submitted How and why the Relational Model works for databases as a story · 178 points

    HN discussion
  5. https://blog.the-pans.com/when-and-how-to-invalidate-cache/ Does this include the "actual cache consistency/invalidation strategy" you were referring to?

    Comment linking /when-and-how-to-invalidate-cache/

    on “Cache made consistent: Meta’s cache invalidation solution”
  6. Submitted Notes on the Amazon Aurora Paper as a story · 139 points

    HN discussion
  7. I basically wrote a separate blog just for replying to this https://blog.the-pans.com/when-and-how-to-invalidate-cache/ .

    Comment linking /when-and-how-to-invalidate-cache/

    on “Cache made consistent: Meta’s cache invalidation solution”
  8. Submitted Every Computer System Is a State Machine as a story · 71 points

    HN discussion
  9. More details can be found at https://blog.the-pans.com/when-and-how-to-invalidate-cache/

    Comment linking /when-and-how-to-invalidate-cache/

    on “Cache made consistent: Meta’s cache invalidation solution”
  10. Submitted Type Erasure in C++ Explained as a story · 43 points

    HN discussion
  11. I wrote a separate blog post focusing on when and how to invalidate cache and how it can be done – https://blog.the-pans.com/when-and-how-to-invalidate-cache/ .

    Comment linking /when-and-how-to-invalidate-cache/

    on “Cache made consistent: Meta’s cache invalidation solution”
  12. Submitted Discover Paxos via 2PC (2019) as a story · 24 points

    HN discussion
  13. https://blog.the-pans.com/when-and-how-to-invalidate-cache/ Does this address the "knowing what needs invalidation" part?

    Comment linking /when-and-how-to-invalidate-cache/

    on “Cache made consistent: Meta’s cache invalidation solution”
  14. Submitted Learning C++ Memory Model from a Distributed System's Perspective (2021) as a story · 18 points

    HN discussion
  15. https://blog.the-pans.com/when-and-how-to-invalidate-cache/ Does this address the "knowing what needs invalidation" part?

    Comment linking /when-and-how-to-invalidate-cache/

    on “Cache made consistent: Meta’s cache invalidation solution”
  16. Submitted When and How to Invalidate Cache as a story · 16 points

    HN discussion
  17. Their slide [1] looks like just a reworded version of yours [2]? [1]: https://martinfowler.com/articles/patterns-of-distributed-sy... [2]: https://blog.the-pans.com/paxos-explained/#paxos

    Comment linking /paxos-explained/

    on “Paxos”
  18. Submitted Global Data Locality – Why and How as a story · 11 points

    HN discussion
  19. I am also a huge fan of Lamport. Paxos is so concise and of such beauty that once you understand it, all other consensus protocols seem just different ways of phrasing Paxos with additional features (e.g. membership changes, make it into a log, etc.). Paxos is the smallest, most elegant consensus building block that I have seen so far. Raft's protocol covers a much bigger area than just consensus (it gives you a log…

    Comment linking /understanding-paxos/

    on “Paxos”
  20. Submitted Paxos Replication vs. Leader-Follower Replication as a story · 6 points

    HN discussion
  21. This sounds like splitting hairs. Taking news as an example, when you say a piece of news propagates, are you implying push or pull? It doesn't imply either. The news spreads, either by someone telling someone else (push), or someone asking someone else (pull). Technically, a distributed database/cache at DNS scale, pure push-based invalidation is just not practical. I wrote a post about DNS invalidation earlier htt…

    Comment linking /dns/

    on “DNS doesn't “propagate””
  22. Submitted Notes on the FoundationDB Paper with Additional Proof of Correctness as a story · 4 points

    HN discussion
  23. This is actually what makes handling the distributed system in a single computer easier – everything crashing together makes it an easier problem. E.g. you have multiple CPU cachelines, caching different values of a main memory location. And there are different cache coherence protocols to keep them sane. But cache coherence protocols never need to worry about the failure mode when one cacheline is temporarily unava…

    Comment linking /cpp-memory-model-as-a-distributed-system/

    on “Your computer is a distributed system”
  24. Submitted Caching partially materialized views consistently as a story · 3 points

    HN discussion
  25. https://blog.the-pans.com/notes-on-the-foundationdb-paper/ is one: > Client (notice not Proxy) caches uncommitted writes to support read-uncommitted-writes in the same transaction. This type of read-repair is only feasible for a simple k/v data model. Anything slightly more complicated, e.g. a graph data model, would introduce a significant amount of complexity. Caching is done on the client, so read queries can byp…

    Comment linking /notes-on-the-foundationdb-paper/

    on “Datomic Is Now Free”
  26. Submitted Fault Tolerant Generic Distributed Critical Section Is Impossible as a story · 3 points

    HN discussion
  27. https://blog.the-pans.com/understanding-paxos/ It’s much easier to understand Paxos as a read-modify-write transaction. I wrote to Lamport about it. Here’s part of Lamport’s reply It’s nice that you found an apparently new way to explain Paxos, but don’t expect everyone to find it helpful. “Grasping” or “intuitively understanding” an algorithm really means giving the reader a warm fuzzy feeling, and different people…

    Comment linking /understanding-paxos/

    on “Notes on Paxos”
  28. Submitted Fast SQL from Schemaless Ingestion as a story · 3 points

    HN discussion
  29. The tweet is certainly loaded, hence the point of this HN post lol. First of all there's std::function, which uses Type Erasure https://blog.the-pans.com/type-erasure/ . It means std::function<void(int)> can be the type of anything callable that takes an int and returns void (lambda, function pointer, object with operator() overload, etc.). Notice they are of different types! Hence Type Erasure. How std::function ma…

    Comment linking /type-erasure/

    on “Why C++ Is Terrifying”
  30. Submitted ABI from the Ground Up as a story · 3 points

    HN discussion

Search all of HN for blog.the-pans.com

Linked by the same people?