Post

This feature seems to be a bit buggy. When I opened the page -> npmx.dev/package/svelte a few minutes ago it showed 20 likes. Then I logged in and liked it -> 21 likes. Then I checked with another browser (no login) -> 17 likes. Then I hard reload all pages in all browsers -> 14 likes. 🤔

Thinking about this, I also wonder how spam resistant this feature is. E.g. a rogue PDS (or fleet of PDS) sending a few hundred/thousand fake accounts with like records/events out. Of course this is also possible and happening in e.g. GitHub, but maybe at a different scale (relative).

If done right this spam attack will be way below what rate limits enforce and probably also below other automated spam detection mechanisms, as it takes only a comparable very small amount of likes to majorly skew this metric.

There's sooo much more that can be done with a social graph. I wrote an npm trust graph PoC once github.com/naugtur/trus... And here's some more on trust graphs and why Eigen Trust might be unnecessary bsky.app/profile/rekm...

github.comGitHub - naugtur/trust-graph: Trust graph implementation for npm package vulnerability and maintenance.Trust graph implementation for npm package vulnerability and maintenance. - naugtur/trust-graph
Erik@rekmarks.com

Wherein we disparage EigenTrust and point to a smaller yet more powerful alternative: rekmarks.com/posts/modeli...

That is exactly what Bluesky / atproto is. The kind of web of trust algorithm I describe in that blog post is made practically feasible by atproto.

You can't just naively use follows, because follows do not necessarily imply trust, but it would be straightforward to present a UI that's like "choose people to trust from your follows".

Inherently sybil-resistant. And you can (and should) just not display the raw likes at all. For unauthenticated users you could display the likes based a set of trusted accounts that @npmx.dev has chosen.

0 reposts2 likes

The funny thing about sybil-resistance is it's only a problem when you're trying to make a single centralized global score and the problem doesn't exist if everyone gets a separate perspective computed