Oddbean new post about | logout

Notes by tyiu | export

 notedeck should reach theoretical optimal performance. Loading the database is just a single mmap... 
 Based. 
 Deprecate note1 pls 
 What happens when the relays that are referenced from an nevent / nprofile inevitably go away or stop hosting data from those identifiers? Would it not still be valuable to have a stable shareable identifier like a note1 or npub? 
 Nice article, but lost me at the ActivityPub bit. I know it’s not the main focus of the write-up but it’s important to get right. He assumes that the person who runs your ActivityPub server will give you a chance to migrate to another server, which isn’t always true.

> If the person who runs your server turns out to be imperfect in a way that you can't endure, you can find another server, spend five minutes moving your account over, and you're back up and running on the new server 
 Looks like the Apple gods still need to bestow me with their approval before the correct version ... 
 Welcome to TestFlight hell. I was surprised by it too when I first went through it. 
 Were you orange-pilled on #Bitcoin AFTER joining Nostr?

I know nostr:npub1csamkk8zu67zl9z4wkp90a... 
 I dabbled in Bitcoin and other cryptocurrencies without understanding the economics or deeper fundamentals. Bought and sold at various times of hype. After I got onto Nostr, I was educated thoroughly, with much help from @The: Daniel⚡️ @elsat @LynAlden Grateful for their guidance 🙏🏼 
 Getting zapped for the first time also helped. 
 Yo  nostr:npub18ams6ewn5aj2n3wt2qawzglx9mr4nzksxhvrdc4gzrecw7n5tvjqctp424 &  nostr:npub1yaul8k059... 
 Farewell, Sum 41. Listened to this band since I was 13 years old. First and last time seeing them live today. Fucking amazing. Thanks for everything. 🙏🏼🤘🏼 https://v.nostr.build/DabyEoReMljeUJf9.mp4 https://v.nostr.build/dedBvjkLVN2Alx8J.mov https://v.nostr.build/H7CtAzlrwiKlr233.mp4 https://v.nostr.build/H23YV03clxtwwd7B.mp4 https://v.nostr.build/yvgT00SRxEKmNWzI.mp4 https://v.nostr.build/QRKPyb1jkNXmU9CR.mp4  
 Post-election walk. Build the future you want to see. No one else will help you. https://i.nostr.build/4LbovkZWnMJT6N0p.png  
 kind 1 comments were a mistake, I'm sorry frens. 
 Do you mean threaded replies? 
 I haven’t read the proposal thoroughly but having a dedicated kind makes sense. Are we close to building consensus? The PR is six months old.
https://github.com/nostr-protocol/nips/pull/1233 
 The most I’ve walked in one day in a few weeks. https://i.nostr.build/J7OhXTQNrZ5MRleA.png  
 Those are solid numbers! 
 Just added support for NIP-32 Labeling to Nostr SDK for Apple Platforms.
https://github.com/nostr-sdk/nostr-sdk-ios/pull/195 
 nostr:nprofile1qqszw70nm86zcl0wzlcwd0xulzdgl82e95v78vdm6fl0rnlarfle35gpzfmhxue69uhhqatjwpkx2urpvu... 
 Noted! You’re not the first person to put in this feature request. I’ll add it when I get a chance! 
 G’day, Nostr! We’re excited to announce that we are now live in Australia and New Zealand, co... 
 > Remove most usage of xcstringstool-generated strings to improve performance.

Nice find, @montzstar 
 Shamefully, I was the one who introduced the original change for the sake of type safety and I proliferated it to Comingle. I need to remove it there too! 
 nostr:npub1yaul8k059377u9lsu67de7y637w4jtgeuwcmh5n7788l6xnlnrgs3tvjmf I’ve resolved your PR com... 
 ✅ thank you! 
 We still need a good calendar / events app for Android. nostr:nprofile1qqsv8e5c93le8ezrmx0j6gkr6m... 
 I’m looking at ways to bring Comingle to Android. 🙏🏼 
 Thanks for the feedback! 
 Those are what I would recommend for actively developed Nostr Android libraries. 
 Would users be too annoyed if Amethyst removed the "Create Account"/"Log in with nsec" and added ... 
 Any added friction to onboarding will almost guarantee early drop off for new users. Supporting both makes sense to me. 
 If I send a gift wrapped DM, does a user of a client not supporting gift wrapped messages receive... 
 No. 
 Dursztyn, Southern Poland by the mountains. Close to the Slovakian border. 
 Politicians being propped up by Coinbase in their app. “Strongly supportive of crypto.” 🤡 https://i.nostr.build/gwVl890roayEbd49.png https://i.nostr.build/2gXcdxKs7QKrI0Jl.png https://i.nostr.build/ssZCWR16Eq3YCBFA.png  
 I took a small hiatus after Nostriga to deal with personal stuff and burn out, but I’m back at it.

For the sake of transparency, here’s a summary of what I’ve been up to with Nostr development since ~August 2024 with the grants provided graciously from OpenSats and the Human Rights Foundation.

Comingle iOS:
- Launched v0.1.0 with support for reading and creating NIP-52 calendar events and RSVPs
- Ran trial at Nostriga 2024 conference

Nostr SDK for Apple Platforms (v0.2.0):
- Added NostrEventBuilding protocol to enable code reuse for event kinds that share common tags
- Added support for missing bot, lud06, and lud16 fields in kind 0 profile
- Added support for NIP-17 (Private Direct Messages)
- Added support for NIP-19 (bech32-encoded entities)
- Added support for NIP-65 (Relay List Metadata)
- Updated RelayDelegate to support receiving any type of response
- Added Swift 6.0 tests in CI
- Fixed GitHub actions workflows to resolve deprecation warnings and to be runnable on PRs from forked repositories
- Fixed incorrect tests and lint errors

Damus iOS:
- Added Apple-powered translation popovers for kind-1 notes for iOS 17.4+ and macOS 14.4+
- Fixed broken QR code scanner
- Fixed localization issues

TODO in the coming months (not comprehensive and may change as priorities change):
- Comingle iOS: Fix relay connection and performance issues
- Comingle iOS: Add retries to event publishing
- Comingle iOS: Expand search capabilities to support nevent and naddr on relays that aren’t in the relay list
- Comingle: Explore developing for Android
- Damus iOS: Add support for automatic Apple translations iOS 18.0+ and macOS 15.0+
- Damus iOS: Add NIP-17 gift-wrapped direct message support
- Damus Notedeck: Figure out internationalization and localization plan
- Nostr SDK for Apple Platforms: Add NIP-32 (Labeling), NIP-36 (Sensitive Content), and NIP-57 (Lightning Zaps)
- Nostr SDK for Apple Platforms: Explore outbox model 
 Being white in rural Japan gets me a lot of stares. Mostly from kids and old people. Kids almost ... 
 Same with me as an Asian in Eastern Europe. 
 Refactoring code is one of my favourite pastimes. 🤓
https://github.com/nostr-sdk/nostr-sdk-ios/pull/186 
 @Vitor Pamplona @hodlbod I’m having trouble wrapping (no pun intended) my head around the one-time use random keypair used to sign the kind 1059 gift wrap event. If I want to see the NIP-17 DMs that I’ve sent from my client, would I have to keep track of the random keypairs that I’ve used so that I can decrypt the gift wrap content and render them in the future? Alternatively, would I just need to store the seal events locally on my client?

Context: I’m adding NIP-17 DM support to Nostr SDK for Apple Platforms and the randomized keypair stuff on the gift wrap confused me. 
 Oh, that’s right. I forgot about that. Sign the gift wrap from your random key and send it to yourself at the real key (or alias key). Which should be a different random key than the one used to sign the gift wrap that goes to the receiver (or their alias key). Got it. Thanks! 
 If you’re the sender and you send the copy to yourself, you are both the sender and the receiver. You would unseal with your private key, which would reveal the kind 14 DM rumor (unsigned DM) which has the p-tag(s) of the actual receivers. 
 This is the best developer support group; single-handedly cleared up all the confusion about these DM and encryption NIPs. I feel like we’re getting some momentum to hopefully move most of the popular clients onto NIP-17 DMs and away from NIP-04 DMs in the medium-term. I’m very curious for scoping out the effort to have Damus onboarded. 
 Does anyone have recommendations for things to do and/or nice restaurants in Kraków? 🇵🇱 #Poland #asknostr @TomekK @jesterhodl 
 I just signed and published the 1.0.0 Android release of SatsPrice onto nostr:nprofile1qqs83nn04fezvsu89p8xg7axjwye2u67errat3dx2um725fs7qnrqlgpzdmhxue69uhhqatjwpkx2urpvuhx2ue0e2p4dj thanks to nostr:nprofile1qqs8y6s7ycwvv36xwn5zsh3e2xemkyumaxnh85dv7jwus6xmscdpcygpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz8thwden5te0dehhxarj9ekh2arfdeuhwctvd3jhgtnrdakj7qghwaehxw309aex2mrp0yhxummnw3ezucnpdejz7qxvpy4 so check it out there! https://i.nostr.build/QXib4jCmDtyv27VK.png

Alternatively, you can download the SatsPrice Android APK directly from GitHub:
https://github.com/tyiu/sats-price/releases/tag/v1.0.0

The SatsPrice iOS / macOS version can be found on Apple's App Store:
https://apps.apple.com/app/satsprice/id6478230475

SatsPrice fetches the price of Bitcoin relative to common ISO currencies from multiple sources, and converts between Sats, BTC, and the selected ISO currency. 
 Busted. It was transpiled from Swift / SwiftUI to Kotlin /Jetpack Compose using https://skip.tools/ 
 Easily the best meal I’ve had in several weeks. 
 What’s up, Poland? 🇵🇱 https://i.nostr.build/1pfqeb8SEPbXDVoI.jpg  
 I’ll be here for a month. Exploring and working remotely. 
 The weather seems great to me! 
 Hi #nostr, I have #question: #Telegram for a long time was the only place to keep human rights an... 
 Привет, @lyuda_kozlovska 

You or anyone else is welcome to translate Damus. Damus supports the Russian language but not yet Kazakh or Kyrgyz. All three languages need translations. 
 I just DM’d you. 
 Damus iOS supports Korean. We have one Korean translator so far and the app is currently 80% translated (112 strings untranslated) in Korean. If you’re interested in joining the translations team, go here:
https://explore.transifex.com/damus/damus-ios/

We also have a group chat if you want to join that. 
 @Martti Malmi can comment on Iris 
 nostr:npub1wmr34t36fy03m8hvgl96zl3znndyzyaqhwmwdtshwmtkg03fetaqhjg240 

which app can i help tras... 
 Damus iOS supports Korean. We have one Korean translator so far and the app is currently 80% translated (112 strings untranslated) in Korean. If you’re interested in joining the translations team, go here:
https://explore.transifex.com/damus/damus-ios/

We also have a group chat if you want to join that. 
 It’s a team effort. We’d be nowhere without the translators. 🤝 
 How do nostr:npub1c0nfstrlj0jy8kvl953v84hudwnpgad0zx709z0ey7nmjp0llegslzg243 events look in your ... 
 Yeah, nothing has really been done anything for calendar events in Damus yet. It’ll be a much improved experience once it’s added! 
 Am I regarded or did Cash App remove lightning support? 
 I don’t want to accidentally dox you, so I’ll just say that not every region allows Lightning. 
 Is the issue still there if you restart the app now? 
 Not sure what exactly happened, but it was unintentional and it’s being investigated.
https://status.cash.app/incidents/8067bdx8zdtl