Oddbean new post about | logout

Notes by hodlbod | export

 Now don't get me wrong, I love that nostr:nprofile1qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qg3waehxw309ahx7um5wgh8w6twv5hszrnhwden5te0dehhxtnvdakz7qghwaehxw309aex2mrp0yhxummnw3ezucnpdejz7qgcwaehxw309aex2mrp0yhxvmm4de6xz6tw9enx6tcqyrj0d90stwc9kgcj2hxvu028rwxhn3j2vk7vcq2xvtf87rm7jggfy9c9dz5  is bridging podcast boosts over to nostr, but there's definitely some UX work that needs to be done. This note was auto-published from fountain, and it basically works, but it's missing a little bit of context and strikes me as a self-aggrandizing thing for someone to do (if for example I did this manually). Anyhow, food for thought.

nostr:nevent1qyw8wumn8ghj76r0v3kxymmy9e3k7unpvdkx2tn5dahkcue0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qg5waehxw309ahkumredehhgetn9ekx7mp0qyd8wumn8ghj7urewfsk66ty9enxjct5dfskvtnrdakj7qgkwaehxw309ahx7um5wghxgct5vyhxsct4wvhsqg8r8rul7r9qhs86t0m5zdlkp4gwv9rwfmsdl4j0s3eygc2yj7d57uj8rvey 
 Watched this great "video essay" over the weekend on the death of the internet:

https://www.youtube.com/watch?v=5gNLViWfCA0

It traces the history of the early social platform companies, why they rose and fell, and makes some predictions about the immediate future of the bot internet.

He also cites this video by Maggie Appleton on designing AI products for human flourishing, which was also very good:

https://www.youtube.com/watch?v=VXkDaDDJjoA

Blog post version:

https://maggieappleton.com/ai-dark-forest

This sent me on a bender of watching conference talks. Causal Islands (where Maggie gave her talk) wasn't that great, but it caused me to remember Strange Loop, which remains an amazing conference.

I listened to three Strange Loop talks on Saturday (while raking the thatch out of my lawn), on birdsong as music, programming by voice with Cursorless, and a history of Go, all of which were great. 
 Appreciate you!

https://fountain.fm/episode/TobAyjgm7GZ1W3L4iR1R

nostr:nevent1qvzqqqpxquqzqav8jg3a0kkuutwpfyvtm9veshvg4dcads87c2gze35l3n63zvn4gdnl9y 
 nostr:nprofile1qyt8wumn8ghj7mn0wd68yetvd96x2uewdaexwtcppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qgkwaehxw309aex2mrp0yhx6mmnw3ezuur4vghsz9nhwden5te0v4jx2m3wdehhxarj9ekxzmny9uqzqcufhejfreakj05lx68vaz8u69zlqlqx35kphwhyy3aekhh588fj8uwlut  is your node offline? Let me know and I'll retry the keysend.
https://image.nostr.build/73adb14b4b7733348e937d3862f1bb9f65e9db2a3e09d06136567ea092504e9e.jpg 
 I think I did a zap boost 
 I clicked boost in the app, and I believe what happened is they did three keysends (or maybe abstracted over keysend/invoices), and issued a single zap receipt as a result. And also quoted it in a kind 1, but I understand that part. 
 Sure I'm a 10x programmer, 10x more mistakes 
 What's going on with the Coracle feed.  I used to love it?  Now every time I refresh, I have to g... 
 Hmmm should be follows by default. Can you send a screenshot of the filter edit dialog after a refresh? 
 Who shows up in the feed initially? I have a hunch it's my default follow list 
 #asknostr
can I #selfhost run #coracle social? in #docker? 
 Yes, I believe someone even contributed a docker file a while ago too, although I donct know if it's up to date 
 🔍 #AskNostr 🔍

For discovery of new people to follow, is there a ‘people you might like... 
 There is also a min_wot filter you can use if you go to advanced mode, but it requires reading the spec. Also, a way to hack the feed is to add a kinds filter for kind 0, which will show profiles instead of notes, although it will sort results by most recent profile edit. 
 Alternatively we can have a “merged list” view that takes any number of lists as input into a... 
 Yes indeed 
 my wife described our gym as "an introvert's heaven" and it made my heart so full 
 Sounds like my kind of gym 
 Guess I'll have to build my own 
 LESS THAN 200 YEARS AGO OVER 400K PEOPLE WALKED ACROSS AMERICA TO BUILD A BETTER LIFE BUT YOU THI... 
 The government isn't subsidizing nostr though, we should start lobbying 
 nostr:nprofile1qyt8wumn8ghj7etyv4hzumn0wd68ytnvv9hxgtcpz4mhxue69uhkummnw3ezummcw3ezuer9wchszxthwden5te0wfjkccte9eekummjwsh8xmmrd9skctcppemhxue69uhkummn9ekx7mp0qyv8wumn8ghj7un9d3shjtnrw4e8yetwwshxv7tf9uqzqgjs76tffs4y8y57wljaurm2vxh9udapaekk5waw79cxakvszfytrula8k  why no search on the site? First thing I always want to do when I get there.

Also, I'm trying to favorite stuff logged in with nostr and getting "Please login to add to your favorites list." 
 9/11 has become my favorite day to be on nostr for. So many people here get it. I felt very alone for a very long time. Maybe it should actually be a holiday: Truth Day or something. 
 😂 
 It's within the overton window to talk about it in my community at least, but I think it's not something people seem to have much of an opinion about any more. 
 Web of Trust question for developers:   Could it be that you are putting all 2-degree pubkeys int... 
 Yeah, but I shuffle and slice to 1000 pubkeys to avoid sending huge messages. To avoid this you'd have to do bloom filters or have relays know your follows. 
 This is great. And I learned something. I'm now pro-relay hints, just for the pathological scenario. 
 Remember when we had physical photo albums and we’d get them out when people came over and look... 
 My wife prints tons of family photos, it is a huge step up, especially for my kids who can pull them out whenever they want. 
 e2ee private communities. 

that’s what brings people to nostr. 

bet. 
 These already exist in Coracle, albeit in a very provisional status. Hoping to eventually take it to the next level with MLS. 
 Uh oh, it's an Apple Enjoyoors day. Maybe I'll just log off. 
 What say you, #Nostr? Do you like the idea of your reports in #Amethyst very likely showing up as... 
 Having diverse clients is good because it supports user choice. Implementing certain features in such a way that it hijacks other clients' feature set to support your opinions about how they should be built seems antithetical to user choice and an open protocol. 
 How am I forcing anything? I'm asking you to make a change I think serves your (and my) users. 
 Because my users also use Amethyst, and the many clients and algorithms that consume reactions. Because when people try nostr and see these sorts of interoperability problems, regardless of whose "fault" it is, they have a bad experience.

I've only argued this for two days because you seem unwilling to understand my point. I thought this would be a simpler conversation, because you're a reasonable person. You don't have to do anything you don't want to, but the feature I'm advocating you remove seems to me to be both bad and unpopular. Feel free to disagree, but we should be trying to row together here, not break the user experience in clients we don't agree with. 
 I use the word hijacking because of what you said. "I always side with letting people know, even when their client doesn't want them to know." implies you're bypassing the design decisions of other clients on purpose. 
 Maybe people didn't mention it as a problem because they didn't know it was happening. It took a person seeing CSAM under their likes for me to hear about it. Most people who responded to my note are surprised about it.

I'm not trying to turn the mob against you, I just care about users not seeing child porn. I even contacted a lawyer from EFF about this late last year, because it's extremely concerning to me, for nostr in general. This is why I use Tagr. I've only spilled so many words on it because you didn't seem to understand my point, not because it's some moral crusade for me. I'm disappointed it had to turn into a flame war. That was not my intention. Internet 1, hodlbod 0 I guess 
 In a sense, but crafting events specifically to change the behavior of other clients just devolves into antagonism, it doesn't fix anything. 
 What if people were like sourdough, and whenever we "rested", we just swelled up and spilled all over the place 
 you'd soon merge into a single loaf, problem solved 
 I have a question for #amethyst  users. I'm not asking this to dish on nostr:nprofile1qyghwumn8ghj7mn0wd68ytnhd9hx2tcppemhxue69uhkummn9ekx7mp0qythwumn8ghj7anfw3hhytnwdaehgu339e3k7mf0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qpqgcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqss2dqr , but only because his users are my users, and I care about my users' (for lack of a better word) "safety" on nostr.

Currently, when you report something, Amethyst does two things:

- Publishes a kind 1984 report event
- Reacts on your behalf with a ⚠️ kind 7 reaction

TLDR; do you find the emoji reaction to be a problem? Full background below.

I've always been skeptical of public reports, because regardless of intent, they publicly and permanently associate your public key with objectionable content. This may be as harmless as reporting spam, which is fine to do publicly, or as sensitive as reporting directed abuse (sharing additional information about your associations), or reporting CSAM (which is a legal gray area in some jurisdictions, since it may constitute "advertising" the content).

I personally use nostr:nprofile1qyfhwumn8ghj7ur4wfcxcetsv9njuetn9uqsuamnwvaz7tmwdaejumr0dshsz8nhwden5te0dak8jmtsd93hxv3sxg6zumn0wvh8xmmrd9skctcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9nhwden5te0v4jx2m3wdehhxarj9ekxzmny9uqzqrezcph2cyqzdp80e35026z5p6p595tqn4gghn2rztqr3esef79kpu7u7y 's nostr:nprofile1qyvhwumn8ghj7un9d3shjtnndehhyapwwdhkx6tpdshszymhwden5te0wp6hyurvv4cxzeewv4ej7qg4waehxw309aex2mrp0yhxgctdw4eju6t09uq3qamnwvaz7tm99ehx7uewd3hkctcpzamhxue69uhhyetvv9ujumn0wvh8xmmrd9skctcqyptdfv7kxy86mdeffdlsgx4tg6w9llyfjxcmrve3nqdedgjx76hx2a33ch8  to anonymously and privately process reports in Coracle, because I want to protect my users as much as possible. But I'll admit that use of kind 1984 is nuanced and open to debate.

Much worse than using kind 1984 though, which semantically fits the concept of "reporting", is using reactions to signal reports. First of all, this doesn't really add any new information that kind 1984 doesn't already contain. It also has the effect of generating content on behalf of a user that they may not know they're consenting to.

In many clients (formerly including Coracle), "likes" are not filtered down by emoji, and so these kind 7 "reports" end up showing up as "likes". Completely fixing this problem is impossible, because it requires mapping a high-fidelity subjective medium (emojis) to a low-fidelity objective medium (up/down vote) in order to show likes. This can only be done with a reasonable degree of reliability for a very few emojis. This creates a problem for like-based clients in that lots of reactions can't be included in like tallies, resulting in lower social signal.

At any rate, I implemented the partial fix of whitelisting "obviously positive" emojis when calculating "likes" a long time ago, because reactions can be negative. I however didn't apply this to the "likes" tab on user profile pages, which was brought to my attention earlier this year when an Amethyst user asked me why a bunch of CSAM was showing up under his "likes". He wasn't aware that "reporting" in Amethyst created a public record of his consumption (unintentional or otherwise) of illegal porn.

This problem has since been fixed in Coracle, but likely still occurs in other clients that haven't yet addressed this problem, "trending" algorithms, and coracle custom feeds based on retrieving kind 7 (since kind 7 sentiment can't be filtered against on the relay side).

This is a Really Bad Thing, because it results clients advertising content as connected with the person who had intended to dissociate themselves with it. While clients processing reactions can mitigate this, the root issue is that a field for user-generated content is being overloaded for use in an application-specific context.

So, that's my opinion. What do you think? Do you find it surprising that reports in Amethyst may be treated as "likes" in other clients? Is it Amethyst's fault for creating the reactions, or other clients' fault for not filtering them out?

For more discussion, see the thread on github: https://github.com/nostrability/nostrability/issues/88 
 The reaction version actually predated kind 1984, so there are reasonable historical reasons for this to be the case. Still, I think well past time to remove it. 
 > the solution would be a negative/positive tag added to kind 7s i think?

That would just put the burden on the publishing client, the sentiment has to be provided by the user in most cases (heart and thumbs up being probably exceptions).

> it was because for whatever reason, alby signer had locked my key and refused to sign it

I've experienced this too, nostr:nprofile1qyvhwumn8ghj7un9d3shjtnddakk7um5wgh8q6twdvhsz9thwden5te0wfjkccte9ejxzmt4wvhxjme0qy88wumn8ghj7mn0wvhxcmmv9uqzq2elcsa8ln3q4cfr0zl3dx2nkw27q4w8jf5qgurw2nds3fydqyx9rhygy4  you aware of this? 
 > i mean, you can't expect everyone else to search for 1984s as well for every single event you fetch???

Why not? It means something different from a reaction, so if you want to know about them you have to ask about them 
 Most of the network seems to disagree with you. Reactions are a great source of social signal. Yes, clients should be smarter about not over-simplifying the meaning behind emojis. But you're missing my point, which is that coupling reactions with reports is also bad. I know you keep saying that's not what you're doing but... it is. The same button does both things, and you only tell the user about the report, not about the reaction, 
 Agreed on all points, with the qualification that there are probably some emojis you can safely map to + (❤️ and 👍) come to mind. But I could probably be convinced otherwise. 
 That's fair. Human language is much more than can be compressed into a binary up/down vote, even for the simplest single-character pictograms. 
 Does reporting auto-mute as well? After I sent this you were suddenly muted in Coracle. 
 I'm beginning to wonder if binary likes are even really feasible. Having two kinds of reactions (likes vs emojis) cuts possible social signal in half, which doesn't seem great. Mapping emojis to likes appears to be basically impossible. 
 Also, stop asking users how to make your client better if you don’t want to hear “gif button... 
 I've never been able to get a straight answer on this — why not use the one on your keyboard? 
 F8 
 If you are seeing lots of replyguy spam make sure you aren’t casting a massive net and adding a... 
 Could be too short a timeout, I have a new release coming soon that reworks some of this 
 I'm not a fan of using PoW as a spam filter because having enough pow on your phone to post will ... 
 Use outsourced PoW as a bootstrap mechanism when no WoT is available 
 nostr:nprofile1qyw8wumn8ghj76r0v3kxymmy9e3k7unpvdkx2tn5dahkcue0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9... 
 Hoping to add more granular control: https://github.com/coracle-social/coracle/issues/209 
 Hey, nostr:nprofile1qqsf03c2gsmx5ef4c9zmxvlew04gdh7u94afnknp33qvv3c94kvwxgspr3mhxue69uhksmmyd33x7... 
 How many people you follow also follow that person. You can hover over it on desktop for more information 
 nostr:nprofile1qyw8wumn8ghj76r0v3kxymmy9e3k7unpvdkx2tn5dahkcue0qyd8wumn8ghj7urewfsk66ty9enxjct5df... 
 I agree, thought that many times myself. I'll make sure there's an open issue! 
 IRC 
BITCOINTALK 
REDDIT
TWITTER 
NOSTR 

bitcoin culture is a movable feast. 
 Not much, people don't seem too interested in using it. Probably my fault for a poor UX and poor marketing. Gotta meme it into existence. 
 Thanks, this series has been really difficult to put together, glad you're getting something out of it. 
 Right there with you man. Although my MacOS gif keyboard stopped working recently, so maybe that's what everyone is dealing with 😂 
 nostr:nprofile1qqsf03c2gsmx5ef4c9zmxvlew04gdh7u94afnknp33qvv3c94kvwxgspr3mhxue69uhksmmyd33x7epwvd... 
 I think the bootstrapping should be more open-ended, and I'm skeptical of stuff that tries to put things on bitcoin. OTS is a neat idea, but it's centralized in practice, and isn't long-term economical. This seems similar.

That said, it could be one good way to do it, although my ideal would be to use the web of trust to validate bootstrapped-trust providers, who would vouch for new pubkeys (using a badge or something). How the new pubkey gets that badge would be completely open-ended — it could be a captcha, payment, proof of work, KYC check, whatever. The badge would then expire after a short period of time, during which the new user would want to gain followers to get into the web. 
 Slight improvement over OTS, but it still depends on validators to run a bitcoin node (which is not a huge deal, but definitely an additional piece of infrastructure). Much worse is that this requires users to know how to sign a message with their bitcoin key, which is a non-starter in terms of UX imo. 
 Yeah, that's a super good point. It could end up going that direction. I would hope that issuers would be kept accountable by the people trusting them, and get bad reviews if they didn't do their job, like anything else. That would allow for a decentralized system without a deep and brittle hierarchy like with CAs.

One problem with root CAs is probably that they're baked in to the OS/Browser at a low level, and need to be trustworthy for every request, rather than being a bootstrapping mechanism. The moment a root CA gets compromised everyone using a certificate downstream is in trouble. The same would be true of a WoT bootstrapping service, but the duration the certificate needs to be valid would be days or weeks, not years (taking renewals into account). 
 Not a spam arms race, those never work 
 A complete system that destroys spam would end the race. WoT is part of that, but it needs to be augmented with a bootstrap mechanism. The narrow gate into the network would be either social onboarding, or some kind of expiring proof of humanity (captchas attestations by a trusted provider for example). 
 Christians,

Help me out here. 

How does one feel strongly about Jesus? How does one have a pers... 
 Feelings and individuality are over-valued in modern Christianity. But it is possible to feel strongly about Jesus, as a real person, not as an abstract concept. To do that, you have to know who he is — this is best done by reading the gospels, which are in part his biography. This brings you to the same level of affection you might have for Tesla, or Vitruvius, or Archimedes, or whoever your favorite (most loved) dead historical figure might be.

Next, pray and read the Psalms (and pray the Psalms), because they are the words of Jesus, given by inspiration to David et al. This makes you an active participant in the conversation between God and the Church which has been happening throughout the history.

One other great resource for understanding the "loveliness of Christ" is a book by the same name, by Samuel Rutherford. It's sort of a mixture of all of the above, including personal and theological articulations of what Jesus should mean to the Christian. Especially good in seasons of grief, when God can seem most remote, and when Jesus can become most real.

https://ccmbooks.org/wp-content/uploads/2015/05/loveliness_2012.pdf 
 I'm a pretty poor philosopher, but it's ok, I'm also a pretty poor developer so it all evens out 
 That's great to hear, I loved that presentation but figure it was probably pretty arcane for most people. The above note is just my way of saying I'm way in over my head. And I wouldn't have it any other way 😂 
 WoT scores wouldn't work as well if everyone followed everyone back. (Remember there was that wav... 
 What login method are you using? I've had some troubles as well, trying to pin it down. 
 Is it just replies or are likes not working either? 
 Bot problem is easily solved with web of trust , much better than playing whack a mole with muted... 
 Unfortunately there are so many of them that someone in your network would have had to mute each one for that to work (unless you're going to set your wot threshold above 0, which is probably not that common) 
 Yeah, I mean if mute demotes. If not, then ignoring everyone with wot = 0 cuts out a lot of people you might otherwise want to hear from 
 I think we're actually being attacked. 
 I noticed my relay go down this morning too. Nostr in general seems just fine though! 
 Just need a show of hands for the price decision coming next week, is everyone happy with 58k, or... 
 Could you adjust it sideways, but to the left this time? 
 The most annoying bugs are big bugs that are the confluence of many smaller, interrelated bugs that look similar 
 why not both?