Within the last year, my knees have started to feel deterioration. It’s most noticeable when walking down stairs, where previously it would be no problem. Is this old age? 👴🏼
Seems like it. It’s fairly new and not many clients have implemented it. Only Flockstr for now, I think, but probably no handler event for that kind yet for that client. @zach
Thanks for all your contributions to Nostr. You are proof of how you don’t necessarily need to be a developer or designer to help with FOSS development.
🙏🏼 That’s correct. About one-third of those pull requests were from me pulling in Damus translations created by translators, though, so I can’t take all the credit.
Fabian, I don’t use Nostur but I’m secretly a fan of your work and would love to see more iOS clients from others for Nostr. It’s even more impressive now that you’ve revealed that you built Nostur after observing Damus and wanting to learn Swift. Cool to learn about the Swift package, sounds similar to what we’re building for Nostr SDK. Thank you for all your contributions and I’m excited to see what’s next.
Fucking terrorist, Putin. Russia is a terrorist state.
“Russia launched 122 missiles and 36 drones against Ukrainian targets, officials said Friday, killing at least 18 civilians across the country in what an air force official said was the biggest aerial barrage of the 22-month war.”
“At least 86 people were injured and an unknown number were buried under rubble during the roughly 18-hour onslaught, Ukrainian officials said. Among the buildings reported to be damaged across Ukraine were a maternity hospital, apartment blocks and schools.”
https://www.npr.org/2023/12/29/1222099484/russia-launches-aerial-attacks-against-ukraine
Damus got me started on Nostr and open source software development. I hope you’ll figure out a sustainable model. Nostr needs Damus. We need interoperability and diversity of clients. If Damus wins, we all win.
Meeting and talking with awesome internet people in person for the first time in the middle of seemingly nowhere beautiful Costa Rica, thanks to some random protocol that came out of nowhere three months prior. I was in awe.
Are you thinking of it as something another client could use verbatim to get translated app strings for free? Or more like a glossary so that translators of other clients know how to translate common Nostr terminology properly.
The former might be a bit difficult because each client may have different functionality so the copy won’t all match. The latter is definitely doable, though. Regardless, in spirit, it’s a nice idea.
Damus is using Apple’s recently deprecated locale-specific .strings and .stringsdict file formats. I have a PR open that converts Nos.social from .strings to Apple’s new multilingual .xcstrings file format (effectively JSON) which was possible because Crowdin supports that format, but I haven’t done it for Damus yet because Transifex doesn’t support it yet. In any case, if this were to be done, some platform agnostic format should be used.
You’re awesome for providing the translation server for free. Apple still does not expose a translation API, sadly. And Google’s local translation library is largely unmaintained and using a legacy stack that does not integrate with Damus (I’ve tried twice unsuccessfully).
Let me think about how to do this. Translations are no longer simple once you start dealing with plural rules. You’re using Rust, right? Is there a good Rust localization library?
One year ago, I discovered #Nostr and it’s been a life changing journey ever since. Met so many incredible human beings online and in-person from all over the world who value ideas of not just decentralization and anti-censorship, but also building communities, technology, and a whole myriad of other interests.
Nostr has given me a new purpose that I had not known before. Within two days of the discovery, I submitted my first pull request to Damus, which felt exhilarating to contribute to open source freedom tech that @jb55 started. A month later, Damus became the first ever multilingual Nostr client, supporting English and Spanish with help from @⚡₿it₿y₿it⚡ (and now in 26 languages thanks to our ~50 other translators), and the first Nostr client to integrate automatic machine translated notes into the reader’s preferred language, unlocking further global adoption, social networking, and publishing on this protocol as other clients quickly did the same. Half a year in, Nostr SDK for Apple Platforms kicked off with @montzstar and @klabo with a boost from @OpenSats with the goal was enabling developers to build Nostr clients on iOS, macOS, and other Apple platforms quicker and easier with this library.
We have a vast choice of clients and relays now built by talented builders and supported by this amazing community, that fulfill a whole bunch of use cases, and there’s so much more to do. I’m excited to see what we do in the next year.
I’m thankful for you all. Happy holidays, everyone!
@Comingle didn’t make the cut for OpenSats again, but no matter. Plowing ahead! I’ve been spending a lot of time over the past few weeks building the Nostr SDK for Apple (another OpenSats-backed project) with @montzstar@klabo which will eventually be used to power the Comingle iOS app and encourage more developers to build iOS Nostr apps.
What about NIP-51 private lists then? I don’t think the change formally addressed private lists even though it says to use the same encryption scheme as NIP-04.
2 tbsp olive oil
400g/14oz beef mince (ground beef)
1 onion, diced
2 garlic cloves, chopped
100g/3½oz carrot, grated
2 x 400g tins chopped tomatoes
400ml/14fl oz stock (made from stock cube. Ideally beef, but any will do)
400g/14oz dried spaghetti
salt and pepper
I adjusted the recipe to serve only two people, so roughly half of the above quantities.
https://www.bbc.co.uk/food/recipes/easy_spaghetti_bolognese_93639
The issue is that Damus supports only the old deprecated way of positional event tags, which is that the last tagged event tag is the event that is being replied to. Amethyst supports the new way, which is that each event tag explicitly defines what kind of marker (reply, root, or mention) without needing to rely on event tag ordering. Damus just needs to be fixed to support the new way. https://github.com/nostr-protocol/nips/blob/master/10.md
I’ve gotten so familiar with NIP-10 in the last few days because I’m implementing it right now in Nostr SDK. For maximum compatibility with older clients, Amethyst could probably be updated so that it orders event tags such that the event being replied to is still positioned last.
Done. @Vitor Pamplona Here’s the fix for Amethyst to add write support for NIP-10 deprecated positional tags in text notes to maximize backwards compatibility.
https://github.com/vitorpamplona/amethyst/pull/737
It’s a much larger lift to add support for the recommended approach of NIP-10 event tag markers on the Damus side, though, so I’ll leave that alone for now.
This doesn’t work if you’re replying directly to the root thread and also mention other events, or if you’re not replying at all and just want to mention events. The ambiguity is why positional event tags were deprecated. For the former case when it’s a direct reply to the root, I suppose I could update the PR such that the root event tag comes last to make it slightly less bug inducing, but it’ll still be wrong.
Notes by tyiu | export