Jun 24, 2014 · 6:00 PM
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.