text: 333,17,765451802213027840,17055506,Martin Kleppmann,"New paper by @arberesford and me: “A Conflict-Free Replicated JSON Datatype” — we figured out a JSON CRDT <LINK> @bensummers @arberesford It assumes that every edit operation is recorded, so you can’t quite diff two arbitrary documents. @drsm79 If I read CouchDB docs right, you get “latest” version by default, have to specifically ask for multi-version if you want to merge? @samstokes @arberesford Yes! Actually I first tried to make Avro work, but the schema checking made it even more complex. Working on it. @tsantero @arberesford Work in progress, will post an update once the code is a bit more respectable. @hpgrahsl @arberesford Has some similarity. Riak’s CRDTs are state-based and don’t support ordered lists, only maps. Ours is op-based. @rymohr @arberesford Fair point, it’s not ideal, but it satisfies the conventional definition of “conflict-free” as in CRDTs. @rymohr @arberesford OT suffers from exactly the same issue — with concurrent assignment it must either preserve both values or use LWW @rymohr @arberesford With regard to individual field assignment, I believe so. They resolve conflicts on maps, lists, and collaborative str.",http://arxiv.org/abs/1608.03960,"Many applications model their data in a general-purpose storage format such as JSON. This data structure is modified by the application as a result of user input. Such modifications are well understood if performed sequentially on a single copy of the data, but if the data is replicated and modified concurrently on multiple devices, it is unclear what the semantics should be. In this paper we present an algorithm and formal semantics for a JSON data structure that automatically resolves concurrent modifications such that no updates are lost, and such that all replicas converge towards the same state (a conflict-free replicated datatype or CRDT). It supports arbitrarily nested list and map types, which can be modified by insertion, deletion and assignment. The algorithm performs all merging client-side and does not depend on ordering guarantees from the network, making it suitable for deployment on mobile devices with poor network connectivity, in peer-to-peer networks, and in messaging systems with end-to-end encryption. ",A Conflict-Free Replicated JSON Datatype,9,"['New paper by @arberesford and me: “A Conflict-Free Replicated JSON Datatype” — we figured out a JSON CRDT <LINK>', '@bensummers @arberesford It assumes that every edit operation is recorded, so you can’t quite diff two arbitrary documents.', '@drsm79 If I read CouchDB docs right, you get “latest” version by default, have to specifically ask for multi-version if you want to merge?', '@samstokes @arberesford Yes! Actually I first tried to make Avro work, but the schema checking made it even more complex. Working on it.', '@tsantero @arberesford Work in progress, will post an update once the code is a bit more respectable.', '@hpgrahsl @arberesford Has some similarity. Riak’s CRDTs are state-based and don’t support ordered lists, only maps. Ours is op-based.', '@rymohr @arberesford Fair point, it’s not ideal, but it satisfies the conventional definition of “conflict-free” as in CRDTs.', '@rymohr @arberesford OT suffers from exactly the same issue — with concurrent assignment it must either preserve both values or use LWW', '@rymohr @arberesford With regard to individual field assignment, I believe so. They resolve conflicts on maps, lists, and collaborative str.']",16,08,1153