Martin Kleppmann
banner
martin.kleppmann.com
Martin Kleppmann
@martin.kleppmann.com
Associate Professor at @cst.cam.ac.uk, researching decentralised systems and security protocols. Advisor to the Bluesky team. Wrote “Designing Data-Intensive Applications” (O’Reilly). he/him
We got a white Christmas (with a light dusting of snow) in southern Germany! Merry Christmas to all who celebrate it! 🎄❄️
December 24, 2025 at 10:05 PM
Reposted by Martin Kleppmann
Oh, that's a useful feature. You can enforce causal consistency in general (which includes read-your-writes and other guarantees) with that mechanism. We've had that in MongoDB for some time, though, and customers have found it hard to use: emptysqua.re/blog/how-to-...
How To Use MongoDB Causal Consistency
The missing manual for a useful MongoDB feature.
emptysqua.re
December 22, 2025 at 11:46 PM
Reposted by Martin Kleppmann
🐘 Oh, that's nice: Postgres 19 is going to ship read-your-writes for standbys when using asynchronous replication, via a new command WAIT FOR LSN (similar to WAIT_FOR_EXECUTED_GTID_SET in MySQL). Very cool!

www.postgresql.org/docs/devel/w...
December 19, 2025 at 9:34 PM
Interesting to see what research articles cite our paper on local-first software. Today: automatically monitoring sea turtles 🐢 www.sciencedirect.com/science/arti...
Toward decentralized ecological monitoring: A local-first web-based AI platform for sea turtle detection
Accurately monitoring sea turtle populations is crucial for informing effective conservation strategies; however, traditional methods for assessing sp…
www.sciencedirect.com
December 22, 2025 at 9:37 AM
We stayed at an Airbnb that had some issues but was overall pretty good. Left a review that was 4 stars in two categories, and 5 stars in all other categories. Inexplicably Airbnb turned that into an overall 2-star review. The host is understandably upset. Anyone know wtf is going on here?
December 21, 2025 at 10:22 AM
Reposted by Martin Kleppmann
It's seriously amazing how fast the AT Protocol developer experience is, like from idea to early results is wowzers.

Like, I've spent all of maybe two days working on @questionable.fyi, and I've already account profiles working with arbitrary data on the network.

My next thing to do is OAuth... 😅
December 21, 2025 at 2:58 AM
Reposted by Martin Kleppmann
Using an age keyserver as a demo, this article demonstrates how to add a transparency log to a centralized service step-by-step.

We use Tessera for the tlog, VRFs for privacy, and the Witness Network. It all takes just 500 lines to integrate!

The result of years of work making tlogs accessible.
Building a Transparent Keyserver
We apply a transparency log to a centralized keyserver step-by-step, in less than 500 lines, with privacy protections, anti-poisoning, and witness cosigning.
words.filippo.io
December 19, 2025 at 3:32 PM
Reposted by Martin Kleppmann
Raft has a real problem guaranteeing Read Your Writes, because there might be two leaders serving reads at once. In theory, you could use a timed lease to ensure there's only one leader.
LeaseGuard: Raft Leases Done Right!
A new Raft enhancement for fast, consistent reads.
emptysqua.re
December 19, 2025 at 1:49 PM
Reposted by Martin Kleppmann
DRAM prices mooning will hurt everyone and might cause a consumer tech recession on its own in the next 12 months even without the AI bubble popping.

Hyperscalers are going to jack up prices for cloud resources, electronics manufacturers (Apple, Samsung, etc.) will raise prices, this is gonna hurt.
December 15, 2025 at 5:41 AM
Reposted by Martin Kleppmann
This is giving me life. I’ve always appreciated Hiromi’s completely ecstatic way of performing and this is no exception:

youtu.be/XGjy73DPScc?...
Blackbird & Jesu, Joy of Man's Desiring - Hiromi Uehara (Complete Transcription)
YouTube video by Cornelius Tsen
youtu.be
December 14, 2025 at 4:35 AM
Reposted by Martin Kleppmann
Our focus is specifically on getting *CS* people into formal verification, hence the name, "Logic for Systems" (as opposed to "Logic for philosophical syllogisms", say). There's a book accompanied by a verification tool specifically designed for education (not a lot are!).
forge-fm.github.io/book/
How to Read this book - Logic for Systems: Lightweight Formal Methods for Everybody
forge-fm.github.io
December 13, 2025 at 12:25 PM
This blog post interjectedfuture.com/the-best-way... on using LLMs to learn how to do formal proofs is another nice angle on the topic
December 13, 2025 at 10:57 AM
If you want to make a copy of the entire Bluesky network (or some subset of it, or some other app built on atproto), Tap is now the best way do do it. I hope this will enable more people do do, for example, interesting social network analysis research
finally landed it!

Tap is your all-in-one sync tool for the Atmosphere: webhooks, backfill, filtering, signaling collections, no cbor/msts/signatures/cursors. this thing's got it all!

give it a go and let me know what you think & if you run into any issues

docs.bsky.app/blog/introdu...
Introducing Tap: Repository Synchronization Made Simple | Bluesky
Just about every app built on AT needs data from a repository at some point. For many use cases – feed generators, labelers, bots – streaming live data through a Relay or Jetstream works well. But som...
docs.bsky.app
December 12, 2025 at 9:35 PM
Reposted by Martin Kleppmann
What defines a correct program? What education makes a good programmer? The answer depends on what culture of programming you subscribe to!

This has been a long time in the making, but my open access book on the history of programming is available for pre-order!

www.cambridge.org/core/books/c...
December 9, 2025 at 9:52 AM
New blog post! ✨ I argue that AI will make formal verification go mainstream. martin.kleppmann.com/2025/12/08/a...

Three reasons for this:

1. LLMs are getting increasingly good at writing proofs using proof assistants. This will make formal verification vastly cheaper than it's been to date.
Prediction: AI will make formal verification go mainstream — Martin Kleppmann’s blog
martin.kleppmann.com
December 8, 2025 at 10:48 PM
Sadly I’m inclined to agree — Europe needs to get its act together, strongly support Ukraine and become able to defend itself, as America is not going to come and help this time www.noahpinion.blog/p/europe-is-...
Europe is under siege
Menaced by Russia and China, abandoned by America.
www.noahpinion.blog
December 7, 2025 at 11:24 AM
Reposted by Martin Kleppmann
I’ve compiled a survey of all the different strategies for torn writes (case #1) on transactional.blog/blog/2025-to... . A different set of 2&3’s durability discussion is covered on transactional.blog/how-to-learn... too.
November 29, 2025 at 11:53 PM
Finished reviewing the copyedit of the book. Copyeditor did a great job fixing grammar and making it flow better. But it turns out that going through a 650-page PDF with about 5,000 marked-up edits, and carefully reviewing every one, is about as much fun as it sounds
November 30, 2025 at 3:58 PM
Reposted by Martin Kleppmann
The Computer Wants to Lose Your Data: Bonus Bits

A footnote to my #SREcon talk on how databases implement crash safety, with extra details for database nerds ✌🏻💖

blog.sinjakli.co.uk/2025/11/29/t...

#Postgres #MySQL
November 29, 2025 at 1:06 PM
A new, amazing tech-favoured rock song parody by the inimitable @dylanbeatt.ie!
And it's up! All together now...

🎶 Somebody told me
the user provider
should use an adaptor
to proxy the query
factory builder... 🎶

www.youtube.com/watch?v=p03o...
November 28, 2025 at 10:07 PM
I am also gradually coming round to the view that interaction between humans/client apps and (perhaps multiple) AI agents is a state synchronisation problem that probably needs CRDTs lucumr.pocoo.org/2025/11/22/l...
LLM APIs are a Synchronization Problem
Maybe the LLM message APIs should be rethought as a synchronization problem.
lucumr.pocoo.org
November 27, 2025 at 5:09 PM
Reposted by Martin Kleppmann
Thinking about your career path lately? Check out RC!

www.recurse.com
The Recurse Center
The Recurse Center is a self-directed, community-driven educational retreat for programmers in New York City.
www.recurse.com
November 11, 2025 at 4:58 PM
Reposted by Martin Kleppmann
📺 "Distributed Systems 6.2: Raft"

Enjoyed this intro to the Raft consensus algorithm, part of a larger DistSys lecture series by @martin.kleppmann.com. The pseudo-code makes it actually digestible really well. Great watch!

www.youtube.com/watch?v=uXEY...
Distributed Systems 6.2: Raft
YouTube video by Martin Kleppmann
www.youtube.com
November 22, 2025 at 9:56 PM
Reposted by Martin Kleppmann
over on the mastodons, there is a thread about half life 1, vr, and floating point precision and it is wilder than you might expect

mastodon.gamedev.place/@TomF/115589...
Tom Forsyth (@TomF@mastodon.gamedev.place)
Attached: 1 image Recent discussion about the perils of doors in gamedev reminded me of a bug caused by a door in a game you may have heard of called "Half Life 2". Are you sitting comfortably? Then ...
mastodon.gamedev.place
November 22, 2025 at 4:39 PM
Reposted by Martin Kleppmann
So, the IACR held an election, but one of the three trustees lost their private key, which prevented them from verifying the results of the election. Forcing them to start over.

The cryptography association was foiled by key management.

hachyderm.io/@leak/110784...
LeaKissner (@leak@hachyderm.io)
Cryptography is a tool for turning a whole swathe of problems into key management problems. Key management problems are way harder than (virtually all) cryptographers think.
hachyderm.io
November 20, 2025 at 10:35 PM