Skip to content

Commit

Permalink
correct misremembered quote
Browse files Browse the repository at this point in the history
  • Loading branch information
BrianHicks committed Oct 10, 2023
1 parent 05e6a63 commit a3bac1a
Showing 1 changed file with 1 addition and 1 deletion.
Expand Up @@ -10,7 +10,7 @@ featured = true

I've been interested in [local-first software](https://www.inkandswitch.com/local-first/) for a long time, and recently attended an event about it with a bunch of luminaries from various research groups. I learned a lot, and it rekindled my interest in syncable data structures.

I've tried to sync data over the years with varying degrees of success. For example, I've known about [operational transformations (OT)](https://en.wikipedia.org/wiki/Operational_transformation) for a while (via [Quill](https://quilljs.com/), but I have never been able to get the syncing operations working to my satisfaction. Message ordering is crucially important in OT, and it's hard to get right. I get the impression that the engineers who worked on Google Wave (which also used OT) also struggled with this… I remember reading a quote a while back that said something along the lines of "I wish I could have those years of my life back, and I wouldn't recommend anyone else try syncing this way." Ouch!
I've tried to sync data over the years with varying degrees of success. For example, I've known about [operational transformations (OT)](https://en.wikipedia.org/wiki/Operational_transformation) for a while (via [Quill](https://quilljs.com/), but I have never been able to get the syncing operations working to my satisfaction. Message ordering is crucially important in OT, and it's hard to get right. I get the impression that the engineers who worked on Google Wave (which also used OT) also struggled with this. One of them (Joseph Gentle) was quoted as saying "Unfortunately, implementing OT sucks. There's a million algorithms with different tradeoffs, mostly trapped in academic papers. [] Wave took 2 years to write and if we rewrote it today, it would take almost as long to write a second time." (Worth noting that [he later said it might not take as long today](https://news.ycombinator.com/item?id=12311984), but still… pain!)

In contrast to OT, conflict-free replicated data types (CRDTs) seem really promising! [Wikipedia has a good summary](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type), which I'll quote:

Expand Down

0 comments on commit a3bac1a

Please sign in to comment.