{"guid":"d86c7136-8c6b-416b-b2fe-94480b2e2ba0","title":"Simple CRDT in Rust","subtitle":null,"slug":"rustfest-rome-10-simple-crdt-in-rust","link":"https://c3voc.de","description":"A conflict-free replicated data type (CRDT) is a data structure that can be replicated, each replica can be updated independently and it is always mathematically possible to merge the replicas back without conflicts. The simplest CRDT is an _append only_ Set, where the _merge_ is the Set union, building upon this idea we can compose more complex data types. In this talk we will explore how to implement a `cli` for a CRDT shopping list, see how Traits are emerging during the code evolution, use cargo to include some useful crates with no pain, and document the code with runnable examples.\n","original_language":"eng","persons":["Matteo Bertini"],"tags":["rustfest-rome","10"],"view_count":416,"promoted":false,"date":"2018-11-24T00:00:00.000+01:00","release_date":"2018-11-24T01:00:00.000+01:00","updated_at":"2026-02-08T18:30:12.763+01:00","length":1119,"duration":1119,"thumb_url":"https://static.media.ccc.de/media/conferences/rustfest/2018-2/10-hd.jpg","poster_url":"https://static.media.ccc.de/media/conferences/rustfest/2018-2/10-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/conferences/rustfest/2018-2/d86c7136-8c6b-416b-b2fe-94480b2e2ba0-timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/conferences/rustfest/2018-2/d86c7136-8c6b-416b-b2fe-94480b2e2ba0-thumbnails.vtt","frontend_link":"https://media.ccc.de/v/rustfest-rome-10-simple-crdt-in-rust","url":"https://api.media.ccc.de/public/events/d86c7136-8c6b-416b-b2fe-94480b2e2ba0","conference_title":"Rustfest 2018 Rome","conference_url":"https://api.media.ccc.de/public/conferences/rustfest18rome","related":[{"event_id":6076,"event_guid":"68c30487-d434-4b4e-8df0-fb06aa4e8cdf","weight":1},{"event_id":6078,"event_guid":"8a3c7006-ba7f-451c-a555-3a9ca4af5f2f","weight":1},{"event_id":6354,"event_guid":"963d743f-195b-4462-9047-7bb6b5e68fc8","weight":27},{"event_id":6356,"event_guid":"f8962974-0a5b-4529-b08c-7622588450e7","weight":21},{"event_id":6357,"event_guid":"d834bcae-84cd-467f-b4b0-6e337d8edad8","weight":18},{"event_id":6358,"event_guid":"bc8c2220-646b-4f45-86d9-5b2dd07f920f","weight":19},{"event_id":6360,"event_guid":"d640c62b-d4c1-4d31-bc97-63e5747f1424","weight":25},{"event_id":6361,"event_guid":"a29e2610-de67-4c7a-a6a8-ad552db8aa25","weight":25},{"event_id":6363,"event_guid":"ea4b4671-01cb-46b2-bb27-bb11705b1284","weight":4},{"event_id":6365,"event_guid":"249fbe57-2fe1-4a79-98f3-e4ff160dfb2b","weight":56}],"recordings":[{"size":83,"length":1119,"mime_type":"video/mp4","language":"eng","filename":"rustfest-rome-10-eng-Simple_CRDT_in_Rust_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-11-24T17:23:08.836+01:00","recording_url":"https://cdn.media.ccc.de/events/rustfest/2018-2/h264-hd/rustfest-rome-10-eng-Simple_CRDT_in_Rust_hd.mp4","url":"https://api.media.ccc.de/public/recordings/30698","event_url":"https://api.media.ccc.de/public/events/d86c7136-8c6b-416b-b2fe-94480b2e2ba0","conference_url":"https://api.media.ccc.de/public/conferences/rustfest18rome"},{"size":17,"length":1114,"mime_type":"audio/mpeg","language":"eng","filename":"rustfest-rome-10-eng-Simple_CRDT_in_Rust_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2018-11-24T17:29:00.255+01:00","recording_url":"https://cdn.media.ccc.de/events/rustfest/2018-2/mp3/rustfest-rome-10-eng-Simple_CRDT_in_Rust_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/30699","event_url":"https://api.media.ccc.de/public/events/d86c7136-8c6b-416b-b2fe-94480b2e2ba0","conference_url":"https://api.media.ccc.de/public/conferences/rustfest18rome"},{"size":37,"length":1119,"mime_type":"video/mp4","language":"eng","filename":"rustfest-rome-10-eng-Simple_CRDT_in_Rust_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2018-11-24T17:29:35.431+01:00","recording_url":"https://cdn.media.ccc.de/events/rustfest/2018-2/h264-sd/rustfest-rome-10-eng-Simple_CRDT_in_Rust_sd.mp4","url":"https://api.media.ccc.de/public/recordings/30700","event_url":"https://api.media.ccc.de/public/events/d86c7136-8c6b-416b-b2fe-94480b2e2ba0","conference_url":"https://api.media.ccc.de/public/conferences/rustfest18rome"},{"size":12,"length":1114,"mime_type":"audio/opus","language":"eng","filename":"rustfest-rome-10-eng-Simple_CRDT_in_Rust_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2018-11-24T17:29:59.029+01:00","recording_url":"https://cdn.media.ccc.de/events/rustfest/2018-2/opus/rustfest-rome-10-eng-Simple_CRDT_in_Rust_opus.opus","url":"https://api.media.ccc.de/public/recordings/30701","event_url":"https://api.media.ccc.de/public/events/d86c7136-8c6b-416b-b2fe-94480b2e2ba0","conference_url":"https://api.media.ccc.de/public/conferences/rustfest18rome"},{"size":49,"length":1119,"mime_type":"video/webm","language":"eng","filename":"rustfest-rome-10-eng-Simple_CRDT_in_Rust_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2018-11-24T17:31:36.139+01:00","recording_url":"https://cdn.media.ccc.de/events/rustfest/2018-2/webm-sd/rustfest-rome-10-eng-Simple_CRDT_in_Rust_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/30702","event_url":"https://api.media.ccc.de/public/events/d86c7136-8c6b-416b-b2fe-94480b2e2ba0","conference_url":"https://api.media.ccc.de/public/conferences/rustfest18rome"},{"size":134,"length":1119,"mime_type":"video/webm","language":"eng","filename":"rustfest-rome-10-eng-Simple_CRDT_in_Rust_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-11-24T17:36:03.618+01:00","recording_url":"https://cdn.media.ccc.de/events/rustfest/2018-2/webm-hd/rustfest-rome-10-eng-Simple_CRDT_in_Rust_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/30704","event_url":"https://api.media.ccc.de/public/events/d86c7136-8c6b-416b-b2fe-94480b2e2ba0","conference_url":"https://api.media.ccc.de/public/conferences/rustfest18rome"}]}