Oddbean new post about | logout

Notes by Vitor Pamplona | export

 Watching nostr:nprofile1qqspnzgrfett3asxcuj0gksje6z2zxzpvgd27uvz58m9vsuqh8zzw6cpzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgqgjwaehxw309ac82unsd3jhqct89ejhxqg5waehxw309aex2mrp0yhxgctdw4eju6t0rjj54p live stream via Tor without any delay is weird
nostr:naddr1qqjrgcf5vgexvvrp943k2wrr956xywpk95urqwfn94nr2cejvy6x2de5xyckyq3qeaz6dwsnvwkha5sn5puwwyxjgy26uusundrm684lg3vw4ma5c2jsxpqqqpmxwcyy4sp 
 Imperceptible. The stream seems to work without any issues, even though it changes to a new url every few seconds  
 Running push notifications is so cheap. 

We are currently serving 48,216 public keys that activated Push from 4046 online relays at an average of 3 DMs/Zaps per second for $34 dollars/mo. 

That's $0.0007/user/month.

And I am running this with a single javascript server on Heroku. It's neither optimized, not the cheapest host. 
 One group of devs (daniel, fiatjaf) are putting spyware all over nostr, and other group (Vitor et... 
 It's not a dependency for Nostr. It's a dependency for Amethyst. Connecting to random relays with all of our filters is extremely bad. But that's just us. All the other specialty clients are fine. 
 Yep, it will download all events that cite it 
 You have to click in a post that already has it, like this one. 
 Humm strange.. I can see it. Only in the full screen view, though. And if you are in the complete UI mode in the app's settings.  
 I think it is a because we only being kind 1 posts on that feed. We need to add the calendar types as well.  
 Just click in the quoted post, it should open the thread starting with that event. 
 Ohh, are you using Graphene or a custom ROM? 

That feature requires reverse location services which is provided by Google Play :(   
 Because the geohash needs to be converted to lat,long and lat,long must be converted to the city name. We don't display the lat,long by itself.  
 In-device video translations > filtering content by language
nostr:nevent1qqs24u39w8jwv4z8nw9yjlc5ygkhne63hkc4euxa9863nm6kdh4fgdspz9mhxue69uhkummnw3ezuamfdejj7q3qqny3tkh0acurzla8x3zy4nhrjz5zd8l9sy9jys09umwng00manysxpqqqqqqz8kws2v 
 What do we need to do to get Blockstream's BTC explorer API to respond through Tor? 

This is how we validate Open Timestamps in Nostr without running a Bitcoin node in the phone.

https://blockstream.info/api/block-height/862901 
 Nice! I will add as an alternative. :)  
 If you're into tennis (or not) and want to tear up 👇

cc nostr:nprofile1qy88wumn8ghj7mn0wvhxcm... 
 We do, I can see it 
 Yes, you need a torrent client to download the file.  
 We also support nip-89, but this one is not about that. It's a magnet:// link that the phone is trying to open and there is no torrent app to load it.  
 Makes sense. Amethyst does see the torrent event. It just needs any torrent app installed to download it. 
 Here's the gotcha question: In a fixed money supply world, what's the average GDP growth of all countries? 
 The plague of the Sam's. Sam Altman sold "open" just like Sam Bankman Fried sold effective altruism. 

The smell of fraud is in the air again. 
 But Amethyst interpreting any string with dot.inside as a URL is a but too trigger happy in my op... 
 Now that we have Tor, we can also start pinging these random servers to see if they are real :) 
 TIL nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z has a PhD from MIT 😮... 
 Technically, my title is from UFRGS in Brazil because I didn't want to pay MIT to become a real student and get the certificate.

But I did spend 2 years at the MIT Media Lab as a visiting PhD student, got from idea to 90% of my thesis done while there and later fundraised my spin off company from that lab.  
 You seem fixated with Bluesky 
 Next time he posts about Amethyst, I am going to have a very different interpretation. 😅 
 Guys you got to get a grip on this #NOSTR clients. Connecting wallets, creating a profile address... 
 Wallets and nostr addresses are not needed. On boarding should not even include any of that. 
 Now that we have Tor enabled by default for untrusted relays that are not in your list, I feel much more comfortable in going full outbox model. 

Future is bright. 
 Random relays can be slow. If it works and the event goes through or eventually loads, it's fine. 
 Who is the client that is automatically adding 100s of relays the user's inbox and outbox lists? 

Seriously, that's not what these lists were designed for. 
 I have seen it in so many people that it must be on purpose  
 Their main one, but this one doesn't work if Orbot is running and Amethyst starts after it.... 

Orbot seems to use it in a similar way, so I don't know what might be causing the issue.

https://github.com/guardianproject/tor-android 
 Doesn't work. Videos take forever to load, many relays block it, profile pictures don't load, and streaming videos snag all the time. 

Tor is good, but the all or nothing doesn't make much sense. 
 We are doing it right now :)  
 We can offer some cool presets. 🚀 
 Following the outbox model, amethyst has to connect with all relays that your follows put in there inbox/outbox relay lists.  
 We are almost there... 

Final annoying bug... When using Amethyst's Tor alongside Orbot, if Amethyst starts first, then both Tor connections work (and you can choose which one to use).

But If Orbot connects to Tor before Amethyst does, only Orbot works. Even though Amethyst got a separate SOCKS proxy/port from the Tor library, all tor channels immediately close.

🤔 
 Every day I find a new Nostr client I haven't seen before. 

Today's example: zapin.me

This is why Nostr wins.  
 I got to the point that Amethyst can now run two background video playbacks, one with Tor and one without Tor, at the same time.

That would happen when two videos are on the screen, one with a .onion address and another with a regular URL and Tor is disabled for video playback OR when two videos are on the screen and TOR is forced for videos, but one of them is coming from a server in the phone, which must use clearnet.

Background services are account agnostic, but listen to the currently active account to get the Tor settings from.

Edge cases, huge complexity, but this is the right way to do it. 
 Technically, two or more. Unlimited number.  
 People can fit 18 videos in their profile gallery. All of them play at the same time.  
 nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqpzamhxue69uhhv6t5daezumn0wd... 
 Somewhat on purpose. We don't have great explainers for the NWC setup yet, so hiding it and forcing people to ask the network for help was the easiest way to activate personal support to explain what it is and they need to do.

It's kinda the opposite take of the Relay Settings screen. 

I am unhappy with both cases. If we explain the options in a UI, it's too much work and people just give up. If we hide, it doesn't really get that much use.

Anyway..  
 BTW, the I am just finishing the new Tor settings and I think this is going to be as hated as the Relay settings.

Design is hard. 
 I think showing options raises questions. And even "Pro" users hate questions.  
 Not likely. I think we need to break it down into many dialogs and place each dialog in the part of the app that uses those relays: dm relays on DMs, search relays on search. I just don't know what to do with the outbox ones because there is no screen that uses them (they are made for your followers, not for yourself).  
 Yep, but we need to be careful on the recommendations to avoid taking liability and centralizing the ecosystem on them. Ideally I would just send people to a website designed to evaluate relays to see which ones match their needs.

But we may need to do that service inside the app. 
 Okay, my zaps are not working in Amethyst, nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphx... 
 Zaps that you send or you receive? 
 Do you know if your wallet has sent the transaction and just the zaps is missing on Nostr or if not even the wallet sent it? 
 The Zap Event is sent by the receiver. Sometimes the receiver's Zap server is off-line or too busy. Or the receiver might not have a Zap service at all and in that case, they receive but Nostr client never gets anything. 
 Embrace the chaos 
 Kinda lame #Amethyst doesn't give you notifications when someone follows you 
 Requires centralized service to do that in Nostr. We don't like that centralization.  
 Is there any way for me to enable push notifications on #amethyst and if not, anybody got a good ... 
 Which version do you use, play or FDroid? Push should work out of the box for DMs and zaps.  
 I will put up 250,000 sats for someone to make a PR to amethyst that does this:

If user has outb... 
 I am stuck in the middle of the Tor transition but I will review if anyone sends it.  
 Private home yes, private inbox only on DMs.

Private home is an outbox relay only you can see. 
 NosFabrica

Remember the name

You have no idea what’s coming 
 👀
nostr:nevent1qqsr0p59c86ll9mh0p6z3fjamyupj626gek2nkfkaxlu5lzyccqkeyspzdmhxue69uhhwmm59e6hg7r09ehkuef0qgstsw3gkljwt5stm9svt7htvcjlj4ffze4chkcyt4pxxj30xkgeg5qrqsqqqqqpvmz4a5 
 Gm nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqpzamhxue69uhhv6t5daezumn... 
 Yes, that is how it should be. We are just not there yet. The app is still getting confused between the outbox model and the rest of the relay lists. But we should be able to fix it. 
 1. Build in the open. 
2. Ship and iterate fast.
3. Create a community around it. 
 I hate my voice, so you tell me if this is any good. 🚀
nostr:naddr1qpdyun6n23fz6s6p2py4gs2vf9f56t25fpzj63j42324y3fdfarz6560gdy5znpdf4z5gj2p94mkjarg94tyj4z02gk4qs2d2pxy7njp942ys3fdgf5hgcm0d9hz65r0v33kzum594exxutg8p5sygxy3c5lqj6g9nqpeg0ea7xgdmurrrq9nc8fx5er2930pq8jdc2vzypsgqqqskas9rwfp4 
 20% of the working population in the US is foreign born. 

Let that sync in.  
 That only includes official jobs reported to the government. So, while there could be some unauthorized people there, it should be minimum.  
 Our goal is to make self-custodial personal storage relays as easy as Google drive/Apple cloud.

We don't need to connect to them all the time, but they must be there if we truly care about censorship resistance.  
 It's likely that is not going to fit.  
 The real PoW is the work you have to put in to pick good relays that are filtering spam for free.

Few. 
 Yep. There are drawbacks. That's why people need to work on it and choose good ones. 
 My bot is accessing 3000 relays. Almost all of them are spam free right now. That can change, but there are definitely a LOT of options out there. 
 Maybe, or maybe some of them have. Either way people are only suffering with spam because everything is centralized on a few very easy targets. 
 They definatly have to pick their relays. If they are just gonna go with whatever the client says,  we can all just stay on centralized twitter. 

Picking relays is the reason Nostr is censorship resistant. If you abandon that as a user, there is no point on any of this. 
 Ho to create a community in #Amethyst?

 
 Can't. You have to use a community client. 
 Having computing power is the opposite of being human. 
 Exactly. People are asking for proof of work to see which accounts are humans and not bots. Which doesn't make any sense. 
 You don't want proof of work. You want proof of humanity. Those are very different things.

GM. 
 Looks like people have PTSD with the term. 🤣 
 If it's not open source, it's not private. 

If you can't choose to use your own server, it's not private.

If you can't use it when the company is gone, it's not private. 

If you can't create anonymous accounts, it's not private.

Stop trusting the marketing. Start verifying. 
 Can anyone see that they are not doing any funny business in their code?