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.

The Xi Text Engine CRDT

235 pointsby jxubalmost 7 years ago

11 comments

archagonalmost 7 years ago
If anyone’s interested, I wrote a long article a few months ago on (what I believe to be) the ultimate string CRDT, among other things: <a href="http:&#x2F;&#x2F;archagon.net&#x2F;blog&#x2F;2018&#x2F;03&#x2F;24&#x2F;data-laced-with-history&#x2F;" rel="nofollow">http:&#x2F;&#x2F;archagon.net&#x2F;blog&#x2F;2018&#x2F;03&#x2F;24&#x2F;data-laced-with-history&#x2F;</a><p>I really, really love the work that Levien and Hume have put into the Xi CRDT, and how open they’ve been with their research. IMHO, though, it’s a bit too “academic” and clever for any sort of general purpose use, though it may well be ideally suited for its stated purpose. There even appears to be a limit to the amount of rewinding you can do, which points to O(n^2) complexity for conflict resolution: a huge problem for offline-first development, where concurrent timelines don’t really have any limit on the length of their diverging histories. (I might be mistaken about this—please correct me if I’m wrong.)<p>Still a very satisfying algorithm, though! You can see more of Raph Levien’s thinking here: <a href="https:&#x2F;&#x2F;medium.com&#x2F;@raphlinus&#x2F;towards-a-unified-theory-of-operational-transformation-and-crdt-70485876f72f" rel="nofollow">https:&#x2F;&#x2F;medium.com&#x2F;@raphlinus&#x2F;towards-a-unified-theory-of-op...</a>
评论 #17742491 未加载
评论 #17742494 未加载
评论 #17743525 未加载
评论 #17743158 未加载
评论 #17743845 未加载
okketalmost 7 years ago
Previous discussions about the Xi editor and rope science:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=17109930" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=17109930</a> (3 months ago, 47 comments)<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16267202" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16267202</a> (6 months ago, 295 comments)<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14129543" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14129543</a> (a year ago, 60 comments)<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11576527" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11576527</a> (2 years ago, 177 comments)
colemickensalmost 7 years ago
Also in this space, some Atom devs are working on a new editor&#x2F;engine in Rust and have recently shifted focus to CRDT as a way to get collaborative editing and advanced SCM-like scenarios.<p>The editor is called &#x27;xray&#x27; and the CRDT tech is Eon. They have some info here and you can find more in the repo&#x2F;branches. <a href="https:&#x2F;&#x2F;github.com&#x2F;atom&#x2F;xray&#x2F;blob&#x2F;master&#x2F;docs&#x2F;updates&#x2F;2018_05_28.md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;atom&#x2F;xray&#x2F;blob&#x2F;master&#x2F;docs&#x2F;updates&#x2F;2018_0...</a><p>If you&#x27;re into the client&#x2F;server model of Xi, xray is targetting the same, including an in-browser experience connecting to a remote backed. Similarly, there is Theia-IDE which actually seems the most advanced in terms of a functional in-browser editor with a client&#x2F;server model.<p>I think these tools are going to enable entire new generations of programmers on super low end hardware where their editor services and toolchains are running in a remote DC.<p>There are others in this space with similar tech, but most seem focused on very specific niches and use cases. If there are other softwares that hit the collaborative editing, CRDT, and in-browser experience points, I&#x27;d love to hear about them.
评论 #17742323 未加载
评论 #17744447 未加载
zokieralmost 7 years ago
Does anyone know if there has been any work to apply CRDTs for collaborative editing of source code <i>AST</i>, especially for something more complex than sexprs? I imagine that could be neat, but also have some pitfalls.
评论 #17743734 未加载
bkasealmost 7 years ago
I enjoyed the post, but there&#x27;s something that bothers me about using the name CRDT.<p>A CRDT is just what mathematicians (and functional programmers) call a Semilattice[1], right? In general, I find it frustrating when people make up new names for existing mathematical concepts because it deprives others from learning and seeing the big picture. Does this resonate with anyone here?
评论 #17743990 未加载
kuwzealmost 7 years ago
While JSON isn&#x27;t perfect, I hope they base this around the JSON CRDT[0] so it can handle nested structures well.<p>Also they might not need tombstones[1].<p>[0]: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=12303100" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=12303100</a><p>[1]: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=12303467" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=12303467</a>
eddybalmost 7 years ago
This is an old link, but I could find <a href="https:&#x2F;&#x2F;github.com&#x2F;google&#x2F;xi-editor&#x2F;blob&#x2F;master&#x2F;docs&#x2F;docs&#x2F;crdt.md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;google&#x2F;xi-editor&#x2F;blob&#x2F;master&#x2F;docs&#x2F;docs&#x2F;cr...</a> on master.
brunoqcalmost 7 years ago
I wonder when the Xi editor will be ready to use. I can&#x27;t wait.
vesakalmost 7 years ago
Why&#x27;s it under google&#x27;s namespace in github? Was it there always?
评论 #17743377 未加载
vasili111almost 7 years ago
How does Xi editor compares to Vi and Emacs?
评论 #17743484 未加载
评论 #17743617 未加载
abakusalmost 7 years ago
This editor is probably gonna be banned in China if it got noticed by the government. Hell they banned Winnie the Pooh