At the end of last year I had some fun implementing a CRDT. These are data structures designed to combine together when you have no control over order of changes, timing of changes, or the number of participants in the data structure. The example I looked at was a sequential datatype, namely the WOOT CRDT for collaborative text editing.

The presentation is below, but you can watch the video of the talk I gave at Scala eXchange 2013.

Before you do that, you might want to watch my colleague Noel’s talk on Reconciling Eventually-Consistent Data with CRDTs which was, not coincidently, right before mine.

If you find yourself looking at a network and thinking “how can I reliably combine these things?” without global synchronised clocks, do have a look at CRDTs because they are #fun and #interesting.