41554 blogs · [ { "id": "01a07d5d-67e4-70ce-a78a-68b464ab7018", "title": "Lorenz and Little: How Much Does Your Tail Cost?", "url": "http://brooker.co.za/blog/2026/07/29/lorenz-and-little.html", "published_at": "2026-07-29T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b46514f9cc", "title": "Aurora DSQL: Scalable, Multi-Region OLTP", "url": "http://brooker.co.za/blog/2026/07/19/dsql-paper.html", "published_at": "2026-07-19T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b4654887b2", "title": "Meet Alice. Alice is impatient.", "url": "http://brooker.co.za/blog/2026/06/19/waiting.html", "published_at": "2026-06-19T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b46600ec86", "title": "Is this blog written by AI?", "url": "http://brooker.co.za/blog/2026/06/18/my-blog-and-ai.html", "published_at": "2026-06-18T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b466c663ba", "title": "Agentic software development hypothesis", "url": "http://brooker.co.za/blog/2026/05/20/hypothesis.html", "published_at": "2026-05-20T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b4673c1558", "title": "What's Easy Now? What's Hard Now?", "url": "http://brooker.co.za/blog/2026/05/18/whats-easy-whats-hard.html", "published_at": "2026-05-18T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b4680a9bd5", "title": "It's time to be right.", "url": "http://brooker.co.za/blog/2026/04/30/be-right.html", "published_at": "2026-04-30T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b468d95b87", "title": "Spec Driven Development isn't Waterfall", "url": "http://brooker.co.za/blog/2026/04/09/waterfall-vs-spec.html", "published_at": "2026-04-09T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b468ef363c", "title": "What about juniors?", "url": "http://brooker.co.za/blog/2026/03/25/ic-junior.html", "published_at": "2026-03-25T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b469326460", "title": "My heuristics are wrong. What now?", "url": "http://brooker.co.za/blog/2026/03/20/ic-leadership.html", "published_at": "2026-03-20T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b46985eee3", "title": "Music To Build Agents By", "url": "http://brooker.co.za/blog/2026/03/18/apprentice.html", "published_at": "2026-03-18T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b46a67d6d9", "title": "SFQ: Simple, Stateless, Stochastic Fairness", "url": "http://brooker.co.za/blog/2026/02/25/sfq.html", "published_at": "2026-02-25T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b46ac8c576", "title": "You Are Here", "url": "http://brooker.co.za/blog/2026/02/07/you-are-here.html", "published_at": "2026-02-07T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b46b7dd2a7", "title": "Pass@k is Mostly Bunk", "url": "http://brooker.co.za/blog/2026/01/21/pass-k.html", "published_at": "2026-01-21T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b46bddce33", "title": "Agent Safety is a Box", "url": "http://brooker.co.za/blog/2026/01/12/agent-box.html", "published_at": "2026-01-12T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b46c7138f1", "title": "On the success of 'natural language programming'", "url": "http://brooker.co.za/blog/2025/12/16/natural-language.html", "published_at": "2025-12-16T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b46d54a407", "title": "What Does a Database for SSDs Look Like?", "url": "http://brooker.co.za/blog/2025/12/15/database-for-ssd.html", "published_at": "2025-12-15T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b46dbc8c1b", "title": "What Now? Handling Errors in Large Systems", "url": "http://brooker.co.za/blog/2025/11/20/what-now.html", "published_at": "2025-11-20T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b46e249bf1", "title": "Why Strong Consistency?", "url": "http://brooker.co.za/blog/2025/11/18/consistency.html", "published_at": "2025-11-18T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b46f1d426d", "title": "DSQL: Simplifying Architectures", "url": "http://brooker.co.za/blog/2025/11/02/thinking-dsql.html", "published_at": "2025-11-02T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b46fe73106", "title": "Fixing UUIDv7 (for database use-cases)", "url": "http://brooker.co.za/blog/2025/10/22/uuidv7.html", "published_at": "2025-10-22T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b470cc951e", "title": "Is Systems Research Really Just About Making Numbers Bigger?", "url": "http://brooker.co.za/blog/2025/10/12/barbarians.html", "published_at": "2025-10-12T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b471961daf", "title": "Locality, and Temporal-Spatial Hypothesis", "url": "http://brooker.co.za/blog/2025/10/05/locality.html", "published_at": "2025-10-05T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b472918f3f", "title": "Seven Years of Firecracker", "url": "http://brooker.co.za/blog/2025/09/18/firecracker.html", "published_at": "2025-09-18T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b473080e5f", "title": "Dynamo, DynamoDB, and Aurora DSQL", "url": "http://brooker.co.za/blog/2025/08/15/dynamo-dynamodb-dsql.html", "published_at": "2025-08-15T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b47343c7dc", "title": "LLMs as Parts of Systems", "url": "http://brooker.co.za/blog/2025/08/12/llms-as-components.html", "published_at": "2025-08-12T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b473c3586c", "title": "Career advice, or something like it", "url": "http://brooker.co.za/blog/2025/06/20/career.html", "published_at": "2025-06-20T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b4748ed00b", "title": "Systems Fun at HotOS", "url": "http://brooker.co.za/blog/2025/06/02/hotos.html", "published_at": "2025-06-02T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b474c9d38f", "title": "Good Performance for Bad Days", "url": "http://brooker.co.za/blog/2025/05/20/icpe.html", "published_at": "2025-05-20T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b474f16484", "title": "Decomposing Aurora DSQL", "url": "http://brooker.co.za/blog/2025/04/17/decomposing.html", "published_at": "2025-04-17T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b4750f0b52", "title": "One or Two? How Many Queues?", "url": "http://brooker.co.za/blog/2025/03/25/two-queues.html", "published_at": "2025-03-25T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b4753245ab", "title": "What Fekete's Anomaly Can Teach Us About Isolation", "url": "http://brooker.co.za/blog/2025/02/05/feketes.html", "published_at": "2025-02-05T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b47583883b", "title": "Versioning versus Coordination", "url": "http://brooker.co.za/blog/2025/02/04/versioning.html", "published_at": "2025-02-04T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b475d83915", "title": "Snapshot Isolation vs Serializability", "url": "http://brooker.co.za/blog/2024/12/17/occ-and-isolation.html", "published_at": "2024-12-17T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b476834402", "title": "DSQL Vignette: Wait! Isn't That Impossible?", "url": "http://brooker.co.za/blog/2024/12/06/inside-dsql-cap.html", "published_at": "2024-12-06T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b477138ac7", "title": "DSQL Vignette: Transactions and Durability", "url": "http://brooker.co.za/blog/2024/12/05/inside-dsql-writes.html", "published_at": "2024-12-05T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b477936812", "title": "DSQL Vignette: Reads and Compute", "url": "http://brooker.co.za/blog/2024/12/04/inside-dsql.html", "published_at": "2024-12-04T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b477dff132", "title": "DSQL Vignette: Aurora DSQL, and A Personal Story", "url": "http://brooker.co.za/blog/2024/12/03/aurora-dsql.html", "published_at": "2024-12-03T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b478885bd7", "title": "Ten Years of AWS Lambda", "url": "http://brooker.co.za/blog/2024/11/14/lambda-ten-years.html", "published_at": "2024-11-14T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b478f65359", "title": "Garbage Collection and Metastability", "url": "http://brooker.co.za/blog/2024/08/14/gc-metastable.html", "published_at": "2024-08-14T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b47937c518", "title": "Resource Management in Aurora Serverless", "url": "http://brooker.co.za/blog/2024/07/29/aurora-serverless.html", "published_at": "2024-07-29T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b47978a197", "title": "Let's Consign CAP to the Cabinet of Curiosities", "url": "http://brooker.co.za/blog/2024/07/25/cap-again.html", "published_at": "2024-07-25T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b479908940", "title": "Not Just Scale", "url": "http://brooker.co.za/blog/2024/06/04/scale.html", "published_at": "2024-06-04T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b479a3fb25", "title": "It's always TCP_NODELAY. Every damn time.", "url": "http://brooker.co.za/blog/2024/05/09/nagle.html", "published_at": "2024-05-09T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b479cb29af", "title": "MemoryDB: Speed, Durability, and Composition.", "url": "http://brooker.co.za/blog/2024/04/25/memorydb.html", "published_at": "2024-04-25T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b47a0f9638", "title": "Formal Methods: Just Good Engineering Practice?", "url": "http://brooker.co.za/blog/2024/04/17/formal.html", "published_at": "2024-04-17T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b47aa12406", "title": "Finding Needles in a Haystack with Best-of-K", "url": "http://brooker.co.za/blog/2024/03/25/needles.html", "published_at": "2024-03-25T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b47b50457b", "title": "The Builder's Guide to Better Mousetraps", "url": "http://brooker.co.za/blog/2024/03/04/mousetrap.html", "published_at": "2024-03-04T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b47bb8d8fc", "title": "Better Benchmarks Through Graphs", "url": "http://brooker.co.za/blog/2024/02/12/parameters.html", "published_at": "2024-02-12T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b47c59feeb", "title": "How Do You Spend Your Time?", "url": "http://brooker.co.za/blog/2024/02/06/time.html", "published_at": "2024-02-06T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b47d0208ae", "title": "Pat's Big Deal, and Transaction Coordination", "url": "http://brooker.co.za/blog/2024/01/23/big-deal.html", "published_at": "2024-01-23T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b47dece84a", "title": "What is Scalability Anyway?", "url": "http://brooker.co.za/blog/2024/01/18/scalability.html", "published_at": "2024-01-18T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b47e87134e", "title": "Why Aren't We SIEVE-ing?", "url": "http://brooker.co.za/blog/2023/12/15/sieve.html", "published_at": "2023-12-15T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b47ee49c6a", "title": "It's About Time!", "url": "http://brooker.co.za/blog/2023/11/27/about-time.html", "published_at": "2023-11-27T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b47fd93e4c", "title": "Optimism vs Pessimism in Distributed Systems", "url": "http://brooker.co.za/blog/2023/10/18/optimism.html", "published_at": "2023-10-18T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48052a439", "title": "Writing For Somebody", "url": "http://brooker.co.za/blog/2023/09/21/audience.html", "published_at": "2023-09-21T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b480735e72", "title": "Exponential Value at Linear Cost", "url": "http://brooker.co.za/blog/2023/09/08/exponential.html", "published_at": "2023-09-08T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b4813b38bc", "title": "On The Acoustics of Cocktail Parties", "url": "http://brooker.co.za/blog/2023/08/25/party-time.html", "published_at": "2023-08-25T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b4816044f9", "title": "Invariants: A Better Debugger?", "url": "http://brooker.co.za/blog/2023/07/28/ds-testing.html", "published_at": "2023-07-28T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b481ecb033", "title": "My Favorite Bits of OSDI/ATC'23", "url": "http://brooker.co.za/blog/2023/07/13/osdi.html", "published_at": "2023-07-13T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b4820b5448", "title": "Bélády's Anomaly Doesn't Happen Often", "url": "http://brooker.co.za/blog/2023/06/23/belady.html", "published_at": "2023-06-23T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b4822f1124", "title": "What is a container?", "url": "http://brooker.co.za/blog/2023/06/19/container.html", "published_at": "2023-06-19T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b482f26ea5", "title": "Container Loading in AWS Lambda", "url": "http://brooker.co.za/blog/2023/05/23/snapshot-loading.html", "published_at": "2023-05-23T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b483ddd99f", "title": "Open and Closed, Omission and Collapse", "url": "http://brooker.co.za/blog/2023/05/10/open-closed.html", "published_at": "2023-05-10T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b483e4b558", "title": "The Four Hobbies, and Apparent Expertise", "url": "http://brooker.co.za/blog/2023/04/20/hobbies.html", "published_at": "2023-04-20T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b4841d4571", "title": "Surprising Scalability of Multitenancy", "url": "http://brooker.co.za/blog/2023/03/23/economics.html", "published_at": "2023-03-23T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48451e727", "title": "False Sharing versus Perfect Placement", "url": "http://brooker.co.za/blog/2023/03/07/false-sharing.html", "published_at": "2023-03-07T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b4850bd720", "title": "Hot Keys, Scalability, and the Zipf Distribution", "url": "http://brooker.co.za/blog/2023/02/07/hot-keys.html", "published_at": "2023-02-07T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48595c453", "title": "NoSQL: The Baby and the Bathwater", "url": "http://brooker.co.za/blog/2023/01/30/nosql.html", "published_at": "2023-01-30T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48647e6ce", "title": "Erasure Coding versus Tail Latency", "url": "http://brooker.co.za/blog/2023/01/06/erasure.html", "published_at": "2023-01-06T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48682455a", "title": "Under My Thumb: Insight Behind the Rules", "url": "http://brooker.co.za/blog/2022/12/15/thumb.html", "published_at": "2022-12-15T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b486aed084", "title": "Lambda Snapstart, and snapshots as a tool for system builders", "url": "http://brooker.co.za/blog/2022/11/29/snapstart.html", "published_at": "2022-11-29T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48795b034", "title": "Amazon's Distributed Computing Manifesto", "url": "http://brooker.co.za/blog/2022/11/22/manifesto.html", "published_at": "2022-11-22T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b4888401c1", "title": "Writing Is Magic", "url": "http://brooker.co.za/blog/2022/11/08/writing.html", "published_at": "2022-11-08T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b4896cf391", "title": "Give Your Tail a Nudge", "url": "http://brooker.co.za/blog/2022/10/21/nudge.html", "published_at": "2022-10-21T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48a353b8c", "title": "Atomic Commitment: The Unscalability Protocol", "url": "http://brooker.co.za/blog/2022/10/04/commitment.html", "published_at": "2022-10-04T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48aaf9387", "title": "Histogram vs eCDF", "url": "http://brooker.co.za/blog/2022/09/02/ecdf.html", "published_at": "2022-09-02T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48b1b4f0e", "title": "What is Backoff For?", "url": "http://brooker.co.za/blog/2022/08/11/backoff.html", "published_at": "2022-08-11T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48bb1adf3", "title": "Getting into formal specification, and getting my team into it too", "url": "http://brooker.co.za/blog/2022/07/29/getting-into-tla.html", "published_at": "2022-07-29T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48bbfc423", "title": "The DynamoDB paper", "url": "http://brooker.co.za/blog/2022/07/12/dynamodb.html", "published_at": "2022-07-12T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48bef0aa5", "title": "Formal Methods Only Solve Half My Problems", "url": "http://brooker.co.za/blog/2022/06/02/formal.html", "published_at": "2022-06-02T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48cccf0fb", "title": "What is a simple system?", "url": "http://brooker.co.za/blog/2022/05/03/simplicity.html", "published_at": "2022-05-03T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48d62a595", "title": "Simple Simulations for System Builders", "url": "http://brooker.co.za/blog/2022/04/11/simulation.html", "published_at": "2022-04-11T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48e114445", "title": "Fixing retries with token buckets and circuit breakers", "url": "http://brooker.co.za/blog/2022/02/28/retries.html", "published_at": "2022-02-28T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48f060fea", "title": "Will circuit breakers solve my problems?", "url": "http://brooker.co.za/blog/2022/02/16/circuit-breakers.html", "published_at": "2022-02-16T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48f40cfe8", "title": "Software Deployment, Speed, and Safety", "url": "http://brooker.co.za/blog/2022/01/31/deployments.html", "published_at": "2022-01-31T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48f8a6bf3", "title": "DynamoDB's Best Feature: Predictability", "url": "http://brooker.co.za/blog/2022/01/19/predictability.html", "published_at": "2022-01-19T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b48fdf4b8e", "title": "The Bug in Paxos Made Simple", "url": "http://brooker.co.za/blog/2021/11/16/paxos.html", "published_at": "2021-11-16T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b49087e6e0", "title": "Serial, Parallel, and Quorum Latencies", "url": "http://brooker.co.za/blog/2021/10/20/simulation.html", "published_at": "2021-10-20T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b49167873f", "title": "Caches, Modes, and Unstable Systems", "url": "http://brooker.co.za/blog/2021/08/27/caches.html", "published_at": "2021-08-27T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b491c67c95", "title": "My Proposal for Arecibo: Drones", "url": "http://brooker.co.za/blog/2021/08/11/arecibo.html", "published_at": "2021-08-11T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b492680443", "title": "Latency Sneaks Up On You", "url": "http://brooker.co.za/blog/2021/08/05/utilization.html", "published_at": "2021-08-05T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b49286737c", "title": "Metastability and Distributed Systems", "url": "http://brooker.co.za/blog/2021/05/24/metastable.html", "published_at": "2021-05-24T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b4933dc42c", "title": "Tail Latency Might Matter More Than You Think", "url": "http://brooker.co.za/blog/2021/04/19/latency.html", "published_at": "2021-04-19T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b493c55c2b", "title": "Redundant against what?", "url": "http://brooker.co.za/blog/2021/04/14/redundancy.html", "published_at": "2021-04-14T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b49455354b", "title": "What You Can Learn From Old Hard Drive Adverts", "url": "http://brooker.co.za/blog/2021/03/25/latency-bandwidth.html", "published_at": "2021-03-25T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b4948bd687", "title": "Incident Response Isn't Enough", "url": "http://brooker.co.za/blog/2021/02/22/postmortem.html", "published_at": "2021-02-22T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b494b9e50d", "title": "The Fundamental Mechanism of Scaling", "url": "http://brooker.co.za/blog/2021/01/22/cloud-scale.html", "published_at": "2021-01-22T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b494f6c11d", "title": "Quorum Availability", "url": "http://brooker.co.za/blog/2021/01/06/quorum-availability.html", "published_at": "2021-01-06T00:00:00+00:00" }, { "id": "01a07d5d-67e4-70ce-a78a-68b495c7e97f", "title": "Getting Big Things Done", "url": "http://brooker.co.za/blog/2020/10/19/big-changes.html", "published_at": "2020-10-19T00:00:00+00:00" } ] posts Claim your blog
Back to Marc Brooker
Blog · corpus.blog/blogs/brooker.co.za/posts

Marc Brooker

brooker.co.za

2026

2025

2024

2023

2022

2021

2020