Avatar
Water Blower
6b9da920c4b6ecbf2c12018a7a2d143b4dfdf9878c3beac69e39bb597841cc6e
Creator of Blowater & I self identify as a Pro Sleeper

Yes, Alby can consider using nostr.ts to just do the decryption part instead of nostr-tools.

Or I have to release Blowater as a NIP-07 extension because most users don't want to sign in Blowater with nsec.

Same goes to nostr:nprofile1qqsrx4k7vxeev3unrn5ty9qt9w4cxlsgzrqw752mh6fduqjgqs9chhgpr9mhxue69uhhyetvv9ujuumwdae8gtnnda3kjctv9uqsuamnwvaz7tmwdaejumr0dshsz9mhwden5te0wfjkccte9ehx7um5wghxyctwvshsd5c0fz

Now Blowater's native decryption is roughly 15X faster than any NIP-07 extensions that use nostr-tools / NDK to decrypt.

Loading & Decrypt 3850 events took

2199 ms with Sign In with Nsec (nostr.ts)

31123 ms with Alby (nostr-tools)

15X improvement!

scure.js 's base64 decoding is slow as hell. I just optimized nostr.ts 20X for large data decryption by not using its decode function.

https://github.com/BlowaterNostr/nostr.ts/pull/66

blowater.app now supports video rendering

A protocol that reduces data usage on Nostr. strfry implements it. No clients implement it yet.

https://blowater.app now show relay details. Inspired by Damus.

Is there a Nostr solution, or any decentralized solution at all, to allow artists to sell their works?

NFT is one. But any non-NFT solutions? websites? apps?

I know nostr:nprofile1qqs9tuz9jpn57djg7nxunhyvuvk69g5zqaxdpvpqt9hwqv7395u9rpgpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz8nhwden5te0dehhxarj94c82c3wwajkcmr0wfjx2u3wdejhgtcppemhxue69uhkummn9ekx7mp0w2um7e has its own site. But normal artists don't know tech.

Any developers are building things in this area? nostr:nprofile1qqs04xzt6ldm9qhs0ctw0t58kf4z57umjzmjg6jywu0seadwtqqc75spzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszyrhwden5te0wdhkcmmrduhxump0c6w75y ?

But, if we have "function calls" over relays, would that put too much pressure on relay? Should both "calls" and "returns" be ephemeral? What if a client just talks to a DVM directly?

Sometimes I just feel it's unnecessary to let relays broker everything.

Relay is like a Kafka with cryptography. Using Kafka to do everything in the cloud was once a hot thing in the industry but it's not a silver bullet.

If you enable Zap, I will zap you. CMS over Nostr is brilliant.

Replying to Avatar Water Blower

nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn

https://www.youtube.com/watch?v=R-5DHymkfzw

Very insightful. I love Rich Hicky's talks as well. Never written any clojure but it influenced me deeply.

If we treat relay as stateful objects and DVM as methods, should we just have a "function call" NIP?

You must know Datomic right? Datomic is a really interesting database but since it's close sourced, we can't play around and learn it's implementation.

Do you think we can implement something like Datomic in a Nostr relay?

Database as a value or relay as a value.

Following up with this talk, since an event is immutable. It makes no sense to have a stream of immutable data of 1 item.

put in programming term:

get(event_id) -> stream makes no sense

get(event_id) -> event | nothing makes sense

Then, we should just have

http get/post for read/write a single event.

Web Socket everything is overrated.

The only use case that might justify stream of 1 event is that at the moment of querying, the event is not in the relay, but in the future the event might be published to this relay by other clients or relays.

But, in order for a user to even know the ID of an event, the event has to exist in some relay before the time of sharing.

http get(nevent) always makes more sense.

Blowater now can open non kind-4 events in nostrapp.link.

All you need to do is to copy nevent/note id as normal normal text and send to the conversation.

So easy to share notes on Nostr