Oddbean new post about | logout

Notes by Vitor Pamplona | export

 Hooray, now that I'm completely dependent on typescript, the type checker is now failing on line ... 
 Typescript sucks. Come to Kotlin. :)  
 There is a wasm target as well. Jetbrains is just doing everything these days... 

They are even doing native (arm + x86) with C bindings...  
 For applications, I think so. Rust is too low level for apps. Reading Rust is painful. 
 Bom dia, nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z. Não sei da viabi... 
 A Ai de traducao roda local no telefone. Se usarmos qualquer outra Ai mais avancada, cada post serial mandado para um servidor, o que destroi a privacidade (mensagens privadas tambem serial mandadas) e permite ao servidor seguir exatamente o que vc esta vendo a qualquer momento. 

Varios apps do nostr nao se importam com privacidade, mas nos sim 
 #askVictor :)

nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqppemhxue69uh... 
 Which relays do you use for DMs? 
 Does anyone know the timeline on getting a GIF button on Amethyst? Pretty much my main reply comm... 
 Turns out Google had to completely recreate the TextField component to allow drop ins from the keyboard. It's coming, but it might take time.  
 David was a hospital IT person.. 😳
nostr:nevent1qqszk9er80vj7f83tnpt5ycygj7f9ezpwsm4uqx2592pgm5vmu76p3cpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsygrr3xlxfy08k6f7numgan5glng5turuq6xjcxa6usj8hx677suaxgpsgqqqqqqsdp7933 
 No wonder why every provider/staff we talk to is angry at their systems. 
 David was a hospital IT person.. 😳
nostr:nevent1qqszk9er80vj7f83tnpt5ycygj7f9ezpwsm4uqx2592pgm5vmu76p3cpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsygrr3xlxfy08k6f7numgan5glng5turuq6xjcxa6usj8hx677suaxgpsgqqqqqqsdp7933 
 my home internet was going down multiple times a day every day for the past week, so I created so... 
 I am on the opossite side. I am pretty sure that if I start too many Tor connections my ISP either crashes or actively reduces bandwidth.  
 An interesting revelation I had when talking to nostr:nprofile1qqsglv2qkn5dmmuhee9cy8fywfu2rfp4xd3xy0myqg2gfvmjl9yqqrqppamhxue69uhk2tnwdaejumr0dsq3qamnwvaz7tmwdaehgu3wd3skueqpz3mhxue69uhhyetvv9ujuerpd46hxtnfduekf372 about nostr.build's new OTP using NIP-17 Giftwrapped DMs: 

The OTP code is sent to the user only. The sender/server doesn't store a copy of the code. That is impossible to do on NIP-04. 

If you send OTP via NIP-04, whoever has accept to the sender's key can decrypt and see all the codes. If you use NIP-17 DMs, the code is sent to the user and deleted from everything else. 
 #askVictor :)

nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqppemhxue69uh... 
 Yeah, that is a centralized service only something that is surveilling all relays in the network and recompiling everybody's follows lists in real time can do to know which exact keys were added and removed at any point in time. We just don't like that centralization.

And, of course, with private follows, that server can't really see it. So, the notification is only half true and misses many follows/unfollows that are not publicly available. 
 nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z nostr:npub1jlrs53pkdfjnts29... 
 yep, sender and receiver have separate wraps, signed with different keys. Each side can delete their copy of the message anytime they want without affecting the other side. 
 How are you sending the gif to amethyst? Via the new share pop-up?  
 yeah, I have no idea what your keyboard is doing.. we don't have support for keyboard gifs yet.. 

In the past, did it just paste a URL in the text?  
 Which keyboard is that? I need to see what's the hack they are using to make this even feasible.  
 Microsoft's one?  
 Hum... Looks like if the app can receive local images, the keyboard stop sending those tenor urls and send the files themselves, which need to be uploaded..

I am seeing if there is a way around it. But since Amethyst became a Share target for any image in the system, the keyboard seems to not accept sending urls to the text anymore.  
 Not that I know of.. The keyboard seems to think that if an app can receive images, it must get the local version and never the online version.  
 Just FYI, images are not rendering on the latest version of amethyst.  
 Yep, we don't have asciidoc support yet. :( 
 nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z nostr:npub1jlrs53pkdfjnts29... 
 All the non-DM cases send wraps to the regular NIP-65 inbox relay. 

There are cases where the wrap is just there to hide an inner event. They are not sealed, so that the inner event can be reshared with others. 

Some stuff is sealed but not wrapped, like when sending notifications via push systems (no need to inform the destination because it's already the push systems job of delivering it). 

Some group admin shared keys/secrets are sealed and wrapped. 

All of these only use a generic wrap because they don't want the public to know which type of event is inside of it. 

So, to me, NIP-59 just lists primitives that can be used according to the use case. 

I tried to rewrite NIP-59 to match that here: https://github.com/nostr-protocol/nips/pull/1144  
 Makes sense.  
 Once devs finish copying existing apps/concepts, we start the real innovation. 
 ALL ACCOUNTS AT ONCE! 
 Lume merged the feeds! 🚀 
nostr:nevent1qqszez5lx4w3usw3w8u4y89tcng7esgx7ke2zurklxywwg0zmgg665qpzemhxue69uhhyetvv9ujumn0wd68ytnwv46z7q3qzfss807aer0j26mwp2la0ume0jqde3823rmu97ra6sgyyg956e0sxpqqqqqqz73kfe8 
 Where did all the post actions like zap splits and image go in nostr:nprofile1qqs24yz8xftq8kkdf7q... 
 Android 15 broke it :(. See if v0.92.5 works.  
 It's ok, some devs don't want to receive it. The others are receiving when one fails.  
 Nostr devs: Wouldn't it be very useful for caching if relays sent their timestamp next to events?... 
 Since = Timestamp (not the created at) of the last event downloaded after the EOSE (in the live section of the subscription). 
 There is no discrepancy. Most apps need to be in sync with NTP just to use the regular web. It works quite well for amethyst.  
 No need to convert timezones. Your unix Timestamp and the servers Timestamp are the same regardless where you are. 
 Nip 17 is a lot better for OTP.  
 You can send the GiftWrap to all relays if you want. Same as Nip04.  
 Maybe.. but just for now. Or just do one with NIP 17. People can use 0xchat to see it on iOS and Android, Snort/Coracle/Coop in the desktop, and Amethyst on Android. 

There are options available. 
 Just call createNIp17wraps with the message and keys.  
 Humm.. you might need to tweak the code. This uses the browser's expression to sign via window.nostr... 

The returned values are two wraps for the sender and the receiver. All you need to do is to broadcast them to the relays each one uses.  
 Yep, I guess it would be even better since the sender doesn't need a copy of the code. 
 I will check tomorrow, but I only got the nip04. 

Also, you should ask for the nprofile in the login page. In that way, you will have the relay info to get the DM relays and send the DMs. :)  
 Is the code open somewhere?  
 It works! :)  
 Maybe send a PR with some of this code to nostr-tools?  
 Great idea  
 Hate that some phones display the app name + operation while others just operation. 🙄 
 uploading a 1MB image and having it be loaded 2000 times (just appear for a second, especially on... 
 Who said my use case uses mobile data? 
 It would server over blossom's API. It's not a backup, it's a live node. 
 Wifi 
 What makes you phone people can pay for mobile data? 

The default is Wifi my man. People avoid using Mobile data at any cost. Mobile data is the exception.

Also, most people have an older phone in the house that can easily turned into a server.  
 Sure, but in actual usage terms, WIFI is the norm. It's irrelevant that the phone is connected to mobile data if the user is not browsing anything. And when users need to use, most of them that have limited plans find a wifi spot around. Those who have unlimited plans, like in the US, don't care about using their mobile data (unless on roaming).  
 Yep, that's true for the US. Maybe blossom can run over mobile data here... 
 Longevity? Of the plan or the phone? 
 I am not sure what you mean, but average data plan is about 3GB at a download speed of 40MBps.  
 Can I run a blossom server in the phone? 🤔 
 we got Citrine running through tor on an .onion address.. Images could follow the same connection type.  
 I thought it had some syncing capabilities with other servers..  
 We could have a server to make sure your image doesn't disappear from other blossom nodes without a fallback to your own hardware (likely running on an older phone on wifi). 
 creating additional blacklist functionality for #grain. append pubkeys from mutelist to blacklist... 
 starting the design the DM view for notedeck to look like signal/imessage. not sure on a release ... 
 If you drop it, I will remove from Amethyst as well. 

Let's stop using that shit. 
 I fear that if we don't drop it, this thing is never gonna go away. 

Shall we just not send NIP-04 DMs ever? We can still show them for now.  
 Tutorial: Multiple accounts with Alby Extension

The Secret: You can add the same Alby account/Wallet multiple times to the extension.

This creates many wallets that you can switch between with the same balance, transactions, etc.

Then you can go in the settings of each wallet and erase the random nsec they create for you and insert one of your accounts. 

Change the Display name of the account to match the NPUB's name. 

The picture stays the same (which sucks, but it is what it is). 

The Issue: Now that you have everything setup, you have to learn to LOG OFF, switch the active account on the extension and LOG IN on the Client's interface. Otherwise, the client will go crazy.

Easy.

 
 Somebody should turn this into a video...
nostr:nevent1qqsxrhptrq458rgat9n0s73w7qfccslshakpf3zs3m96faae3yzclsspzamhxue69uhhv6t5daezumn0wd68yvfwvdhk6tczyprqcf0xst760qet2tglytfay2e3wmvh9asdehpjztkceyh0s5r9cqcyqqqqqqggmktkr 
 Not everyone has access to Amber. :) 
 I know... it sucks using Nostr on any other platform.  
 Company accounts.  
 Multiple NPUBs can be loaded on the extension to sign for each account while using the same wallet.  
 Testing Alby multi-account setup. Logged in as Vitor, but signing this post as Dr. Edo.  
 Didn't work :)  
 ohh so you want to select the text on Amethyst and share with other apps? 
 I think this requires a clipboard app, doesn't it? Something has to keep all the history saved somewhere.  
 Guilty of one npub;  is that what yoy refer to as “account”? nostr:note1p4nxp37wlwlkmrq4ka4u6... 
 Do you use an event kind to specify the feed like that?  
 So, I am going to start defining some type of Custom Feed event type. 

nostr:nprofile1qqsf03c2gsmx5ef4c9zmxvlew04gdh7u94afnknp33qvv3c94kvwxgspz3mhxue69uhhyetvv9ujuerpd46hxtnfduq35amnwvaz7tmjv4kxz7fwwajhxar9wfhxyarr9e3k7mgprdmhxue69uhksmmyd33x7epwvdhhyctrd3jjuar0dak8x6lmt90 has his version below, but I find it too complicated with the union/diff/intersection stuff. 

This is complicated by definition, but it would be nice to have a feed defined in Lume showing up on Amethyst. 

https://github.com/nostr-protocol/nips/pull/1181/files 
 We should find a good way to do it.  
 Browser extensions really need to start allowing multiple accounts. It has been 2 years already... Let's go... No one is using just one account in Nostr. 
 Man... adding the same account multiple times is so weird. The account is added, but lots of error messages show up and there is no visual confirmation that you are adding the same stuff again. You just see a copy if the account in the menu.

Also, it's very confusing when Alby creates a random nsec when loading an existing account. I would leave it empty.