Avatar
Vitor Pamplona
460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c
Nostr's Chief Android Officer - Amethyst Social

Testing broadcasting relays... 1, 2, 3

yakbak.app is super cool. It will definitely be on Amethyst.

Who cares about the timestamps hashes in the blockchain if you can't find the event that explains what they were referring to?

Also, the timestamps are for the group of events. So, you need to have the source events to even check if the timestamp includes that specific event or not.

If you can find it. You won't even find 75% of my events for your bullshit "immutability" tracker.

The relay can still delete those timestamps and the events themselves.

Yep. You are right.

This idea that Nostr is "immutable and verifiable", as in being a single source of truth, is the biggest lie in Nostr. So many people misunderstand it. Yes, you can verify **individual events** by their signature... **if you have them**. That's a big if. Authors can delete these events at any time, and once they do, your client will also delete them from your local database. They can ship new versions of replaceable events, and that will make things disappear in your local DB too. If your Client was not active, it would have never seen some of the changes in the first place. Once that happens, you can't "verify" anything anymore.

Nostr, as a database of events, is only "immutable and verifiable" if you have a special relay that can track and store all regular and replaceable events as they happen and reject all types of deletions at all times. There is no way around it. And that relay is a **trusted** entity, since there is no way to verify if that relay hasn't deleted anything it doesn't like. Events have never been "immutable". Events by themselves are only verifiable if you have them. A chain of events is not verifiable unless you secure the storage of the entire chain by yourself in real-time. Nostr doesn't do that for you automatically.

Nostr is not a blockchain. Stop thinking it is one. It was specifically designed to NOT be one. It's not a problem to be solved.

Turns out it's super easy to do with SQL lite. I can only imagine how much easier/faster/better, it would be with postgres.

I just finished a quick Event Store lib for Amethyst on Quartz just to remind myself that

1. SQL is awesome.

2. Nothing beats Amethyst cache speeds.

The db automatically manages addressable events (replaces/deletes old ones in favor of new), supports NIP-05 deletion, NIP-50 full text search, NIP-62 Request to Vanish, NIP 45 counts and NIP-40 event expirations. It indexes all single letter tags and some extra ones per kind.

The goal wasn't to be the fastest, but the one that never gets corrupted or loses data. Current speeds are at 45ms to insert 1000 events (with disk write to not lose it) and 1ms per query and about 25ms to load 1000 heavy GiftWrap events into full Kotlin objects. We could do 10x these speeds if we disable transaction logging. But that would make the DB corruptable.

A little more and we can have our own relay implementation as a lib.

It's still in the outbox branch, but Kotlin devs can play with it already.

https://github.com/vitorpamplona/amethyst/blob/full-outbox/quartz%2Fsrc%2Fmain%2Fjava%2Fcom%2Fvitorpamplona%2Fquartz%2Fnip01Core%2Fstore%2FREADME.md

To talk to people without contaminating your feed with junk no one cares about.

Make any post that starts with @ user a Public Message that only shows up in that person's feed?

https://github.com/nostr-protocol/nips/pull/1988

Fun tip: put some blueberries in sparkling water and watch some of them go up and down

like a lava lamp.

Replying to Avatar Silberengel

nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z are you going to take that, sitting down? Or are you going to shut this shameless, dastardly Nostrich right up

... by also implementing Freedom Polls.

No, no chat room. Just messages poping in on notifications. No chat history.

Replying to Avatar Wasted Potential

nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqpz9mhxue69uhkummnw3ezuamfdejj7qghwaehxw309amxjar0wghxummnw3erztnrdakj7xcm2wk Is there a way to know the engagement on #nostr ? For example if someone looks at your post, can it be known only to the author ?

Not really on nostr, but you can have an image server that tracks everytime an app downloads it. Then you just need to make sure there is an image in every post.

Replying to Avatar mIX

nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqpz9mhxue69uhkummnw3ezuamfdejj7qgswaehxw309ahx7um5wghx6mmd9uq3wamnwvaz7tmkd96x7u3wdehhxarjxyhxxmmd9ukfdvuv is there no way to choose what becomes a notification with nfty? I see no config options in amethyst or ntfy for choosing the notification types.

Got zaps but no replies or likes so far.

In amethyst settings in android settings it only shows zaps recieved and now playing as options.

Correct. We only notify zaps and DMs on both NTFY and PlayServices. For the other notifications you must use Pokey.

When I select 2x, I don't want faster audio. I want the player to get rid of the irrelevant bits in the video that don't contribute to the story or the lesson.

1% more battery consumption

Less people downloading Pokey (more centralizing)

Cold-pressed olive oil is so tricky to pair with other food. It's so grassy that you can't put in salads without mixing with other stuff to mellow it out (which defeats the purpose). Even some breads don't go well with the oil. It's bizarre. It should work, but it doesn't.