nostr:npub1hqaz3dlyuhfqhktqchawke39l92jj9nt30dsgh2zvd9z7dv3j3gqpkt56s on the impact of bitcoin on culture and creativity
cc:
nostr:npub1zx0uydq67a62k5vhjcsvh0qvedk9ht9gz9t56et6j9k7wayj809qjghdct
nostr:npub13c0u5tuqr3vecks73saww2g4jzf3gvm3fh7pnplw7z7p4g0amp2q2ktzdl
nostr:note1d366nf7swtksd0hfguf9hha6w0x0u5hn57ngf9xspeq7xytk5dqqtp2urm
I agree with pippellia that follows are dominant for a good reason, and they’re a good place to start.
Unlike pippellia, I am ALSO very interested in creating new types of interactions like those proposed in Constant’s article. This does not require bootstrapping a new network effect, assuming we can layer the new data (what’s proposed in the article) on top of the starting data (follows).
Arguments that take the form: “I don’t like method A because method B is better” don’t apply when you can use methods A and B together and get something better than either method by itself. It’s not an either-or. It’s both-and.
I know, but not limited to author(s)/WoT.
This is essential to avoid the easy spam that make hashtags hated by nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6
You could use a relay.tools relay which supports hashtags and has a built-in Web of Access (WOA) feature to eliminate spam. Spin one of those up, add it to your relay list and it should do what you want.
nostr:npub1fvmadl0mch39c3hlr9jaewh7uwyul2mlf2hsmkafhgcs3dra6dzqg6szfu
nostr:npub10npj3gydmv40m70ehemmal6vsdyfl7tewgvz043g54p0x23y0s8qzztl5h
Agree 💯 %!!
Perhaps the upcoming nostr:npub1healthsx3swcgtknff7zwpg8aj2q7h49zecul5rz490f6z2zp59qnfvp8p WoT-a-thon will provide a little extra impetus for someone to build this!
#wotathon
I think that in practice randomness is usually injected (on purpose) so that you would not get the exact same response with the same prompt, but in theory if you turn the temperature down to zero (no randomness) then it becomes fully deterministic.
Are code repos going to be replaced by prompt repos?
Some writes a prompt to build an app from start to finish. Then someone else forks the prompt and improves it. Maybe it’s a collection of prompts: backend, front end, etc.
#vibecoding
This is a scarily good story.
nostr:note170074vsl4ydlf4afepln84dspqtll3z046cu6zjmhqq20ef839mqu00mry
Does Nostrbook MCP support any custom NIPs? Or is it restricted to the formally approved NIPs?
Cool.
Vitor I don’t see Trusted Assertions on the NostrHub Custom NIPs repo - would you like to add it? Or I can, I’m already on here editing the Decentralized Lists nip. But it’s yours so probably should be you.
This is going to be exciting! 💜🔥
nostr:note1klmknts5p6du5xwgenf2sg3x30hl33f4976hr6wdtr2zgmac8t0qnmn467
This kind of content curation requires lots of thought on the part of the app devs. You want to make it complex enough to fulfill the needs of the community but not too complex to make for a bad UX.
Example: you could create categories of “musical experts” with exceptional taste in music, then give those experts more control over content curation. Then maybe create a metric that ranges 0-5 for how much control to give to each expert. Is this too complicated? Not complex enough? Are these the wrong lists to curate? What are the right lists? Who makes these decisions, anyway?
A case can be made that a client like tunestr should run its own WoT service (which could be a Brainstorm instance, or could be a competitor service which I hope will exist someday), which will calculate personalized metrics that the tunestr community decides are worthy of being calculated. The leader(s) of the community will carry a lot of responsibility deciding which details to delegate to individual users and which decisions should be handled by the community leaders.
Assuming the users and leaders can be found, GrapeRank provides a clear and detailed path to implement all of the above. I don’t know of any other protocol for which that can be said.
I’m writing up an article that describes how a client like tunestr can use this nip to do exactly that - let users define content types.
Example: tunestr create a category called Musician Categories. Then users add items to this list to create content types:
- Country Music Artists
- Pop Artists
- Jazz Artists
etc
Each of the above is a kind 9999 note which specifies that items expect a p tag (the musician). Your grapevine decides which Artist Categories to accept.
Users also contribute individual musicians to each category, also using kind 9999 notes. Other users endorse or reject items using kind 7 reaction events. And your grapevine users all this data to decide which list items to accept / reject.
Imagine using the Decentralized Lists custom NIP to create a list of “pubkeys whose npubs I’ve verified with the owner in detail in the flesh in real life”. Maybe a shorter title but the description could be as detailed as desired.
Then use Trusted Assertions to fetch the “rank” metric and using that to curate the list.
There you go, decentralized proof of personhood.
A simple cypher query of my graph db shows 13 npubs that have muted themselves 🤷🏻♂️😂
🧠 ⚡️ 🍇
nostr:note19dl6a6rhd6xff4y3vcwlyx72dc2tyxv55p8z3y26hwlc5y0dh5es6vhqgq
The Decentralized Lists NIP is basically a way to communicate that A is an element of B.
“A is an element of B” is the primitive upon which all of set theory can be built. Which in turn can be used as the foundation for all of mathematical physics.
To bring WoT to nostr, we need two primitives:
1. a way to ask questions
2. a way to answer them
or, stated another way:
1. a way to represent information
2. a way to curate information
or, stated another way:
1. the concept graph
2. the grapevine
or, stated another way:
1. Decentralized Lists (Custom NIP)
2. NIP-85: Trusted Assertions
or, stated another way:
1. math
2. physics
nostr:nprofile1qqs2m82zyqlayjqw5tjuf3j9jwszwuy2a03tq24xp0tmr4nxm2jmprgpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcprfmhxue69uhkummnw3ezu7n9vfjkget99e3kcmm4vshsyzk6nq block 133 confirmed.
It was a pleasure to have nostr:nprofile1qqsw2feday2t6vqh2hzrnwywd9v6g0yayejgx8cf83g7n3ue594pqtcpzpmhxue69uhkummnw3ezuamfdejsz8rhwden5te0dehhxarj9e3xjarrda5kuetj9eek7cmfv9kqpuetl5 on the show to talk about his journey and all the exciting developments in web-of-trust on nostr.
More info soon on the upcoming #WotAThon and the prize pool 👀
I enjoyed it very much. Thank you Avi for having me!
Now LFG!! 🔥
GM nostr! ☕️ ⛅️
I know of two nostr profile keyword search services that use some kind of WoT score to stratify results:
nostr:npub1th6r23tltjuy6r498z90hlg092yx0ddk5a700xdkytdqjgfhmrysceymrz which calculates a trust score, although I’m not sure how.
nostr:npub176p7sup477k5738qhxx0hk2n0cty2k5je5uvalzvkvwmw4tltmeqw7vgup ‘s npub.world which uses personalized pagerank
What other similar services are there?
#asknostr
Would be interesting to set up a routine to request large volume FOIA and see where we get redactions or other forms of pushback. Like all congressional email correspondences. Put out a monthly report called “I don’t know what they’re hiding, but here’s where they’re hiding it”. Or even better, have AI do the analysis and update the report in real time.
nostr:npub1v6z4srj4ktch4f3ee9ze2zp7ml4n9rshttmntpamfed0nvpev5fszzuq49
nostr:npub1clk6vc9xhjp8q5cws262wuf2eh4zuvwupft03hy4ttqqnm7e0jrq3upup9
Just tried GPT-5 on windsurf. Impressive.
Think I just managed to do it using #nostrudel - the Swiss Army knife of nostr!!
Yes to open source - check out the link in my bio (straycat.brainstorm.social) to see an older version of Brainstorm and a link to the github repo. A lot of features are live, including a table with PageRank and GrapeRank scores for about 350k pubkeys and lists of reported users that are curated by your Grapevine. Imagine using tags instead of reports, and we’re getting close to genuinely decentralized curation of any arbitrary list. The main issue I’m working on right now is how to keep the neo4j graph database current without running into memory issues and crashing of the graph db. (Gotta hate java!! 🤦🏻♂️ 😝) So I don’t recommend spinning up your own Brainstorm yet. But hopefully soon!!!
We don’t have to choose between follows vs user interactions vs something else. Our trust graphs are ultimately going to incorporate all sources of data available to us: follows, mutes, reports, reactions, replies, zaps, etc.
The key to making this work is a step that I like to call interpretation: find some raw data sources (like replies and other user interactions), execute a script that translates the raw data into a standardized format that is ready to be digested by your trust score calculation engine. This is how GrapeRank works.
My goal is to create personalized WoT relays that use GrapeRank to calculate contextual trust scores, with interpretations tailored to fit your personal preferences and beliefs.
We have all grown accustomed to the idea of global reputation scores. But I think we will see — are already seeing in nostr — a change in focus and mindset from global to personalized WoT scores. Your npub doesn’t have a personalized WoT score until you specify the observer npub. You have to ask: what is your npub’s score, as calculated from some other npub’s perspective.
Ultimately, the access to sophisticated, contextual, provable, personalized WoT scores is going to unlock value in ways that we’ve never experienced or perhaps even imagined.
Right now I’m working on a personalized WoT relay that will use these methods to determine your WoT, which means you won’t need a service to do it for you.
My progress so far:
✅ strfry and neo4j on single server
✅ bash script to load events from strfry to neo4j
✅ strfry plugin whitelist and blacklist
✅ personalized PageRank and GrapeRank calculations, both with the assistance of neo4j
✅ bash script to query neo4j and export json files of pubkeys which can be read by strfry plugin and used as whitelists and blacklists
Current hurdles:
- automate the transfer of data from strfry to neo4j to handle streaming data
Once I put together all the above puzzle pieces, my plan will be to write a document so anyone can set up their own personalized WoT relay.
And if all goes well, maybe the above features will make their way into nostr:npub1fvmadl0mch39c3hlr9jaewh7uwyul2mlf2hsmkafhgcs3dra6dzqg6szfu ! 😃
You can go to grapevine-brainstorm.vercel.app and calculate your personalized scores, which means all scores are from your perspective. If you want to see your score from a different pubkey’s perspective, in theory that could be done but my site doesn’t currently do that.
Great overview and intro to strfry by its creator nostr:npub1yxprsscnjw2e6myxz73mmzvnqw5kvzd5ffjya9ecjypc5l0gvgksh8qud4 🔥
Includes a nice overview of #negentropy. Which seems pretty awesome although I hear not many people are using it. Why would that be? I’m considering it as a tool to sync :NostrEvent nodes in my neo4j graph database with one or more relays.
1. Sovereign WoT enables you and your community to identify who is the most trustworthy, and in what context, to curate content, facts, and information.
2. Proxy indicators of trust have their uses but they are a crutch that we must wean ourselves off of. Explicit trust attestations are essential.
3. Explicit trust must be contextual. A nostr follows list can be loosely translated / interpreted as “Alice trusts Bob to curate (or maybe merely to create) nostr content for her nostr feed.” Context should have an action and a category. Examples: “Alice trusts Bob to recommend movies (the action) in the category of sci-fi (the category)” or “Alice trusts Bob to edit her Wikifreedia articles (the action) in the category of economics (the category).” Or “Alice trusts Bob to edit ontologies (the action) in all WoT-related categories (the categories)”
4. Sovereign WoT must be portable. Not limited by nostr clients. Not even limited by nostr.
5. ANY and ALL of these and more. Sovereign WoT must be portable beyond nostr.