He's getting downvoted for excessive self promotion often without a disclaimer. If you look at his comment history, he's non-stop spamming his own product, gun.js. If you search for gun.js, almost all mentions are made by him: https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
There's only a small handful of HNers who upvote OT/CRDT/sync/realtime database submissions. So by now everyone is tired of seeing him promote gun.js again and again without contributing any other relevant technical insights.
Which is a goddamn shame. There aren't that many others who have first hand experience implementing these systems successfully. The other regulars who always appear in these threads get upvoted to high heavens even if they aren't saying much because we value these first hand accounts so much (josephg for share.js, raphlinus for xi editor's crdt, etc). But unfortunately after seeing gun.js hundreds of times I still have no idea how it works and his code is completely unreadable.
I don't think he realizes that if he had just explained why gun.js is amazing in a relevant way, others would help promote gun.js for him.
>So by now everyone is tired of seeing him promote gun.js again and again without contributing any other relevant technical insights.
I don't understand this perspective. Every single time Mark comments, he offers technical insights that are relevant to his experience with gun and distributed tech in general.
I mean look at this comment that you're bitching about. It's not just shameless promotion. It's on-topic and relevant to this discussion...
It should be noted that he's not "selling" gun, either. It's a completely free and open library.
I didn’t downvote, but the reason is that while CRDTs are indeed awesome, similar results can be achieved by OT. And in many cases more efficiently. So not absolutely critical, strictly speaking :)
If you're wanting to use CRDT tools, I recommend two:
- https://github.com/automerge/automerge (immutable)
- https://github.com/amark/gun (mutable)