Oddbean new post about | logout

Notes by Magister Michael Dilger M.Sc. | export

 hey nostr:nprofile1qqswuyd9ml6qcxd92h6pleptfrcqucvvjy39vg4wx7mv9wm8kakyujgpypmhxue69uhkx6r0wf6hxt... 
 If you and your partner both have published 10050 DM relays, then it will use NIP-17.  Otherwise it has to fallback to NIP-04.

If it doesn't post to the DM relays and doesn't say ok=true, then maybe something is up with the relays? I'll look at my logs after I post this to see if it is just a change in how we are logging.

If the relay requires AUTH first, it remembers what it is doing (logged as "corked") and after AUTH it retries the corked subscriptions. 
 Ok we just don't log the "OK=true" anymore.  We only log the "OK=false".  But you can see the "Posted event to" lines to see all the ones that were tried.

Sometimes nothing is corked and retried if you don't authorize AUTH to a relay. 
 It certainly must post to their inbox relays. That is the whole point of inbox relays. If it doesn't, that's a bug. 
 I've been in one of these hatches at Clearlake, CA many years ago.  Couldn't drive, had to pull over since the windshield was completely covered in insects. 
 On nostr I’m seeing a side of what’s actually happening in Venezuela right now that none of t... 
 I probably shouldn't post because I know nothing.  I just wanted to say that we are in the "fog of war" phase and either story could be true.

Could be that Maduro is using military force to "win" an election where the people are mostly voting against him. I see evidence of him using force, and also of lots of people reporting that he is widely disliked.  The longer a leader serves, usually the more disliked he is, so it's quite possibly true.

Could also be that foreigners like the CIA are staging a coup against him, paying for rent-a-revolution mobs (people do anything for money) and spinning the media. They have been trying to oust him every election so far.

I don't trust anybody and luckily for me it doesn't matter. 
 Very insightful to notice that it doesn't have to be just one or the other. 
 WTF!! 🤦🏻‍♂️

My neighbor just told me that he owns a couple of pounds of gold, betwee... 
 I ask myself that whenever I play chess:  "Why did I not see that bishop!  Why can't I think through these moves?!" 
 Putin had the chance to frontrun Trump with that Trucker interview, but he choose to speak about ... 
 As to all the "China bad" talk, I find Jeffrey Sachs view interesting.  He points out China's borders have been almost enitrely the same for 2200 years, it never attacked Japan (Mongols did 700 years ago, Japan attacked them twice), it never established colonies around the world, it hasn't been in a war for 40 years (1 month against Vietnam), ...  and this is the country people think is beligerant and expansionist? 
 Straight up dope

nostr:nevent1qqspmja2zxwyjun9zg8qd0d598cjkuf9lj80mlm09xh6yk86jac49dspzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcp7t7q5 
 I'm waiting for the "everything else you are playing with" memes 
 The best numerical base to count in is base 10.

In that last sentence, I used the best base to express the best base. 
 I found a couple CV joint bearings while walking the dog on our private road today. My truck is fine. I wonder who has the car with the exploded CV joint. 🤔 
 About 3 days ago in the USA, there was a news story about Russian and Chinese bomber jets patrolling near Alaska within the Alaska Air Defense Identification Zone.  They were met by fighters from USA and Canada.  We are told that Russia and China are sending a signal that they can "bring it".

I looked for maps showing where exactly this happened. None of the stories I could find show a map, but some of them have a photograph from the sky, such as this one:
https://www.nbcnews.com/news/us-news/russia-china-nuclear-capable-bombers-patrol-united-states-rcna163611

Here is where that is:
https://www.google.com/maps/@65.6581863,-172.4248224,28827m/data=!3m1!1e3?entry=ttu

Zoom out to see that they were in Russia. 
 Well the image has an insignia indicating (I think) it is from Russon MoD meaning who knows where along their route that photo was taken. We don't really know where they went I guess that was not released.

I'm not at all suprised about military drills though. Things are heating up, everybody be doing drills. 
 Watching some of this bitcoin conference makes me .... less interested in bitcoin than ever before.  Bitcoin feels like a SuperPAC, a lobbying group, or some other huge scummy political football.

What is the new edgy underground hacker thing that we should all be jumping ship into? 
 More seriously now, while I love a lot of bitcoin's fundamentals (self sovereignty, fixed supply, decentralized, rules can't be changed by administrators at a whim), there are other things I dont like (infinitely increasing ledger, too much transparency, transaction rate is very slow, requirement of huge energy input to maintain, and now it is a political lever).  As the first mover, it has first mover advantage.  But after bitcoin came a thousand other blockchains, most of them tokens or currencies.  Are really none of them better?  Am I to believe nobody was able to improve on bitcoin?  I admit ignorance, but I remain a skeptic and open minded about what you all call "shitcoins". Please don't hate me, I came here to fix censorship not money and fixing money is not my area of expertise. I'm just still not interested in joining this cult at this time, I'll keep watching from just ouside...  and that conference made me even less interested. 
 Sweet!  Its time has finally come! 
 nostr or the thing that replaces nostr, or the thing that replaces the thing that replaces nostr.  Stay frosty 
 Well ok. It is still cringe then. Nothing new here I guess. 
 Yeah, bitcoin isn't the cringe circus around it.  I get that.

I just wanted to express how cringe the conference comes off. 
 It does seem to be the 2nd most mentioned. 
 There we go... nice answer. 
 My post was mostly just about how cringe watching the conference feels to me. I don't personally think this reflects on bitcoin itself, but I express this because others might.

I use bitcoin all the time. I'm paid in bitcoin. II'm interested in bitcoin, but I can't spread my time so thin as to have developer-level technical knowledge of bitcoin, since I'm full up working on nostr.

As for the principles behind fixed money supply, fully distributed, no intermediaries, taking back control of our lives... I'm 100% interested and on board. But none of that necessitates this particular coin. And I haven't heard Bitcoin maxis make a solid argument for their coin versus other coins that are also proof-of-work and fixed supply.  I've just heard it stated forcefully, devotedly, cult-like, that it is bitcoin and only bitcoin.

If a bitcoin maxi said something like "being the largest and the first mover means it has the best chance of changing society for the better, so we have to all get behind the same candidate token" I'd respect that argument.  Or they could say "it needs to be bitcoin because I have a metric shitton of it and I want to be richer" I'd  respect the honesty of that.  But generally I just hear intense professions of cultish faith, which is also cringe to me. 
 "Your instinct to move on from bitcoin in reaction" ... I didn't mean this literally. I was expressing how cringe the conference was. Clearly a lot of people took it literally an explained to me how bitcoin isn't the cringe circus around bitcoin.  But I have a few brain cells still.  I knew that. 
 well, that was a quick uninstall. i had high hopes for  nostr:npub1h0uj825jgcr9lzxyp37ehasuenq070... 
 To chat with another nostr user, we need to somehow share some information in order to connect, so that when we chat I know it is them and I'm not just picking a random person.

If so, it seems that you could associate that information with a known nostr ID in a new event kind or in a metadata field.  Maybe you don't want to make this association with ratchet keys or whatever they are called, in order to preserve privacy, but there needs to be something otherwise I'm just chatting to a random person I don't know if it is them.

So it seems there could be a way to automate this part for a better UX.

But without knowing how keychat works I can't speculate any deeper than that. 
 I hope when I die, people on nostr remember me for my greatest contribution to this community: satire. 
 😬 ......   💀 
 Did you hear the story about the kid who was outside the Etherium conference selling kittens?  When the people came out from the conference he was holding up the kittens and he was saying "buy an etherium kitten".  Well a couple of weeks later there was a Bitcoin conference at the same venue.  And when they came out there was the same kid holding up kittens and he said "buy a bitcoin kitten".  And a member of the press who had seen him there two weeks before said "wait a minute kid, you were selling these kittens the last time as Etherium kittens, how come they are Bitcoin kittens now?"  And the kid says "because now they've got their eyes open."

-Ronald Reagan 
 LOL. What if they shut off the Internet!?!?!?!

What if they kill the power?!?!?!? 
 Clearly we need NOSTCP  - notes and other stuff transmitted by carrier pigeons 
 To understand how Nostr achieves censorship-resistance, you can either read this: nostr:nevent1qq... 
 I think of relays as independent servers, which do not gossip to other relays.

In the following paragraph, strings of capital letters are just monikers for imaginary relays.

I don't like structuring relays into some kind of network because then I have to trust more nodes than I strictly need to.  If I have a digitally signed message (kind 10002) from Steve Bellovin saying that he posts to relay XYZ, then why not go directly to XYZ to get his stuff?  Why should I trust that ABC will get it from DEF who will get it from GHI... too many points of failure.

I know that some people do trust LMNOP and will get everything from LMNOP just to offload workload and maintain privacy, and this model I call a "client proxy model" and it makes sense -- you just sort-of extend your client forward where the forward part goes to XYZ and your local part just talks to the forward part.  But I prefer not to proxy my client's work, I prefer direct access, getting notes from the source, with the minimum chance of censorship because I'm on a desktop and I can. 
 I don't think everybody ought to own a relay. The vast majority of people should purchase service from a reputable service provider, or from multiple ones, or use some of the vast number of still-free relays.

But everybody CAN run their own relay. You are free, it is your choice. Nothing stops that from happening except the fact that it won't actually happen.

But even if it did happen, this is not a terrible outcome.  It is just parallel to everybody running their own website and you running an RSS reader that reads from them all. 
 nostr is not censorship resistant. What if you get blown up by a drone strike for trying to repor... 
 nostr is not censorship resistant. What if your ISP disconnects you from the internet, and you want to blow the whistle on what they just did?  How does nostr resist such censorship?  What a crock of shit! 
 yes, yes of course I ws being sarcastic. 
 The UI improvements are quite nice, but there are still text wrapping bugs that the new egui broke, so be aware and switch back if you have to. 
 I should probably make time to explain new features and document things better.

I will make this work for relay sets, on the side panel, I just need to decide where to store that data and the UI for editing that data, which usually is the lions share of the work, and isn't the fun work. 
 It means the person supports NIP-17 secure encryption. 
 How did I miss number 7?  I was pretty sure Mr Trump was shot because of the nuclear attack. 
 My favorite instruction is the open brace. 
 samsies but for relays, brain hurtz

Write ACLS was hard enough, and now we have NIP-42 AUTH read... 
 In principle I can see the merit.  But in practice I see problems.  Sending huge numbers of IDs to exclude is itself expensive.  Bloom filters aren't precise.  Negentropy (the other solution often suggested) requires potentially a lot of round trips.  There are possibly other solutions like getting all the IDs first and then asking for only some of those events.  Also 256-bit IDs are cryptographically unique but we don't need cryptographic uniqueness for this avoid-double-event problem, just practical uniqueness, so using the first 64 bits of an ID to make it shorter is a reasonable optimization to whichever solution arises as the best.

I haven't heard anybody make an argument that compares the options and concludes as to which option is superior, so we are still in an exploratory stage as to this issue.  But I don't deny the problem. 
 I am driven towards solving these kinds of core complexity issues you mention. Gossip client rarely gets new features because I spend most of my time fixing or improving core logic in the face of nostr complexity.  As time goes on, the fundamental problems that I attack next tend to be more and more complex, and progress tends to appear slower and slower.

I'm mostly entirely ignoring all the new kinds and new ways to use relays. We all have different roles to play and it is information overload everytime I open my github notifications. 
 Is the US in the midst of a coup?  Did Joe Biden really drop out of the race, or is the CIA making shit up and pulling a coup?

I mean... I don't really mind. Just curious. 
 The reason I generally don't believe in conspiracies is because (1) people are shit at keeping a secret, (2) incompetence is widespread, (3) parallel behavior is far more common and appears identical to organisation, ...among other reasons.

Maybe you are right.  But when it comes to professional agencies that specialize in this stuff and have a proven level of competence in it, then I do believe in conspiracies.  A small CIA team of highly trained morally bankrupt sociopaths using nearly unlimited government funding can be a lot more successful than your Bohemian Grove or Skull & Bones or WEF group can. 
 Computer programming is iteratively discovering that you should actually be working on some other part of the code first.

Agile/Scrum fails because project management is 100x less dynamic about what you need to be working on than a good programmer is. 
 I find I have to switch direction many times per day, constantly re-micro-prioritizing.  I guess my point is more that I don't know how to do that in a team environment where priority is supposed to be managed as a group. 
 My post wasn't really about Scrum but all the replies are. I guess I shouldn't have mentioned it at all.  I just wanted to highlight how often I find myself re-micro-prioritizing what I am doing, so often that no project manager could ever keep up in Jira [oh shit, now the replies will be about Jira] 
 There is one, it has a sum in the SHA256sum.txt file, but I guess I didn't drag it into the release.  Fixing now. 
 Shock the money, people!  .... I mean.... um... zap the nuts? 
 I use ext4, zfs, and btrfs.  Most of my data is on LUKS encrypted mirrored ZFS disk pairs, but my newest RAID mirrored pair is btrfs. 
 New gossip release:

- This doesn't have the latest stuff (like bookmarks) but seemed like a stable place to make a release
- As usually happens, after hours of release processing, I discovered a bug. So there will be a point patch at some point.
  The bug causes the 'pending' messages system to crash, but gossip otherwise keeps working

nostr:nevent1qqstvj73nmvvtj975uk6u3zmsefezahgr6y5dyhg7awcmr69jkxqp6cpz9mhxue69uhkummnw3ezuamfdejj7nwc9am 
 It wouldn't be very hard. Once I'm not plagued with other bugs/issues/refactors I'll look at it. 
 I couldn't get it to compile due to it not supporting the newest ffmpeg 7.0.0 on archlinux.  I have it fixed on unstable and on the 0.11 branch in prep for a patch release.

So I'm keeping the other aur package at 0.10.1 until I can do 0.11.1 
 Yes I think leaking the conversation key would expose the binding between the seal and rumor, not provably, but it would be highly unlikely to find a different conversation key that decrypted into a sensible rumor so effectively.  And the conversation key is post-HKDF so it doesn't expose your nsec.  This would have been great feedback for NIP-44 development. 
 As for the timestamp argument, asking for all of them from the last 2 weeks each time you spin up a client isn't going to be signifcant even though you are getting repeats.  And if new backdated ones flow in while the client is up, they will come through that same subscription after the initial EOSE without having to ask again. So repeats only happen when you start up a client.

I should correct my earlier post, it was NIP-59, the giftwrap NIP, that would have benefitted from the insight that you could dox your DM counterparty without exposing your nsec.

Kind 14 is essentially Kind 1 used in this context, except maybe the different kind number helps something. We could have a couple dozen new kind numbers that didn't mean anything different from kind-1 and it wouldn't hurt.

I don't personally like seed phrases. They are ok for recovery, but not for login.  For login a user wants to remember a passphrase that they get to make up from whole cloth.  There are algorithms to map that into a seed phrase.  NIP-49 goes from a passphrase to an nsec.  nsecs being 256 bits probably can be mapped to a seed phrase too.  Everything with sufficient entropy could be mapped into anything else.  Just saying there are a lot of possibilities here. 
 I don't know what relay you are using but that is wrong.  I'm curious what relays are doing this horrible thing and I'll add a test to my relay test suite. I wrote a relay https://github.com/mikedilger/chorus and I assure you it does not behave that way.

You connect and subscribe to a 1-week period for DMs.  You get all the DMs over that week, then an EOSE.  Then when the next DM comes in, dated 7 days ago for example, it shows up by itself under that subscription without any repeats of data that came before the EOSE.

This behavior could happen if your client disconnects when it gets an EOSE, because when it reconnects and submits the REQ it will get the entire week again. 
 If in the future you receive a note from me like this, how would you react?

"After some deliberation I have decided not to host your content on my relay. You are free to repost your content onto other relays. Your subscription fee of 0 sats will be fully refunded once you provide a bitcoin or lightning address. Considering that content on nostr is generally mirrored, it has already been deleted from my relay." 
 1)  People can and should post to multiple relays. I've seen people post to 17 or 25 relays (I recommend against that, but there is nothing pushing them to not do it).  So if I relay bans them, they don't fucking care, they aren't going to have their post removed from a dozen relays. So in essence, this is very good censorship resistance.

2) Unlike Mastodon, if you get censored from one relay, you have already moved somewhere else because you are posting on multiple relays.  You just drop that one and perhaps replace it with a new one.  In the mastodon case, you lose your account and all your followers.  In the nostr case you only lose an unimportant relationship with a relay you no longer like, and your followers don't even notice.

3) If clients are just using a few big centralized servers, then those client authors misunderstand the whole point of nostr.  Choose a better client.

4) If "nobody is listening" to the relay that you advertise as the one you now post at (when you move), then that is only because their clients are not doing nostr in a decentralized way (the outbox model).  You are right to notice something is wrong with their model, but it is not something wrong with nostr itself.

There is a tension between being being distributed + censorship resistant, and maintaining client privacy.  Some people want to provide better client privacy by not connecting to "strange relays" at the expense of censorship resistance.  That choice isn't right or wrong, but it isn't the choice I would make.  My stance is that privacy should be done right - via a VPN or Tor - and that nostr decentralization and censorship resistance can be maximized without sacrficing privacy when privacy is done right.

And finally, yes relays will censor. If you put illegal content on my relay, why should I risk my neck for the illegal content of someone I don't even know?  It is your job to find a relay that allows it. This feeling of entitlement, that relay operators must host your content, that you are entitled to their hosting, should really be re-examined.  We need to maintain liberty and freedom including the liberty of relay operators to host what they choose (and only what they choose), and yet still we can provide very sigificant censorship resistance by breaking the connection between central providers (twitter, mastodon servers) and your personally managed identity.

I hope you understand that this is the best we can do. 
 Sure it is the decent thing to do to give them a reason, but also invites arguments so I'm of two minds.  They will almost inevitably disagree with your reason and get very angry.  Relay operators are humans and can't deal with angry people day after day, and being kicked off of a relay in nostr shouldn't be a big deal, you can just trivially go somewhere else.  If I was booted from a relay I'd get very excited and happy because "fuck you bitch I'm using nostr, and you can't stop me!"  and it would feel great to have such a retort.... It is like sometimes I wish a nuclear war would actually happen so I could feel good that I moved to New Zealand.... if nobody ever tries to censor me, what was the point of nostr?    So being explained to isn't really something I think relay ops need to do.  Maybe they just want to save on ISP costs (traffic, disk space).

Giving them a chance to download their data is also the decent thing to do, but probably not necessary in practical terms because ... well, because you are using lots of relays aren't you?

I recommend against posting to 17 or 25 relays only because it does not seem like the decent thing to do.  I don't plaster all the walls of your home with posters of my missing cat for the same reason, I just put it on a few telephone poles. 
 "even this is very unlikely to happen unless..."

nostr:nevent1qqsfe2uafrnpvk8kax8txylc54ees4z6cjecfucplhazf3pu7l7lwvgppemhxue69uhkummn9ekx7mp0qyghwumn8ghj7mn0wd68ytnhd9hx2tcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhscd5ls7 
 As of now people are fairly generous and the cost of being on a public relay is probably not very much.  But if every event is sent to every relay, scaling problems arise.

I think of this situation as analogous to posting a blog onto a blogging website, or onto my own website.  I can follow 100 different blogs on 100 different personal blog websites.  Or maybe I can follow them on a few centralized blogging websites like medium, substack, etc.  And it works suprisingly well with zero redundancy (just one website).   So if it works so damn well with zero redundancy, do we really need to be 25x redundant?  Even being just 3x redundant is a huge improvement over a blog on a website.  Being 5x redundant is really a hell of a lot safer.  I can't imagine a scenario where anyone would need more than 7x redundancy (except highly hated people like Alex Jones and Donald Trump).

Except actually I can imagine such a scenario.  If it came to be that popular nostr clients didn't use the outbox model.  Then people would have to post to all the popular relays too.  But even then, I don't see the benefit of going beyond 7x and just picking some of those to be the popular relays, and instead I start to see it as maybe being disrespectful, taking advantage of the goodwill of open relay hosts because you can...  potentially leading to those relays to shut down due to being overloaded.

And many have predicted all relays will eventually charge for service. lest they be taken down for illegal content or be flooded with excessive traffic that the operator cannot afford on their goodwill. It might come to pass. 
 I'm not familiar enough with the DM chat NIPs to answer this with any confidence. @Vitor Pamplona and @hodlbod and @fiatjaf all know more than me about multi-party DM. 
Event not found
 This wasnt means to be a serious reflection on me moving away from bitcoin (which I am not), it was just supposed to be commentary about how cringe some of the conference feels to me.