I found this hard to read.<p>You state “I will explain later” a number of times. It would be better to hold off introducing the topic until it is more contextual to the reader. It breaks the flow of your writing.<p>The text could be broken up into more paragraphs.<p>You could use some more headings to break up sections:<p>1. What is a CRDT
2. What problem do they solve and some simple examples.
3. State based solutions
4. Operator based solutions
5. Join-semi lattice
6. Putting it all together.<p>In your second join-semilattice diagram it’s not obvious that the two blue nodes are being merged into the green.<p>The pseduo code you’ve included for the g-counter, 2p-set and or-set are quite unintuative imo.<p>I’m probably not your target audience but I read a lot of academic writing now and I think this could be better.<p>Content is great though, didn’t know what a join-semi lattice was before hand so thanks a lot!
I don't really understand CRDTs, but I'd like to. The problem I keep encountering is that resources either assume I'm better at math than I am, or they come across as trying to over simplify/poorly analogize a hard thing (reminiscent of monad tutuorials ~2011). Can anyone point me to some resources that slowly,but thoroughly explain the concepts to me?
This a promising field but the article doesn't mention (at least that I could find) the challenges in implementing CRDT techniques for data structures that humans tend to use such as documents diagrams and spreadsheets, while maintaining acceptable size and performance.
I had a lot of hope for crdt as a more general technique for client server communication, but it seems that usage of crdt for anything other that collaborative documents is pretty rare