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

Top all-time · #225

M

Marc Brooker's Blog

Personal blog · brooker.co.za/blogprogrammingsystemsai

Marc Brooker's Blog is a personal blog at brooker.co.za about programming, systems and ai. Since 2012, 210 different Hacker News readers have linked it 462 times, most often “The power of two random choices”. It is still writing: the last post was on 2026-10-23, and you can follow it by feed.

Visit the blog
462mentions?
8recommend?
210HN people?
2012–2026first – last linked?
Links on Hacker News per year · peak 70 in 2025

Sometimes recommended · 8 of 40 sampled comments recommend it?

Why HN links it

HN readers link Marc Brooker's blog for technical posts on distributed systems, databases and AWS, such as DynamoDB, CAP and latency.

Recommended for · 8 comments
Called an excellent writeup, a favourite, a good write-up and a good blog for distributed systems technical info.

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.

Most-linked posts?

  1. The power of two random choices
    11 people · 15 mentions · first linked 2017-04-19
  2. Making Redis into a high-durability database
    9 people · 9 mentions · first linked 2024-04-29
  3. Dynamo, DynamoDB, and Aurora DSQL
    8 people · 8 mentions · first linked 2025-08-16
  4. Metastability and Distributed Systems
    7 people · 9 mentions · first linked 2021-05-25
  5. Fixing retries with token buckets and circuit breakers
    7 people · 7 mentions · first linked 2022-03-01
  6. The Four Hobbies, and Apparent Expertise
    6 people · 7 mentions · first linked 2023-04-22
  7. What's Easy Now? What's Hard Now? How AI Is Changing Software Development
    6 people · 6 mentions · first linked 2026-05-18
  8. Why Aren't We Sieve-Ing?
    6 people · 6 mentions · first linked 2023-12-15
  9. NoSQL: The Baby and the Bathwater
    5 people · 7 mentions · first linked 2023-01-31
  10. Caches, Modes, and Unstable Systems
    5 people · 5 mentions · first linked 2021-08-27

What Hacker News says?

  1. riknos314 · 2026-08-26Recommends
    For anyone interested in the differences between dynamo (the early internal-only KV store described in this paper) and DynamoDB (The AWS service), Marc Brooker has an excellent writeup https://brooker.co.za/blog/2025/08/15/dynamo-dynamodb-dsql.h...

    Comment linking /blog/2025/08/15/dynamo-dynamodb-dsql.html

    on “AWS Acquires DuckLabs”
  2. Submitted It's always TCP_NODELAY as a story · 884 points

    HN discussion
  3. Trivially, by never allowing either half of a partition to make progress while the partition is in place. Since the CAP theorem, by itself, doesn't put a cap(oof) on latency, it is valid to consider a system CA, if it if always available to listen to requests while partitioned, but never able to fulfill them. This, of course, is effectively useless in practice, and is dependent on an infinite buffer of pending opera…

    Comment linking /blog/2014/07/16/pacelc.html

    on “Introducing Cloud Spanner, a Global Database Service”
  4. Submitted It's Always TCP_NODELAY as a story · 463 points

    HN discussion
  5. > just run the code given by the copilot and check that it works You've misunderstood my point. I'm not discussing the ability to check whether the code works as _I_ believe it should (as you say, that's easy to verify directly, by execution and/or testing); I'm referring to asking about intention or motivation of design choices by an author. Why this data structure rather than that one? Is this unusual or unidiomat…

    Comment linking /blog/2020/06/23/code.html

    on “GitHub cuts AI deals with Google, Anthropic”
  6. Submitted Learning to Build Distributed Systems as a story · 389 points

    HN discussion
  7. Not at all! I'm reminded of this blog post: https://brooker.co.za/blog/2023/04/20/hobbies.html

    Comment linking /blog/2023/04/20/hobbies.html

    on “Medieval”
  8. Submitted Two Years with Rust as a story · 265 points

    HN discussion
  9. - Mark Brooker :: https://brooker.co.za/blog long time lead engineer @ AWS blogging technical info on distributed systems - Chris Wellons :: https://nullprogram.com/ lots of interesting explorations in code

    Comment linking /blog

    on “Ask HN: Favorite Blogs by Individuals?”
  10. Submitted Why Aren't We Sieve-Ing? as a story · 256 points

    HN discussion
  11. Awesome. Looking forward to additional content. If possible, would be great to get Mark Brooker (Principal at AWS) to provide some notes on bridging the gap between CAP theorem and how AWS relaxes constraints for building out Elastic Block Storage (EBS). https://brooker.co.za/blog/2014/07/16/pacelc.html

    Comment linking /blog/2014/07/16/pacelc.html

    on “Things to know about databases”
  12. Submitted The DynamoDB Paper as a story · 256 points

    HN discussion
  13. klden007 · 2020-02-08Recommends
    AWS Lambda lead Articles about distributed systems and more http://brooker.co.za/blog/

    Comment linking /blog/

    on “Ask HN: What are good solo developer blogs that you enjoy reading?”
  14. Submitted Do Skis Get Blunt? as a story · 253 points

    HN discussion
  15. > Which context switches? With the Go model, I have exactly one thread per CPU, no context switches. Not in the user application model you were describing. Those threads would need to coordinate and communicate (for example, back to the user interface), and that implies context switches. Unless you're thinking of a strictly isolated thread-per-core design ( https://mechanical-sympathy.blogspot.com/2011/09/single-wri…

    Comment linking /blog/2014/12/06/random.html

    on “Speed of Rust vs. C”
  16. Submitted Formal Methods: Just Good Engineering Practice? (2024) as a story · 211 points

    HN discussion
  17. The language I want is a specification language (a bit like Pluscal or P) which allows me to specify distributed system behavior, then ask both correctness (liveness/safety) questions and quantitative behavior questions. I wrote a bit about it here: https://brooker.co.za/blog/2022/06/02/formal.html

    Comment linking /blog/2022/06/02/formal.html

    on “Six programming languages I’d like to see”
  18. Submitted Make your program slower with threads as a story · 203 points

    HN discussion
  19. bobnamob · 2025-01-01Recommends
    The fun thing about control theory in CS is that (in my experience) it's far easier to build accurate simulations or even run scaled down experiments than it would be in a physical setting. See articles like [1] or any of Marc Brooker's [2] blog for inspiration [1] https://medium.com/yandex/good-retry-bad-retry-an-incident-s... [2] https://brooker.co.za/blog/2022/04/11/simulation.html

    Comment linking /blog/2022/04/11/simulation.html

    on “Systems ideas that sound good but almost never work”
  20. Submitted Formal methods: Just good engineering practice? as a story · 179 points

    HN discussion
  21. (Founder here) Managed cloud offerings for streaming limit ordered throughput pretty low, e.g. Kinesis at 1 MiBps, Redpanda serverless at 1 MiBps, Confluent's even higher-end clusters at 10-20 MiBps IIRC. If you really need ordering, this can indeed be a limit. S2 lets you push 125 MiBps currently, and we may grow that. Another factor is how many ordered streams you can have. Typically a few thousand at most with th…

    Comment linking /blog/2024/04/25/memorydb.html

    on “Introducing S2”
  22. Submitted Code only says what it does as a story · 170 points

    HN discussion
  23. DSQL only uses Postgres for the query processor layer, so it doesn't require a replication library within postgres itself. Definitely NOT from DSQL. > We’re not using any of the storage or transaction processing parts of PostgreSQL, but are using the SQL engine, an adapted version of the planner and optimizer, and the client protocol implementation. [1] Rather, DSQL seems to do its region replication using the distr…

    Comment linking /blog/2024/12/06/inside-dsql-cap.html

    on “Pgactive: Postgres active-active replication extension”
  24. Submitted Make your program slower with threads (2014) as a story · 152 points

    HN discussion
  25. DSQL does use distributed transactions to offer active-active alongside strong consistency and isolation guarantees. Here's how: https://brooker.co.za/blog/2024/12/05/inside-dsql-writes.htm...

    Comment linking /blog/2024/12/05/inside-dsql-writes.html

    on “Pgactive: Postgres active-active replication extension”
  26. Submitted What Does a Database for SSDs Look Like? as a story · 142 points

    HN discussion
  27. Worth mentioning that Dynamo (the classic 2007 paper) and DynamoDB (the modern AWS product) have fairly little in common architecturally. For DynamoDB, check out https://www.usenix.org/conference/atc22/presentation/elhemal... https://www.usenix.org/conference/atc23/presentation/idziore... and my analysis of the differences here https://brooker.co.za/blog/2025/08/15/dynamo-dynamodb-dsql.h...

    Comment linking /blog/2025/08/15/dynamo-dynamodb-dsql.html

    on “Distributed Systems Classics (2017)”
  28. Submitted The power of two random choices as a story · 139 points

    HN discussion
  29. Basically, many people convinced themselves that the formalization of CAP means that systems need to choose between highly available and strongly consistent, and hence chose eventual consistency. This is, partially, because Gilbert and Lynch define "availability" to mean "available to all clients, even those on a minority side of a partition". The much more useful "available to a majority of clients" is achievable a…

    Comment linking /blog/2024/07/25/cap-again.html

    on “Distributed Systems Classics (2017)”
  30. Submitted Let's consign CAP to the cabinet of curiosities as a story · 135 points

    HN discussion

Search all of HN for brooker.co.za

Linked by the same people?