Skip to content
follow
#content
Martin Kleppmann
follow
/
About/Contact
follow
/contact.html
University of Cambridge Department of Computer Science and Technology
follow
http://www.cst.cam.ac.uk/
Leverhulme Trust Early Career Fellowship
follow
https://www.leverhulme.ac.uk/early-career-fellowships
Isaac Newton Trust
follow
https://www.newtontrust.cam.ac.uk
local-first
follow
https://www.inkandswitch.com/local-first.html
course on distributed systems
follow
https://www.cl.cam.ac.uk/teaching/2021/ConcDisSys/dist-sys-notes.pdf
crowdfunding on Patreon
follow
https://www.patreon.com/martinkl
O’Reilly
follow
https://www.oreilly.com/
Designing Data-Intensive Applications
follow
https://dataintensive.net
speaker at conferences
follow
/talks.html
recordings of my talks
follow
https://www.youtube.com/playlist?list=PLeKd45zvjcDHJxge6VtYUAbYnvd_VNQCx
Automerge
follow
https://github.com/automerge/automerge
Apache Avro
follow
https://avro.apache.org
Apache Samza
follow
https://samza.apache.org
Rapportive
follow
https://www.crunchbase.com/organization/rapportive
acquired
follow
http://allthingsd.com/20120207/linkedin-is-acquiring-contacts-start-up-rapportive/
LinkedIn
follow
https://www.linkedin.com/
Go Test It
follow
https://www.crunchbase.com/organization/go-test-it
acquired
follow
https://thenextweb.com/uk/2009/12/02/red-gate-software-acquire-gotestit-testing-environment-start-ups/
Red Gate Software
follow
https://www.red-gate.com/
Die Türme des Februar
follow
/die-tuerme-des-februar/
book by Tonke Dragt
follow
https://www.goodreads.com/book/show/254092.The_Towers_of_February
premiered
follow
/die-tuerme-des-februar/
contact me
follow
/contact.html
Several podcast interviews
follow
/2021/09/01/podcast-interviews.html
It"s time to say goodbye to the GPL
follow
/2021/04/14/goodbye-gpl.html
Building the future of computing, with your help
follow
/2021/02/23/patreon.html
Decentralised content moderation
follow
/2021/01/13/decentralised-content-moderation.html
Using Bloom filters to efficiently synchronise hash graphs
follow
/2020/12/02/bloom-filter-hash-graph-sync.html
Full archive
follow
/archive.html
New courses on distributed systems and elliptic curve cryptography
follow
/2020/11/18/distributed-systems-and-elliptic-curves.html
Writing a book: is it worth it?
follow
/2020/09/29/is-book-writing-worth-it.html
Should you put several event types in the same Kafka topic?
follow
/2018/01/18/event-types-in-kafka-topic.html
How to do distributed locking
follow
/2016/02/08/how-to-do-distributed-locking.html
Please stop calling databases CP or AP
follow
/2015/05/11/please-stop-calling-databases-cp-or-ap.html
Turning the database inside-out with Apache Samza
follow
/2015/03/04/turning-the-database-inside-out.html
Hermitage: Testing the “I” in ACID
follow
/2014/11/25/hermitage-testing-the-i-in-acid.html
Schema evolution in Avro, Protocol Buffers and Thrift
follow
/2012/12/05/schema-evolution-in-avro-protocol-buffers-thrift.html
Accounting for Computer Scientists
follow
/2011/03/07/accounting-for-computer-scientists.html
Valuation caps on convertible notes, explained with graphs
follow
/2010/05/05/valuation-caps-on-convertible-notes-explained-with-graphs.html
25 Nov 2021 at Computer Laboratory Systems Research Group Seminars
follow
/2021/11/25/srg-seminars.html
07 Oct 2021 at Protocol Labs ConsensusDays
follow
/2021/10/07/consensusdays.html
16 Jul 2021 at 14th Workshop on Hot Topics in Privacy Enhancing Technologies (HotPETs)
follow
/2021/07/16/cryptographic-backdoors-hotpets.html
02 Jul 2021 at Keynote at 15th ACM International Conference on Distributed and Event-based Systems (DEBS)
follow
/2021/07/02/debs-keynote-thinking-in-events.html
04 Jun 2021 at Craft Conference
follow
/2021/06/04/craft-conf.html
Full archive
follow
/talks.html
Implementing Curve25519/X25519: A Tutorial on Elliptic Curve Cryptography
follow
/papers/curve25519.pdf
Byzantine Eventual Consistency and the Fundamental Limits of Peer-to-Peer Databases
follow
https://arxiv.org/abs/2012.00472
Designing Data-Intensive Applications
follow
/2017/03/27/designing-data-intensive-applications.html
Key Agreement for Decentralized Secure Group Messaging with Strong Security Guarantees
follow
/2021/11/17/decentralized-key-agreement.html
doi:10.1145/3460120.3484542
follow
https://doi.org/10.1145/3460120.3484542
A highly-available move operation for replicated trees
follow
/2021/10/07/crdt-tree-move-operation.html
doi:10.1109/TPDS.2021.3118603
follow
https://doi.org/10.1109/TPDS.2021.3118603
Rollercoaster: An Efficient Group-Multicast Scheme for Mix Networks
follow
/2021/08/13/rollercoaster.html
Snapdoc: Authenticated snapshots with history privacy in peer-to-peer collaborative editing
follow
/2019/07/16/snapdoc-authenticated-snapshots.html
doi:10.2478/popets-2019-0044
follow
https://doi.org/10.2478/popets-2019-0044
Verifying Strong Eventual Consistency in Distributed Systems
follow
/2017/10/25/verifying-crdt-isabelle.html
doi:10.1145/3133933
follow
https://doi.org/10.1145/3133933
A Conflict-Free Replicated JSON Datatype
follow
/2017/04/24/json-crdt.html
doi:10.1109/TPDS.2017.2697382
follow
https://doi.org/10.1109/TPDS.2017.2697382
PushPin: Towards Production-Quality Peer-to-Peer Collaboration
follow
/2020/04/27/papoc-pushpin.html
doi:10.1145/3380787.3393683
follow
https://doi.org/10.1145/3380787.3393683
Moving Elements in List CRDTs
follow
/2020/04/27/papoc-list-move.html
doi:10.1145/3380787.3393677
follow
https://doi.org/10.1145/3380787.3393677
Local-first software: You own your data, in spite of the cloud
follow
/2019/10/23/local-first-at-onward.html
doi:10.1145/3359591.3359737
follow
https://doi.org/10.1145/3359591.3359737
Ghost trace on the wire? Using key evidence for informed decisions
follow
/2019/04/12/ghost-attack-spw19.html
doi:10.1007/978-3-030-57043-9_23
follow
https://doi.org/10.1007/978-3-030-57043-9_23
Interleaving anomalies in collaborative text editors
follow
/2019/03/25/papoc-interleaving-anomalies.html
doi:10.1145/3301419.3323972
follow
https://doi.org/10.1145/3301419.3323972
From Secure Messaging to Secure Collaboration
follow
/2018/03/20/security-protocols-workshop.html
doi:10.1007/978-3-030-03251-7_21
follow
https://doi.org/10.1007/978-3-030-03251-7_21
Strengthening public key authentication against key theft
follow
/2015/12/08/preventing-key-theft-at-passwords15.html
doi:10.1007/978-3-319-29938-9_9
follow
https://doi.org/10.1007/978-3-319-29938-9_9
Harm reduction for cryptographic backdoors
follow
/2021/07/16/cryptographic-backdoors-hotpets.html
Thinking in Events: From Databases to Distributed Collaboration Software
follow
/2021/07/02/debs-keynote-thinking-in-events.html
doi:10.1145/3465480.3467835
follow
https://doi.org/10.1145/3465480.3467835
Online Event Processing: Achieving consistency where distributed transactions have failed
follow
/2019/05/01/olep-cacm.html
doi:10.1145/3312527
follow
https://doi.org/10.1145/3312527
OpSets: Sequential Specifications for Replicated Datatypes (Extended Version)
follow
/2018/05/11/opsets-sequential-specifications.html
OpSets: Sequential Specifications for Replicated Datatypes (Proof Document)
follow
/2018/05/10/opsets-isabelle-proof.html
Apache Samza
follow
/2018/03/20/big-data-encyclopedia-samza.html
doi:10.1007/978-3-319-63962-8_197-2
follow
https://doi.org/10.1007/978-3-319-63962-8_197-2
A framework for establishing Strong Eventual Consistency for Conflict-free Replicated Datatypes
follow
/2017/07/07/isabelle-crdt-proof.html
Data Governance and Modern Computer Systems
follow
/2016/07/26/data-governance.html
Making Sense of Stream Processing
follow
/2016/05/24/making-sense-of-stream-processing.html
Kafka, Samza and the Unix philosophy of distributed data
follow
/2015/12/15/stream-processing-data-engineering-bulletin.html
A critique of the CAP theorem
follow
/2015/09/17/critique-of-the-cap-theorem.html
Simulation of colliding constrained rigid bodies
follow
/2007/04/01/rigid-body-simulation.html
Site RSS feed
follow
https://feeds.feedburner.com/martinkl
email notification
follow
https://martinkl.substack.com/
follow me on Twitter
follow
https://twitter.com/martinkl
RSS feed
follow
https://feeds.feedburner.com/martinkl
follow
http://dataintensive.net
Designing Data-Intensive Applications
follow
http://dataintensive.net
thousands
follow
https://www.goodreads.com/book/show/23466395-designing-data-intensive-applications
University of Cambridge
follow
https://www.cl.cam.ac.uk/
TRVE DATA
follow
http://www.trvedata.org/
support me on Patreon
follow
https://www.patreon.com/martinkl
Tweets by @martinkl
follow
https://twitter.com/martinkl
follow
https://creativecommons.org/licenses/by/3.0/
Creative Commons Attribution 3.0 Unported License
follow
https://creativecommons.org/licenses/by/3.0/
Carrington
follow
http://carringtontheme.com
Jekyll
follow
https://github.com/mojombo/jekyll