About CRDTs
crdt.tech
crdt.tech
In many systems, copies of some data need to be stored on multiple computers (known as replicas). Examples of such systems include:
Mobile apps that store data on the local device, and that need to sync that data to other devices belonging to the same user (such as calendars, notes, contacts, or reminders);
Distributed databases, which maintain multiple replicas of the data (in the same datacenter or in different locations) so that the system continues working correctly if some of the replicas are offline;
Collaboration software, such as Google Docs, Trello, Figma, or many others, in which several users can concurrently make changes to the same file or data;
Large-scale data storage and processing systems, which replicate data in order to achieve global scalability.
All such systems need to deal with the fact that the data may be concurrently modified on different replicas.
"Mine definitely doesn't have the name pedigree though, given that 3 of the biggest names in CRDT research run crdt.tech. Keep up the good work!
One addition that would be valuable to newcomers to the concept would be a comparison to other techniques (OT, rebasing, 3-way merge, LWW, …), the pros, the cons.
For instance, memory overhead (minimizing tombstone cost, truncation, …), intention preservation (lost with LWW, depends on careful implementation in OT and CRDT, with OT being potentially subtler because of the implementation difficulty of having a large number of operations to transform with each other), centralization (implied by rebases, unnecessary for 3-way merge, hard to avoid in OT), and byzantine resistance (can malicious users with write access corrupt the data permanently or get priority writes).
It would probably help them understand the problem space, and avoid them rejecting CRDTs altogether when they stumble upon its subtleties.
https://github.com/topics/crdt
Mind adding it to the site?
Edit: (reply is now showing)
Just to be clear, Martin (site owner) added GUN to the list, not me. Proof:
Edit: I just checked out the link you put as "proof" that he added GUN to the list himself, not you. Link: https://twitter.com/martinkl/status/1244672269395406849
Martin Kleppmann
> To all interested in CRDTs: Marc Shapiro, @anne_biene and I have set up a little CRDT community website. Lots of links to papers, blog posts, talks, and implementations. Contributions welcome!
You (Mark Nadal)
> Saw this on HN.
> Can I ask why mine was excluded?
> I'm pretty sure you know about it.
> It is rated #1 CRDT system on GitHub ( https://github.com/topics/crdt )
> It is used in production by HackerNoon, non-profits like Internet Archive, & other large sites.
> Handling 10M+ monthly users.
I'm not sure I or you misunderstand "Just to be clear, Martin (site owner) added GUN to the list, not me" but it seems pretty clear that you prompted him to add GUN to the list, he didn't discover GUN on his own and then added it.
Mark, when you're gonna realize that this excessive spamming of GUN is not helping your case?
But for every 1 hater there are 100s of hackers that have found, starred, used, or told me (in our chat channel) they were thankful they discovered GUN via HackerNews.
& HN guidelines encourage on-topic submissions & comments (https://news.ycombinator.com/newsguidelines.html) "Anything that good hackers would find interesting ... anything that gratifies one's intellectual curiosity" even you have to admit that GUN discussions have sparked a lot of intellectual & algorithm chats.
Finally, you state I'm not spamming then say I am spamming. Spam is indiscriminate posting of something, yet your very own comment says "you always post GUN in discussions about CRDTs & decentralization." That is indeed on-topic according to HN policy.
The "hate" (I'd say critique) is not against GUN as a project nor the code or the project itself. It's about you constantly posting about GUN.
> "you always post GUN in discussions about CRDTs & decentralization."
This is a bit unfair, that's not a direct quote of what I wrote, and I'm sure you know this. What I wrote is this: "every post that is slightly related to CRDTs or decentralization". The "slightly" part is important, because many of your comments mentioning GUN is on submissions not related to GUN at all. For example, if a submission is about Mastodon, I'm fairly certain I'll see a comment from you promoting GUN with your usual metrics.
Again, I have nothing against GUN itself, but people do get tired, even if it's interesting the first time, when someone continues to mention their project over and over again.
Others have mentioned this to you in the past as well (one example: https://news.ycombinator.com/item?id=21383815) but it doesn't seem to stick. Maybe it's time for dang or other moderators to have a chat with you, if they haven't already.
Because I'm bored, here is some examples of comments you've made promoting GUN on unrelated posts with low effort content in order to get in a link to GUNs website (in the last 3 months) [maybe this list will help you realize what people are getting tired off]
- https://news.ycombinator.com/item?id=22498939
- https://news.ycombinator.com/item?id=22448631
- https://news.ycombinator.com/item?id=22439616
The way you promote your product on HN is so aggressive as to amount to spamming, and you've been doing it for years: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...
Nearly every comment you post has some cunning (or not so cunning) promotional reference baked into it. Examples are legion: https://news.ycombinator.com/item?id=22252497. Your rare comments that don't include something like this are so boilerplate as to come across as shameless padding.
I asked you to stop this 2 years ago: https://news.ycombinator.com/item?id=17000657. You've kept doing it.
Given that we've banned countless other users for lesser abuses, and given the regularity with which this pattern devolves into user complaints and off-topic flamewars like the current thread and https://news.ycombinator.com/item?id=22499177, I think it's time to bite the bullet and ban your account. I don't really want to—which is no doubt why it's taken so long—but you're clearly not using this site in good faith, and enough is enough.