Oddbean new post about | logout

Notes by Vitor Pamplona | export

 Dose who control your data, control your destiny

Make typos poetic again.  
 Resolvi ficar no Primal.net mesmo, achei o mais agradável e com mais funcionalidades. Quem você... 
 Bem vindo!  
 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. 
 What is this?  
 Developer seeks additional requests. Please let him know how to further fix this client 😂 🤣... 
 How do they make those cool videos in the webpage? It's so good. 
 Does he/she know Kotlin? :)  
 nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z can lokinet be built into t... 
 Do they have good libs for Android apps? 
 Yeah I never ended up finishing the zap verification implementation. Maybe one day .  
 nostr:npub1getal6ykt05fsz5nqu4uld09nfj3y3qxmv8crys4aeut53unfvlqr80nfm to setup Alby Go do I need ... 
 Yep, Connections / Add Connection on your hub.  
 Hum... what's the number of nuts that will force me to code a Nut wallet into Amethyst. 🤔 😎
nostr:nevent1qqs878hcc4qrjkzgm3cv0uslg4rhv89pqr8ghxjrtf72pnea92nu8ncpzpmhxue69uhkummnw3ezumt0d5hsygzsm98u9kzcp35zkpc62shck8335gqtq5yt4w26xwl0pp2a72qavvpsgqqqqqqsqc9fde 
 They are available in the discovery section via DVMs, so we don't centralize on our own server :) 
 Web of Trust question for developers:   Could it be that you are putting all 2-degree pubkeys int... 
 Just downloading them and processing on memory is already a pain.  
 Yeah, but in order to assemble the massive filter, you have to download all contact lists, which I already don't like doing. It compounds with the massive filter. 

I am building custom feeds for Amethyst and I was wondering if we could build a feed event and then make a REQ by the feed event id that the relay already has. That would be nice. We could then do a follows of follows of follows of follows filter.  
 Nostr smart contracts are coming. 

Then we add verifiable computations. 

And boom. Trustless machines for everyone.
nostr:nevent1qqswm26c4s4h56zwkk47w40mhsqqn66jk6lfas8r07w67h69474kkfgpzpmhxue69uhkummnw3ezumt0d5hsyg8zenmu7gzq8ulj5jj4kv50ph3muwz43f747vmr9ld2alrjdswgavpsgqqqqqqsdwaqz2 
 I know, but Smart Contracts don't necessarily need a token. 
 Or just simpler things like content discovery DVMs that must follow certain filters and must prove that they run the filter without any changes to it before sending the feed back to me. 
 I have successfully executed code directly from a nostr note. A smart contract, if you will.

No ... 
 Nostr smart contracts are coming. 

Then we add verifiable computations. 

And boom. Trustless machines for everyone.
nostr:nevent1qqswm26c4s4h56zwkk47w40mhsqqn66jk6lfas8r07w67h69474kkfgpzpmhxue69uhkummnw3ezumt0d5hsyg8zenmu7gzq8ulj5jj4kv50ph3muwz43f747vmr9ld2alrjdswgavpsgqqqqqqsdwaqz2 
 #asknostr #amethyst #wallets

Ok, i have a question about how to switch my wallet that i use for ... 
 If the wallet supports NWC, it should give you a url to paste in the zap setup screen. Most wallets don't support it. 

If you want to pay by openning the app every time, just delete 3 fields for the NWC connection. 

You can always go back to Alby by pressing the little alby button close to those fields.  
 We need to change this interface. It's just hard to figure out. Maybe there is a floating + button on that profile tab, which opens a new screen that has a feed for all posts with images on it. Or maybe it is through Search. Or just upload the image again. 🤔 
 Hum... what's the number of nuts that will force me to code a Nut wallet into Amethyst. 🤔 😎
nostr:nevent1qqs878hcc4qrjkzgm3cv0uslg4rhv89pqr8ghxjrtf72pnea92nu8ncpzpmhxue69uhkummnw3ezumt0d5hsygzsm98u9kzcp35zkpc62shck8335gqtq5yt4w26xwl0pp2a72qavvpsgqqqqqqsqc9fde 
  nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft's NIP-60 is gaining tracti... 
 What's the best one? I have only used nutsack. 🤔 
 nostr:nprofile1qqs827g8dkd07zjvlhh60csytujgd3l9mz7x807xk3fewge7rwlukxgprpmhxue69uhkv6tvw3jhytnwda... 
 Sure thing! Let me know what works for you.  
 nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqpzamhxue69uhhv6t5daezumn0wd... 
 Yeah, the new settings kinda fucked things up for global. I was trying to code the custom feeds that nostr:nprofile1qqsf03c2gsmx5ef4c9zmxvlew04gdh7u94afnknp33qvv3c94kvwxgspr3mhxue69uhksmmyd33x7epwvdhhyctrd3jjuar0dak8xtcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszxnhwden5te0wpuhyctdd9jzuenfv96x5ctx9e3k7mf0ss9zgs had but I wasn't able to finish. The idea was to create multiple options in the top bar for distinct relay set options on global and for each hashtag/geotag..  
 Yeah sorry. We will get there as well. These relay lists are kinda changing everything :( 
 It's funny that the PR wasn't really that difficult, but to get there.. boy...

All credit goes to the Tor lib that got this far. 
 Ok, it seems that the option of activating Tor for .onion relays is the bare minimum we should do. 

The question is now, as a project, do we want to offer more privacy straight out of the box or not. 

I am leaning towards also using Tor for: 
1. Relays gathered from the Outbox model that are not in the user's relay list. 
2. All relays that require Auth (no IP-Pubkey link)
3. All DM relays

By default. 

More ideas are welcome. 
 Then he can just turn Orbot off.  
 We can also scramble some relay connections and randomize them: some via tor, others clearnet. 

Or maybe only Auth via Tor. 

Or maybe only Auth and send events via Tor. 

So many options... 🤔
 
 What should be the default of a fresh Amethyst install? 

1. Tor enabled for relays, but clearnet for all videos, images etc (since they are slow)

2. Tor enabled for everything, user can disable

3. Tor disabled for everything, user can enable 
 I guess there is a 

4th: Tor enabled for onion relay only, clearnet for other relays, images and videos. 
 It seems to work well with RethinkDNS's VPN, but I will keep testing.  
 I don't think relay connections are that slow via Tor. Images and videos, yes.  
 No network? What do you mean?  
 It might be too much info for new users. Gotta figure out a way to boil this down to grandma. 
 It's actually super quick boot for reasons.  
 Image and video servers can see your IP.  
 If you can see this, Tor is now inside of Amethyst.

No more Orbot. 
 Yeah, the "new" package they are offering seems to have worked quite well for the past few hours. I didn't notice any crash from the lib itself, which was fairly common in the past. 
 everything 
 nah.. I avoid centralized stacks. 
 Correct. It just transfers through Tor instead of the regular web. Everybody else can see it as soon as it reaches any open web relay.  
 Humm.. good point. Is Orbot really that good? I had cases of leaking IP with Orbot. If the dev is not carefu with connection setup (mostly issues with dependencies doing the connection), it can leak indeed.  
 Maybe. I don't like turning amethyst into a wallet, but maybe this can change... 
 Sorry, no time for centralized stacks.  
 It's likely going to be using both at the same time for the vast amount of users.  
 That's the goal 
 Are you also starting and stopping Tor on onResume and onPause? I thougtht it would create some issues, but it seems to be working just fine.  
 Comment on this note if you’re from Brazil 👇 
 🇧🇷 
 I don't know why they did what they did, but that is I report I would like to see even though I disagree with your general take that Nostr is fundametally centralized. Keep pushing. 
 Aren't they NIP96 compliant? I thought they were and you could just add the server to your media list on Amethyst. If they are not, they can easily become one.  
 LNURL-P indeed should be replaced…. But to replace it with a version of BOLT 12 reimplemented o... 
 Well, let's hope people keep these ideas coming. 
 I don't know... I have seen so many heated debates about bolt12 being great and terrible that, at this point, I don't even know what to think about it.  
 What say you, #Nostr? Do you like the idea of your reports in #Amethyst very likely showing up as... 
 That's the wrong phrasing. Reactions are not likes.  🤪 is not a like.  Clients should not call them likes. That's the other client's problem.  
 To help clients that don't yet implement reports, to help content indexers figure out how good a post is and to help clients that do not want to implement reports because they see as too harsh and/or form of censorship. The reaction tagging is a softer way of doing it.  
 Ok, if that is not enough. Let me give you more (yes, there is more). 

If you are in a client that doesn't support reports and you make post people don't like and they start reporting on Amethyst, your post will disappear from everywhere and you won't even know. 

If we send the warning reaction, you will know that some people are reporting you and your post and in some cases whole profile is now tainted. 

I always side with letting people know, even when their client doesn't want them to know.  
 So, you forcing me how to operate is fine. But when I do it I am hijacking stuff? Come on man... 

Plus, I am not hijacking anything. Your client still works because you follow the spec. Other clients don't work because they decided to do not follow it. Which is their decision. I am not here claiming that they are hijacking anything. It's their choice and until now I never asked them to fix, even though it has been breaking Amethyst for over a year. In the end it's their choice. They are free to do it in any way they want it. 
 But your client is not affected. How is this affecting Coracle users? 
 Can you please give me an example on how Coracle users are affected? I need something that is real, that is breaking right now and that is not because the other client didn't implement or just ignored what the spec says. 

What I don't like in this whole debate is people advocating for other folks. Amethyst has been doing this for 1.8 years at the scale of 200,000+ installs and NONE, literally NONE, of our users ever mentioned this as a problem, even though most of the reports in Nostr come from us. I am not kidding. This is a really bizarre discussion. Even after you and others tried to gather Amethyst users to be angry about this, only a few people engaged. So, forgive me if I don't want to make changes based on hypotheticals. I can't just base my decisions on 5 of 200,000+ users. Otherwise, I would just go crazy with the amount of stuff that I would need to do. 
 Yes, in that case I am making the decision for the other client and I think that is the correct decision. As one of the few clients that allows people to report and uses that report information activelly in our user base, the least I can do is to let users that are being reported know that it is happening. Even if their client doesn't want them to know. 
 We also add the note author to their multiple mute lists on the same report button. We also update outdated relays on the fly, we also authenticate in relays without asking the user. The app does A LOT of things that we don't yet have individual little interfaces and explainers for. These combination of actions is what defines Amethyst's user experince from others. It has always been like that. And the code is open. It's not like we are trying to hide what each button does. We package everything into a few simple actions that do a lot, so the interface is not polluted with all the nitty gritty of Nostr.

Also, Amber users get 3 approvals everytime they report. So, people can always reject what the app is trying to do if they want to without us having to code anything.  
 Did they see the CSAM in the likes in Coracle or in another client?

See.. I take the fact that they didn't know as working well. These reactions are out there. And reports are the things that gather the most amount of heated debate between users that are reporting each other. Reports generally escalate rather quickly. So, if this was a real problem, this thing would not only be known but it would be all over Nostr. It would be our anti-spam filters debacle all over again. 

If my actions are leading to other clients breaking and it's my fault, I am happy to fix it. But otherwise, there should be space to play around with different implementations for things and this is one of them. This type of difference is what makes different clients different. 

I think what we do is postive to the network. Other clients might disagree and not send the reaction. Receiving clients can filter it out or use it in any way they see fit. And users can pick the client with the approach they like (or that they don't bother about). It's all good.

 
 Clients should never advertise content based on reactions. There are plenty of reactions that are negative. Reaction is not a boost. If you want to advertise reactions, at least filter to only show the positive ones or break the UI it down by reaction type.  
 "Most of the network" is not even coding reactions correctly, so apologies if I don't give them any credit...  
 Yep. 
 Seria muito interessante se no feed global do nostr:nprofile1qqs24yz8xftq8kkdf7q5yzf4v7tn2ek78v0z... 
 Not really. I would do a service that creates 1985 tags with the language code using the same created_at the tagged post has. 

Then a client can just do a REQ for the latest 1985 tags and load all the event ids individually. A webpage could easily do that and I think it would work on Coracle right now, without any changes.  
 These days almost anything in Nostr is 3-4 reqs away...  
 If you don't have a home, Amethyst will scatter your posts to the General Relays. It doesn't guarantee your followers will see your posts, but it is better than nothing. 

Defaults are very centralizing. Everyone should investigate and choose their own home relays. 
 Home relay is the relay that has your notes for everybody else to get from. 

General is where your Amethyst will use to get posts from your follows.