Ok, so here& #39;s a thread on all the resources I& #39;ve found online for learning about CRDTsÂ
https://abs.twimg.com/emoji/v2/... draggable="false" alt="đ§”" title="Thread" aria-label="Emoji: Thread"> 1/n https://twitter.com/lazharichir/status/1278743839633813506">https://twitter.com/lazharich...
First, @martinkl& #39;s amazing talks, papers, and Automerge project were my introduction to the beautiful world of CRDTs.
https://youtu.be/B5NULPSiOGw
https://youtu.be/B5NULPSiO... href=" https://github.com/automerge/automerge
2/n">https://github.com/automerge...
https://youtu.be/B5NULPSiOGw
https://youtu.be/B5NULPSiO... href=" https://github.com/automerge/automerge
2/n">https://github.com/automerge...
Watch the video and read about Automerge& #39;s internals. Then read the JSON CRDT and OpSets papers.
https://arxiv.org/pdf/1608.03960.pdf
https://arxiv.org/pdf/1608.... href=" https://arxiv.org/pdf/1805.04263.pdf
3/n">https://arxiv.org/pdf/1805....
https://arxiv.org/pdf/1608.03960.pdf
https://arxiv.org/pdf/1608.... href=" https://arxiv.org/pdf/1805.04263.pdf
3/n">https://arxiv.org/pdf/1805....
If you& #39;re having trouble grokking the papers, @jtfmumm CRDT posts were critical in me finally understanding all of the complex math in them.
http://jtfmumm.com/blog/2015/11/17/crdt-primer-1-defanging-order-theory/
https://jtfmumm.com/blog/2015... href=" http://jtfmumm.com/blog/2015/11/24/crdt-primer-2-convergent-crdts/
4/n">https://jtfmumm.com/blog/2015...
http://jtfmumm.com/blog/2015/11/17/crdt-primer-1-defanging-order-theory/
https://jtfmumm.com/blog/2015... href=" http://jtfmumm.com/blog/2015/11/24/crdt-primer-2-convergent-crdts/
4/n">https://jtfmumm.com/blog/2015...
For a real-world application of CRDTs, @jlongster& #39;s talk "CRDTs for Mortals" and the demo& #39;s repo are a beautiful example on how to make CRDTs work for your use case.
https://youtu.be/DEcwa68f-jY
https://youtu.be/DEcwa68f-... href=" https://github.com/jlongster/crdt-example-app
5/n">https://github.com/jlongster...
https://youtu.be/DEcwa68f-jY
https://youtu.be/DEcwa68f-... href=" https://github.com/jlongster/crdt-example-app
5/n">https://github.com/jlongster...
There& #39;s also a lot of blog posts and documents on implementing CRDTs from different organizations...
- https://github.com/xi-editor/xi-editor/blob/master/docs/docs/crdt-details.md
-">https://github.com/xi-editor... https://ckeditor.com/blog/Lessons-learned-from-creating-a-rich-text-editor-with-real-time-collaboration/
-">https://ckeditor.com/blog/Less... https://www.figma.com/blog/how-figmas-multiplayer-technology-works/
6/n">https://www.figma.com/blog/how-...
- https://github.com/xi-editor/xi-editor/blob/master/docs/docs/crdt-details.md
-">https://github.com/xi-editor... https://ckeditor.com/blog/Lessons-learned-from-creating-a-rich-text-editor-with-real-time-collaboration/
-">https://ckeditor.com/blog/Less... https://www.figma.com/blog/how-figmas-multiplayer-technology-works/
6/n">https://www.figma.com/blog/how-...
And then there& #39;s also a lot of the original papers...
- https://hal.inria.fr/inria-00555588/document
-">https://hal.inria.fr/inria-005... https://arxiv.org/pdf/1603.01529.pdf
-">https://arxiv.org/pdf/1603.... https://arxiv.org/pdf/1805.06358.pdf
These">https://arxiv.org/pdf/1805.... notes are a great summary for many of the original ones: https://github.com/pfrazee/crdt_notes
7/n">https://github.com/pfrazee/c...
- https://hal.inria.fr/inria-00555588/document
-">https://hal.inria.fr/inria-005... https://arxiv.org/pdf/1603.01529.pdf
-">https://arxiv.org/pdf/1603.... https://arxiv.org/pdf/1805.06358.pdf
These">https://arxiv.org/pdf/1805.... notes are a great summary for many of the original ones: https://github.com/pfrazee/crdt_notes
7/n">https://github.com/pfrazee/c...
And then there& #39;s more recent ones from @martinkl...
- http://martin.kleppmann.com/papers/pushpin-papoc20.pdf
-">https://martin.kleppmann.com/papers/pu... http://martin.kleppmann.com/papers/list-move-papoc20.pdf
In">https://martin.kleppmann.com/papers/li... general, anything @martinkl writes is gold
https://abs.twimg.com/emoji/v2/... draggable="false" alt="đ" title="LĂ€chelndes Gesicht mit geöffnetem Mund und fest verschlossenen Augen" aria-label="Emoji: LĂ€chelndes Gesicht mit geöffnetem Mund und fest verschlossenen Augen">
8/n
- http://martin.kleppmann.com/papers/pushpin-papoc20.pdf
-">https://martin.kleppmann.com/papers/pu... http://martin.kleppmann.com/papers/list-move-papoc20.pdf
In">https://martin.kleppmann.com/papers/li... general, anything @martinkl writes is gold
8/n
Of course, there& #39;s the obligatory "awesome" repo
https://github.com/alangibson/awesome-crdt
9/n">https://github.com/alangibso...
https://github.com/alangibson/awesome-crdt
9/n">https://github.com/alangibso...
And finally, for more examples and a great overall resource for all things CRDTs, @martinkl created the wonderful website https://crdt.tech/
10/n">https://crdt.tech/">...
10/n">https://crdt.tech/">...
There is, of course, a lot more. But these were the ones that were the most useful for me and so I thought were worth sharing
https://abs.twimg.com/emoji/v2/... draggable="false" alt="đ" title="LĂ€chelndes Gesicht mit lĂ€chelnden Augen" aria-label="Emoji: LĂ€chelndes Gesicht mit lĂ€chelnden Augen">
If you liked this thread, go watch this right now! https://twitter.com/martinkl/status/1280434314526838785">https://twitter.com/martinkl/...