Avatar
fiatjaf
3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d
~

.aa u setup

.aa r add wss://nos.lol read write, wss://relay.damus.io read write, wss://relay.primal.net read write

.aa q stuff

reload the page.

.aa q out f

click on the small "e" at the top-right to see your outbox-powered following feed.

So I made this IndexedDB event store thing that is somewhat insane but kinda works: https://jsr.io/@nostr/gadgets/doc/store/~/IDBEventStore

It seems to be significantly faster than the SQLite-based worker relay according to these amateur benchmarks: https://github.com/fiatjaf/js-eventstore-benchmark

But even if it was slower it could still be a good option because it's pretty easy to use, just import the library and save events, query with a filter, done.

Please let me know if it's completely broken.

A single one of these files has actual code in them:

Não faço idéia de como funciona essa extensão aí, o código dela não é aberto.

Replying to Avatar hodlbod

New project just released: Compass 🧭

For a long time I've wondered how bad things would be if nostr:nprofile1qyd8wumn8ghj7urewfsk66ty9enxjct5dfskvtnrdakj7qgdwaehxw309anrw73wd9hj7qghwaehxw309aex2mrp0yh8qunfd4skctnwv46z7qg4waehxw309aex2mrp0yhxgctdw4eju6t09uqzp75cf0tahv5z7plpdeaws7ex52nmnwgtwfr2g3m37r844evqrr6j46j6hr's wss://purplepag.es relay went down, since it's the only dedicated kind 10002 indexer I'm aware of, and is heavily relied on for bootstrapping user relay selections, which is a key part of keeping nostr decentralized.

So I stood up another one at wss://indexer.coracle.social. Regular users don't need to do anything, but I encourage client developers to add this to your list of relays you check for NIP 65 kind 10002 relay selections.

I've also open-sourced the project at https://github.com/coracle-social/compass so anyone who wants to can run their own.

The project also supports mirroring other indexers via `strfry router`, but I have left that as an opt-in feature. Unless you expect significant load on your indexer, mirroring would only increase the number of unnecessary connections made to other indexers, so please be considerate when setting up mirrors.

[insert rant about DHTs]

Coracle already fixes the URL on behalf of the user, which is the correct implementation if you ask me. Damus also does this at least in part, and others I forgot. I think it's going to be well.

I've never seen that happen. How do I reproduce?

This is definitely a client flaw on the part of nostr:npub120rmmsl94v2g9utt77gu2mp5mv6lv83l6573m6cg0vnkcldm7kuqunx44g's client since he is advertising publishing to 12 relays, but he actually only publishes to the 4 big ones.

What client are you using, nostr:npub120rmmsl94v2g9utt77gu2mp5mv6lv83l6573m6cg0vnkcldm7kuqunx44g?

In my library I've decided that people who advertise more than some number (I think it's 8 or something) of relays are clueless and their relay list shouldn't be trusted, so we default to reading from the big hardcoded relays from them.

He wasn't looking for a solution for him personally, it was a comment on the general state of these platforms.

I have written about the general idea of "value for value" before. I think it's just a marketing term for donations, and donations are not new nor revolutionary.

See

nostr:naddr1qqyrqwp4xsmnsvtxqyghwumn8ghj7enfv96x5ctx9e3k7mgzyqalp33lewf5vdq847t6te0wvnags0gs0mu72kz8938tn24wlfze6qcyqqq823cex8903

I've also wrote extensively about DVMs, they're just a bad framework for selling API services, and the economic viability of these must be analyzed on a case-by-case.

In short: it depends.

Replying to Avatar Vincent

nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhkcmmrdd3x77pwve5kzar2v9nzucm0d5hsh2c3z4 what are your most interesting thoughts about the emergence of economic incentives in nostr?

Do you believe having the right economic incentives is crucial for nostr growth?

No. I don't know what you mean by that. It's better to talk about more specific examples, I don't think economic incentives -- when spoken about in a general sense -- are a good thing in social networks.

This doesn't even make sense as an analogy.

But I wouldn't have expected a reasonable take from you anyway given the way keychat deals with relays.

Facts are not arguments. People do what they need to achieve their goals.

The same rationale you're using could be used to defend edits, markdown, bbcode syntax, whatever. As long as enough clients support these things people will start doing them, then you can start claiming it's not realistic to remove support.

Replying to Avatar Aida

nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhkcmmrdd3x77pwve5kzar2v9nzucm0d5hsh2c3z4 thank you for Lantern, it is a great extension and perfect use case for Nostr. I wonder about one thing though, is it possible to use annotation as a response to kind 1 note? Right now I feel like I have to publish an annotation and then include it in the response making the reaction a multi-step and multi-note process.

It's not possible, but publishing then quoting like you're doing is a much better flow anyway.

You would like to have met nostr:npub14lu6nuqh7v4jazmqw49yzqkmnkw0nletjeuqfdgwqurcp2j9ex5qz37m8m:

nostr:nevent1qqsv8qzmz8mq82hufg4yngs49h6ptl9qrchgk8ckpf3petj35u8j74gzyzhln20szlejkt5tvp655sgzmwwee70l9wt8sp94pcrs0q92ghy6sucscvg

But with that said I also think, like nostr:npub1t6jxfqz9hv0lygn9thwndekuahwyxkgvycyscjrtauuw73gd5k7sqvksrw below, that following people directly is an important feature -- even though, as you said yourself, that is just automating the work of going to a relay and asking for posts of such and such. That's kind of the description of the "outbox model", but also I do agree it should be made more explicit in UIs and that ultimately extreme configurability should be an option.

The user should be able to say, for example: "I only want the posts from Bob that he publishes on the astronomy relay, even though he is also publishing stuff to other relays".

I switched to that today and it's actually quite good, better than the other. I switch to wss://relays.land/spatianostra and wss://algo.utxo.one too but they're too low-frequency so they don't give me the impression that next tweet will contain revolutionary disrupting incredible news about something completely good and unexpected.

https://relays.land/ now has an option to create moderated relays.

Moderated relays accept any events, but events only become publicly visible when manually approved by a moderator. Approval can be given either through the relay web dashboard or using NIP-86 methods.

Is this what was needed for moving the bitcoin-dev mailing list to Nostr?

I didn't mean custom implementation for this purpose, I think you can probably do better with a custom relay implementation.

I mean, if it's already custom you can assign a serial number to each event and map those numbers to real events in a custom database. Then convert those numbers into single or double-word mnemonics for users.

Or is that boring, doesn't contain cryptographic tricks, centralized? Maybe it is, but I think boring is good and centralized is fine as long as it plugs into the rest of the Nostr ecosystem.

I should probably remove myself from the voting pool, I never vote on anything anyway. I tried for a while to force myself, but I can't. At this point I'm just preventing notes from being accepted.

To whom should I give my shares? Or should I just delete them?

Technically can't find an event even if you have the full ID anyway, because you don't know the relays the event is in. That's why we have nevent1 codes and relay and author hints in tags.

Choosing the relays for each client action is the most important part of Nostr but people have assumed that part away way too many times by hardcoding popular relays and expecting all events to be there, which works as long as we're ridiculously small, but kills the value proposition of Nostr entirely.

It's like assuming Bitcoin will always be zero: it's only true if the entire project is a failure, and in that case nothing matters anyway.

It's just unnecessary complexity. REQ filters are already too powerful, they should be simpler. The use cases are marginal and never important, often just "cool". They can all be implemented using custom relays with crazy logic, which is what we should be doing anyway for many other things.

Using hashtag feeds or any other kind of "global" feed without specifying decently restricted or curated relays explicitly is the worst idea in the world and everybody should have known this.

Replying to Avatar Josua Schmid

nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 you told me about a BitTorrent client extension once, where you can pay seeders in Bitcoin. Is the sourcecode available somewhere?

I never finished it. It involved sending Lightning invoices back and forth using extension messages and keeping track of small prepaid balances between peers, but it had too many bugs and I lost my patience. It was a CLI thing in Go and I couldn't find the source code now, anyway that source code is mostly useless. Later I tried to recreate it with webtorrent but didn't go very far either.

These guys did, though: https://web3torrent.statechannels.org/ (it's shitcoin stuff, beware)

Well, if kind 1 doesn't make sense for some apps I don't see that as a problem at all and I am not trying to force those apps to use kind 1.

But many other use cases can have their own independent existence but also use kind 1 for signaling/discovery -- most notably the common "social" things like long-form events, video events, song events, podcast events, picture events, livestreaming events, calendar events, perhaps even nip29 group events.

Replying to Avatar Vitor Pamplona

It went nowhere. I think nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hszxmhwden5te0wfjkccte9emk2um5v4exucn5vvhxxmmd9uq3xamnwvaz7tmhda6zuat50phjummwv5hsx7c9z9 and others believe kind1 should take an important role on the spec. I completely disagree. We focus way too much on kind 1 build ups. De-emphacizing from the spec could be a good move.

NIP01 should focus on the web of trust aspects of kind 1, not on the small notes itself.

I'm not against the rework in theory, I just thought it looked bad to move things like that, but now I'm thinking it could be good to do it.

But I thought you were a guy who talked only about what exists and not what should exist, given that you should be talking about the fact that kind:1 does have an important place in Nostr.

In my article from before I just acknowledged that and said that instead of trying to fight against it we should embrace it and make kind:1 it the central discovery/public-square/stream of Nostr from where all other use cases can flow and take a life of their own.

So if you're publishing pictures with Olas, for example, you could publish some just for people who are following you specifically in the photo apps, but sometimes quote some wrapped in a kind:1 so others can know that you also have this alternative photo stream, it's like when people posted a link on Twitter to their blog post or article written somewhere else or podcast etc.

Dessas duas "nosteiro" soa melhor. Mas acho que gosto mais de "nostreiro" ou "nostrista".

nostr:nevent1qqsg0lsd9mqq2yaenw52qxlmgagzvqmxt6kmqeu7087l0jv86pqm85gpr3mhxue69uhkummnw3ezucnfw33k76twv4ezuum0vd5kzmqzyqzfwwzt276rcyr6w7y8q33fqxlk3c8gtqan9c5pv434g0q9j7z2gqcyqqqqqqg7fwe8a

What if we replaced follower counts with some other addictive metric in Nostr clients -- but one that was specific to Nostr and could actually work reliably and not be gamed?

(No, I am not talking about zaps, these can also be gamed, and this is not a trivia question, I don't have any answers.)

Replying to Avatar Josua Schmid

nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 Would it be feasible and useful to attach sats to a note directly? Like a penny-post, the first relay seeing it could collect it.

(besides the fact that you don‘t like lightning)

Would be very cool if possible, but Lightning cannot do it.

Still no Nostr client that makes it easy to publish and listen to short audio notes.

A very simple mobile client you could just fire and it would begin recording an audio message, you press ok and it uploads it and publishes the URL to Nostr with an "audio" tag.