Sign in

Matthew Weidner

@mweidner.bsky.social
135 followers 66 following 18 posts

Collaborative software at Common Curriculum / CMU I write about CRDTs etc: mattweidner.com

PostsRepliesMedia
Reposted by Matthew Weidner
Martin Kleppmann @martin.kleppmann.com · 28/09/2026
Notion wrote a nice blog post on how they use CRDTs, including our Peritext algorithm for rich text! This must be one of the largest CRDT deployments out there? www.notion.com/en-gb/blog/h...
notion.com
How Notion handles concurrent editing with CRDTs
Building a CRDT-based rich-text system that merges concurrent edits across Notion blocks—without losing anyone’s work
312413
Reposted by Matthew Weidner
Martin Kleppmann @martin.kleppmann.com · 29/07/2026
lol thank you IEEE for giving me a good laugh (CC @mweidner.bsky.social)
BibTeX export of one of my papers from IEEE Xplore. The keywords field contains some plausible terms, but also some inexplicably odd ones, including "Dairy products"
3191
Matthew Weidner @mweidner.bsky.social · 30/03/2026
Fun academic find: the core idea of server reconciliation (a general approach to real-time collaboration that's simpler than Operational Transformation or CRDTs) already appears in an MIT tech report from 1985.
111
Matthew Weidner @mweidner.bsky.social · 05/12/2025
From the ~1st collaborative text editing paper: if two users do "delete char @ index 7" concurrently, no serial ordering gives the correct answer. So the authors abandon serializability, leading to OT/CRDTs. But if you rephrase the ops as "delete char @ <per-char id>", both serial orders work!
151
Reposted by Matthew Weidner
Martin Kleppmann @martin.kleppmann.com · 03/10/2025
It took almost two years…! The Fugue paper that @mweidner.bsky.social and I wrote about interleaving in collaborative text editing algorithms was finally accepted by IEEE Transactions on Parallel and Distributed Systems paywalled: ieeexplore.ieee.org/document/111... free: arxiv.org/abs/2305.00583
arxiv.org
The Art of the Fugue: Minimizing Interleaving in Collaborative Text Editing
Most existing algorithms for replicated lists, which are widely used in collaborative text editors, suffer from a problem: when two users concurrently insert text at the same position in the document,...
25611
Matthew Weidner @mweidner.bsky.social · 30/09/2025
I made a guest post on @powersync.com's blog: powersync.com/blog/collabo... It describes a demo we made of collaborative text editing on top of PowerSync's DB sync engine, using character IDs & totally-ordered updates in a DB table (w/o CRDTs).
powersync.com
Collaborative Text Editing Over PowerSync
This blog post describes the resulting demo of collaborative text editing over PowerSync. The demo uses Tiptap as the editor, has basic support for shared cursors and anonymous share links, and includ...
0133
Reposted by Matthew Weidner
Local-First Conf @localfirstconf.com · 12/06/2025
Watch @mweidner.bsky.social talk about collaborative text editing without CRDTs or OT. youtu.be/5CFrpd0sG-g?...
drive.google.com
Matthew Weidner.mp4
Whether your app is local-first or more traditional, collaborative text editing is a tricky problem that requires advanced algorithms. Or does it? In this ta...
0124
Reposted by Matthew Weidner
Local-First Conf @localfirstconf.com · 27/05/2025
"Collaborative text editing without CRDTs or OT" Awesome talk from @mweidner.bsky.social on how you don't need CRDTs to build collaborative text editing.
083
Matthew Weidner @mweidner.bsky.social · 21/05/2025
New blog post: "Collaborative Text Editing without CRDTs or OT". It describes what I hope is a simpler and more flexible approach to the hardest part of a collaborative app, text editing. mattweidner.com/2025/05/21/t...
mattweidner.com
Collaborative Text Editing without CRDTs or OT - Matthew Weidner
1122
Matthew Weidner @mweidner.bsky.social · 18/04/2025
I look forward to talking about some new ideas from my work at Common Curriculum & CMU!
131
Matthew Weidner @mweidner.bsky.social · 17/04/2025
My most recent blog post (from last summer): Architectures for real-time collaborative apps using a central server. It includes classic CRDT/OT approaches, why those might be overkill, and a classification table for existing apps/tools. mattweidner.com/2024/06/04/s...
Screenshot of classification table from the blog post
291