I just wrote and published my latest post on Scaling Nostr, introducing Nostria — Your Social Network.
I'll do my best to work hard and make this a reality. Much has already been done, but a lot more to be built.
https://medium.com/@sondreb/nostria-your-social-network-9ece58118061
SondreB
sondreb@nostria.app
npub1zl3g...jajh
Founder of Nostria. Founder of Liberstad. Voluntaryist. Decentralize everything.
Notes (15)
Did some research on the columns widths on various social media apps:
Primal is 640 pixels.
X is 600.
FB is 680
Bluesky is 600 (lots of margin, horrible little space for content)
Threads is 640
Mastodon is 600
I'll go with 680 on Nostria, even though I'd much rather have more.
Question for Nostr client devs:
Badge definitions (kind:30009) should primarily stay on the issuers relays, right?
When someone issues a badge (kind:8), the client should publish on both creator and receiver relays.
Should the definition be sent too? I would say No.
Badge definitions (designs) can be updated, and if we send them to receivers, it means every update to the design, must also be pushed out to all previous issued user relays.
This means rendering the profile badges event (kind:30008) involves discovery of relays for each issuer of the badge, then query for the badge definition at those relays.
A user with 10 badges on their profile, could involve connecting to 40 (if each user has 4 relays in their relay lists) different relays to retrieve the definitions.
Pushing the definitions to receivers will optimize this (I can get definitions and awards from only relay of the current profile), but there are no true best way to do this so I'm asking what you all think?
GM! 

What is this, some kind of attack on Nostr? Pehaps someone can help investigate which kind 10002 or kind 3 event that has added these relays?
Started developing a new Nostr relay (the world cannot have enough implementations of Nostr relays), which is purely focused on being a Discovery Relay. It only supports kind 10002 and kind 3 ("fallback").
I realized there is no way that a lot of existing users on Nostr will begin to publish their Relay Lists, so I am also building an sync utility to grab Relay Lists from existing relays to populate this new one.
Performance will be the best of any relays, simply because the feature set is extremely small. While not that impressive with 600 event writes per second, it was reaching the limits due to using Node.js for my load tester utility. What was impressive, it was doing this at 2-4% CPU utilization and 55 MB RAM of the Discovery Relay software.
Running a sync from other relays, means that user's who do not adopt the suggestions from NIP-65 and my own interpretations of it, will still benefit as they will be discoverable in Nostria and other clients who want to improve scaling.
Let's go!
JavaScript/TypeScript should be your default choice of programming language. If you are doing open-source and looking for contributions and longevity, it's also better as it's the most used language in the world.
https://nolanlawson.com/2024/10/20/why-im-skeptical-of-rewriting-javascript-tools-in-faster-languages/
After Nostria finished the initial discovery process of people I follow, I was left with this list of "dead" relays. A lot of "digital rot". Might be a couple false positives, but I verified them all and it's mostly dead domains, 404 and invalid certificates.
https://m.primal.net/Qaaj.mp4
Taking a break from coding to enjoy a nostr:nprofile1qyxhwumn8ghj7mn0wvhxcmmvqyv8wumn8ghj7urjv4kkjatd9ec8y6tdv9kzumn9wsqzp4sl80zm866yqrha4esknfwp0j4lxfrt29pkrh5nnnj2rgx6dm622n97yv ... mmm 🤙
After discovery process of all my following, the result is that Nostria has given a timeout to all of these relays.
Nostr clients need to be good citizens and help user's maintain their relay lists and remove dead relays. I will also help users maintain their following lists, making sure they remove accounts that are stale.
https://m.primal.net/QZFi.mp4
The kind of things that Nostr developers need to deal with... Makes me wonder which Nostr client added this to the URL value?
People I follow that has published their Relay List to Purple Pages relay. Many accounts I think are not being used much, so they still only have the old relays on their following list.
lol, I was performing some actions on X and I thought it was on Primal 😂
Implemented the "People" feature in Nostria, similar to Blockcore Notes. Work-in-progress for sure, but looks awesome.
https://m.primal.net/QXCC.mp4
Anyone written an Nostr Implementation Guide yet, or maybe want to do it? With AI you can do it fairly quickly, it would be a good source for reference for Nostr client developers.
For example, there are two competing file media protocols, should developers care about NIP-96 or go with Blossom?
Many other questions that are not really answered in the NIPs themselves, but this guide could explain how different clients have understood and implemented the protocol.