reference-crdts

Simple, tiny spec-compliant reference implementations of Yjs and Automerge's list types. (by josephg)

Reference-crdts Alternatives

Similar projects and alternatives to reference-crdts

  1. sdk

    The Dart SDK, including the VM, JS and Wasm compilers, analysis, core libraries, and more.

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. yjs

    61 reference-crdts VS yjs

    Shared data types for building collaborative software

  4. gc

    46 reference-crdts VS gc

    Branch of the spec repo scoped to discussion of GC integration in WebAssembly

  5. component-model

    Repository for design and specification of the Component Model

  6. proposals

    Tracking WebAssembly proposals (by WebAssembly)

  7. xi-editor

    A modern editor with a backend written in Rust.

  8. wit-bindgen

    A language binding generator for WebAssembly interface types

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. liveblocks

    The best apps in the AI era aren’t solo experiences—they’re collaborative. Liveblocks provides customizable pre‑built features to make your product multiplayer, engaging, and AI‑ready. All without derailing your roadmap.

  11. diamond-types

    The world's fastest CRDT. WIP.

  12. peritext

    A CRDT for asynchronous rich-text collaboration, where authors can work independently and then merge their changes.

  13. multi-memory

    Multiple per-module memories for Wasm

  14. aper

    8 reference-crdts VS aper

    Synchronizable structs for Rust.

  15. spec

    13 reference-crdts VS spec

    WebAssembly specification, reference interpreter, and test suite. (by WebAssembly)

  16. uwm-masters-thesis

    My thesis for my Master's in Computer Science degree from the University of Wisconsin - Milwaukee.

  17. meetings

    WebAssembly meetings (VC or in-person), agendas, and notes

  18. wai

    A language binding generator for `wai` (a precursor to WebAssembly interface types) (by wasmerio)

  19. yjs-demos

    A collection of demos for Yjs

  20. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better reference-crdts alternative or higher similarity.

reference-crdts discussion

Log in or Post with

reference-crdts reviews and mentions

Posts with mentions or reviews of reference-crdts. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-01.
  • CRDTs make multiplayer text editing part of Zed's DNA
    10 projects | news.ycombinator.com | 1 Dec 2022
    > The goog version seems to work well but I have had nothing but frustration with ms word. Bad merges and weird states are typical, particularly from the fat client.

    Argh not getting this stuff right is really frustrating. I've been working on collaborative editing for over a decade now, and I still can't implement any of these algorithms correctly without the help of a fuzz testing. But fuzz testing done right finds all of these problems! There's no excuse!

    Fuzzers work so well here because all of these algorithms have a clear correctness criteria: After syncing, state should always converge to the same result. So its pretty easy to write code which does this in a loop:

    1. Generates some random changes on some fake "peers"

    2. Picks 2 peers at random and sync their changes, using your new fancy synchronization algorithm

    3. Assert that the state has converged between the peers

    I've been working on this stuff for over a decade. I've implemented dozens of these algorithms. And every single time I write a fuzzy boi to check my work I find convergence bugs. Playing whack-a-mole with a fuzzer is a rite of passage for implementing systems like this.

    When your fuzzer runs all night, you should never have lingering convergence bugs like you're describing with Word.

    As an example, here's a simple fuzzer for a reference list CRDT implementation: https://github.com/josephg/reference-crdts/blob/9f4f9c3a97b4...

    The code is so small it almost fits on my laptop screen.

  • WebAssembly 2.0 Working Draft
    21 projects | news.ycombinator.com | 19 Apr 2022

Stats

Basic reference-crdts repo stats
5
132
6.6
over 1 year ago

Sponsored
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai

Did you know that TypeScript is
the 1st most popular programming language
based on number of references?