Oddbean new post about | logout

Notes by tyiu | export

 I turned out to be terrible in both of these languages. https://i.nostr.build/Z5wqP.jpg  
 Public key cryptography, we meet again. Turns out, sometimes, what you learn in school is useful. https://i.nostr.build/ml23x.jpg  
 Clearing out my old belongings from my parents’ house. https://i.nostr.build/RmeBM.jpg  
 No such thing as middle school and junior high where I lived in Canada. Elementary school is junior/senior kindergarten to grade 8. High school is grade 9 to 12. 
 👉 Boops, the dumbest Nostr client, powered by Nostr SDK for Apple Platforms. Boop your friends to show that you’re thinking about them. Get booped back. Coming soon. https://v.nostr.build/0jGgY.mp4  
 Whoever stops booping is a terrible person. 
 All this boycotting jack and anti-blastr stuff is fun, but to be clear the only thing I want for ... 
 Gossip model is the dream. And achievable if all the major clients prioritize implementing it.

Also it looks like @Little Mikey D ‘s attempts to get people to call it the rendezvous model have failed. 😅 
 See-oh-ban 
 The first time I heard this name was through watching HBO’s Succession. It’s wild how many words don’t match their phonetic spelling. 
 I wanna have a blog that just displays my long form notes

I can only assume someone has built th... 
 Do you even need to rebuild the static site every time? You just need to embed the Nostr JavaScript code, right? The notes would pulled from relays. 
 Awesome.

For me:
- NIP-44 Encryption for iOS
- Protocol design for iOS Nostr event signer applications 
 I think a lot of you drastically underestimate how quickly notes currently propagate across relay... 
 It would be awesome if we had  someway of seeing a visualization of the network topology in real time as the note travels through clients and relays. 
 I think you could just sample and experiment with sending a singular test note to a small relay. But yes, you would have to subscribe to a boatload of relays at the same time right before sending the note, filtering for the note that was just sent. 
 lettuce
tomatoes
onion
potato
bananas
yogurt
coffee
meat
mustard 
 He must have integrated his refrigerator to Nostr. 
 From the looks of that GitHub repo, @reya was working on a Safari web extension as of four months ago. Not sure if it’s ready yet.

Nostore is no longer actively maintained so it would be great to move to one that is actively maintained. 
 This is great, AK. Party time! 
 You’re awesome. 🫡 
 I picked the worst time to visit Toronto. 
 Pro tip: if you use Proton Mail with anonymous email proxies, disable the External GPG settings. I just realized that I’ve been leaking my real email address because Proton Mail attaches my public key to all outgoing emails. It’s disappointing that Proton doesn’t do this by default, given that I use SimpleLogin and it’s part of Proton.

https://i.nostr.build/jYY69.png 
 I believe it uses your Proton PGP key when you email directly to another Proton user. It will use your SimpleLogin PGP key if you email through the SimpleLogin proxy. The feature that I’m suggesting people disable is the one that attaches your Proton PGP key when emailing non-Proton users, which apparently also includes your own SimpleLogin proxy, and that’s the feature that leaks your email address. 
 I’ve been stuck on implementing NIP-44 for over a day, and stuck on getting the hmac_aad function to work. I’m using the pseudocode from the NIP-44 repo and the Kotlin code as a working base implementation to replicate it for Swift. Inputs are identical but outputs are different. I don’t get it. Cryptography is not my strong suit.

https://i.nostr.build/WGGze.png

https://i.nostr.build/POOYr.png 
 I’m already using the secp256k1 library and the rest come for free from Apple with CryptoKit. I have all the code written and the unit tests pass for most of the base functions. It just doesn’t pass on the encrypt and decrypt tests because of the ciphertext being different in the hmac_aad function. I’ll compare with your Rust implementation and see how far I get. If I’m still stuck, I’ll preemptively commit it to GitHub to get more eyes on it. Thanks, Mike. 🙏🏼 
 I figured it out. Code coming soon. 
 💯 the translators have been huge contributors making Damus globally accessible and it makes me sad that we haven’t found a way to make sure they are compensated value-for-value in the same way that code contributors do.

All the translation attribution is currently in Transifex and can be looked up manually. The problem is that the integration to GitHub loses that attribution so it makes it hard — writing a script to call their API would make that a bit easier. Moreover, Transifex accounts aren’t linked to Nostr pubkeys or Lightning addresses so we would have to manually figure that out and manage that list so that we could map it back to people who can be zapped. I don’t currently have the capacity to do those things but maybe someone else on team Damus might?

As an aside, my ideal long term vision is actually building a translation management system on Nostr with a dedicated event kind for translations that could also integrate with the Nostr Git spec. In another life with enough time and funding, I wouldn’t mind working on it. But it’s currently a pipe dream. 
 As a non-cryptographer, attempting to understand and implement NIP-44 in Swift is blowing my brains. 🤯 
 I genuinely appreciate what SimpleX attempts to accomplish, but in my experience it fails far mor... 
 💯 SimpleX is too janky for me. It’ll get better over time. Outside of security and privacy features, I’m not sure Signal will necessarily win over Telegram for now for normies. Telegram’s feature set and UX seem better. However, Signal remains my go to app because if its simplicity, security, and privacy. 
 Yes! Not a bad drive. 
 I’ve been looking for a good editor for Mac for a while -- one that feels native (Mac-assed) an... 
 Sublime is really lightweight and supports plugins. It’s my go to text editor when I need something in between vi and an IDE. 
 NGL, as a dev for nostr, I am on a brink of giving up almost weekly! But I think that’s a part ... 
 I’m in a similar position. It’s too easy to get distracted with my old routines or roadblocks, but I remind myself why this work is important and fun. 
 Hi! 
I heard about this app from the tik tok before it gets banned. 
What do you all think about ... 
 Welcome! 
 Opened TikTok, saw one video … ended up here

#introductions 
 Welcome! 
 I’m new here from TT. I come in peace 🥹 
 Welcome! 
 If you listen to classical piano music on good headphones, I didn't realize how much breathing yo... 
 I can’t hear any breathing and I don’t know if I’d classify it as classical, but I’ve been in love with this piece since it came out two years ago. It helped get me through a painful time in my life by evoking a lot of raw emotion.

https://www.youtube.com/watch?v=lcfvJL880_A 
 Ten years ago, I was diagnosed with a rare, aggressive skin cancer called dermatofibrosarcoma protuberans (DFSP), which required removing a softball-sized chunk of skin from my forehead down to my skull and up toward my hairline. Three plastic surgeries followed it to reduce the amount of visible scar tissue at the cost of permanently disfiguring my right eyebrow.

Two weeks ago, my dermatologist noticed an unusual spot on my forehead where the cancer used to be, which caused her to be concerned enough to do a biopsy. I was afraid that the skin cancer was back.

I'm glad to announce that the results came back today as negative and that I continue to be cancer-free after ten years. Take care of your health and get checked regularly, folks. 
 I don’t have the expertise but in my case, I was told that sunlight had nothing to do with it. They said it was a random mutation. 
 Does anyone else have an issue with the iOS 17.4 upgrade where the screen seems dimmer at maximum brightness? I have this issue on my iPhone 13 Pro. 
 I don’t really think anymore I just ask chatgpt 
 Did you use ChatGPT to write this note? 
 Run the command and follow the instructions mentioned in the first post at the top of the page that you linked to. Or did that not work? 
 We saw “An Enemy of the People” on Broadway tonight! Starring Jeremy Strong (played Kendall Roy on Succession) and a few other talented actors we recognized from the shows “The White Lotus” and “You”. They even asked us to be extras on stage during an intense scene! The cherry on top was standing in line to get into the theater immediately behind Gaten Matarazzo (played Dustin Henderson on Stranger Things). Amazing night with talented people. Highly recommend this play to whoever lives in or visits NYC soon. https://i.nostr.build/A8eq.jpg  
 What broken interaction did you experience between nostr apps this week?

#nostrability 
 @node what’s the note id for that example? 
 OK yeah, the issue is with both Damus and Primal in regard to NIP-10. Damus doesn’t understand the new way of making replies, and Primal didn’t attempt to preserve backwards compatibility when implementing the new way.

I fixed the backwards compatibility issue in Amethyst two months ago.
https://github.com/vitorpamplona/amethyst/pull/737

@jb55 @miljan any way you could prioritize these fixes? 
 Which platform of Primal did you make the replies from? Android, iOS, or Web? 
 I spent about an hour looking through the Primal iOS code, and the code doesn’t match up with the reported behavior. The code adds a “reply” marker event tag before some “p” tags, but nowhere does it create a “root” marker event tag.

createNostrReplyEvent code: https://github.com/PrimalHQ/primal-ios-app/blob/3b1f2d13f261348ecdc219bc600043509d1d926d/Primal/Common/Nostr/NostrObject%2BExtra.swift#L221-L226

The current App Store version is 1.2.46 but what’s checked into GitHub is 1.2.30. The GitHub repository is 16 builds behind, so the backwards incompatible bug might have been introduced in one of those builds.

App Store: https://apps.apple.com/us/app/primal/id1673134518

GitHub repo version: https://github.com/PrimalHQ/primal-ios-app/blob/3b1f2d13f261348ecdc219bc600043509d1d926d/Primal.xcodeproj/project.pbxproj#L2443

cc: @pavle 
 Happy belated birthday, birthday twin! 
 Excited to co-present with @montzstar on Nostr SDK for Apple Platforms at @bitblockboom next month! nostr:note18r90mrhyqa5jzsuwptn7ft5euye8wdyqq4gs74w3qhmc4jngtgmq4muwsa 
 Do you mean NIP-26 Delegated Event Signing?
https://github.com/nostr-protocol/nips/blob/master/26.md 
 I’m not super familiar with those NIPs but I don’t see why we wouldn’t be able to build something like that on iOS. 
 I looked into this more. I’m not sure if it’s easily possible to build a native signer app in iOS. There doesn’t seem to be the equivalent of Android Intents or bidirectional cross-app communication. Maybe it’s possible to build something janky with custom URIs. 
 I’m working on it. I thought up a different way. 
 Thanks #[0] for introducing #nostr to me  :) Eager to explore and contribute to more-speech 
 Congrats! Thanks for all your contributions and glad that you’re part of this community.