TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Collaborative text editing with Eg-Walker: Better, faster, smaller

251 pointsby czx1113318 months ago

8 comments

britannio8 months ago
Joseph explains the algorithm on YouTube too: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=rjbEG7COj7o" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=rjbEG7COj7o</a><p>It&#x27;s great work, combining the best of OT and CRDTs.
评论 #41673143 未加载
matlin8 months ago
Seph (author) also has a reference implementation in Typescript: <a href="https:&#x2F;&#x2F;github.com&#x2F;josephg&#x2F;eg-walker-reference">https:&#x2F;&#x2F;github.com&#x2F;josephg&#x2F;eg-walker-reference</a><p>I&#x27;ve stated before that I think the main thing holding back collaborative text &#x2F; sequence CRDTs is integration with a production database.<p>Eg-walker looks interesting because it might lend itself to be integrated into a database because the operations are immutable and only appended. However, to demonstrate the effectiveness of these algorithms library authors (see Yjs, DiamondTypes, etc) build stand-alone data structures (usually specialized search trees) that most databases already provide.<p>Personally, I&#x27;ve been trying to adapt a Piece Table[1] to be collaborative and stored in Triplit[2] which runs on both client and server and already implements logical clocks but I might see how well I can adapt this algorithm instead!<p>1. <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Piece_table" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Piece_table</a> 2. <a href="https:&#x2F;&#x2F;github.com&#x2F;aspen-cloud&#x2F;triplit">https:&#x2F;&#x2F;github.com&#x2F;aspen-cloud&#x2F;triplit</a>
评论 #41674203 未加载
评论 #41672081 未加载
评论 #41673756 未加载
no1youknowz8 months ago
I&#x27;ve seen a comment from the YT page:<p>&gt; While the downside of OT is p2p, the one up side is that you get GIT like history that is super valuable for us especially if we want to build a CDC system.<p>How trivial would it be, to implement a CDC system from a CRDT. Does anyone know any github repos or any documentation I could refer to? Thanks
abdullahkhalids8 months ago
Do collaborative whiteboard like software use the same algorithms, or are there more suitable algorithms for picture collaborations?
评论 #41686166 未加载
评论 #41677831 未加载
Palmik8 months ago
Saw the YouTube video when it was first posted, and it could be a great match for a new project I have in mind.<p>Is there a practical implementation yet that supports not just strings, but also lists and maps?<p>Would be great to see it integrated into yjs &#x2F; y-crdt.
eclectic298 months ago
If Martin Kleppmann is the author I know this stuff will be worth watching out for.
canadiantim8 months ago
Looks like amazing work, congrats!! Excited to see implementations in the wild, definitely would be keen to play around with.
1attice8 months ago
s&#x2F;e.g.&#x2F;EG&#x2F;
评论 #41672308 未加载