Avatar
dluvian
e4336cd525df79fa4d3af364fd9600d4b10dce4215aa4c33ed77ea0842344b10
Freedom dev 自由 >>

Nozzle feels a lot more snappier since I added some debounces. Now I need to display media and profile/note mentions to make the UX not significantly worse than other more advanced clients.

"Global" will be useful when restricted to specific relays that are paid or curated.

I need rust-nostr bindings for Kotlin.

Replying to Avatar david

Long term solution will require a general framework for the decentralized curation of knowledge, which is what I’m working on. (To that end, I’ll probably be issuing some bounties soon. Know any devs who want to stack a few sats? Send them my way! 😊)

Short term: if I ran one of the popular nostr clients here’s what I would do. It’s imperfect but quick, easy and probably pretty effective.

Assume that if Alice follows Bob then she probably kinda sorta trusts his judgment when it comes to muting scammers. (Not necessarily true, hence the “imperfect” qualifier. But probably good enough for a quick fix.)

Periodically comb through the mute lists of all your follows + their follows.

F1 = number of users one hop away, and F2 = number of users two hops away.

If Charlie shows up on someone’s mute list, then C1 = the number of times Charlie is muted by an F1, and C2 = number of times Charlie is muted by an F2.

In settings, have a button which when activated will mute anyone if either of the following conditions hold:

If C1 > 3 AND C1/F1 > 3%

or

If C2 > 5 AND C2/F2 > 5%

Something like that. Play with the numbers to find the right balance. Don’t want innocent people to get muted by accidental fat fingers. The reason for the percentages is that you want to make a system that works for everyone, whether you follow 10 ppl or 10,000. You could make the 3 and 5 adjustable parameters, although maybe that’s too much complexity for the user?

Honestly I don’t know why Twitter never did this.

I don't think muting scammers makes sense.

1. Scammers will just spin up new nostr accounts.

2. You will end up with tens of thousands of muted pubkeys which relays have to store and clients have to handle. Not scalable.

3. Mute lists have low information density. Most of the muted pubkeys will be inactive because of 1.

I would do a trust based model in which a trust score is determined by your and your friends following lists and positive reactions to notes. If the trust score of a user is below a certain threshold the client will not display his content or show it last. The data is already out there, clients just have to use it.

Next release of Nozzle will do it like this. It's a lightweight client which should work on shitty devices so I'm only doing a very basic version of it. I can get more fancy once I port the client to a desktop app.

Good times. Astral was so slow that I decided to write my own client.

Clients which just want to fetch replies will also fetch quoted posts because of that e tag. That's why I prefer some other tag than e. Even better if reposts and replies had their own kinds. Kind 1 should just be root notes.

Higher CO2 concentration also makes plants more drought resistant. We need more of it not less.

Bitrefill charged me 28€ for a 25€ card. That's a +12% premium wtf.

Oh it's typescript. I was hoping for something I can use on Android. But thanks for the info👍

I assume rust-nostr is the same as NDK? I can't find an "ndk" repo.