Hacker News new | ask | show | jobs
by codetrotter 1293 days ago
In Englebart's system you mean, or in Zed?

The appeal of CRDTs is:

> 1. The application can update any replica independently, concurrently and without coordinating with other replicas.

Along with some other important points. See https://en.wikipedia.org/wiki/Conflict-free_replicated_data_...

The featured article also talks about this in detail.

1 comments

In Zed/CRDTs, these two seem synonymous to me since the OP's article is the first I read about CRDTs that I grasped, or so I thought ;)

Doesn't the whole process assume that whenever any edit is done (insertion/deleteion/un-/redo) that the edit _eventually_ reaches all participants?

So if a single edit is believed to be delivered to all, but actually never made it to a single participant, who resends it? And if it's not resent, then the participants state is inconsistent from now on, no?

Edit:autocorrect

Because it’s async first, the client can use both push or pull to receive the events.

If you’ve used Git you’ve been using a CRDT (with manual pulls and manual merges). A better CRDT would do both automatically.

So, client that was "offline" can just ask a participant to get the edits from his own last one (aka pull), send out bis own offline edits (push) and resolve from there, I See.

Actually, that cleared it up, thank you :)