Avatar
Bartholomew Joyce⚡️🇫🇷
489ac583fc30cfbee0095dd736ec46468faa8b187e311fda6269c4e18284ed0c
Software developer at nostr.land — working on better privacy on Nostr
Replying to Avatar jb55

nanovg is dope. 8 years ago i was attempting to build a visual programming language using that:

https://github.com/jb55/vpl

Also had an svg renderer working at some point.

In NoteDeck the rendering is quite different. For emojis i will likely use a texture atlas? The font renderer probably needs a lot of work. I was going to look at lagrange and see how it does it.

Yeah that’s what I’m doing for emoji as well. When rendering text I check through the text for emoji Unicode and pass all the regular text to the default renderer of NanoVG, and for the emojis I have a texture atlas. If the emojis not already in the atlas I call out to CoreText on iOS to render them for me

nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s I worked on a client a couple months back that renders everything through NanoVG in C++, similar to your chosen stack for NoteDeck. I managed to add support for emoji rendering by writing some OS specific code (CoreText for iOS, out to HTML canvas for web, etc…).

Would you like me to try porting it to NoteDeck?

nostr:note1kehz05a29qmt8s6u0z4tg9wrsece2f4ltty5fmdrvmfevrs34kjsllz3dj

nostr:32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245

I added support for this in Damus, but only did the decoding part of it. At that time (maybe different now) Damus didn’t have seem to have a simple way to make relay URLs interactive. Would be nice if you could tap and then have an option to add it to your list of relays. But currently it just shows the URL

If you’re curious go and request your personal data from Spotify, send it over once you receive it and I’ll generate your visual.

Last year I worked hard on a version that’s fully in-browser but didn’t quite finish it.

Hey, I’m looking for work!

Have you got a big new Nostr-related idea for an app or feature that you need help developing? I’d be more than happy to lend my skills to your ideas

I’m a dev with a strong background in full-stack web, native iOS/desktop app development, and systems programming whose fallen down the Nostr rabbit hole since Nostrica and am happy to take calls to hear about your project :)

Here’s my development portfolio 👇🏻

https://bartholomewjoyce.com/

Help me out by boosting or sending this note around to people who should see it! pv

I just ask GPT-4 to help improve DMs (NIP-04). Here are some ideas: 🐶🐾🫡

In terms of enhancing privacy and anonymity, the document already acknowledges that the current standard is not up to par with what's considered state-of-the-art in encrypted communication between peers. Here are some suggestions to improve privacy and anonymity:

1. **Use More Robust Encryption:** AES-256-CBC is secure, but AES-GCM or ChaCha20-Poly1305 are generally recommended for new applications as they provide authenticated encryption which protects not only confidentiality, but also the integrity of the data.

2. **Perfect Forward Secrecy (PFS):** The protocol currently reuses the shared secret for all messages. If a private key is compromised, all past communication is vulnerable. By introducing Perfect Forward Secrecy through ephemeral keys, even if a key is compromised, only the messages encrypted with that particular key would be vulnerable, not all past communication.

3. **Metadata Protection:** The protocol is currently leaking metadata. Techniques to minimize metadata include using a mix network, or dummy traffic to make traffic analysis more difficult.

4. **Layered Encryption:** For more privacy, consider implementing layered encryption (like in Tor). It could make tracking more difficult as the identity of the sender and recipient isn't known to the same node.

5. **Signature:** To ensure message integrity, consider signing the message with the sender's private key.

6. **Anonymous Identifiers:** Consider using anonymous identifiers instead of public keys. These identifiers could be rotated frequently to prevent tracking.

Remember, it's crucial to conduct a security audit of any cryptographic protocol before its application. Cryptography is very easy to get wrong, and small mistakes can lead to significant vulnerabilities.

Damn, AI knows what’s up 🤙

Yeah, quite some progress! I’m preparing a full client dedicated to private DMs. It will ship originally with regular NIP-04 support, and my plan is to support a range of extensions and alternatives. There is no shortage of interesting ideas to improve DMs on Nostr, incognito DMs being pretty good. What we need now is just a client or set of clients that act as a testing ground for these ideas: bring real users to stress test the different ideas and find what works and what doesn’t.

My current thoughts on Incognito DMs/wrapped DMs is that I think the wrapped private events are a great idea that will likely be a core part of whatever the final system is, so that’s staying. But I’m not entirely sure about disposable identities/ephemeral pubkeys anymore. They are very simple conceptually, but they don’t play well with relays. Relays want real pubkeys, they want to know things are not spam. So I think the idea needs more work, but generally I’m optimistic that we can definitely find some system that both works with relays and preserves privacy.