addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1linklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

Build a collaborative editor with CRDTs

  • Jun 24, 2014 · 6:00 PM
  • Element 84

CRDTs (Commutative or Convergent Replicated Data Types) provide a way to allow multiple distributed agents to concurrently "modify" a shared data structure. No locks are required and only the changes to the data structure are communicated. CRDTs use mathematical properties to ensure that all versions of the document eventually become consistent.

This meetup will be a hack night. First we'll have an overview of CRDTs and how they work. Then we'll use the Logoot CRDT to build a collaborative text editor in Clojure. CRDTs can be implemented in any language but Clojure's model of state, identity, and time are well suited to handling concurrent updates to a shared data structure. We'll use the Property Based Testing library test.check to verify the CRDT properties like commutativity and idempotence.

Learn more about CRDTs:

A comprehensive study of Convergent and Commutative Replicated Data Types  

Logoot: a P2P collaborative editing system

Evaluating CRDTs for Real-time Document Editing


Clojure DC is welcoming of all regardless of experience level, gender, race or sexual orientation. This meetup is beginner friendly so don't worry if you don't have any Clojure experience. Bring your laptop if you have one or you can pair with someone else.

Join or login to comment.

  • Jason G.

    This is the project that we'll be working on https://github.com/jasongilman/crdt-edit

    June 24, 2014

  • Emory M.

    I will have to cancel because of project work.

    June 24, 2014

  • P

    Have to miss this week. I have a test to prepare for on Friday

    June 23, 2014

  • J. M.

    Bummer that this is the same day as the "Scaling FoundationDB" meetup...

    June 9, 2014

9 went

Our Sponsors

  • Element 84

    Web, mobile development and consulting.

  • ICX Media

    Building success for creators through the use of data and technology.

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy