o que esta fonte defende
Há uma tese que atravessa quase tudo: coordenação é o imposto que limita a escala, e quase todo bom projeto de sistema é um jeito de pagar menos dele. Brooker repete essa ideia em registros diferentes — em teoria (consenso e Paxos não são o que faz sistemas escalarem; particionamento é), em economia (commit atômico é “o protocolo da inescalabilidade”), em produto (o DSQL evita coordenação no caminho da transação e paga o preço em outro lugar) e em prosa didática (chaves quentes, distribuição de Zipf, false sharing). O corolário que ele defende com igual insistência é sobre medição: a média mente, o percentil alto é o que o cliente sente, e um benchmark sem distribuição — sem gráfico, sem eCDF, sem modelo aberto versus fechado — não é evidência de nada. Um terceiro fio, mais silencioso, é o de que simplicidade é uma escolha de quem constrói, feita em nome de quem usa: consistência forte, isolamento de snapshot e serverless são, no argumento dele, formas de mover complexidade para dentro do sistema para que ela não apareça na cabeça do desenvolvedor.
Onde ele mudou de ideia, mudou de forma visível e documentada. O arquivo começa em 2012 num engenheiro de performance de baixo nível — volatile em Java, lock elision no Haswell, armadilhas do iostat — e migra para teoria de sistemas distribuídos e, depois de 2019, para relatos de quem está construindo os sistemas sobre os quais teoriza. A mudança mais nítida é sobre o CAP: em 2014 ele o critica mas propõe substituí-lo por PACELC, um enquadramento melhor; em 2024 escreve que o teorema deveria ir para o gabinete de curiosidades, porque virou desculpa para não pensar. Junto com isso vem uma virada sobre consistência: quem começou explicando trade-offs com neutralidade passou a argumentar, em 2025, que consistência eventual simplesmente torna a vida de quem escreve aplicação mais difícil — uma posição que ele liga explicitamente à experiência de construir e operar bancos de dados na AWS, não a um argumento abstrato.
A virada mais brusca é recente e cobre quase todo o material de 2025 e 2026. Ele passou a trabalhar com IA como ocupação principal e escreve como otimista declarado: diz que os últimos meses foram os mais empolgantes de trinta anos construindo software, e formula uma hipótese explícita — qualquer tarefa de código com especificação completa (forma fraca) ou com um oráculo determinístico (forma forte) vai se tornar trivial. Vale notar que isso não é uma ruptura tão grande quanto parece: desde 2020 ele escrevia que código só diz o que faz, não o que deveria fazer, e que a história do software é uma aproximação lenta entre programar e especificar. A IA, no argumento dele, é a continuação natural dessa curva, não um desvio. O que ele recusa é a bagunça: não usa modelo para escrever texto, considera pass@k uma métrica majoritariamente inútil, e trata segurança de agente como problema de caixa — o que o agente pode tocar — e não de boa intenção do modelo.
Uma quarta linha, menor em volume mas constante em quarenta anos de referências, é a de segurança operacional emprestada de fora da computação: avalanches, Chernobyl, o modelo de Rasmussen, ambientes de aprendizado “gentis” e “perversos”. É de lá que vem a posição dele de que postmortem não basta, de que retries e caches são armadilhas metaestáveis vendidas como boas práticas, e de que sistemas precisam ser operados porque falhas latentes se acumulam invisíveis.
por tema
filas, cauda e a estatística de quem espera (39 textos)
O bloco mais antigo e mais teimoso do arquivo. A tese é que o desempenho de um sistema é uma distribuição, não um número, e que a parte da distribuição que importa é a cauda: o cliente que espera um segundo enquanto a média diz cem milissegundos. Ele volta a isso por muitos caminhos — teoria de filas aplicada (lei de Little contada como narrativa, uma ou duas filas no supermercado, a economia contraintuitiva de sistemas balanceados), truques concretos que baixam a cauda sem trade-off doloroso (hedging, poder de duas escolhas aleatórias, best-of-k, filas estocásticas justas), e uma insistência de que a cauda tem preço em dinheiro, não só em experiência.
A outra metade do tema é metodológica e mais combativa: geradores de carga fechados mentem sobre saturação, histograma quase sempre perde para eCDF, benchmark sem gráfico é anedota, e a média não é inútil — é mal usada. A camada mais antiga desse bloco é de instrumentação e hardware real: latência que cresce mais devagar que banda, custo de troca de contexto, volatile e atômicos em x86, lock elision no Haswell, blktrace, e os dois campos do iostat que ele pede para ninguém mais usar.
- Lorenz and Little: How Much Does Your Tail Cost? · 2026-07-29
- Meet Alice. Alice is impatient. · 2026-06-19
- SFQ: Simple, Stateless, Stochastic Fairness · 2026-02-25
- Locality, and Temporal-Spatial Hypothesis · 2025-10-05
- Good Performance for Bad Days · 2025-05-20
- One or Two? How Many Queues? · 2025-03-25
- It’s always TCP_NODELAY. Every damn time. · 2024-05-09
- Finding Needles in a Haystack with Best-of-K · 2024-03-25
- Better Benchmarks Through Graphs · 2024-02-12
- Why Aren’t We SIEVE-ing? · 2023-12-15
- Exponential Value at Linear Cost · 2023-09-08
- On The Acoustics of Cocktail Parties · 2023-08-25
- Bélády’s Anomaly Doesn’t Happen Often · 2023-06-23
- Open and Closed, Omission and Collapse · 2023-05-10
- Surprising Scalability of Multitenancy · 2023-03-23
- Erasure Coding versus Tail Latency · 2023-01-06
- Give Your Tail a Nudge · 2022-10-21
- Histogram vs eCDF · 2022-09-02
- Serial, Parallel, and Quorum Latencies · 2021-10-20
- Latency Sneaks Up On You · 2021-08-05
- Tail Latency Might Matter More Than You Think · 2021-04-19
- What You Can Learn From Old Hard Drive Adverts · 2021-03-25
- Surprising Economics of Load-Balanced Systems · 2020-08-06
- Telling Stories About Little’s Law · 2018-06-20
- Balls Into Bins In Distributed Systems · 2018-01-01
- Is the Mean Really Useless? · 2017-12-28
- Make Your Program Slower With Threads · 2014-12-06
- Ice Cream and Distributed Systems · 2014-10-25
- Two traps in iostat: %util and svctm · 2014-07-04
- Restricted Transactional Memory on Haswell · 2013-12-16
- Hardware Lock Elision on Haswell · 2013-12-14
- Beyond iostat: Storage performance analysis with blktrace · 2013-07-14
- C++11’s atomic and volatile, under the hood on x86 · 2013-01-06
- Java’s Atomic and volatile, under the hood on x86 · 2012-11-13
- Are volatile reads really free? · 2012-09-10
- Highly contended and fair locking in Java · 2012-09-10
- Latency lags bandwidth · 2012-02-11
- The power of two random choices · 2012-01-17
- The benefits of having data · 2012-01-10
coordenação: o imposto que limita a escala (28 textos)
Aqui está a tese central. Consenso, replicação e commit atômico são peças necessárias, mas não são o mecanismo que faz sistemas escalarem — o mecanismo é dividir o trabalho de modo que as partes não precisem conversar. Ele desmonta a leitura popular de Paxos e Raft como “ferramentas de escala”, mostra por que commit em duas fases é um teto e não um alicerce, e explora o espaço entre otimismo e pessimismo: sistemas que evitam coordenar apostam em suposições sobre o que os outros componentes estão fazendo, e o interessante é o que acontece quando a aposta falha.
O segundo eixo é consistência, e é onde ele mudou de posição ao longo dos anos. O arquivo tem uma fase inteira de pedagogia do CAP — comparações com PACELC, com harvest and yield, com as duas definições incompatíveis da palavra disponibilidade — que termina em 2024 num pedido explícito para aposentar o teorema. Depois disso ele passa a defender consistência forte de forma direta: isolamento de snapshot como o ponto doce do espectro, versionamento no lugar de coordenação, e o argumento de que consistência eventual empurra complexidade para o código de quem usa. Fecha o tema uma camada de material clássico bem explicado: replicação por viewstamps, detectores de falha, anomalia de Fekete, conhecimento comum, Sybil e a pergunta se o Bitcoin resolve consenso bizantino.
- Why Strong Consistency? · 2025-11-18
- What Fekete’s Anomaly Can Teach Us About Isolation · 2025-02-05
- Versioning versus Coordination · 2025-02-04
- Snapshot Isolation vs Serializability · 2024-12-17
- Let’s Consign CAP to the Cabinet of Curiosities · 2024-07-25
- Not Just Scale · 2024-06-04
- Pat’s Big Deal, and Transaction Coordination · 2024-01-23
- What is Scalability Anyway? · 2024-01-18
- It’s About Time! · 2023-11-27
- Optimism vs Pessimism in Distributed Systems · 2023-10-18
- Atomic Commitment: The Unscalability Protocol · 2022-10-04
- The Bug in Paxos Made Simple · 2021-11-16
- The Fundamental Mechanism of Scaling · 2021-01-22
- Consensus is Harder Than It Looks · 2020-10-05
- Why do we need distributed systems? · 2020-01-02
- Some risks of coordinating only sometimes · 2019-05-01
- Control Planes vs Data Planes · 2019-03-17
- Availability and availability · 2018-02-25
- Is there a CAP theorem for Durability? · 2015-09-26
- Electoral Trouble in Sybilania · 2015-03-03
- Does Bitcoin Solve Byzantine Consensus? · 2015-02-28
- Two Farmers and Common Knowledge · 2014-11-30
- Exactly-Once Delivery May Not Be What You Want · 2014-11-15
- Harvest and Yield: Not A Natural Cure for Tradeoff Confusion · 2014-10-12
- CAP and PACELC: Thinking More Clearly About Consistency · 2014-07-16
- Viewstamped Replication: The Less-Famous Consensus Protocol · 2014-05-19
- Failure Detectors, and Non-Blocking Atomic Commit · 2014-04-14
- Distributed Consensus: Beating Impossibility with Probability One · 2014-01-12
os sistemas que ele ajudou a construir (26 textos)
Brooker escreve sobre sistemas que operou, e isso muda o tom: são relatos de projeto, não resenhas. O Aurora DSQL ocupa o maior espaço — uma sequência de textos que abre o produto camada por camada (leitura e computação, transações e durabilidade, disponibilidade dentro dos limites da física) e culmina num paper completo em 2026. O argumento de produto embutido nesses textos é que complexidade é escolha: o banco deveria absorver particionamento, failover e escala elástica para que a aplicação não precise pensar neles.
Ao redor disso está o resto da carreira dele na AWS, contada com detalhe técnico raro: dez anos de Lambda e o PRFAQ original, sete anos de Firecracker e o paper de virtualização leve, carregamento de imagens de contêiner no Lambda, snapshots como ferramenta de partida rápida, MemoryDB, Physalia e seus milhões de bancos minúsculos, gestão de recursos no Aurora Serverless. Há também um fio de teoria de escalabilidade de bancos escrito como série — NoSQL e o que se jogou fora junto com a água do banho, chaves quentes e Zipf, false sharing — e alguns exercícios de projeto abertos, como o que um banco desenhado para SSD deveria parecer e como consertar UUIDv7 para uso em índices.
- Aurora DSQL: Scalable, Multi-Region OLTP · 2026-07-19
- What Does a Database for SSDs Look Like? · 2025-12-15
- DSQL: Simplifying Architectures · 2025-11-02
- Fixing UUIDv7 (for database use-cases) · 2025-10-22
- Seven Years of Firecracker · 2025-09-18
- Dynamo, DynamoDB, and Aurora DSQL · 2025-08-15
- Decomposing Aurora DSQL · 2025-04-17
- DSQL Vignette: Wait! Isn’t That Impossible? · 2024-12-06
- DSQL Vignette: Transactions and Durability · 2024-12-05
- DSQL Vignette: Reads and Compute · 2024-12-04
- DSQL Vignette: Aurora DSQL, and A Personal Story · 2024-12-03
- Ten Years of AWS Lambda · 2024-11-14
- Resource Management in Aurora Serverless · 2024-07-29
- MemoryDB: Speed, Durability, and Composition. · 2024-04-25
- What is a container? · 2023-06-19
- Container Loading in AWS Lambda · 2023-05-23
- False Sharing versus Perfect Placement · 2023-03-07
- Hot Keys, Scalability, and the Zipf Distribution · 2023-02-07
- NoSQL: The Baby and the Bathwater · 2023-01-30
- Lambda Snapstart, and snapshots as a tool for system builders · 2022-11-29
- Amazon’s Distributed Computing Manifesto · 2022-11-22
- The DynamoDB paper · 2022-07-12
- DynamoDB’s Best Feature: Predictability · 2022-01-19
- Two Years With Rust · 2020-03-22
- Firecracker: Lightweight Virtualization for Serverless Applications · 2020-02-19
- Physalia: Millions of Tiny Databases · 2020-02-17
métodos formais como higiene, não cerimônia (10 textos)
A posição é curta e ele a defende há mais de dez anos: especificação formal — TLA+, P — não é luxo acadêmico, é prática de engenharia comum, do mesmo tipo que teste e revisão de código. Ele foi um dos divulgadores do uso de TLA+ dentro da AWS, escreveu a versão que saiu na CACM, e continua produzindo material de porta de entrada: como começar, como convencer um time a começar, como usar simulação numérica simples quando o modelo formal é caro demais.
A parte mais interessante é a ressalva honesta. Métodos formais, escreve ele, resolvem no máximo metade dos problemas dele: garantem que o protocolo especificado está certo, não que a especificação é a que o negócio precisava, nem que o código implementa a especificação. Daí a linha complementar de invariantes em produção como alternativa ao depurador, e a observação que dá título a um dos textos mais citados do arquivo: código só diz o que faz, e depurar é a diferença entre isso e o que ele deveria fazer.
- Formal Methods: Just Good Engineering Practice? · 2024-04-17
- Invariants: A Better Debugger? · 2023-07-28
- Getting into formal specification, and getting my team into it too · 2022-07-29
- Formal Methods Only Solve Half My Problems · 2022-06-02
- Simple Simulations for System Builders · 2022-04-11
- Code Only Says What it Does · 2020-06-23
- How Amazon Web Services Uses Formal Methods · 2015-03-29
- Use of Formal Methods at Amazon Web Services · 2014-08-09
- Snark, Chord, and Trust in Algorithms · 2014-03-08
- Exploring TLA+ with two-phase commit · 2013-01-20
metaestabilidade, retries e cultura de falha (20 textos)
Uma coleção de contrarianismos contra coisas que a indústria chama de boas práticas. Retries pioram a maioria das situações reais, porque são disparados justamente por sobrecarga; circuit breakers ajudam menos do que se imagina, a menos que você saiba qual problema está resolvendo, e funcionam melhor quebrando só as tentativas repetidas; caches criam modos de operação distintos e sistemas instáveis, porque o sistema sem cache quente nunca foi dimensionado para existir. O conceito que amarra tudo é metaestabilidade: sistemas que ficam presos num estado ruim depois que o gatilho já passou, e dos quais só se sai desligando e ligando — coletor de lixo incluído na lista de gatilhos.
A outra metade vem de fora da computação e é o que dá densidade ao conjunto. Segurança em avalanches, o modelo de gradiente operacional de Rasmussen, a pergunta sobre quanta culpa cabe a Dyatlov em Chernobyl, ambientes de aprendizado gentis e perversos. A conclusão recorrente é que postmortem não basta — pontos únicos de falha ficam invisíveis quando nada quebrou ainda — e que redundância só ajuda se você souber contra o quê está sendo redundante, o que ele trata como exercício de modelagem de ameaças aplicado a projeto distribuído.
- What Now? Handling Errors in Large Systems · 2025-11-20
- Garbage Collection and Metastability · 2024-08-14
- What is Backoff For? · 2022-08-11
- Fixing retries with token buckets and circuit breakers · 2022-02-28
- Will circuit breakers solve my problems? · 2022-02-16
- Software Deployment, Speed, and Safety · 2022-01-31
- Caches, Modes, and Unstable Systems · 2021-08-27
- Metastability and Distributed Systems · 2021-05-24
- Redundant against what? · 2021-04-14
- Incident Response Isn’t Enough · 2021-02-22
- Quorum Availability · 2021-01-06
- Kindness, Wickedness and Safety · 2019-08-12
- When Redundancy Actually Helps · 2019-06-20
- Is Anatoly Dyatlov to blame? · 2019-06-17
- Why Must Systems Be Operated? · 2016-01-03
- Heuristic Traps for Systems Operators · 2015-11-05
- CALISDO: Threat Modeling for Distributed Designs · 2015-06-20
- Jitter: Making Things Better With Randomness · 2015-03-21
- The Operations Gradient: Improving Safety in Complex Systems · 2014-06-29
- The properties of crash-only software · 2012-01-22
ia, agentes e programação por especificação (14 textos)
Tudo desde meados de 2025, e é o assunto mais quente do arquivo. A posição é de otimista explícito: ele trabalha com IA como ocupação principal, diz que os últimos meses foram os mais empolgantes de trinta anos de carreira, e formula a coisa como hipótese testável — tarefa com especificação completa vira trivial (forma fraca); tarefa com oráculo determinístico vira trivial (forma forte). Daí a defesa de desenvolvimento guiado por especificação, e a rejeição direta da acusação de que isso é cascata redivivo: especificar não é congelar, é escrever o que você quer dizer.
O otimismo vem com bordas duras. Ele considera pass@k uma métrica majoritariamente sem valor para medir agentes; trata segurança de agente como um problema de caixa — o que o agente pode alcançar — e não de confiança no modelo; e discute o LLM como componente de sistema, sujeito às mesmas perguntas de falha e composição que qualquer outro. Há uma série sobre o efeito na profissão: o que ficou fácil e o que ficou difícil, o que acontece com quem está começando a carreira, e a admissão pessoal de que as heurísticas que ele usava para avaliar trabalho pararam de funcionar. Num texto curto ele registra que nenhum texto legível por humano no blog é escrito por modelo, embora use agentes o tempo todo para código.
- Is this blog written by AI? · 2026-06-18
- Agentic software development hypothesis · 2026-05-20
- What’s Easy Now? What’s Hard Now? · 2026-05-18
- It’s time to be right. · 2026-04-30
- Spec Driven Development isn’t Waterfall · 2026-04-09
- What about juniors? · 2026-03-25
- My heuristics are wrong. What now? · 2026-03-20
- Music To Build Agents By · 2026-03-18
- You Are Here · 2026-02-07
- Pass@k is Mostly Bunk · 2026-01-21
- Agent Safety is a Box · 2026-01-12
- On the success of ‘natural language programming’ · 2025-12-16
- Is Systems Research Really Just About Making Numbers Bigger? · 2025-10-12
- LLMs as Parts of Systems · 2025-08-12
carreira, escrita e como ler papers (26 textos)
Um bloco que ele mesmo identifica como “e-mails longos demais para colegas que perguntaram algo”, publicados porque não eram específicos do trabalho. O conselho mais repetido é evitar câmaras de eco negativas: todo setor tem seu bar dos amargurados, é confortável e não leva a lugar nenhum. Perto disso ficam textos sobre como fazer projetos grandes acontecerem, como gastar o próprio tempo, uma rubrica para decidir se vale construir a ratoeira melhor, o perigo de regras de bolso aplicadas sem entender o que está por trás, a doença do zero-um-infinito, e a observação de que hobbies servem a propósitos diferentes para pessoas diferentes — motivo pelo qual dois entusiastas do mesmo assunto podem se irritar mutuamente.
O segundo eixo é leitura de pesquisa. Ele mantém guias de como engenheiros devem ler papers (com três modos: buscar solução, descobrir, curiosidade), listas curadas de Lamport, Nancy Lynch, Barbara Liskov e virtualização, relatos de conferência (HotOS, OSDI/ATC) e um pedido para focar na parte boa em vez de exercitar ceticismo por esporte. Escrever aparece como habilidade central: escrever é mágica, e escreva sempre para alguém específico. Há também os desvios que o blog se permite — uma proposta com drones para reconstruir Arecibo, a história do celacanto, e química de cozinha com bicarbonato.
- Career advice, or something like it · 2025-06-20
- Systems Fun at HotOS · 2025-06-02
- The Builder’s Guide to Better Mousetraps · 2024-03-04
- How Do You Spend Your Time? · 2024-02-06
- Writing For Somebody · 2023-09-21
- My Favorite Bits of OSDI/ATC’23 · 2023-07-13
- The Four Hobbies, and Apparent Expertise · 2023-04-20
- Under My Thumb: Insight Behind the Rules · 2022-12-15
- Writing Is Magic · 2022-11-08
- What is a simple system? · 2022-05-03
- My Proposal for Arecibo: Drones · 2021-08-11
- Getting Big Things Done · 2020-10-19
- Focus on the Good Parts · 2020-09-02
- A Story About a Fish · 2020-07-28
- Some Virtualization Papers Worth Reading · 2020-06-08
- Reading Research: A Guide for Software Engineers · 2020-05-25
- Learning to build distributed systems · 2019-04-03
- Sodium Carbonate, and Ramenized Pasta · 2015-05-24
- The Zero, One, Infinity Disease · 2015-04-11
- A Quiet Defense of Patterns · 2015-01-25
- The Essential Barbara Liskov · 2014-09-21
- The Space Between Theory and Practice in Distributed Systems · 2014-08-10
- The Essential Nancy Lynch · 2014-05-10
- The Essential Leslie Lamport · 2014-03-30
- Some Patterns of Engineering Design Meetings · 2013-05-25
- Expect Less, Get More? · 2012-09-02
onde ela discorda de outras fontes do acervo
Ele briga com posições populares, e nomeia as brigas. Contra o argumento de que máquinas ficaram rápidas demais para justificar sistemas distribuídos — a tese de “sirva todos os seus clientes de um servidor só”, comum entre defensores de arquiteturas monolíticas — ele responde que escala nunca foi a única razão: disponibilidade, durabilidade e isolamento de falhas continuam exigindo distribuição. Contra a cultura do CAP como ferramenta pedagógica, que ele mesmo ajudou a alimentar por uma década, passou a defender aposentadoria completa. Contra quem trata consistência eventual como escolha neutra de trade-off, argumenta que ela só transfere o problema para quem escreve a aplicação. Contra caches e retries como boas práticas padrão, mostra os modos metaestáveis que ambos criam. E, no lado de IA, contra a comunidade de avaliação de agentes que usa pass@k, chama a métrica de basicamente inútil, e contra a leitura de que desenvolvimento guiado por especificação seria um retorno à cascata.
linha do tempo
- 2026-07-29 — Lorenz and Little: How Much Does Your Tail Cost?
- 2026-07-19 — Aurora DSQL: Scalable, Multi-Region OLTP
- 2026-06-19 — Meet Alice. Alice is impatient.
- 2026-06-18 — Is this blog written by AI?
- 2026-05-20 — Agentic software development hypothesis
- 2026-05-18 — What’s Easy Now? What’s Hard Now?
- 2026-04-30 — It’s time to be right.
- 2026-04-09 — Spec Driven Development isn’t Waterfall
- 2026-03-25 — What about juniors?
- 2026-03-20 — My heuristics are wrong. What now?
- 2026-03-18 — Music To Build Agents By
- 2026-02-25 — SFQ: Simple, Stateless, Stochastic Fairness
- 2026-02-07 — You Are Here
- 2026-01-21 — Pass@k is Mostly Bunk
- 2026-01-12 — Agent Safety is a Box
- 2025-12-16 — On the success of ‘natural language programming’
- 2025-12-15 — What Does a Database for SSDs Look Like?
- 2025-11-20 — What Now? Handling Errors in Large Systems
- 2025-11-18 — Why Strong Consistency?
- 2025-11-02 — DSQL: Simplifying Architectures
- 2025-10-22 — Fixing UUIDv7 (for database use-cases)
- 2025-10-12 — Is Systems Research Really Just About Making Numbers Bigger?
- 2025-10-05 — Locality, and Temporal-Spatial Hypothesis
- 2025-09-18 — Seven Years of Firecracker
- 2025-08-15 — Dynamo, DynamoDB, and Aurora DSQL
- 2025-08-12 — LLMs as Parts of Systems
- 2025-06-20 — Career advice, or something like it
- 2025-06-02 — Systems Fun at HotOS
- 2025-05-20 — Good Performance for Bad Days
- 2025-04-17 — Decomposing Aurora DSQL
- 2025-03-25 — One or Two? How Many Queues?
- 2025-02-05 — What Fekete’s Anomaly Can Teach Us About Isolation
- 2025-02-04 — Versioning versus Coordination
- 2024-12-17 — Snapshot Isolation vs Serializability
- 2024-12-06 — DSQL Vignette: Wait! Isn’t That Impossible?
- 2024-12-05 — DSQL Vignette: Transactions and Durability
- 2024-12-04 — DSQL Vignette: Reads and Compute
- 2024-12-03 — DSQL Vignette: Aurora DSQL, and A Personal Story
- 2024-11-14 — Ten Years of AWS Lambda
- 2024-08-14 — Garbage Collection and Metastability
- 2024-07-29 — Resource Management in Aurora Serverless
- 2024-07-25 — Let’s Consign CAP to the Cabinet of Curiosities
- 2024-06-04 — Not Just Scale
- 2024-05-09 — It’s always TCP_NODELAY. Every damn time.
- 2024-04-25 — MemoryDB: Speed, Durability, and Composition.
- 2024-04-17 — Formal Methods: Just Good Engineering Practice?
- 2024-03-25 — Finding Needles in a Haystack with Best-of-K
- 2024-03-04 — The Builder’s Guide to Better Mousetraps
- 2024-02-12 — Better Benchmarks Through Graphs
- 2024-02-06 — How Do You Spend Your Time?
- 2024-01-23 — Pat’s Big Deal, and Transaction Coordination
- 2024-01-18 — What is Scalability Anyway?
- 2023-12-15 — Why Aren’t We SIEVE-ing?
- 2023-11-27 — It’s About Time!
- 2023-10-18 — Optimism vs Pessimism in Distributed Systems
- 2023-09-21 — Writing For Somebody
- 2023-09-08 — Exponential Value at Linear Cost
- 2023-08-25 — On The Acoustics of Cocktail Parties
- 2023-07-28 — Invariants: A Better Debugger?
- 2023-07-13 — My Favorite Bits of OSDI/ATC’23