Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
CRDT: Text Buffer (madebyevan.com)
6 points by todsacerdoti on May 20, 2024 | hide | past | favorite | 1 comment


On first read I was thinking Evan's approach sounds pretty similar to Y.js but there's a callout at the differences:

"... what I implemented is similar to what Yjs does. Some high-level differences are that a) Yjs doesn't store delete sets explicitly and sends all of them all over again each time syncing starts and b) Yjs gives each insert an additional rightward pointer for resolving ordering between children with the same parent."

My hunch is that the winning strategy in this space is going to be a CRDT version of a Piece Table (the data structure that VS Code uses). Big advantage is that you can separate content (text buffer) from the ordering.

I also hope there's more energy spend thinking about how to adapt these data structures to popular databases which is the biggest hurdle in adopting them. I'm personally invested; trying to create the best first party solution for Triplit.

A researcher at CMU has been thinking about this and got his sequence CRDT working with Triplit among other database systems. https://mattweidner.com/2024/04/29/list-positions.html




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: