Oddbean new post about | logout
 tried it with step 3, now that's all populated, did the re-calculation of Wot and Influence score, still same thing on the page7

num pubkeys in local storage: 42759
num pubkeys included in event: 1
number of tags: 8
file size: 0.000002 MB
Publish button is active. 
 What does your grapevine calculations page look like? https://i.nostr.build/V550enxIo46ZYFNH.jpg  
 "OH YEAH, LOOK AT THIS, FOLKS! I'M TALKIN' ABOUT THE MOST POWERFUL SETTINGS SCREEN I'VE EVER SEEN! IT'S LIKE A WORK OF ART, BRO! AND YOU KNOW WHAT REALLY MAKES MY DAY? SEEING ALL THOSE OPTIONS JUST WAITIN' TO BE CRUSHED BY MY MIGHTY MOUSE SKILLS! AND SPEAKING OF CRUSHIN', I JUST LOVE THE FEEL OF MY NOSE TINGLING WHEN I SMELL THAT FRESH, NEW-TECHNOLOGY AROMA! IT'S LIKE A DELICIOUS COMBINATION OF SILICON VALLEY AND SWEDISH STEEL, FOLKS! OH YEAH, THIS IS GONNA BE GOOD!" 
 same as yours.. https://i.nostr.build/98YGFuT7FbCSy8zW.png

should I try a different browser?  I could try FF.  (currently chromium with Nos2x) 
 "WOW, LOOK AT THAT! THE NEW CHROME BROWSER IS A REAL BEAUTY, FOLKS! I LOVE HOW IT'S PACKED WITH ALL THOSE CHROME CHROME CHROME CHROME... YOU GET THE IDEA! AND LET ME TELL YA, I'M HOOKED ON THIS NOSTR THING - IT'S LIKE A BREATH OF FRESH AIR IN THIS DIGITAL WORLD! SO FAR, SO GOOD, BROTHER!" 
 Yup, might be worth trying. I have only tested it with Alby, not nos2x. Perhaps it’s an event signing issue? Do you see any console messages? 
 ```
{"event":{"created_at":1723424859,"content":"","tags":[["P","tapestry"],["wordType","influenceScoresList"],["w","influenceScoresList"],["d","influenceScoresList"],["title","Grapevine WoT Scores List"],["description","a list of nostr users and their associated Grapevine WoT Scores as calculated by the Tapestry Protocol"],["c",""],["p","7cc328a08ddb2afdf9f9be77beff4c83489ff979721827d628a542f32a247c0e","","1"]],"kind":30000,"pubkey":"7cc328a08ddb2afdf9f9be77beff4c83489ff979721827d628a542f32a247c0e","id":"d11a85b5558a0b06e75629b93a024d544ac81733fd453f98204a1054d5ee76b0"}}
``` 
 I don't see anything that sticks out in the dev console... it just shows this event and that's it .. (and then the rejection when I reject it from nos2x) 
 The fact that you have one pubkey means that the function in question is being called. Hmm. 

I have an idea what it might be. Just made a minor edit to the function and pushed it. I’ll tell you when it’s live. 
 One pubkey in the tags field that is 
 I do see one error on the console prior to attempting to publish the list, it has a websocket error connecting to relayable..  but other than that, no other messages.  It prompts me for my pubkey, and I authorize it, then it pops up that mostly empty list.  Then when I click publish, same event.  Could it be a race condition when it's asking for my pubkey?  It shouldn't need to re-ask that really, since I was already signed in.. 
 I don’t think that should be it.

Change is live, tell me what you get now. 
 ok now it has a list! all the scores are NaN or null but it has a lot more ptags.  I tried publishing this one.. it said it published, just looking through the relays for it now 
 Ok progress! 

Try navigating to some profile pages and see what the influence score is. Should all be in the range between 0 and 1, mostly close to 1.

Or go to the table of all users (icon top right next to settings icon) and look at the scores there. 
 I can see your list on listr.lol 
 And on njump.me/nostr:naddr1qqfkjmnxd36k2mnrv4fkxmmjv4e5c6tnwsq3gamnwvaz7tmjv4kxz7fwv3sk6atn9e5k7q3q0npj3gydmv40m70ehemmal6vsdyfl7tewgvz043g54p0x23y0s8qxpqqqp6nqhgqxju 
 Oops, wrong url 

This should work:

https://njump.me/naddr1qqfkjmnxd36k2mnrv4fkxmmjv4e5c6tnwsq3gamnwvaz7tmjv4kxz7fwv3sk6atn9e5k7q3q0npj3gydmv40m70ehemmal6vsdyfl7tewgvz043g54p0x23y0s8qxpqqqp6nqhgqxju 
 Sweet!!! check it out https://i.nostr.build/0C5K2FOd2ZfthUiZ.png 
 WOOHOOO!!! 
 Although we still gotta get the scores fixed … those are probably the wrong 1000 pubkeys! 
 yeah haha!  this is cool, ya scores would be good.  I tried one more trick, giving nos2x automatic get-pubkey, still scores were NaN 
 Are they all NaN or null in the table? 
  https://i.nostr.build/D5446KiD2aJAblP7.jpg  
 Oh i just noticed this page, ok nice!  So the influence scores are *not all Nan in the profiles, when I search for 0 or 1, i find those.  so the event must be getting those NaNs in the first 1000.  and wot scores are there too.  they're all just integers, is that right? (except the NaNs), your screenshot shows float values..
https://i.nostr.build/gDycFefuEFG6PMxm.png 
 Ok cool, glad you found that! And looks like I’ve recreated the same error as you (see my other post).

DoS and WoT scores should be integers, but Influence, Average Scores, Certainty and Input should be float. A lot of influence scores will be either 1 (almost certainly not a bot/scam/bad actor; ie a “regular user”) or 0 (bad actor until proven otherwise). A lot of influence scores will be 0.9xxx, meaning probably not a regular user, but maybe less than 1 bc got dinged by a mute or two, or maybe just doesn’t have enough high quality follows yet to have achieved a score of 1.000 
 I just tried using a different profile on chrome and there is an error calculating the influence score — all are 0, except for my main profile which is NaN. Strange. I bet this is encountering the same error you’re getting. Maybe bc I had previously logged into chrome with my main profile? Some memory problem (I’m using redux) and it’s not being sufficiently cleared at logout, like maybe redux is showing two profiles labelled as logged in … Also I see an error calculating the certainty, which is a step in calculating the influence score, bc all the certainty values are NaN (except for the logged in user). 

I’ll have to dig in to see why that’s happening. Won’t be able to tonight though. In the meantime you could perhaps try several diff browsers — I’ve been using brave on macOS mostly and that calculates scores correctly for me. Or try a browser you haven’t used before for brainstorm. https://i.nostr.build/jijQxtDG2XnNQFk3.jpg  
 I see why you wanted the NIP-51 list — you already had NIP-51 imports working.

Perhaps I should build a control panel so you can decide who goes on the exported list, either top N or cutoff by some threshold. And I can add the DoS and WoT scores to the list — maybe optionally since that will increase file size. 
 yes, i have the UI already pulling lists, and it can sync them, "by name".  So if i was creating lists I'd probably use the same set of names, and replace them when I recalculate. 
 Once I figure out how to fix the NaN bug, maybe I’ll work on a control panel so you can better tailor the lists to your needs. Let me know if there’s any particular feature that you’d like to see! 
 One thing you can do: on the table, filter using multiple columns. Influence above 0.5, DoS less than 4, stuff like that. And top left of table shows how many profiles made it through your filter. Perhaps I could add a button to export the filtered table as you see it, as a nip-51 list … ? 
 ah, yes i see the filters now.  I applied the one you mentioned and my pubkey was the only match.  all good, yeah once i get some numbers flowing I'll have more an idea of what I would filter by.  curious how many thousands we're talking about etc.. 
 Usually I’ll end up with something like 35k downloaded, maybe 34k with a nonzero influence score. Anyone connected to you by follows will have a nonzero score, even if many many hops away 
 I think I’ve fixed the NaN bug - one of the variables used to calculate influence scores was not being updated properly. Log out and back in and should be fixed now. 
 sweet, running a download/calc cycle now 
 If it still doesn’t work, go to Grapevine Settings and make sure none of the parameters are NaN — I think that is what was causing the problem. Reset button at bottom should do the trick. 
 this is working good now! scores look legit and i published an updated list 
 WOO HOO!!!! 🔥 😃 
 Let me know if you want to increase the number of profiles per list. Or any other changes or features you want to see. 
 this is really, really cool, 🎇 ill get it going locally so i can play around w different filters or relays or see how to help. some really interesting numbers and i want to explore feeds of things like 'lowest influence >.006 <.1 is still over 10000 pubkeys for my calculation haha 
 Awesome! I think it’s going to be fun to think about what to do with scores in ranges like that. Your goal is to eliminate spam from your relays, which means prohibiting anyone with a score below some cutoff. But what is the cutoff that will best serve your purposes? Do you find out empirically? Pick a cutoff from first principles? Or use some other method? And what other data besides follows and mutes would you like to incorporate into the score? That’s the beauty of this method: it can synthesize data from multiple sources, and you can weight each source in whatever manner best suits your purpose. For example, I haven’t included zaps yet but might do that next. 
 it's interesting to me for the relays yes, but also as a nostr power user, I'm also interested in seeing new/different content from this context to switch up my feed.. I am going to load some more lists up and browse them with amethyst or gossip (both have easy list switching and outbox model).  i did that with the top 1000, it was very similar to my follows feed :)  I also will start publishing using a different relay list and maybe increase limits to 40k-50k and see how the clients perform when loading em. 
 Cool, makes sense. I def like the idea of using these scores for new/different content. Have you checked out the Content Discovery app on brainstorm? The system is set up to make recommendations in any context. I just need to add a button to export the lists. These lists should be much shorter but much more focused. Right now for example there are 4 users on the list for the “philosophy” context, generated bc people wrote nostrapedia articles on the topic of philosophy and then other trusted users liked those articles. 
 i'll check it out.  i experimented around, and currently melting gossip and amethyst with a list that's 3500 (.298mb).  It's chewing through it though, very interesting.  This size was about as large as I could get before hitting a problem somewhere with ndk.Publish, or the relay itself (although I set the relay to allow very large lists, so it should have worked to go up to 10k events and ~.9mb. 
 Trying out WoT scores now, looks like >25 wot for me, is about 3000 entries 
 From what you see on page 7, the last update def pushed. It’s as if a function didn’t get called that should have on page load. But the publish button should call it again. If you click publish, does anything happen? You should see a popup and also see a message in the console, both of which should show the event id. 
 yes, I did try clicking publish.  The event was the same (one pubkey, which is just my pubkey).  I didn't let it publish though, I tell nos2x to reject it and am just looking at the dev console and nos2x event json to confirm the potential contents.