Remix.run Logo
ralfn 19 hours ago

Conflict free replicated datatypes.

It's what used when multiple people edit a Google doc at the same time. But most source control systems are also based upon these datatypes.

Most distributed systems will have components that correspond to a CRDT. However there is not always awareness of this abstraction and the laws that govern it.

This isn't a bad write up because it's actually focusing on the properties, rather than the utility creating the intuitive understanding that one can not only design such datatypes but also discover them in existing designs.

But i agree that if you never heard of them, this isn't the best introduction, because it doesn't mention use cases or implementations at all.

sdiupIGPWEfh 19 hours ago | parent [-]

> It's what used when multiple people edit a Google doc at the same time.

I expect Google Docs is still using Operational Transform, rather than CRDT, which solves a similar set of problems, the former being suited for running off centralized servers and the latter being more suited for distributed scenarios. Though you could still certainly create something Google Docs like with CRDT.

ralfn 19 hours ago | parent [-]

Didn't they explicitly acquire the people behind CRDT's. Wasn't it also part of Google Wave?

sdiupIGPWEfh 7 hours ago | parent [-]

> Didn't they explicitly acquire the people behind CRDT's.

They may well have hired some of the cohort behind early CRDT research. But I don't believe that work was ever directly applied to Google Docs, from what I've read. Google probably has other applications for CRDTs far beyond anything I'd comprehend.

> Wasn't it also part of Google Wave?

The whitepapers and other material I've read all points to OT being used for Google Wave, which was later applied to Google Docs as well.

https://svn.apache.org/repos/asf/incubator/wave/whitepapers/...