Oddbean new post about | logout

Notes by tyiu | export

 Just bought a ticket to watch the premiere of the BTCPay Server of My Trust In You is Broken on May 22 at IFC Center! nostr:note1g3hma8lrj5twgpkfxrc07xhm95cxkjspjpvwkyywznch0l8gy5essvsxgj 
 I wonder how well Asahi Linux performs, especially around battery usage. I used to dual boot Ubuntu years ago when MacBooks were using Intel chips and it did alright. 
 I didn’t like the new emoji selector in nostr:npub18m76awca3y37hkvuneavuw6pjj4525fw90necxmadrvj... 
 Yeah, search would make the experience infinitely better. I haven’t had time to look into this yet. 
 Yeah, not the first person I’ve heard report this issue. Not sure what’s causing it. 
 Just got Damus Purple. What is different for me now? How do I know / find / check this?

#Nostr #... 
 I’m on Damus Purple and some Thai notes translate to English automatically for me. Not all of them, though, which might just be a language detection issue, but I’m not sure. It also goes off of your list of preferred languages in iOS settings. If Thai is one of your preferred languages, Damus won’t attempt to translate Thai notes. 
 nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s nostr:npub1zafcms4xya5ap9zr... 
 I don’t think so but we could theoretically fork it to add custom emoji support. And also emoji search. 
 The logo at the top is part of the Ukrainian coat of arms, which is typically shown as a blue shield and golden trident. The man in the middle is a Cossack.
https://en.wikipedia.org/wiki/Cossacks 
 @moneyball which version of Primal iOS are you using? 
 This is me testing a reply on Primal iOS 1.6.7. 
 btw what client are you using? It didn’t seem to construct the nip10 reply properly. 
 @moneyball which version of Primal iOS are you using? 
 @dk Which version of Primal iOS did you use to publish that note reply? 
 Come to Nostr Village at Pubkey in New York City on Thursday, May 30, 2-8pm! We’ll have panels and talks for everybody, including developers, designers, community builders, freedom lovers, first-time Nostriches, etc. Legendary appearances from @The: Daniel⚡️ @JeffG @ltngstore @zach @shawn @Derek Ross @Erik and more! nostr:note1mg8g4yqml982g2dl8cyve9g4nmlq5m9c6x08xus3gkrlflkfxv5q0cq57k 
 Is it possible to mine a vanity npub with a GPU? Could I use a tool made for Bitcoin addresses an... 
 Rana can mine a vanity npub for you.
https://github.com/grunch/rana

The author of Rana is self-admittedly not an expert in cryptography but claims that the GPU is not as efficient in calculating elliptic curve keys.
https://github.com/grunch/rana/issues/31#issuecomment-1428147938 
 The OG Nostr gathering. https://i.nostr.build/Le2Mn.jpg  
 Thai translations are coming to Damus! Please zap @satuser for the great contribution! #siamstr
https://i.nostr.build/aQY7P.png
https://i.nostr.build/eZYmX.png 
 People within your web of trust will now appear first in Damus in the profile search results list. Impersonators and similar named profiles will appear lower down in the list.

Before:
https://i.nostr.build/Q7xjK.jpg

After:
https://i.nostr.build/6Gzon.jpg nostr:note1qqx0fgwjxxl80crad4dgf8pqpasau8whmrl6dfjyw5et7p5zv9fquk24la 
 I’ve submitted two Nostriga talk ideas! Please let me know if you’re interested in either of them or if you have feedback on what you think should be talked about on these topics. Can’t wait!

Keynote: Globalization of Nostr
https://github.com/nostrworld/nostriga/issues/8

Workshop: Building Apps Swiftly with Nostr SDK
https://github.com/nostrworld/nostriga/issues/9 nostr:note1gkceczc3t3zwcq5rt35fd2l7x3m59l0fcucz85j03qepxlm5gy9qjq3wtz 
 this signer plugin even works on safari mobile which is pretty rad nostr:note10n5cretlwwml58aj97q... 
 If it came down to it, I wouldn’t mind being the new maintainer of a fork. 
 I’m hoping native signer app solutions will allow us to bypass these limitations, and also improve the subpar experience that we have with NIP-07 login extensions. It’s one of the things to do on my aspirational backlog. 
 Recommendations for a good Nostr browser extension for Safari on Mac? I’ve found a number of Ch... 
 Nostore, works on iOS and macOS:
https://apps.apple.com/app/nostore/id1666553677 
 Happy birthday to my beautiful wife, @vita !!! https://i.nostr.build/6Ge8W.jpg  
 💯 @elsat is a machine. His dedication to building and improving Nostr is impressive and almost unmatched. He truly wants the protocol to succeed and is doing whatever it takes to make it happen. 🙏🏼 nostr:note1nyy9knx5wt9t8grkwmh626u7xczavh4hskxxza8dctwp3h8vvypq7p388h 
 We got thai translations now 🤙 hope this helps read #siamstr content, a huge part of nostr now... 
 Oh shit. That’s hot. Nice work @jb55 @semisol 
 Not at the moment because Damus app copy is not translated to Thai. If you’re interested in volunteering, we’re always looking for more people to join the translation team. Once Damus app strings are translated to Thai and the user chooses Thai as their preferred language, English notes should translate to Thai as well. 
 Sent you more instructions in DM. 
 damus has the old reply approach, and needs to update.

see nostr:npub1yaul8k059377u9lsu67de7y637... 
 This is a reply from the latest Primal iOS release that should have my fix. Let’s see if it renders in Damus correctly! 
 Fixed! 
 I just realized I have a non-trivial amount of foreign currency in physical form that I haven’t touched in years. Time to cash out. nostr:note1gkp4thefg54dn8pprlsrt5wv8k69pnls6au9xpvt4vv84vhv2raqjge47d 
 Same relays on Primal and Damus, yet replies made with one client often don’t show in another. ... 
 Caveat is that it fixes only new replies from Primal iOS after the release goes out. 
 It was a bug in the implementation of Primal iOS not respecting the old spec, and also an issue of Damus not catching up to the new (not so new anymore) NIP-10 spec. 
 My fix on Primal and what needs to be fixed on Damus are two different things.

You can support reading old threads while support writing new replies using the new recommended part of the NIP-10 spec.

I looked briefly into implementing it in Damus a while back but it seemed like it was a non-trivial refactor requiring a lot of changes so I ended up not doing it. 
 Thank you! 
 That’s fair feedback. Maybe 95%+ translated could mean “full”, and anything between 5-95% is partial? 
 Keeping translations up to date is a lot of work, even for a single language. The translations that exist so far for the tracked clients are mostly thanks to a wonderful group of volunteer translators. They aren't really getting compensated due to missing value-for-value mechanisms and processes. By creating this tracker, I'm hoping it brings awareness of how inaccessible some of our clients are to the non-English speaking user base and motivates more interest in non-developers to contribute to translations.

I've just pushed updates to the tracker per your feedback.

FYI I noticed that Nos localizes only 1 of the 4 xcstrings files. I had set it up to localize all four when I contributed a while back, but that seems to have been reverted to localize only one:

Configured to localize only one xcstrings file:
https://github.com/planetary-social/nos/commit/1a7894e1ec5869bcec04916718803a86ca0f78e3

All 4 xcstrings files:
https://github.com/planetary-social/nos/tree/07a9dd5ede5182ca45af7e83cdaf6ce4b3503ff5/Nos/Assets/Localization 
 Neat to see this localization tracker for nostr apps. 

nostr:note1w7xhmm02jfkan6as2262q4wz2d2ydl... 
 That’s fair feedback. Maybe 95%+ translated could mean “full”, and anything between 5-95% is partial? 
 I created a Nostr localization tracker on GitHub. It tracks how well localized Nostr clients are in different languages, and which ones support automatic content translations. Contributions are welcome. Let's globalize Nostr and make it truly accessible for everyone.

Disclaimer: it is by no means exhaustive in the list of clients or languages, and it does not keep track of percentage of translated strings or quality of translations.

https://github.com/tyiu/nostr-localization-tracker 
 Inspired by @elsat and his work on nostrability. 
 @hodlbod @miljan @hzrd149 @Fabian Do you have any plans to localize your clients to non-English languages? 
 🙈 Apologies, that wasn’t my intent to publicly shame anybody if it came across that way. I think Coracle is already amazing as it is.

I do truly care about global accessibility and empathize with people who do not speak English well. I come from a family of English as a Second Language speakers, and I speak multiple languages of varying fluency, so it’s always top of mind for me. When I travel to non-English speaking countries, I have difficulty navigating with my inability to read or communicate in their language and I end up needing to rely on translation apps and that really sucks. That’s how non-English speakers feel when they interact with software that doesn’t cater to their language in a first class way.

I forgot that browsers have auto-translation ability, so you have a point there that it’s different from mobile apps, though my experience is sometimes hit or miss. At the end of the day, without dedicated translations, non-English users will always feel like a second class citizen. I don’t think it’s just hype-driven. It’s about giving your customers the best experience, regardless of their language or culture.

Anyway, you’re not obligated to do anything. I’m just documenting the state of the world so that: 1) non-English speakers can easily figure out which clients do give them a first-class experience, and 2) give translators an idea of what localization gaps there are so that they might feel motivated to contribute to help their own community. 
 The new hotness is the String Catalog .xcstrings format that the new Xcode version supports, rather than the old .strings and .stringsdict formats. Crowdin seems to be a reasonable translation management system option that support the new file format. Nos, Amethyst, and Snort use Crowdin and I want to move Damus to it. They support open source projects. 
 Those are fair tradeoffs and I think they’re reasonable. My view is that it’s most easiest to i18n at the start of the project. If not, it gets progressively harder. But once i18n is done, it’s pretty straightforward to follow the established patterns for dealing with user-facing strings, and localization mostly comes for cheap afterward (to the developer at least - they just need to maintain the translation pipeline and ensure enough context is provided for each string). At that point, you just need to rely on the community to translate strings, if they care about wanting the client to be in their language. 
 Sure, but also internationalizing your UI so that localization can happen at anytime is even better. We can capture English speaking users and still cater to non-English speakers. I don’t think any of this is mutually exclusive. 
 It’s pretty manual. If it’s a web app, I check if there’s a dedicated language setting in the app, and if not, I try setting my browser language settings to prefer Spanish to see if that works. Then I check the code repository to see if there’s locale files and if there’s any mention of using a translation management system.

There’s no expectation of any structure, and you may optionally add an entry for your client to the tracker.

I’m hoping we can utilize translation progress status assets so that it is less manual. It seems like Crowdin might support it if the project owner opts into it. 
 Agreed. What are you building? 
 If I’m understanding your link drop correctly, I appreciate the sentiment, but my two thoughts on this are:
1. Countries are not languages, and vice-versa. There isn’t a 1:1 mapping. There’s a whole bunch of negative cultural and political identity nuances when people attempt to assign a flag to a language. For example, English is spoken far and wide, not only in England. Spanish is spoken in the Americas, not only in Spain.
2. There’s already emojis for country flags if somebody needs to add them to text! 
 No, they shouldn’t have flags. It should just be at a minimum the name of the language itself as written natively. Here’s an example from the iPhone language selector. https://i.nostr.build/zd8Od.jpg  
 My main concern would be lack of strong consistency on an application type where consistency is expected when collaborating with multiple editors. If you’re doing accounting, you don’t want your numbers to be off because an event could not be fetched from a relay. But cool concept and might still work under certain circumstances. 
 Meeting your nostr frens in real life makes the online experience so much more valuable. 

Go to ... 
 Nostrica, Bitcoin Miami, and Nostrville last year were eye-opening experiences for me. I had no idea meeting Internet friends would be that much fun. I regretted not going to Nostrasia. But I’ll be at Nostriga and hope to meet you and others there! 
 If somebody wants to create and maintain a public feature matrix for nostr clients, that would be... 
 @elsat is this a job for nostrability?
https://github.com/nostrability/nostrability 
 Comingle iOS x Nostr SDK for Apple Platforms

Got the first integration working with reading real NIP-52 calendar events. Nothing fancy to look at, yet. The UI needs a lot of work. Just wanted to show off how easy it was to get something working with the SDK!

https://v.nostr.build/6Gx9z.mp4 
 I just opened a PR for a better reaction emoji picker in Damus!
https://v.nostr.build/aQ56r.mp4 
 I'm trying to build a nostr app but am having trouble decrypting kind 4 messages.  Here is consol... 
 I’m not sure what the issue is and I’m no JS expert, but you should be careful posting secrets and keys publicly. 
 Most devices require a password or passcode upon first startup so that would be fine. But it would be an issue if you had already logged in once, which they could force fingerprint or facial recognition authentication. 
 🖕🏼 
 If you can’t figure out how to handle an open source bot which clearly identifies itself and fo... 
 Nostr is permissionless, and with the right tools, everything can be opt in. It’s about giving the user as much choice as possible. The hostility is uncalled for. If people want to use your bot, they can. If they don’t, then don’t. It’s very straightforward. Keep doing what you’re doing. 
 Whoa! First ever Nostrich sticker for Signal and Telegram? nostr:note1pjterrh7arwtj2kqcuh4jvy37922nnd5zp8xj8jd0mfyw0zrfe2q0a4vdx 
 Most devices require a password or passcode upon first startup so that would be fine. But it would be an issue if you had already logged in once, which they could force fingerprint or facial recognition authentication. 
 GM 🌤️ PV 🤙

Would it be possible to build a desktop Nostr client that you can simply sign... 
 People are working on dedicated native mobile signer apps as we speak.

@greenart7c3 just released NIP-46 support on Amber, an Android signer.
nostr:note17dlrejdnn878zllmwjajzun3wldwsxdkqht8dzw4dusarvee96vqq3e3vw

@Alex Gleason and @Karnage  also are working on this.

I have iOS on my aspirational backlog, but I’m pretty backlogged. 
 Hey, @Fabian Do you see a possibility where Nostur could migrate to use Nostr SDK for Apple Platforms? It’s a pure Swift library. We’d like to rally the Nostr Apple platform developer community to use and contribute back so that there’s consistency and reduced interoperability issues across Apple platform clients and build features where everybody gets it for free. I know you’ve refactored a bit of logic out from Nostur into a separate library, though.

https://github.com/nostr-sdk/nostr-sdk-ios 
 That would be great if it’s possible! It’s hard to maintain with just ~2 developers on it part time, but with more help, I think it’ll grow into an even nicer library. 
 I tried on a different non-bank website and it worked seamlessly. Bitwarden doesn’t support passkeys on mobile yet, though. 
 Bitwarden supports passkeys on mobile now!
https://news.itsfoss.com/bitwarden-passkeys-mobile/