News for hackers. Stuff that matters.
Re:You don't need a CRDT to build a collaborative experience by jay-aye-see-key on Thursday November 16, 2023 @04:59PM (#38296162)
Operational transforms are one of those interesting technologies I’ve wanted to learn by implementing but haven’t made the time yet. I also didn’t realise it could be implemented in that little code.

Can you recommend any learning resources for implementing an OT? (Ideally typescript, python, or rust)

Re:You don't need a CRDT to build a collaborative experience by jahfer on Thursday November 16, 2023 @05:20PM (#38296435)
I haven’t explored this space in a while, but I have a couple of examples that could be helpful. A Clojure library of mine [0] has a decent README with some background reading on how to use operational transform.

I also reimplemented it in a surprisingly tiny amount of OCaml [1] which was a fun way to learn that language :)

[0]: https://github.com/jahfer/othello [1]: https://github.com/jahfer/othello-ocaml

Re:You don't need a CRDT to build a collaborative experience by dugmartin on Thursday November 16, 2023 @05:42PM (#38296686)
This single file shows the entire set of OT transformations (retain, insert, delete):

https://github.com/Operational-Transformation/ot.js/blob/mas...

and this is a good post outlining the basics of OT, from the creator of CodeMirror:

https://marijnhaverbeke.nl/blog/collaborative-editing-cm.htm...