Damus

Recent Notes

hoppe profile picture
What I dislike the most about modern web apps is the practice of displaying time in a relative format, such as "a few minutes ago," "a few hours ago," or "a few days ago," instead of showing the actual time. It's a relief when hovering over the time reveals the exact time, but that's quite rare.

Since almost all web apps follow this trend, it seems like I'm the only one who doesn't like this method, and I really can't understand it.
1
hoppe2 · 73w
I lost the private key for nostr:nprofile1qqsgzegfsfjf3ml8fyz0rph56z0zhxrm8ygnktgt9pvk3s5g9xfcp7spz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9mhwden5te0wfjkccte9ec8y6tdv9kzumn9wshsz8mhwden5te0dehhxarj9e5x7ursv5khyetvv9uju6t59e3k7mf0dmh7ep and it's impossible to recover it, so I created a new account. I ho...
Isaac · 71w
Robosats Lightning nodes run on Tor.
note1xmy66...
hoppe profile picture
I logged into Keychat using Amber. In the 'Me' tab, I noticed a 'Create ID' option. When I clicked it, I found an already generated seed phrase, and several npubs derived from it were already listed there. I don't recall ever setting up a seed phrase myself. Was it automatically generated either when I logged into Keychat through Amber or upon my very first access to Keychat?
Also, this seed phrase is completely separate and in no way linked to my Amber key, right? This is because my Amber private key wouldn't actually be stored in Keychat, correct? Is my understanding accurate?
Regarding usability, while for typical Android Nostr apps it's convenient to just use the native app directly and log in using Amber, I find that for web clients (or PWAs), viewing them through Keychat is more convenient.
hoppe profile picture
When using a signer in the app, is it a concept that is dependent on a specific app, or does it work in a way where any signer that meets a certain interface on the same phone can automatically handle requests?

Given that using #amethyst specifies "logging in with 'Amber'" and mentions a specific app name, it seems like it leans towards the former. However, if it were the latter approach, it would be more convenient. For example, browser signers like nos2x or Alby work seamlessly with any compatible signer.

There might be technical challenges involved, though.
1
⚡ Dee Kay ⚡ · 75w
Any android app can use Amber as it's using the nip-55 standard.
hoppe profile picture
I've made some improvements to the outbox-based relay sync tool I built earlier. While it doesn’t have many users, I personally use it and continue to maintain and improve it regularly.

https://tajava2006.github.io/sync-nostr-relay/

🔄 Switched to #NDK from `nostr-tools`
The core relay communication logic has been migrated from `nostr-tools` to `ndk`, which provides better support for:
Automatic reconnection to dropped relays
NIP-46-based automatic authentication
Previously, the sync process would immediately stop if any error occurred during communication. While this strict approach ensured consistent results, it also meant that syncs frequently stopped due to minor connection issues.
With `ndk`, automatic reconnection helps the sync process proceed more reliably without compromising data integrity.
🔐 Optional login via NIP-46
You can now optionally login using browser extensions like nos2x or Alby, thanks to `ndk`’s built-in NIP-46 support.
Important: login is optional — syncing still works without logging in.
Also, syncing is always performed for the pubkey entered, not the logged-in user.
The main reason for adding login support is to work around relays that require authentication or impose rate limits without it.
🧠 Smarter recovery from connection failures
As is expected in a decentralized environment, relay connections can drop unexpectedly — usually due to rate limits.
In the past, you had to restart the entire sync from scratch if this happened.
Now, if a sync stops due to a temporary issue, you can simply wait a bit and click the sync button again — it will resume from where it left off.
Caveat: If you manually change the "Sync From (Newest)" date before resuming, it will start fresh from that new date instead.)
📆 Date-range sync support
While implementing the resume-from-error feature, I also added support for syncing only a specific date range.
This can be useful if a relay was down for a certain period and you want to retry just that part.
⏱ Increased sleep interval to reduce rate-limits
I originally added generous `sleep` intervals between requests, but some relays were still rate-limiting.
I’ve increased the interval slightly to reduce disruptions.
Yes, this makes the sync process slower — but that’s an inevitable tradeoff when syncing all of your relays reliably.
If you're only using paid relays or ones that offer unlimited read/write access, feel free to comment out the `sleep` — it’ll speed things up significantly.

The core philosophy remains: accuracy and consistency first. If the tool can't reliably sync an event to all target relays (due to a persistent error, not just a temporary hiccup NDK handles), it will still stop to let you know.


Kudzai Kutukwa · 77w
Turns out the Rona was the cure after all 🤣
Kudzai Kutukwa · 77w
Shrinkflation is the most insidious cancer in the fiat system that most people don’t pay attention to. One of the many things that #bitcoin fixes. https://image.nostr.build/3b61cdea20484633c6accf46...
hoppe profile picture
The term "shrinkflation" should be avoided. The word "inflation" is appropriate in every sense, and such terms are merely a tactic by the government, which monopolizes the power to issue currency and robs citizens of their wealth, to shift the blame onto entrepreneurs for its own wrongdoings.
1🤙1
Kudzai Kutukwa · 77w
Interesting perspective while I think the term can be misunderstood as you pointed out, it’s not really shifting blame to entrepreneurs but highlighting the downstream effects of bad monetary policy. Just like we don’t necessarily blame entrepreneurs for causing price increases due to inflation ...
jb55 · 77w
There is a big alpha under the logo. The network code is very basic right now. I’m mostly focused on making it an accelerated dev platform for building nostr apps at the moment. It’s not just ano...
hoppe profile picture
I think NoteDeck is doing amazing work. It's just that when fiatjaf mentioned the reason was him not having large relays, I commented wondering if maybe I had completely misunderstood NIP-65, but I think my intention might have been misunderstood. There's definitely no need for yet another very similar app. I'm particularly looking forward to the part in NoteDeck where I can query AI using Zaps.
fiatjaf · 77w
It's not a bug, you have the big relays in your list and I don't.
hoppe profile picture
It seems intentional that it resumes from where you left off last time (and I think that's actually a nice feature), but I don't understand why the feed not showing up properly isn't considered a bug.

Isn't NIP-65 supposed to work by fetching notes from each write relay listed in my follow list’s NIP-65 models, rather than just connecting to my own NIP-65 relays? That way, whether or not my relays are shared with others shouldn’t really matter, right? Or maybe I'm misunderstanding how NIP-65 is meant to work.

Of course, merging all the write relays from a long follow list and constructing proper filters from the overlaps is probably not easy. So maybe it’s not exactly a bug, but more like an implementation that just isn’t fully finished yet.
2
jb55 · 77w
There is a big alpha under the logo. The network code is very basic right now. I’m mostly focused on making it an accelerated dev platform for building nostr apps at the moment. It’s not just another microblogging client, there are already tons of those. The past month i have been building out ...
hoppe · 77w
If you use https://shopstr.store/marketplace, you can probably sell things in a permissionless way without needing to host anything yourself. I can also help you test if the products show up properly ...
hoppe profile picture
Ah, the wallet is separate, so it doesn’t completely free you from having to manage liquidity. But then again, saying you don’t have to worry about liquidity kind of implies a custodial wallet anyway — so maybe just create a custodial wallet and register it?
1
Alex Waltz · 77w
I dont care if it is custodial. I just want something that works. Getting a wallet is not the hard part is conecting that with a payment wall.
Alex Waltz · 77w
I want to sell a .pdf via LN. Is there a service I can use to set this up? I will share a link to someone and if they pay 1$ they get a .pdf I know I could do this with BTCPay or LNBits if I host i...
hoppe profile picture
If you use https://shopstr.store/marketplace, you can probably sell things in a permissionless way without needing to host anything yourself. I can also help you test if the products show up properly and if LN payments work — as long as you list something for a tiny amount and send it back to me afterward.
2
hoppe · 77w
Ah, the wallet is separate, so it doesn’t completely free you from having to manage liquidity. But then again, saying you don’t have to worry about liquidity kind of implies a custodial wallet anyway — so maybe just create a custodial wallet and register it?
Alex Waltz · 77w
This is what i'm looking for. And seems I can get a LN address from somewhere else and woul work. The only problem is that it requires buyers to sign-in via nostr. BIG friction.