Avatar
Vivek
facdaf1ce758bdf04cdf1a1fa32a3564a608d4abc2481a286ffc178f86953ef0
Maker of kanbanstr.com (Kanban on nostr) and zapddit.com (a reddit-style nostr client)

All set for the #bitcoin meet-up by nostr:npub1m495fdq2e8jleptdq6ruzpmz0esjttln2rjx7dxj9w4zvxs48y3q5pu22l ๐Ÿš€๐Ÿš€๐Ÿš€

#bengaluru #india #plebchain

After suggestion by nostr:npub1cpazafytvafazxkjn43zjfwtfzatfz508r54f6z6a3rf2ws8223qc3xxpk , I added a few languages to #zapddit translations list.

In case you want to contribute translations in any other language, please comment here or reach out to me. I will add it.

Add your translations here: https://crowdin.com/project/zapddit

#translationsclub #siamstr #plebchain

My stupid ass thought anyone can add a new language to a project on #crowdin

๐Ÿฅฒ

Thanks to nostr:npub1cpazafytvafazxkjn43zjfwtfzatfz508r54f6z6a3rf2ws8223qc3xxpk for correcting my misconception ๐Ÿ™

#plebchain #zapddit #translations

"previous" works as well here ๐Ÿ™‚

Replying to Avatar fiatjaf

Someone said some days ago in some NIP proposal discussion that we will run out of kind numbers because currently we're limited to 40000. Some weeks before someone else had complained that I had written somewhere that the kind number should be a `uint16`, which can only go up to 65536.

In the meantime, some people make NIP proposals that involve very different events, but that use just one kind number and differentiate events by adding `d` tags or by other tricks. That is justified in the name of _flexibility_: the idea is that by having a string in which people can write anything the protocol is automatically more flexible, extensible, powerful, magical.

But this is not true. Using strings to differentiate between what could have been differentiated by a number doesn't make anything more flexible, it just adds confusion and inefficiency. Take [NIP-58](https://github.com/nostr-protocol/nips/blob/master/58.md) for example. It's the NIP that defines **badge creation, award and acceptance**.

It makes sense for the badge creation to be _parameterized replaceable_ (kind 30009) and differentiated by the `d` tag, as each pubkey can create multiple badges, and it makes sense for the badge award to be a normal, non-replaceable event (kind 8), as badges can be awarded to many people and the awards never change. But it **doesn't** make sense that for each badge receiver to craft a list of badges they have accepted and want to display they have to use a _parameterized replaceable_ event (kind 30008) with a `d` tag set to `"profile_badges"`. Why this magical string?

I believe the idea was that people would be able to craft different badge lists. For example, they would use the `"profile_badges"` value for badges they want to display in their main profile, and some other value, for example, `"hidden_badges"` for badges they have accepted but don't want to display in their main profile, and `"rejected_badges"` for badges that they want to explicitly reject -- or something like that.

The idea makes sense, but does it really? We could have done the same with a kind 10007 meaning _profile badges_, kind 10008 meaning _hidden badges_ and kind 10009 meaning _rejected badges_. That would save disk space and bandwidth, it would make it easier for relays to index these events and, most importantly, it would make implementation simpler. In the world of `d` tags, every programmer that tries to implement creating these badge lists have to go to the NIP and hardcode the kind 30008, then look for the magical string that must be set at the `d` tag and write it, exactly like in the NIP, as a string, and add that as a tag to the event, the same is valid for when a client wants to support reading the tag lists. While in the multi-kind world you only need to hardcode one magical number. It's undeniable that `{"kinds": [10007]}` is a simpler filter than `{"kinds": [30009], "#d": ["profile_badges"]}`. You may say the differences are negligible, but I'm just trying to illustrate a principle.

I have the impression that in the minds of many programmers to be able to write a string gives them the impression that everything is more flexible and magical: "oh, I can write _anything_, while if the stuff is in kinds I would have to first get authorization from the NIP overlords". Maybe the NIP process can be improved, but ultimately this makes little difference. You can definitely write _anything_ in the `d` tag, but you can also write _anything_ in the `kind` field too, the actual requirement that exists, and that exists for both, is that others start using the exact same kind number or `d` string that you're using, and vice-versa, and there is no shortcut for that, you necessarily have to come to an agreement with others -- which is what the NIP process tries to facilitate.

The title works on many levels if you consider the alternate meaning of 'kind' ๐Ÿ”ฅ

Hello world from #Lume and it looks beautiful ๐Ÿš€

#plebchain #nostr #clients

Thanks a lot to nostr:npub1cz2ve34nk0ukn0ph4yq2qx3ud8rfy5e0ak4epx42dn8gha0sdgpsgra9kv for adding reddit-style reply trees to #zapddit

#plebchain #opensource #communities

nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft what is that software you use for screen recording?

Really loved the clarity and focusing features :)

Your latest video about new login mechanism was ๐Ÿ”ฅ

nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft what is that software you use for screen recording?

Really loved the clarity and focusing features :)

Your latest video about new login mechanism was ๐Ÿ”ฅ

Energetic evening for me with nostr:npub1getal6ykt05fsz5nqu4uld09nfj3y3qxmv8crys4aeut53unfvlqr80nfm community call.

nostr:npub1cz2ve34nk0ukn0ph4yq2qx3ud8rfy5e0ak4epx42dn8gha0sdgpsgra9kv and I had a blast talking to so many devs.

Oh! By the way, we also unveiled the 'Zap all moderators' feature of #zapddit where you can zap all mods of a community with a single click.

#plebchain

Replying to Avatar zapddit

Like a #nostr community? Do you believe in the #value4value mindset?

Wish to ZAP all the mods of that community in a single-click? DONE โœ…๐Ÿš€๐Ÿ”ฅ

With the Bitcoin Connect feature provided by nostr:npub1getal6ykt05fsz5nqu4uld09nfj3y3qxmv8crys4aeut53unfvlqr80nfm , you can now zap all the mods of a community using zapddit.com #zapddit

And oh yes, dark mode is made the default for new users ๐Ÿ™‚

And, one more thing, the UI is a little non-ugly than earlier. A lot more of non-ugly to come in the near future โœจ

#plebchain #nostr #communities #zaps #alby #clientlife #grownostr

Now, you can zap the entire mod team of a #nostr community with a SINGLE click from #zapddit ๐Ÿš€

Thanks nostr:npub1q5sah9f3p9kl7uqdeaqskqwmg74ktxx70e0093dzh4lpzcp3t0mqzxky65 and @npub1getal6ykt05fsz5nqu4uld09nfj3y3qxmv8crys4aeut53un for providing one tap zap ability to nostr:npub1wj9l4p7yx7efg9jdz7ztxf9q6t55jhyzdrsqgn3uw7t28v2ce8vqnuhet9

#plebchain #nostr #lightning

nostr:nevent1qqsq6d85ngk60f9e6m08e07fsrlxe57sfm3mrvszhp0stxj6tez7rxspp4mhxue69uhkummn9ekx7mqzyp6gh758csmm99qkf5tcfvey5rfwjj2usf5wqpzw83medga3tryasqcyqqqqqqgkl2gxf