david's avatar
david
david@bitcoinpark.com
npub1u5nj...ldq3
neurologist and freedom tech maxi Co-Founder @ NosFabrica 🍇 Grapevine, 🧠⚡️Brainstorm, Tapestry
david's avatar
straycat 1 year ago
GM all fine people 🌞 ☕️ Today I’m using Windsurf to continue work on a personalized Webs of Trust relay. Yes that’s webs plural, bc there are many types of “trust” and many ways to calculate trust scores. Progress so far: ✅ strfry integration ✅ Neo4j graph db, Neo4j graph data science, APOC integration ✅ data pipeline from strfry to Neo4j ✅ follow, mute, & report relationships in graph db updated in real time ✅ periodic calculation of hops and personalized PageRank scores using neo4j ✅ periodic export of WoT scores as kind 30382 notes to the local relay Current tasks: - add personalized GrapeRank calculation - continue work on GUI - continue organizing it all as a nodejs package Future tasks: - add personalized recommendation pages to GUI - make scores available by API using WoT DVM - start cranking out CONTEXTUAL GrapeRank WoT scores 🍇 🧠 ⚡️
david's avatar
straycat 1 year ago
I just accidentally uploaded 90k events from an experimental protocol to relay.primal.net … sry guys next time I won’t forget —dir down when I use strfry sync I promise 😅
david's avatar
straycat 1 year ago
Take a look at this fantastic pen roll that I just received from the legendary nostr artist @Scott •••! Only one pen in it now but soon it will have many more! Have a pen lover in the family and need gift ideas? Hit up @Scott ••• for one of these. Pay in sats, #valueforvalue ! #artstr
david's avatar
straycat 1 year ago
Using Windsurf. This is absolutely incredible. 🤯 image
david's avatar
straycat 1 year ago
How long before AI can build an entire nostr app from scratch?
david's avatar
straycat 1 year ago
An example of something the FOSS graph database #neo4j makes super easy: calculation of the minimum number of hops it takes to get from a reference pubkey to any other pubkey. This can be used in a personalized grapevine WoT relay where neo4j maintains a graph of NostrUser nodes connected by FOLLOWS relationships, and the reference pubkey is YOU (you are always at the center of your grapevine!) You only need 3 cypher commands: MATCH (u:NostrUser) SET u.hops=999 MATCH (u:NostrUser {pubkey:'<reference pubkey>'}) SET u.hops=0 MATCH (u1:NostrUser)-[:FOLLOWS]->(u2:NostrUser) WHERE u2.hops - u1.hops > 1 SET u2.hops = u1.hops + 1 The third command repeats until no more nodes get updated, typically around 7 or 8 iterations. Each iteration typically takes well under one second.