Replying to Avatar Sheilfer

can edit verified & submitted apps on https://otherstuff.app

editing verified apps will re-submit them for verification again

We need one of these for relay implementations.

nostr:nevent1qqsvm8mgwrjxckfpyuqcyjaqlga07nlxd08jfn3c629gfen72rpuagcppemhxue69uhkummn9ekx7mp0qgs2kgtvqjhmdy8qagrfg9f88qqud7m5d8pgm6xpq8jfavp3cq8794crqsqqqqqpw58j9x

Reply to this note

Please Login to reply.

Discussion

relay implementations? could you explain a project that does this so I can learn more?

Relays. You know... The backbone of the nostr protocol. Not all relays run the same software. There are many different implementations.

Everyone is focused on clients. Without relays, none of them work.

I don't mean to come off blunt. If you're really unaware of how relays work Id be happy to go more in depth. I can point out the most prevelant implementations if it helps.

I'd love to learn more about relay internals btw 👀

What would you like to know? The concept is simple so the implementation is very open to do it a million ways. They are just web socket servers that interpret events as defined by the protocol. How you handle them is up to the relay. I mean you have to handle them a certain way as defined by the protocol but I mean how you handle storing events or responding to requests is all free game. Grain for instance is inple in go and uses mongodb as a database. Strfry is in C and uses LMD. Etc.

What would you like to know more about?

strfy is C++. Big difference XD

Whoops, yep. Not super firmiliar. Big difference. Going off memory. Maybe I was thinking of Bitcoin.

Its not a specific question but related to this thread:

nostr:nevent1qvzqqqqqqypzqwlsccluhy6xxsr6l9a9uhhxf75g85g8a709tprjcn4e42h053vaqyghwumn8ghj7mn0wd68ytnhd9hx2tcprdmhxue69uhhg6r9vehhyetnwshxummnw3erztnrdakj7qpqfcgt7pmh4txzd5echeyh5jcwntz6nyy7zege2vz53lumrjq2jzdq88gwkc

Maybe if embeddings can be made portable enough, they can also be passed around nostr in a decentralized way, where clients and relays would be able to leverage note searching. Kind 1 seems like a big ask, because your essentially trying to classify and search through all possible conversations and context is usually temporal.

More slowly moving kinds, where context is contained within the note, or surrounding notes on a relay would be interesting to organize around. But what about paragraphs? If so, maybe binary embeddings on relays could be a thing to help organize and find related notes.

Something about a vector binary embedding of an entire relays content to perhaps make searching a compressed relays content extremely efficient and perhaps you could embed all of the content across the entire protocol. Then it could be redundant and spread everywhere and all nostr content may no longer need to be fragmented across relays but aggregated with the embedding and globally distributed across all relays. Sounds really complex though.

I'm hesitant about doing it for kind 1 because there is such a wide context, lots of notes collected over lots of relays - don't think it would really work because for the user it there is so many unrelated notes. But imagine a pool of relays focused on some content:

nostr:nevent1qvzqqqqqqypzphzv6zrv6l89kxpj4h60m5fpz2ycsrfv0c54hjcwdpxqrt8wwlqxqyghwumn8ghj7mn0wd68ytnhd9hx2tcprdmhxue69uhhg6r9vehhyetnwshxummnw3erztnrdakj7qpqcu2498m77mq80cj5tuh3l8rnw97e8vx54alva35pzmr207lt4xuqqz5htc

Even if you group across multiple relays, a user is choosing to connect to related content. A user is reading some related articles that have been embedded and so you (service provider) or the client is able to construct some sort of HNSW search, and pass some sort of subnetwork within some distance close to your note.

I suppose it would depend on how good binary vector embedding actually is. 😂

Its a compressed representation, so you lose some resolution to search through, and the space of topics that can be covered in a feed of kind1 notes over some length of time is huge. Less so with a themed community. So by going with something focused you and only improve in performance.

* you can only improve

Dropping a demo in case you'd want to play around with it

https://github.com/limina1/nostr-binary-embedding-demo

Good point

I was mostly referring to projects that create user experiences for creating relays rather than not knowing what the R in nostr means

I still have a misunderstanding. Coding creates relays. Just like clients. They all have some level of configuration. Relay.tools is the only relay "creator" I'm aware of and my original post was not to point out all projects that do this. It would be to point out all different implementations of of a nostr relay.