Me too! 😅😅


I have trouble doing CSS most days. 😅


I did a 10 day vipassana retreat about 15 years ago. Loved it.


This one was super fun. nostr:note1z7peewxhq9hsu7zh7m5e6ff5z82guywt8a6w4jpcknrzxedyzqnqfmy4k2


Lots of great responses on this one.

It's interesting how people responded to the question in very different ways.

The context from my side is trying to strike a balance between not burdening my kids with the way the world really works vs answering their questions in a way that isn't hiding the truth or assuming they can't handle it.

Kids are curious. I feel like it's my duty to try and give them thoughtful answers to their questions and leave them the space try and understand complex topics when they want to.

It's easy to overdo it though.

nostr:note16vvd5mm92329595edgm876tcn2hafz9apm4q9qwj6rv8jfyzckrqxqw80u


😅 I hope so.


no changes needed? and it's fine to run lnbits, etc. at the same time?


The older I get, the more I appreciate how powerful not doing a thing can be.


No changes needed on LND if I have LNbits, thunderhub, etc. running?


Anyone know if Alby Hub will work fine on a StartOS box that already has LND setup on it?


LunaNode is great. Super cheap and easy to set up.


Ladies and Gentleman; I give you, the President (Warden) of the ECB.

"Global cooperation, multilateral action" = "Global financial surveillance state ensuring you comply with whatever they tell you to comply with".

nostr:note1kqy8z9e3n9hlwwgyvcwtey9x62drk8wd5zj47cr3xgfqdpkct4vsajywun


100%. It's definitely not about the money, they can create that out of thin air. It's about control. They must keep you in fear and in compliance.


Yeah, we've seen how well that's going for them too. 😂


It means that they don't get double taxed on the same income. The US has the same deal. They have tax treaties with most nations such that they give you credit for the tax you paid in the other country but then "make up the difference" with their own taxation.

For example, say you make 100k, you live in a place with 10% tax and france's tax is 50%. That's less than half the french tax level so this new law would apply to you.

You pay 10k to your country of residence. France says you would have owed 50k had you lived in france. They give you credit for the 10k you already paid where you live and tell you to pay 40k to them (for roads, obviously).


😒 She's fucking evil.


I expect to see a lot more of this “locking the exits” behavior over the coming months and years.

Europe knows the experiment is failing and they’re going to start acting more and more authoritarian in an attempt to protect their positions.
https://m.primal.net/LcrW.jpg


Interesting. How often does this happen?


This is part of what I was curious to find out.


Question for parents out there. How much do you agree with this statement.

"You should let kids just be kids for as long as possible."

Presented without further context on purpose. Would love to hear 1) how you take that and 2) whether you agree

#askNostr


Yeah. It’s really insane how many flaming hoops people will jump through to avoid the simple solution.

Have kids, not too late, let them fuck around and find out. 😅


Haha. No. But I should have!


GM 🌞
https://m.primal.net/LbvO.jpg


Yup. A few pages later. 😅
https://m.primal.net/LbRi.jpg


lol. Looks like we had similar days. 😅


Has lost its grip.

There, fixed it for you.


Is show your work the title of a book?

This is from “Steal like an artist” (apt name if the same is in another book😅)


Do good work and share it with people.
https://m.primal.net/LbQL.jpg


Oh, but they are. That’s the really brutal part.


Who remembers Lonely Planet books?

We spent a few months in India years ago and, since we weren’t going south at all, we cut the book in half to save weight.
https://m.primal.net/LbCU.jpg
https://m.primal.net/LbCX.jpg


Mazza di tamburo! We have those as well. I’ve never seen one that big though!!!


What do you think? Honey mushrooms? We call them chiodini in Italian.
https://m.primal.net/Lazm.jpg


Sì sì. Sono quasi sicuro anche io non è da mangiare ma ero curioso.


Yeah. It’s been a fun journey so far to try and learn more about what’s out there and what’s useful vs not.


🤣🤣 useless as usual. Thanks nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft


Looks very close. Or maybe the basically same (but more European) mycena galericulata?

https://www.mushroomexpert.com/mycena_galericulata.html


Yeah. Saw lots and every time they were growing from tree stumps.


Fairly sure they aren’t. At least not psilocybes. No blue bruising. White stems and white gills.


Anyone have any ideas as to what these are?
https://m.primal.net/LarX.jpg


Phenomenal song and great album. Listened to it just last week actually!


Complete and utter. 😩


I replaced the battery in 2011 MacBook Air a few months ago and flashed a lightweight flavor of Linux on it. It’s like a brand new machine. Kind of amazing and perfect first laptop for the kids.


I remembered the election is only a few weeks away and was happy, until I realized that no matter who wins, half the country won’t recognize the winner things will likely only get more loud and annoying.

🙄😒


Insane turnaround time on this one 🤙🔥


Ha. Yeah. Though, this one is biiiig so I guess I have that going for me


My wife’s phone can’t hold a charge for more than an hour. Update trickle down economics 😂


Well. I have a new phone. And it’s basically the same as the old one. 🤷♂


Can't wait to add this to Whitenoise


GM Nostr! 🌞

What a time to be alive!
https://m.primal.net/LZeN.jpg


I’ve been using it for a while and honestly it’s only been marginally helpful. Maybe because I’m mostly just doing the same thing over and over?


Such a fun idea. 🤙

nostr:note13ckm0c9r99kxxm94xyy66zf44xa4f4vnulvw50jacn8c275wg98q0uhlpu


🤣 10/10


Well actually... 😂


I actually think it's the opposite. They're the minority but they're loud and demanding and happen to have forced their way to the top of the political ladder in most places (because they're that type of psychopathic).

We're the majority, we just don't want to play their fucked up game.


Wow, haven't seen that one for a while. That was a really important book for 17 year old me. 🤙


You're not in prison! 🎉


Agenda setting

A term I learned from  nostr:npub1rd0wwn037yltsh256d4urxjpsr6ye6dva6azaggsl848nwc64ehq60r3ys

nostr:note1hw73vw8nw5xeqzx3p4avpypumrqw3pnah4unkvghc8yqvwyf0h4q0h0gu0


There are two types of people in the world.

Those that want to control other people. And those that don't.


Such a heartbreaker.


GM! 🌧

I'm with  nostr:npub1hk0tv47ztd8kekngsuwwycje68umccjzqjr7xgjfqkm8ffcs53dqvv20pf. Fuck the war mongering heathens. We're going to help each other out of, and through this darkness.

nostr:note1v860g5prjq9lzk60swj09x9c90evszu6dd7z9e5hgddg8w8ggwfs5g9mdm


Me too! 💯 I have a completely different view of social media now.

Perhaps you could even say I can see it for what it might be, unburdened by what it was...


Veramente.


che criminalità.


wtf.

https://watcher.guru/news/italy-to-raise-capital-gains-tax-on-bitcoin-from-26-to-42


When can we expect said HWW? Two weeks?


Can’t remember… so many clients.


GM Nostr.

First, read this: https://www.therage.co/untitled-2/

Then, watch The Big Short again this week.

The system is rigged in favor of the bankers and the politicians.

They keep us divided with political theatre, war, and media circus shows.

The only way to win is not to play.


Killing it!


A desire to go back to an open and weird internet.


Portugal.


Have fun!

ps. I can't zap you right now.


Where you headed?


Let's gooooooo!!!!

https://m.primal.net/LWZB.png


Some days just feel like a grind. 😖


Our current version of war is retarded. Remember, kinds used to have to lead the charge.


Voi siete bellissimi! ❤ Tanti tanti auguri.


Whoa cool, I missed that it was out already!


It is. 😄


🙏 I'm glad you found it inspiring!


DHH has a great post today, one section really caught my attention and is something I've been thinking a lot about recently.

"And that's what gets me. Everyone find it easy to nod in agreement with Jobs' ode to To The Crazy Ones¹. Everyone wants to believe that they'd support "the misfits, the rebels, the troublemakers". That they too would cheer for those who are "not fond of rules. And... have no respect for the status quo".

But they won't and they don't. Most people are either aggressively or passively conformist². They squirm when The Crazy Ones actually attempt to change the world. They don't see genius as often as they see transgressors. A failure to comply and comport. And they don't like it."

So GM Nostr. 🌞 Be crazy and non-conformist today.

1. https://basicappleguy.com/basicappleblog/heres-to-the-crazy-ones
2. https://paulgraham.com/conformism.html


Damn sorry to hear it! You were a great channel partner. 🫂

I look forward to another channel  when you get set back up.


You just breathe. 🧘


I am the sky. 😂


Touch grass. And water. And sky.
https://m.primal.net/LUqc.jpg


Surprised he even shows up at all.


LFG! Welcome.


GM Nostr. 🌞


Who won the match?


Nice!


Fuck you Adobe. And I'll never come back because of this scum business practice.

https://m.primal.net/LTWi.png


Somehow… 😅 I can see the path. It’s definitely possible. Just need time (and more contributors).


I’m using that in my client so I’ll definitely be contributing back to rust-nostr.


In the works.

There are also lots of storage adapters to build for safe key storage too.


Blue Jay Way - Secret Machines


Walking is magical medicine.


GM Nostr.

I was chatting with a friend about MLS messaging yesterday and he said something that had stuck in my brain and has now become an explicit goal.

Any competent dev should be able to safely integrate MLS messaging into their client in an afternoon.

What do you think?


myman.gif


She'll have to change your pants next. 😂


Yes, this is 100% doable. Not even that hard.


But, imagine a world based on Nostr keys for identity (not phone or email) and relays as the servers in between. Relays know nothing about your or the comm, there's no lock in cause the client and the protocol are completely open source... We're nearly there.


Cool. Thanks - I will have a look.

FWIW, I'm using MLS (https://www.rfc-editor.org/rfc/rfc9420.html) for the messenger client I'm building right now.


I agree. The only thing I’d add here is that we have to do it properly and not hastily. Given our history with DMs, I think this is one area of Nostr that we need to fix, for real.

nostr:note17gg77k70j4sus268d6scem08prlz2808ry5z9cs36zarf8re2n2qaxyyup


GM Nostr. 🌞

nostr:note1japz4s73mtgum2ldla4ufcvdx8ue8qfpaphje8kyzd3hv03khgaq0j9uqu


Very well said. nostr:note1ztq8hs25lk0hw9vcxx9y5rd3z8acdpp7dn8a923dg3agz66yjlss8asl82


No. Not currently and maybe never.


We're saying the same thing. But I don't think you'll ever get perfect consensus in a large group. Having a space to speak is obviously important but eventually people have to "disagree and commit" to the decision and move forward.


For everything the catchment size will be a little different. Basic health services might be smaller, specialities slightly larger. Education likely to be very small (neighborhood level). There are likely to be very high level agreements on basic stuff like, "Don't dump toxic waste in the river" and high level arbitration mechanisms to deal with that. But those don't have to be government run. In fact, the whole reason that many companies choose Delaware for incorporation is that they have their own system of chancery courts that make it faster, cheaper, and easier to settle disputes.

The logical fallacy in your thinking is that people look up the ladder right now because that's what we've been trained to do. There's no reason that this is the natural state of things. Giant nation states are a remnant of colonialism and imperialism. We have decentralized planetary light speed communications and decentralized planetary light speed money now. People are far more self-organizing and cooperative than you're giving them credit for here.

Don't fall into the Hobbesian "Nasty, brutish, and short" trap.


Yup. I agree. I was meaning it in the monetary/time sense. It takes time to get humans to move together in the same direction, but it's an important step of leadership that ultimately allows you to go faster and in a more aligned way.


GM Nostr.

One of the first albums I ever bought and the first concert I ever went to. It's aged incredibly well.

https://open.spotify.com/album/4uG8q3GPuWHQlRbswMIRS6?si=sPwnhCw0RZO4U-0kDSTvEQ


The browser version


😂 what a great name.


Looks like they've diverged a bit. I actually just jumped over to snort to check it out as well. Seems like Snort has a lot more in it than Iris but the basic design is still similar.


Damn, it's been a while since I checked out Iris, it's gotten really really good.


JeffG

Currently building Secure Messaging on Nostr. Other stuff connoisseur. Also built Listr, Ostrich.work, Ontolo, Nostr.how.


Very soon, I'll be able to share some stuff with you on the MLS stuff. Would love your feedback (and review) of things when I get there.


Completely different. Really cool to see a quickly working demo but it's using a cut down version of the Signal protocol which I abandoned early on because it makes private group conversations extremely hard / if not impossible.


I don’t I agree. I believe it’s very size dependent. The more we centralize control, the more space there is for mob-like rule and the more the ruling class become parasites rather than producing members of society.

If more/most services were organized and managed at a local/regional level I think we’d see a vast improvement in efficiency and quality and it would be more cooperative and flexible to boot.

While I do agree with you that most people don't want to be fully and radically responsible for their own wellbeing I don't think that precludes them from being capable of contributing to self-governance at the local level. We've lost quality local governance over the last 100 years because the centralized state has taken more and more power for itself and left nothing of import at the local level. So you end up with poor leaders fighting over crumbs and frivolous rules at the levels that should be running everything.


GM! Enjoy.


😂 yeah. I’m on this train too.


LFG!


It’s pretty rad. Although our cable car is closed this year. They’re rebuilding it, which will be great, as long as they finish it sometime in the next year.


Dude, you with more energy sounds a bit frightening to be honest 😅


That’s the best picture of nostr:npub1g53mukxnjkcmr94fhryzkqutdz2ukq4ks0gvy5af25rgmwsl4ngq43drvk ever! 😂


Last week I released the sled database adapter for open MLS.

I’m glad I’m the only one using it. Bugs have been found. 😂 They are nearly fixed.


25 minutes up the road. 🚠


GM Nostr 🏔

Winter is coming.
https://m.primal.net/LPfx.jpg


YES! And particularly the run that happens at about 4:06. Not technically that hard, but so jazzy for being a metal song.


It's good, but it's just raw speed.

The Unforgiven solo shows a way deeper musicality and has an elegance that Creeping Death is missing.


The guitar solo in Metallica's The Unforgiven is definitely in the top 5 of all time.

Change my mind.


Haha, just found the  nostr:npub14edfzrf28apmn6rjhkgha9lcrp993n34mtmwnnlfwsy4yg7dsdcsu0p2jj account.

🐳 Whale zaps ftw!


⚡ There, just bought it for you ;)


nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr  nostr:npub1lunaq893u4hmtpvqxpk8hfmtkqmm7ggutdtnc4hyuux2skr4ttcqr827lj Blossom is production ready, right?


There's only one thing to do in that case...

https://open.spotify.com/track/1Jwc3ODLQxtbnS8M9TflSP?si=c55061b1f8ac4fd4


Worth watching through the whole video.

nostr:note1xmw0l2njsx3p72lj8qa2uh6py2p7d3q2s067tmuy26lu68rhtcaq3f9v6h


Progress always happens at the margins.


It's crazy isn't it. I'm sure most of us have been a part of communities where mutual aid is the norm. Bitcoin, Nostr, the town I grew up in, I mean, it's basically human nature; learned over countless millennia.

The psyop is that we've been gaslit by the state and main stream media that we can't look after ourselves and each other.


The future is bright! 🫤


This is really cool. I see exactly what you're saying now.

This (as I think you said earlier) could just be a simple optional NIP that relays could signal support for and they'd handle the data however they want on their side right?


GM Nostr 🌧🍂🍁

Autumn has certainly hit.


Sounds familiar. 😢
https://m.primal.net/LODP.jpg


Oh thank god the WEF is here to explain things for us. What would we do without them??


I trust those stats less and less as time goes on. It’s not clear where they’re getting data or how they’re processing it. 🤷♂


The bottom four also say, “5 generations of your bloodline are buried in the foundations, so keep working or I’ll tell God to send you to hell.”


Have fun! I'll miss you this time around.


Apparently I'm one of those morons. Why wouldn't you want to use CBOR?

Is your solution just to binary encode most of the json event to squish it down but then keep an id/sig (and maybe a tag) unencoded? I'm not sure I'm following what you're suggesting. There's too much vitriol mixed in with the ideas. 😅


Ok - this might be left curve but... Why would we not just encode using CBOR, then attach a signature. 🤷♂ Seems like that's all we'd need.

Relays could destructure however they want for indexing but the data structure and event creation/encode/decode would be super simple.


Interesting. I think if we’re going to ever take the hit on changing anything to binary we should change it all to a binary format.


Explain what you mean by binary version vs binary events. Not sure I’m following


You got links? Would love to read.


Yup. It's B-Tree.


🤣 Your external monologue isn't that different!


Sort of. MLS is not really meant to replace Signal but it's definitely a significant improvement over Signal for certain things.

Signal and MLS both use a double ratchet system of encryption that gives you both post compromise security (e.g. you can recover from a breach in the normal course of using the protocol) and forward secrecy (e.g. someone getting a key now can't decrypt everything going back in time).

MLS and Signal are effectively the same when it comes to 1:1 messaging. Where MLS is significantly better is in private group messaging. It's far more efficient and comes with strong security guarantees to the group's current state (e.g. you have cryptographic certainty of the list of members in a group at all times).


Always got to sneak in a dig eh? 😅


MLS welcome messages for DMs and Private groups.

Welcome messages only happen when you add a new person to a group and only have to be sent to the new member(s). For groups below ~150 (using Ed25519 or Schnorr keys) the welcome message content fits in a single event. For larger groups, it goes over the 64kb limit. And when you introduce quantum resistant keys, it happens much sooner.

https://m.primal.net/LNpy.png


Thank you!


💯 and a tag with the total number of events there are.


That's a good question. I believe it is and thought it was in the NIPs repo but now I can't find the mention of a limit there...


Yup, that's what I was planning too.


Also, what is a zettle event?


Is there a doc on it somewhere?


It'll certainly be included in the NIP I'm working on if that's the way I go with it.


The illusion of control. It's humanity's single greatest conceit. That we have the power to actually control outcomes in exactly the way we want (without any unwanted higher order consequences).

🤷♂ I don't understand why people have so much trouble understanding this concept.


Hey devs, would love to do a quick poll.

I've got a situation where I need to send a data object via Nostr events that, in a minority of cases, is too big to fit in a single nostr event (64kb limit).

I'm thinking of chunking the object across multiple events and then reconstituting it on the other side.  nostr:npub1arkn0xxxll4llgy9qxkrncn3vc4l69s0dz8ef3zadykcwe7ax3dqrrh43w and I were doing this when we were experimenting with embedded games last year and it worked surprisingly well.

That said, it's very non-standard, so I'd love to hear some opinions.

#askNostr #nostrDev


GM Nostr! 🌞

Busy day today. LFG!


I’ve been using it for a few weeks now. It’s very good once you adjust to working with it instead of alone.


What could possibly go wrong… 😒


Fascinating. I know the feeling but it’s not normal for me. Takes really getting into a flow state and sometimes even then the flow state has narration of sorts.

When I’m thinking of software architecture and code I’m actually often talking (even out loud) to myself.


The brain is so amazing.


I think this is bothering you way too much. Let it go.

I've seen plenty of people hitting 120-130s on querty setups and much higher on different keyboard layouts. It's likely not fake, and even if it is, why are you wasting so many cycles on it?


Could be - or at least could be over-reported. I didn't go down the rabbit hole completely, just had a quick google to try and corroborate.


Even 10% would be a lot in my mind.


I love this idea. I completely agree on #3. We need to have more experimentation with different levels of access for different supporters.

But I'm in strong agreement with  nostr:npub1dergggklka99wwrs92yz8wdjs952h2ux2ha2ed598ngwu9w7a6fsh9xzpc that the historic mode of setting pre-defined pricing tiers really doesn't work in the V4V model. You have to let supporters pay you wantever they want, no matter how insane the amount might feel to you.

This makes different access levels very tricky... I hope more clients and users will experiment with this.


What is your experience? Color? Sounds? Just quiet? I'm super curious...


Right?! Even if it's 10% that's still shocking to me.


I think it’s just the talking to yourself sort of thing.


Yeah. Self reported definitely doesn’t mean “not true” though.


I was shocked so I read several separate sources. I don’t think it’s made up.


Source?


I just learned that 50-70% of the population doesn’t have an internal monologue.

I honestly can’t really comprehend this.


NIP-29 is literally titled "Relay based groups". I get that your concept here is likely a superset. A community can exist across multiple relays and based on the relay the user is looking at, they'll see a different version of the community content.

We'll leave aside the challenges of building a client that doesn't make that really hard to understand as a user (e.g. you might see replies to original posts that you don't see, etc) as I think that's ultimately solvable.

How do you see private groups fitting in here? Is your concept focused on public content only?

I really like the ideas, it's definitely a bit of a different model that would have the chance of working really well as a reddit style app but some of the magic of the single feed type apps is that you're always discovering something new or seeing things that are outside (but maybe adjacent) to the areas that you've signaled interest in. Separating into communities closes that discovery pathway quite a lot.


Because I've been doing the work for many decades and I'm still not there. 😅


I've read the full Mars trilogy and it's full of very interesting political and societal questions around how a new form community, government, economy, etc. would form given a blank slate.

My issue with it is that it sort of skates past many of the harder questions and doesn't really consider them deeply (but then again, it's a novel, not a book dedicated to exclusively exploring those ideas).

In any case, highly recommend the series. It's really enjoyable.


All NIP-29 based?

The screenshot confuses me a bit. Is it sort of a super app with DM/private groups, kind:1 short posts, long-form, etc. all bundled together and instead organized by relay/community?

I think I understand what you mean but I'm not convinced. This feels way more confusing to me rather than less confusing. We have very strong mental models right now around how specific apps do specific things. Not that it isn't possible to change that paradigm (and absolutely worthy of experimenting with other options) but it's going to be a hard one to break I think.


It would be cool to make this a client available for everyone to use.


This is 🔥

I need a custom nostr feed of just your music picks? There’s gotta be a DVM for that…


It takes time and a lot of work to really know what you want.

Do the work.

nostr:note1958jyfyxpx9c7kqvesu76zcl9xns0dks6agnzjxckyxwrxvhq5dq75pnqw


Tell me again about how innovative the EU is… 🤣🤣

nostr:note1we3s93mytdg9zn2tku9xq0ez8ujy7kulua8ae9zxf4fyunwjutgqyluw39


Love that gear shift. 🤩


So gay.


Gray beard approved.


Anyone else absolutely love flea markets?
https://m.primal.net/LLzE.jpg


I was recently feeling bad about how lazy I am when it comes to curating my relays and setting up relay lists.

Then it occurred to me, life’s too short to manage relays actively. If I’m not going to do it, then no one is.

We need super simple tools or patterns built into all the major nostr clients that help to default users to relays that make sense for them. Obviously these wouid need to take into account decentralization but I think it can be done.

Feels like a hard design problem more than an engineering problem. nostr:npub1r0rs5q2gk0e3dk3nlc7gnu378ec6cnlenqp8a3cjhyzu6f8k5sgs4sq9ac nostr:npub149p5act9a5qm9p47elp8w8h3wpwn2d7s2xecw2ygnrxqp4wgsklq9g722q nostr:npub10000003zmk89narqpczy4ff6rnuht2wu05na7kpnh3mak7z2tqzsv8vwqk


Damn! What did you use to generate?


AlwaysHasBeen.gif


Yup


GM 🌞
https://m.primal.net/LLnZ.jpg


Feel true to me.


Let’s fucking go!


GN Nostr 😴


It's whatever is listed as your lightning address in your profile data. You might have an old profile out there that's causing issues as well. Usually creating another update on your profile, even for something unrelated to the lightning address will help fix it.


Took me a while too. 😂 Every now and then I'll be searching something and I'll get a bunch of real estate results.


Latest MLS update is out. Lots of under the surface progress this week and last.

We're getting close. 🤙

nostr:naddr1qvzqqqr4gupzq9eemymaerqvwdc25f6ctyuvzx0zt3qld3zp5hf5cmfc2qlrzdh0qqsy6nzn94hhvetj948x7um5wgk57cm5956z6v3sxg6z6at8wfehvacvyx68d


## Previous updates

- Check them all out here: <https://highlighter.com/jeffg.fyi>

## Progress this week

It was a busy one. I've been focused on the critical path of getting the full end-to-end MLS messaging flow built into White Noise. Unfortunately, or fortunately for those that will come after, this has necessitated writing quite a bit of library code and figuring out how clients should think about storing the necessary group state and secrets.

Today I released the highly creatively named [openmls-sled-storage](https://github.com/erskingardner/openmls-sled-storage). This is a storage adapter for Sled DB, an embedded database written in Rust. This allows clients to simply give their clients a file path where they want to store the data and the library will take care of the rest with regards to MLS storage.

Another bit of library code is a customer MLS extension called NostrGroupData (again with a wildly creative title - check it out in the WN repo [here](https://github.com/erskingardner/whitenoise/blob/master/src-tauri/src/nostr_mls/nostr_group_data.rs)). This is a standardized way of storing the necessary metadata about a group that will allow it to function properly with Nostr conventions as well as basic data like Group name, description, etc. This, in specific, is the source of quite a few updates to the NIP, but overall it's going to give clients implementing MLS groups assurances that the data required is not only formatted the same, but cryptographically guaranteed to be there and respected by each group member, or the group will fork.

## White Noise

The client currently supports multiple accounts, including generating new Nostr identities on the fly. It's also loading user's contact lists, and NIP-04 DMs at the moment as well. This week I managed to build out nearly the entire group creation flow. This includes publishing and fetching key packages (kind: 443 events), inviting another user to create a group, sending welcome messages (kind: 444 events), and I've started working on both parsing those welcome messages and how to represent the groups in the UI in a way that makes reasonable sense to users.

## No showstoppers

I know this might sound insane after working on this project for several months already but I'm genuinely surprised that I've not run into any big unknown unknowns yet. Everything is coming together well and, while it's taking me some time to build it right and think carefully about where and how data is being stored and passed around, I'm very confident the client is going to be up and running in a few weeks (famous last words).

## The NIP

As I mentioned before, I've left the NIP dormant while I'm working on implementing the entire messaging flow. Once I've got the flow fully built out, I'll know all the details that need to change and I'll update the NIP.

If anyone out there wants to chat about the changes I already know are coming, let me know.

## Feedback & contributions always welcome

Thoughts? Questions? Want to contribute? Hit me up.

## P.S.

The plant in the cover image is Asparagus Officinalis. My grandfather was the only person I knew growing up that grew it and, as a result, I also grow it at home. The interesting thing about Asparagus (other than making your pee smell funny) is that it takes several years before it starts bearing edible veggies. It's a low time preference plant and further proof that good things take time.

It's a grind. That's what we're here for.


https://m.primal.net/LLTF.gif

nostr:note1jhnxhqreqspyayge9xzwnxaukxj49ha75gt2drmvm94xpwt7anrq9whrkl


LOL. The monitor.


Oh damn!! 🔥🔥


Very sad but very true.

nostr:note1unkz73qhnt07zcnhcj7ggt34ex575e7gl8kfql6q4vgn0u845jjs2zyksd


Feeling quiet here today...

What's everyone's plans for the weekend?


GM friends (way past morning here... 😅)

Just released the Sled DB adapter I mentioned yesterday.

https://github.com/erskingardner/openmls-sled-storage


C-12 7 Eleven!


I hadn’t seen redb. I’ll have a look at it.


💯 definitely.


Sled. I’ve been impressed with how simple and ergonomic it’s been so far.


I wrote most of a storage adapter for OpemMLS today. I'm using an embedded database in White Noise to store all the group and key state, along with other client level data. Surprisingly easy tbh.

The database (and maybe also the nostr cache database) will be encrypted locally on your device while you're not using the app. 🔐


I guess I'll find out soon. 😅


I'll try! 😉


Nope. Just arrived.


Yes. Once I’m done. 😉


Some light reading…
https://m.primal.net/LJiG.jpg


Don't know. Maybe that this person changed their settings on who can respond? Completely opaque to me as a user though. Just tells me I can't reply to a given message. 🤷♂


Yup, there since 2008. Barely use it except to keep track of a few old startup friends.


😳  nostr:npub1dg6es53r3hys9tk3n7aldgz4lx4ly8qu4zg468zwyl6smuhjjrvsnhsguz is the definition of grace under pressure.

nostr:note1s4q3gzqhy8at33m5fjrfwn6hl6f60gw8nkac53v6k52yyq8nn4gqure8eg


Just realized I can't even reply anymore to many people I've known and followed on Twitter/X for years.

Getting closer to deleting the account...


GM Nostr. 🌞

A good reminder as I wake up to all sorts of debate chatter on the interwebs.

nostr:note1d646nt76l4j8x69zd8lv9c4cnl5q8up3adjfwfsq4kehrsert6jsvm2zvy


Italy. But not that part of Italy.


Oh yeah? Why?


Nostr = Typos. 😂


I definitely second this.


If it wasn't clear, this was about building secure, well crafted software.

One thing I've realized while building White Noise (my Signal/Telegram replacement) is that it's not the kind of app where you can release half-baked early versions.

There is a non-trival set of features around encryption and the privacy of groups & messages that is non-negotiable and must work well from the first real user.

The UI can be ugly, it can only do a subset of the full use case; but the parts it does, MUST be done properly and not leak data.

nostr:note19qd8wrly28eqwrumqfxt86f8nj7ucu0g9uv2e4kn3vu9lgverf6s0lz73d


LGF! Chat Control shot down again.

Keep it coming.

nostr:note1d2ztu5puxpugu8j0v58w078unqq6z5jc05dkhjhelc950kahxa6st4mucv


Not many do... I know Amethyst does.


Yeah, that was my reading of the spec as well. I haven't taken the time to look at the nostr-rs-relay code yet, but I will.


The devil is always in the details.

And there are always way more details than you think.


Lazy dev question for relay builders/operators...

When someone publishes a delete request, do you delete the original event completely or just hide it. If you hide it, do you hide it from all users that REQ or just from the person that sent the delete request.

I'm seeing strange behavior with nostr-rs-relay where REQs by other users are returning the events that aren't being shown to the user who deleted them.


GM Nostr 🌧


Would creating a new list via file be enough or would you want to add to lists?


Vibes.

https://open.spotify.com/track/7dGyECgFJK1FhZdkHkLq3q?si=26f5423905c74d4d


Cool. Thanks!


I lose money on my node and there are way faster ways of using lightning for me. e.g. using Primal as my normal spending wallet.


Thinking is shutting down my lightning node. Convince me otherwise.


MLS is certainly not a panacea and it doesn't have any opinions on the transport protocol. This is what I've spent a lot of time trying to come up with.

Yes, you're right, if you use just the MLS encryption aspect of the spec, you're leaving too much available to the relay and that could potentially lead to timing or triangulation/association attacks. Clients that implement MLS based messaging and care about privacy will need to use Tor (or VPNs or proxy relays at a minimum).

I'm implementing all this now and finding lots of little details that have to be managed by the client to do this correctly. Things like rotating your key material as soon as you're added to a group (for PCS), rotating group IDs, potentially using multiple group IDs concurrently, securely storing conversation data on the client, etc.

The reality, I believe, is that these are going to be pretty specialized clients. I'll have library code at the end of this that will make it easier but it's always going to be a significant lift to have strong privacy guarantees.


GM.

It warms my heart to see Rails 8 heading back to basics with loads of tools for running apps on bare metal.

Wish I had time to write my ruby.

https://rubyonrails.org/2024/9/27/rails-8-beta1-no-paas-required


Humiliation ritual


It doesn't break the privacy of MLS at all. All messages that are sent to relays are done so under ephemeral identities. All REQs that clients do to relays are for arbitrary group IDs that can (and must) change over time; or, in the case of welcome messages, they're REQing for NIP-17 style DMs.

The creator of the group also sets the relays that the group will use for these messages so ideally, clients will only allow users to select relays that support privacy features like the "-" tag to stop event rebroadcasting, etc.


GM Nostr. 🌞 Make this week a good one.


What do you mean by “the relays the public and users can track from one another”?

Re: IPs, yes. Relays could triangulate to some degree but usually only for short periods because all the visible group ids change regularly. Tor and some trust in relays is inevitable.


I think you can see it’s more than an idea. The code runs.


I’m calling bullshit on this. Grants should go to a wide range of projects based on their potential impact on Nostr overall. Low probability ideas that could have massive impact are exactly the types of things we should make space for.

All progress happens on the margins.


I know, I know. Doing everything I can but I’m not going to half ass it so I’m moving carefully.


LFG!

nostr:note192m2u5qz0n765sa4tucf4k3dtg3k2mcq6quh60qgpwmz054fhzasal7wq8
https://m.primal.net/LFbj.jpg


Confirmed. They’re bittering hops for sure. Pretty nice. They’ll definitely be going in a brew.
https://m.primal.net/LFTd.jpg


I think this every time someone admonishes me for not paying any attention to the news.

nostr:note16rp003x5pa29j2dq64wne2qv8mcll9e4vskk3guhml9dpx5sp7qql4ypqc


Suggestions on how to figure that out before brewing?


Me too. But they’re pungent and oily right now. Feels like harvest season.

Given our valley used to be home to most of the beer production in italy, I feel like it’s a sign.


We have a huge wild hop vine growing in the garden. I feel like it’s a requirement that I make beer with it, right?!
https://m.primal.net/LEYP.jpg


OMG yes!


thanks! I'll keep poking around.


GM 🌞
https://m.primal.net/LETn.jpg


Hey  nostr:npub1equrmqway3qxw3dkssymusxkwgwrqypfgeqx0lx9pgjam7gnj4ysaqhkj6 I'm trying to set up a cypher instance and having trouble understanding how to get to the admin section of things. Do you have any guides on what needs to be changed (I've made changes in the setup.json file).


😢 stay safe


I’d love to learn more and get my license.


👀

nostr:note1fyqpcg82u2rl2nmvp86k8zmzm4drck0ykndgxj2nfs0sf59v9qnsshx7zk


Welcome!!


Love to see it!


Low time preference and a desire to get it right.


Simply saying a thing doesn’t make it true.

But that doesn’t mean they can’t put you in jail anyway.

https://www.therage.co/tornado-cash-code-not-speech-non-custodial-msbs-knowledge-not-required/


GN 😴


To have any grill is a blessing. 🙏🔥


😂 I’ve heard nothing stops it.

…or is that another train??


Moar CHAOS! 😂


What is this madness?!


I’ll check that out. I’m going to try and do some long form stuff tomorrow.


It seems to work really well in Italian, even with my poor Italian accent.


Let me know how it goes.


You could use ostrich.work to post tasks? But right now it's not really set up for people searching for tasks.


How was this even a question?


I'm using it right now to reply to you. In all seriousness though, I've used it all day; writing emails, writing messages, taking notes, and writing issues and GitHub.

The funniest thing is that it's making me realize that I speak and write in a very, very different way. So it'll probably also help me to improve the way that I speak and not use so many filler words.


🤣 I'm dying!


💯 I was thinking the same thing.


How many people out there are regularly using dictation on macOS? I've been using it all day and it's absolutely incredible. I remember trying it a few years back and it could barely keep up but now I can speak at full speed and barely think about punctuation and it just works.

Technology is amazing.


I'm so surprised. 🙄

nostr:note1lc4p9y7c9frg4sx6xwtq5ht22l2ph9dls3kcfm24g0fsf4m77lcssv76qf


Yes! The older version of it is here: https://github.com/nostr-protocol/nips/pull/1427

I'm currently building the implementation of the spec, which has caused a few changes to that document which I'll be updating soon.


Thanks for that. Are you using a nip 07 signing extension or are you using nip 46 remote signing?


Just to make sure I'm understanding correctly, you're trying to have one list of bookmarks, but have each bookmark tagged with a tag and then have Lister show you those groupings, even though in the spec of how lists are done in nostr it's still just a flat list?


I'd love to help you integrate the nip-104 MLS stuff when it's time. At the moment though, I would definitely not recommend trying to integrate what's in the spec as much of it has changed already in my implementation.

I'm still working on the implementation so as soon as that's ready, I'll have a bit of library code that will help you integrate more quickly and, like I said, I'll be happy to help out as much as I can.


Hex NIP numbers? Ooh, I like that. I'll think of something. 🙃


Yo! 😜


Probably not for a while. I’m focused on MLS messaging.

Would love if someone wanted to contribute though. (Hint hint, wink wink) 😜


Try clearing your localstorage and cookies.


Ok, whew, old client housekeeping out of the way. Now, back to MLS messaging. 🤙


All the shows on Fountain are standard rss based podcasts. So yes. I just can't zap or stream sats from Overcast. That's literally the only drawback of the app. The audio quality and speed features are too good for me to switch though.


I've just updated Listr to get a few old dependencies out and upgrade to svelte 5. Please let me know if you see anything broken or odd. 🙏

https://listr.lol


The highest value to me for what I'm paying.


NIP-60 (aka "relays are the wallet") is one of the most insanely cool and under-appreciated developments on nostr recently.

#bullish

nostr:note1lqw2vhtcnfpc0sqm6puyf80pj7tnt62lala43j9ewf7f0dswsd2qpzge6u


Back in action! ⚡


Why can't I zap you?


Probably the most high value subscription I have. $10/year for a product I use daily.

https://m.primal.net/LDSv.png


But even doing things doesn't mean you're doing the right things, either.


GM Nostr. 🌞

I'm trying something new. I'm trying to stop thinking or saying aloud that I'm busy (in any form). Hear me out...

We're all busy. There are always more things we want to achieve in a day than we have hours for. And this is a good thing. It makes us prioritize. It gives those hours real value. Like Bitcoin, you can't print more hours.

Telling yourself (and others) that you're busy is a mental cop out, it's a way of trying to make yourself feel better about what you're not doing while also signaling that you're important in some way.

My new mantra is that I have exactly the right number of hours to do the things that are most important to me. It's just up to me to prioritize those things correctly.


There's nothing stopping you from adding other types of work (except the branding 😅). #beUngovernable


Superpower. Like I said earlier.

nostr:note15d5hreq4650dv78yxvm7u0vymq3etkths63kyewn4tfd7h5xw0dsnpgfgs


What else?


I just updated Ostrich.work to make posting jobs free! 🆓

Would love to have the time to do more with this client but I'm glad it is out there and I hope now that there isn't any cost to post jobs there will be a few more that show up.

p.s. - please don't spam it. I have no time to work on it, so I'll just shut it down if it becomes a mess.

https://ostrich.work/


It's a very old client actually. I just needed to update some things and wanted to test that it was working ok. 😉

Check it out at https://ostrich.work/


# Great job!

I need help with lots of things, can you help me?


Fwiw; I meant websockets. 🤦♂😅

nostr:note1kgs47hxw0ne92yexu9dftag8mjhwdxxlk7p7zvdqpspq5vk3gw9sfznjfh


Yeah, you could but it would make basically no sense. That npub would have to be reposting or copying and posting again everything.


lol. Yes. Of course. 🤦♂


GM 🌧

Meditation is a superpower.

Let me know if you have a practice, I’d love to follow you.


I’m constantly blown away by just how fast webhooks are.


I know the feeling. 😖


👀

nostr:note12ta4zkd2dwudnxgga8eah9e78lf4wgz4yumvc7agq2nrmtch03mqxw3uc0


👀

nostr:note1ed4d72auc4u22lymk7vgmjh37ec9vttmy83zshc7seggcgs8089qhw0rfp


This sounds like it could get kinky fast 😂


Rest, ginger lemon honey tea, watching old films for the millionth time.


This one cuts deep. 😅


Makes you happier too.

nostr:note13uhal2e9qm964dy4exxpl2qrz7rjqfhdpf3dcrkprq2gt7lru3yscshs20


😂 they’re such a psyop


I think they’re turkey buzzards. Or at least that’s what we called them in Virginia.


The best nostr:npub1g53mukxnjkcmr94fhryzkqutdz2ukq4ks0gvy5af25rgmwsl4ngq43drvk quote.

nostr:note1fppz7a2w0e32dc0l34gq2jshg9h7h6xjvsnjzfejk28sshp6mussg6n57c


Working on it! 😅


I agree, it's cutting edge at the moment. I would argue that it's probably too complicated though.


GM Nostr!

Check out the Privacy Index from nostr:npub1mznweuxrjm423au6gjtlaxmhmjthvv69ru72t335ugyxtygkv3as8q6mak! It’s a huge resource!

nostr:note1mdpyj2c236ys997zjqqht20c0twl8ppz2gz8mjl8su78kpuf6e3sz08l40
https://m.primal.net/LBXK.jpg


This! 💯💯💯

nostr:note1yptu6sgnpmqydwd2g94rl0x94fnn7m0hjyk3pmc4a3jccztpaexqhkwtcd


Terrifying right? I love that these sorts of videos are going mainstream though.


Yup. 100% true, it will come.


GM Nostr 🌞

If you ever wanted to know more about how easy it is to hack phones via the traditional phone network (not even using the internet) Veritasium has a great video:

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


Let’s fucking go you mad bastard!


I hear you (and no personal offense taken). What often happens with this sort of thing is that devs will mostly just throw in hacky fixes (like hardcoding pubkeys or names) instead of coming up with real thoughtful solutions. 🤷♂


Fair. However, the work to create problems vs “fortify” against them is tremendously asymmetric.

The more important point here is that no matter what the motivation, these sorts of attacks are unlikely to lead to a more resilient protocol at this stage.


Along with all the other things people are asking for… most nostr devs are one person shows. There is no build server. There are few automated tests. Things are still changing too fast for that stuff imo.


GN fren


Whoa. I’d not seen that. I’ll look at it and start filling in blanks as things progress.


On the path to enlightenment you have to kill God, kill your parents, and kill your teacher.


And you’ve been busy!! 😅


Attacking Nostr "because you can" is like pouring red wine on a wedding dress simply because you’re able to do so. Technically, you might have the ability to take such an action, but that doesn't justify it. In both cases, the act causes harm to something others care about, with no constructive outcome.

The wedding dress is a symbol of an important event, just as Nostr is a platform that a community has built up and invested in. Ruining the dress—or in Nostr’s case, disrupting the user base and causing people to leave—serves no purpose other than to destroy the hard work and joy of others.

The argument "because I can" overlooks responsibility. Just because one has the ability doesn’t mean it’s right to use it in destructive ways.


Can people stop doing this shit please?!

If you want to “help the network” get in touch with a dev and organize a test with their collaboration.

Indiscriminately carpet bombing the network isn’t helpful.

nostr:note1e6uu78anc5humuyu97t8j7euw4pw8x9usjyx2uz70f975c2twp6qq7ctpa


Always lovely to see the rich imposing austerity on the general public so they can feel less guilt about their consumption.

nostr:note1sgsknxsdwztcxgk2209kjnepqdpalcpl8zm9ap3g9fzjz2hg6plq7r266t


Time to code without distraction! 😅


Go check out the butterfly garden there! It’s super cool. You’ll feel right at home!


I’m very much looking forward to a good long stretch in front of me without any conference travel.


GM Nostr! Start of another week. Make it a good one. 🤙


Completely depends on how private you want the group to be. NIP-29 clients (of which there aren’t many) with a single relay that you control could work for short periods.


Exactly. 😅


I think that’s the point. Nuke the data after the event is over.


GM Nostr 🌞


Paywall free.

https://www.removepaywall.com/search?url=https://www.washingtonpost.com/climate-environment/2024/09/19/earth-temperature-global-warming-planet/


Two weeks…


GM Nostr.

Be a pirate today. 🏴☠


Geyser Fund has shut down the crowdfunding project Bitcoin for Palestine, citing regulatory uncertainty.

Let this be your reminder that you cannot code faster than the state can invoke arbitrary penalties. Permissionless money is under massive threat by the global AML regime. It's time to wake up.

Full story:
https://www.therage.co/geyser-bitcoin-for-palestine/


alwayshasbeen.gif


👀

nostr:note1dx3qpdcadvvuw575q3hdsenphq0kweqyuz43663vuwyvj9gvw68qgrh7xu


🤣🤣

nostr:note1zk08k5e2zx53er9hr275q9kux8kwwrmjvz5mvyst3fx4nplcexasztad3v


I feel this. It cuts both way, deeply. 😂


GM Nostr 🌞

It always comes back to the people you surround yourself with and what you chose to focus on. Don't get distracted by the shiny toys and the noise.


🙏

nostr:note1a9jrylnargxvl0j4ktrnamr3txqzwsdm8ukqjzq80fcqe8wxl9jsq05jr0


Chicago pizza is a psyop. It’s not actually pizza. More like a wet cake covered in cheese. nostr:npub13vepw9xdhjzhp87lv5h7z2jgzteltmzqe4scjsn9dtwwncz6ekms5p489d and nostr:npub1qy2tkywa36ufh76qv62snv4953eayufxufav4evz2le06lxe2amqpxavna will back me up on this.


Bitcoin holds us all up.


Just say no to skeuomorphism.


I have answers. AMA.


I'm on an open sats grant and also just got some support from HRF.


Grazie per l'invito  nostr:npub17ugguepv89nvdrd72j7j25ymuts6w3d3lnsg6f0xgm2ah8zskhqq3v5ulj! È stato un piacere parlare di nostr con te!

nostr:note1llp2huje8jht9mwqqf8m7cwunkr0sv05vpc4tchpu78x9z39mkfs6fgrwg


Grazie! 🙏


🙏🤙

nostr:note1t5a6krcyul8pr4gmx4de8zahrme5yd32jz89t6j2rldl4gyuz5lqw6nj06


Let’s see how it turns out before passing judgement 😅


Should have an alpha version ready in a few weeks.


Always.


Hopefully soon. I’ve never been anywhere in Africa and I’m dying to make it happen.


😂😂 we’re so good at naming things in nostr.


Nip-04 DMs (which sadly are still the most used across the major clients) do. But the newer NIP-17 don’t. And my new proposal (what I’m hoping becomes the default) doesn’t leak any data and provided great forward secrecy and post compromise security.


Would love to hear more. Does tor support fix it? I think the benefit of being able to use general purpose nostr relays is a big benefit over specific software but I might be wrong, would love to know more.


Hopefully soon. I’m working on it now.


Airport at 5am. LFG!


myman.gif


I don't know tbh. It's a bit odd that it doesn't.


Similar but it’s a different network. Another network. Nostr’s major benefit is that it’s an open network that is already bootstrapped and connected to everything else.


Keet isn’t open source. It also is a separate network, so everyone has to create new accounts, find their friends, etc.

Nostr’s benefit is the network and the fact that it’s open.


Haha. Needs to grow by a lot too 😅


It’s not Nostr.


Soon!


Keet is still closed source isn’t it?


Not yet. Soon.


🙏 let’s goooo!!!


Great opportunity to work on a high impact project! nostr:note1wa8ppq94gu3fas589jj57s79vmkyytamsne92m9fjkfy9e5upptq45sy3h


Got it working. I think passing a relay was the difference.


That’s the idea. I’m seriously looking forward to deleting telegram.


It would take longer to adapt than create something fit for purpose.


Are you based in Russia? Or outside?


Less about banned accounts, unless you've been banned on platforms like Telegram or Whatsapp. It's both about private DMs but also private group messaging or larger broadcast style groups.


We all own it. 😁


Is that seriously a year ago already?!


Cost of capital getting steep…


It’s in my GitHub. Fair warning though, it’s still getting half rewritten every other day as I continue to learn rust and Tauri. I’ll definitely let you know when it’s remotely usable.


A lot of trance at the moment. Send recommendations!


I am building it for the client. It’s just my client.


I'm looking to do some user research with people who have had real issues with private online comms (authoritarian regimes, de-platforming, etc).

Please get in touch if that's you or pass this along if you know someone I should talk to!

🙏

nostr:naddr1qvzqqqr4gupzq9eemymaerqvwdc25f6ctyuvzx0zt3qld3zp5hf5cmfc2qlrzdh0qqxnzdejxcervvfj8qcnzwfe86jz3d


This is the seventh in a series of weekly(ish) updates detailing progress on bringing MLS protocol DMs and group messaging to Nostr.

## Previous Updates

- [June 28th 2024](https://habla.news/u/jeffg.fyi/1719562889267)
- [July 6th 2024](https://habla.news/u/jeffg.fyi/1720256910765)
- [July 12th 2024](https://habla.news/u/jeffg.fyi/1720778880538)
- [July 19th 2024](https://habla.news/u/jeffg.fyi/1721419437737)
- [August 16th 2024](https://habla.news/u/jeffg.fyi/1723802138254)
- [September 4th 2024](https://habla.news/u/jeffg.fyi/1725433902513)

## Progress this week

I was told recently that my update walls of text are too much. So, I'll try to keep things concise this week. 😅

This week has been all about building the reference implementation, which is quickly becoming a full-fledged client instead of just a reference implementation. I've not quite gotten to the MLS portion of the client yet but it does already support multiple accounts (including ephemeral accounts) and loads legacy (NIP-04) chats and full contact lists. So far, I've not implemented NIP-104 so there's not yet any updates to the MLS spec or other dependencies.

If you've got experience with using messengers in hostile environments (authoritarian regimes, you've been de-platformed, etc.) please get in touch. I'd love to hear more about what you'd like to see in a communication tool.

In the meantime, I'll be over here in the corner coding with my headphones on. 👨💻

Onward and Upwards!

Nostr Messaging update for September 13th 2024

This is a long form article, you can read it in https://habla.news/a/naddr1qvzqqqr4gupzq9eemymaerqvwdc25f6ctyuvzx0zt3qld3zp5hf5cmfc2qlrzdh0qqxnzdejxcervvfj8qcnzwfe86jz3d


Venn diagram mode??


More hours in the day please! 🙏


Cool, I'll give a try here shortly.

Git hash: 4379466d1db434387be5569f61e375059d634df7


./target/release/notedeck —pub npub1zuuajd7u3sx8xu92yav9jwxpr839cs0kc3q6t56vd5u9q033xmhsk6c2uc -c contacts -c notifications


There is no red. There is no blue.

There is the state. And there is you (and all the people you love).

Remember; whatever they promise, it’s just more of the same. nostr:note1rejxy889q0aya8v40g5hdncpwc3jz9w79u35632zvv2pa27ht4lq5d3z98


🫂 Keep building! And reach out if you ever need a chat!


Today would've been my granddad's 96th birthday. He died 13 years ago. He was a tremendously flawed human in so many ways. But I miss him all the same and I'm grateful for all the time I got to spend with him.


#askNostr

nostr:note1w84fdl58ggw2qlc083w6jhsf20fwds7kdcngd79d9mv5gjqmt08sq58dn7


This doesn't seem to open columns for me...  just the notes and notes & replies tabs.


GM Nostr. 🌞

I feel like we're on the brink of something really really big here. The planets are aligning, the momentum is building. The world needs Nostr (and just might be ready to hear and act on that fact).

Enjoy this part. The before. The beginning. It feels scrappy and fragile; all the features are broken, we're not sure it's going to work at all. But in a few years we'll all be longing for this period again. 🫂


💜 Leonard


How’s it sign? Or is it just for browsing for now?


Don't mind me, I found it.


Can I build note deck to use it locally?


And worse still, it's absolutely non-linear. You work harder just to stay in the same shape let alone improve as you age.


Love this idea


🙄 Another rabbit hole, why not?! 😅

Do you promise to answer dumb questions when I get into it?


This is such a cool idea!

nostr:note1yvlut0qv3seanzlfqgk4zks4glfe52ughas08ethk27tc5hdzg4qzx3pfq


nostr:npub10pensatlcfwktnvjjw2dtem38n6rvw8g6fv73h84cuacxn4c28eqyfn34f will probably turn out to be one of the most impactful organizations in history with respect to human flourishing.

We’ll just have to wait 40 or so years to find out.


Can we add “build things” as the third item? 🤙


That among many others...


I'm so excited to send out the MLS Messaging Update for tomorrow. I've got screenshots to share!

https://i.nostr.build/s2eYLHVe43B4lsNT.gif


I had to look it up but...oh my fucking god that looks hard! I hope you post progress here to make us all feel bad about ourselves!

Good luck!


Have you been reading  nostr:npub1dergggklka99wwrs92yz8wdjs952h2ux2ha2ed598ngwu9w7a6fsh9xzpc's book recommendations again?!


That deep hole you get in when you're in the flow on something and you forget to eat, forget to work out; hell, forget to move at all...

It's a beautiful thing.


Kids school. 😊


GM Nostr! First day of school today.

Time marches onward.


Not literally. Thankfully. Just mentally. 😝 back in action this morning.


Defo possible. Just a deep hole as to how much you want to incorporate.


It started so well... turned into a complete car crash. 😔

Thankfully, some good news slipped in there at the end to save it.

nostr:note1r8j4gmqem3ue7dvj9t07pc9a8weq9ncerjslthr973czu8nvt69ql4ew9y


nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s Would you recommend nostr-db for other projects at this stage? Or is it still too unstable?


GM Nostr! 🍁

14ºC this morning. Prime operating temperature for my brain.


GM Nostr 🌞

Heading back home today to the first signs of autumn. 🍂

Can’t wait!


https://m.primal.net/HqdM.gif

nostr:note1nnaky80qqr4vn3rvt6lqscp3v5juzafuerg4w3lzjvd6medmyujsnruhwg


LOL. Goes to show how much I've looked at that ecosystem. 😅


GM Nostr. Last day of holiday here and it's pouring rain and windy.

... that means, I get to code 😊


Just that it's only going to build for Android and no other platform.


Yeah. I think that stuff would be possible maybe. The messages being sent around are just Nostr messages but kept unpublished. So in theory they can do anything you can do in a normal Nostr event.


Yeah, it's not really maintained at this point. I'd love to get back to it but I'm focused on other stuff at the moment.


Let’s fucking go!!

nostr:note1mr0wagwxkkgzh09yk73casz9k6kp4dlgrnrncdwgye53g580776quzxyrx


Yeah.


It’s always time for GM.


This’ll do…

#gratefulstr https://i.nostr.build/36x30ZT9P9Fnvxd2.jpg


For those who will remain unnamed 😂😂


Yeah. That sounded a little rich. They probably had lots of other and easier ways to listen in on his phone.


Not blocked but compromised in the sense that three letter agencies have access to some degree of data.


I tend to agree.


Yeah. I tend to agree. But pragmatically. I also think most internet connected systems are compromised to one degree or another.


🙏 you’re welcome!


💯 all steps in the right direction. We’ll make another big step forward soon.


Yeah. I think the encryption is unlikely to be compromised. But given the centralized identity servers the metadata could easily be compromised.


💯💯💯 this is exactly the issue. But there are definitely degrees of “compromised”.


You can’t.


GM Nostr.

What do you think the chances are that Signal is compromised?
https://m.primal.net/KhiA.jpg


Working on it. As secure as signal but no centralized servers.


💯 never gonna happen.


Iykyk


GM Nostr! 🌞
https://m.primal.net/KgVL.jpg


Please god. I don’t ask for much. But I would like to have this conversation with my kid’s school at least once. 🙏 nostr:note1furcqthswjfear9p7cur5gs6qepp70e58qxqgsc5ydye3xzxtslsdzrky6


Yeah. That lines up with everything I ever heard about it. Seems amazing.


Total choss pile. 😂 Some hard as nails routes though.


Ohh nice! One of the few ranges I haven’t yet had the pleasure of climbing in.


Cool.


Where is that?!? 🤩 bugs?


Gunnison?

I don’t get dreams about it but looking over big drops still makes my palms sweat even after 25+ years climbing.


💯 nostr:note1yz8zzgeyn8uvrcntszljef539w6ug0wq66g7nj8w8z7wza5wadwqqk5zk9


Agree. But until we get rid of them we still have to oppose their idiocracy.


Please. Take the time to send a message (or a few) to your representatives to oppose chat control.

If you’re a dev. Consider scripting an automated messaging system. Not that I’m doing that…😉

nostr:note1h8u56vmqwac5hae5493yzf69tpe9r55355j7s9etjgl3rqxzf8zs0ls0e8


I haven’t looked at the marketplace or online store nips in a while. What’s the current state of the art for starting a small online shop? #askNostr


Well, when you put it like that… 🤯
https://m.primal.net/KfOz.jpg


I am Jack's unsurprised raised eyebrow.


Parker in the running with Peter Todd for who can be more deranged about Nostr. 😂


But why would you want a blanket when it's hot out?! 😅


Thank you sir! 🙏


Don't know... 🤷♂ I'm getting zaps so maybe it was just a temporary issue?


Tauri.


I've always loved the format of  nostr:npub1znfdz4lhyqx4hs0rpf3wvhdng9pw6xrz0utpwlz689qnzq05s5qsmjkaat's videos so I was honored to be the subject of one. 🤙

nostr:note19pl3guhffeyxr9zmm6cwxryj5qkk3csmz6f23pgtg9z2rw98vrvs3huecy


Santa Cinquantotto 🧎♂➡🙏


Both nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn and I wrote posts about this a while ago. Here is his. nostr:naddr1qvzqqqr4gupzp978pfzrv6n9xhq5tvenl9e74pklmskh4xw6vxxyp3j8qkke3cezqq2nskt2w9vx6dznfdvj64rpw4mk5nmxf3v9xsd0gdy


So true.

nostr:note1xqenavxy4d2n7zxhmtj8k4hhmhr47qy4ermg6cn28r6f2e3n4v8qrszp7m


I've turned off all notifications on the NIPs repo again.

It kills me because I love to keep up with all that's going on but it's hitting 100+ emails a day at this point.

Focus must be protected.


Finally got the sixth installment of the Nostr MLS (secure messaging) update out. 🙈

nostr:naddr1qvzqqqr4gupzq9eemymaerqvwdc25f6ctyuvzx0zt3qld3zp5hf5cmfc2qlrzdh0qqxnzdejxvurqv33xvurydf5xr6m0l


💯

The traditional media (including it's social variants) and politics thrive on the lack of nuance.


This is the sixth in a series of weekly(ish) updates detailing progress on bringing MLS protocol DMs and group messaging to Nostr.

## Previous Updates

- [June 28th 2024](https://habla.news/u/jeffg.fyi/1719562889267)
- [July 6th 2024](https://habla.news/u/jeffg.fyi/1720256910765)
- [July 12th 2024](https://habla.news/u/jeffg.fyi/1720778880538)
- [July 19th 2024](https://habla.news/u/jeffg.fyi/1721419437737)
- [August 16th 2024](https://habla.news/u/jeffg.fyi/1723802138254)

## Progress this week

Sorry about the very late update this week. Catching up on everything after a week in Riga for Nostriga and Baltic Honeybadger took a bunch of time, every other moment was spent coding. 👨💻

The response at Nostriga to NIP-104 and my two talks on the subject were overwhelmingly positive. It was very helpful to spend time with other devs going through the spec in detail. We found a few minor improvements and clarifications but no major issues surfaced. Thanks to nostr:npub1v0lxxxxutpvrelsksy8cdhgfux9l6a42hsj2qzquu2zk7vc9qnkszrqj49, nostr:npub1lunaq893u4hmtpvqxpk8hfmtkqmm7ggutdtnc4hyuux2skr4ttcqr827lj, and nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr in particular for the lengthly interrogations and nostr:npub1wmr34t36fy03m8hvgl96zl3znndyzyaqhwmwdtshwmtkg03fetaqhjg240 for the introductions.

Last week, I started work on a reference implementation of the spec. It's still early but going quickly.

My PR adding support for secp256k1 was also merged into the hpke-rs library yesterday. That's one more step in the right direction towards having secp256k1 ciphersuite support.

### The NIP

If you haven't already, check out my talk; [The Past and Future of DMs and Group messaging on Nostr](https://www.youtube.com/watch?v=PWKd9aoZ-Cg). This was a basic overview of the various DM and group messaging schemes and talks a little about the progress on NIP-104. I _believe_ there is a recording of the technical talk on the spec but it hasn't yet been released. I'll link it up when it is.

At this point I've been discouraging anyone from trying to implement the NIP quite yet. As I mentioned above there are a few adjustments that need to be made and a few open questions that I'm working on answering with my implementation (which I'm very happy to have contributors on). My plan at the moment is to do this first implementation with the default ciphersuite that MLS already supports while I continue to work on the dependencies to get secp256k1 support across the board.

### The Implementation

I've started on a cross-platform native client that will run on Mac, Windows, Linux, iOS, and Android. Think of it as Signal or Telegram but over Nostr. I hope that this will not only become the reference implementation for other client developers but also will be one of the most secure and privacy focused clients in the Nostr ecosystem. Building it has already been helpful in clarifying some of the more complex implementation details in the NIP. It's still early but I'll have more to share on this in the coming weeks.

### HPKE-RS

My [PR](https://github.com/franziskuskiefer/hpke-rs/pull/66) to add support for secp256k1 is merged!

## Onward and Upward

Thanks again to everyone for the support and feedback on this stuff at Nostriga. It was hugely motivating to hear the kind words, have you introducing me to people that could help, and spending time giving me feedback! This community is the best. 🫂

The sixth in a series of updates on the progress of bringing secure messaging to Nostr

This is a long form article, you can read it in https://habla.news/a/naddr1qvzqqqr4gupzq9eemymaerqvwdc25f6ctyuvzx0zt3qld3zp5hf5cmfc2qlrzdh0qqxnzdejx56rxveexqer2vfnmv5lc0


GM Nostr. 🌞

This sums up America these days.

Elon posted this on X but it doesn’t make it any less true.
https://m.primal.net/KdUy.jpg


Cozy only exists in cold weather though, no?


lol. Insane. Would be an amazing move on their part though.


Up only. Except for price. That stays at 58k.

nostr:note1ynj5x36ppjffyer76nsqz7et9rpzxqf786r2zhqwr5hup5etwevqu3yz8y


Wow. 🤩


Oh hai Croatia.
https://m.primal.net/KcZg.jpg


YES! Couldn’t sleep for days when I first realized just how many second+ order effects Nostr has.


There are few things more satisfying in life than creating something new or making something work that previously was broken.

The ability to problem solve and then brute-force your way through the effort to implement a solution is pure magic.

I'd love to hear more stories like this from everyone here. Regale us with tales of your legendary battles!

nostr:note1n9vfmuwd8jg4ez8rgadhjvpx437wyztlfq8kdpqrtp97fa9d7dqs7htafc


The million dollar question is, how do we get them to flip...

nostr:note1dpej0rdhrw7ruy9ed8dradhtznha6ltrxd0vr678t4lsnqvdrupqatt6w8


More long form Lyn!!


Creepy AF

nostr:note1aq4kzj97l5hfc6atu4wnfn53t0p5cgdtwndh3nfhq0kccr8wr7msavlv4z


Sounds amazing! Keep us posted.


I hear you. I grew up in southwestern Virginia.

That said, it hits 100º here in the summer too.


I think about this often. We don't have a clothes dryer or AC in our house. We get along just fine.

So many of our "needs" are manufactured for the benefit of the fiat growth-forever machine.

nostr:note14styz9xkzsgwjyr0r6t38mj562l2u7yf2k6kyl5rq37wcc5mh7hshey8c6


That's what I thought... haven't been able to find it...


Hey Rust nerds. How do I setup VSCode so clippy doesn't check every single dependency every time I save a file!?


Is this real?!


Always a bag a laughs. 🤦♂


The EU commission wants chatcontrol so badly. The most bizarre aspect about it: Europeans strongly refuse it. WTF 🇪🇺

https://www.patrick-breyer.de/wp-content/uploads/2021/04/1600-840-max-d-1024x538.png


I hope to fuck it never gets that far.


Fucking radio nerds… 🙄


nostr:npub1k0ag8874qnwq6szh9q9g2m8xt8g6zlpdang5nuhcg6hs7c9ga9xstn9tcn would agree.


So psyched to see so many groups organizing to help spread nostr far and wide.

nostr:npub17plqkxhsv66g8quxxc9p5t9mxazzn20m426exqnl8lxnh5a4cdns7jezx0  👏

nostr:note18qjl2nc7802t8emht5eyvk9489c08u3y0ywvkmvnkqn8ssnur05searqlk


Not soon enough.


nostr:npub1mznweuxrjm423au6gjtlaxmhmjthvv69ru72t335ugyxtygkv3as8q6mak our favorite piece EU legislation is coming back for more. 🤬

nostr:note10tnerfxs5zh2nsenzq32cmvudl5myfy9ume2l3n2sycn9782hptshjxtae


Spot on.

https://world.hey.com/dhh/free-speech-isn-t-guaranteed-to-be-forever-e7654685


made this - deep imo.

free speech is a human right.

https://image.nostr.build/031911bb683768c2657807cdb10b540748b9bcc829cecd008c8317997f9f657a.jpg


Soon™


Lots of progress today. 🔥🔥


Yes, that's right. To run a secp256k1 ciphersuite we'd need two things.

1. An update to the OpenMLS implementation of the MLS spec (because it can't accept custom ciphersuites at the moment).
2. An update to the OpenMLS RustCrypto library (which is the crypto traits that are needed for the OpenMLS library). OR a brand new implementation of the crypto traits.

You don't need the user's main nsec for much in how the NIP_104 spec is written. There is a need to sign a few events but not many and nothing that is inside the MLS stuff.


GM Nostr. 🌞

Don’t make the mistake of thinking it’s unassailable.
https://m.primal.net/KYRd.jpg


I know I owe everyone an MLS weekly update (one was skipped because of #nostriga).

I’ll get it out there tomorrow.

Promise. 🙏


#calfstr?


It was certainly drilled into me as a kid by multiple generations ahead of me.


One of the hardest parts of being an artist is realizing that most people out there don’t love what you create the way you love it. Accepting that, letting go of ever expecting it, and creating what you love anyway is one of the most liberating things you can do for yourself, for your art, and for the people who actually do love it.


💯 It ain’t free speech unless it protects precisely the people you don’t like.

nostr:note1zj0fhudeg6ss974llz02wa0gxqaq6l72wm5mqskxtr9chy4lem5sl29nht


What. The. Fuck.

Worse than I imagined. 😒


My dream. Early 90s mint condition Toyota Hilux. Only modern feature would be a dope sound system.


There is a line we must not allow them to cross.


Tomorrow now has a project.


But what would you do without those birthday candles?!


I feel seen. 🫂


It’s just the odd time. I don’t mind not dying in an accident but no need for the hysterics when it’s a short drive.

Don’t want another random thing to deal with.


Does anyone else get annoyed at the seatbelt alarm in cars that just keeps getting more and more frantic if you don’t comply?

I got it, but I’m just moving a few hundred meters, and I’m a fucking adult who can make his own decisions. 🤬

Or am I just nuts.


Ahh. Last commit 4 months ago… 🤔


What do you mean? It runs and does so well.


I need to get to HK… 🤤


😂 set phasers to kill.


Sounds like sentience to me. 😂


This. Just this.
https://m.primal.net/KXPz.jpg


Massive success. Fingers and hands are so tired from pulling brakes, I wonder if I’ll be able to type tomorrow 😂

nostr:note1zxje04nh5dnme9uhpdqex6gapf3q9jn2wtst4vdp7rm5750e7v6qutqg5y


UK. Lost its damn mind.

France (and the EU). Lost its damn mind.

Brazil. Lost its damn mind.

Happy to see so many new faces here on Nostr but I’m sad to see freedom of speech being attacked so vehemently worldwide.


Welcome. We won’t (and can’t) deplatform you here. 🫂


GM Nostr. 🌞

Going downhilling today for the first time in many years. 🚠🚵


The problem with that is that we had a purple check sort of thing (and still do in some clients) that was based on Nip-05. It is sort of a verification of your name on a specific domain name but people give it too much weight thinking it means there is only one of a person with a check mark. So it’s ended up being confusing.

I don’t have any really good ideas. It’s something I want to start experimenting with more soon.


Oh no. They’re definitely here too. Most clients only make it clear who else you know is following them. This is what I mean by needing new UI patterns to help users parse this info faster and easier.


People are adding WoT features to many apps. It’s still relatively new though.

There isn’t a point in a “purple check” but we do need to come up with new UI markers and signals that help people use wot better.


Sleep won. 😅


Please god no. 😂 hopefully that’s one protocol we can leave for dead.


It’s truly amazing how much one can accomplish in a day.

GN Nostr 😴


Oh, we're so back!

nostr:note1kfgx6njujh5fw9ctv6axccceyr5ezl5nl62c30eydwu4v7ggq8gqq7mpjj


I'm working on it buddy 😉


Wow! 😍 Love to see  nostr:npub1kmwdmhuxvafg05dyap3qmy42jpwztrv9p0uvey3a8803ahlwtmnsnhxqk9 continuing to improve and ship such a world-class funding platform for creators, open source projects, and community groups.

New design looks 🔥! LFG!

nostr:note1yk6cdxaa5mt4ne6f6h4syshl5083wxuvphesqctgxlrwnm9xgfusex2xjd


😂😂😂 so many ways this could go…


So many new npubs being minted recently!

Case in point! 👇
nostr:npub1ah3cvmwlcs92fezcj5kpr3n7sflrewu2df8s4y6vqzd29mf0k3ms50t0cy


Does it matter? The extra overhead of sending a single extra event to the server is negligible...

I'm really confused as to why the  nostr:npub1h0uj825jgcr9lzxyp37ehasuenq070707pj63je07n8mkcsg3u0qnsrwx8 folks keep banging on about it. As a dev, would I prefer to implement two entirely different protocols or just one that handles DMs and Groups and can do so in a secure way?!


Interesting. What about it do you think makes it your favorite?


Always something to complain about… 🙄


Also funny that so many of these are being actively worked on right now.


GM Nostr! 🌞

So pumped.


Beautiful!


Yes. Your phone could act as a relay.


Would love to hear from Chinese Nostriches who have used them. nostr:npub1mygerccwqpzyh9pvp6pv44rskv40zutkfs38t0hqhkvnwlhagp6s3psn5p nostr:npub1ejxswthae3nkljavznmv66p9ahp4wmj4adux525htmsrff4qym9sz2t3tv you all know anyone? Or seen any good design breakdowns of WeChat, etc?


👀

nostr:note1skq6njq098cmune3mz35s9snxuftdz3yx35cqyrlux3nv7vpdzlsfygf0l


I mean… I do enjoy London. 😅


Agree. I hate that it’s swipe to reply is opposite of telegram’s though.


Hope you’re planning on having a good few nostr guests on the new show!


Which messenger has the best UI/UX? #askNostr


Wish I could make this. It you’re in the area don’t miss it!

nostr:note1r88n9rrkxnng96p5730gfr3f2r7p0ss8ypsvuj4yj0qtexh6rf9s4234lz


Can confirm. 😂


Tauri on it's own. v2 supports iOS and Andriod


Tauri


Tauri.


yes. 😉


The speed of development using modern tools is incredible.

I have the simple frame of a native app working for Mac, Windows, Linux, iOS, and Android working after just a few hours. 🔥


Tell me you're American, without telling me you're American.


GM Nostr 🌞

A wise man once said, "Send notes and zap sats!".


Zap store in general is a huge deal.


So nice!


I think you may have missed the point.


This is a much bigger deal than people think.

nostr:note12d3qu3zy8747lhhz3uhty38td9ex8vpyeqqqdvvehg8tkklraa8szmy8zn


The compounded exhaustion of the last week just hit me this evening like a ton of bricks. 😓

GN.


You have any experience with that  nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z?


💯 Yeah. Sounds like we're on the same page. Spec improvements, then demo using the default ciphersuite, then custom secp256k1. 🤝


Yup. that's one of them. I've been in a few other Zulip chats with them and a phone call or two.


Hey  nostr:npub1s6z7hmmx2vud66f3utxd70qem8cwtggx0jgc7gh8pqwz2k8cltuqrdwk4c! Thanks for taking the time to write this up. I was thinking the exact same thing. I have been in touch with various MLS folks (both those working on the spec but also those working on the OpenMLS implementation). They are open to the idea and suggested that we create it as a custom ciphersuite so we don't have to wait on IANA to give us an identifier.

For now, I'm more concerned with getting the rest of the NIP finalized and implementing it with the default ciphersuite to make sure that we have a working solution. As you say, we can deal with the custom ciphersuite later and upgrade groups.


I know it's been shared by many but I'll add my voice.  nostr:npub1wmr34t36fy03m8hvgl96zl3znndyzyaqhwmwdtshwmtkg03fetaqhjg240's talk at #nostriga was excellent. I finally got around to watching it through and it resonates very strongly!

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


I disagree with this chart. I think 1, 2, and 6 are all on the same level when properly implemented.


Architecture overview (start here): https://messaginglayersecurity.rocks/mls-architecture/draft-ietf-mls-architecture.html

RFC: https://www.rfc-editor.org/rfc/rfc9420.html

Good video overview of the very basics: https://youtu.be/FESp2LHd42U

Conference talk about it: https://youtu.be/FTPRjVLi8k4


GM Nostr! 🌞

Happy to be home today and catching up on everything.

In the meantime, I came across this great read on how to build protocols/standards in a comment from  nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 on the NIPs repo. It's worth a read: https://this.how/standards/


I think that  nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft has been doing a bunch of work on the editor but I noticed the highlighter relay seemed to be down the other day when I tried. I'll play around this morning and DM you if I find anything.


Video, I don't think so. It was on the second day so I believe there is an audio recording that they'll release at some point?  nostr:npub1nstrcu63lzpjkz94djajuz2evrgu2psd66cwgc0gz0c0qazezx0q9urg5l?


Substack?! You should write here on Nostr! Highlighter.com


💯 fully agree


From what I know it sounds more like a miscommunication that spiraled out of control.

In any case, I have a lot less respect for people who post private messages on socials to sort out their disagreement with someone.


There is a video on YT if you search double ratchet messaging it will likely pop up. It’s from Wire and has a great technical explanation with visuals.


GM Nostr. 🌞

It's been an amazing week in Riga. The response to my messaging NIP has been really quite overwhelming. 😊 I have really appreciated all the time many of you took to ask questions, give me feedback or ideas, introduce me to people who can help, or to just say you enjoyed one of my talks on the topic.

I'm headed home today with a lot of gratitude and a ton of motivation to get this right. Very much looking forward to the day when I can delete telegram from my phone once and for all.


Try a different client, maybe https://primal.net

That looks like an error with Snort. cc/  nostr:npub1v0lxxxxutpvrelsksy8cdhgfux9l6a42hsj2qzquu2zk7vc9qnkszrqj49


You can also check out my thread of weekly updates: https://highlighter.com/jeffg.fyi


Why can't you DM?


This one also surprised me! Really cool project and one I can’t wait to dig more into!

nostr:note1j2pjkw0ukmylls6pfd3uxpae7rcx03v4wtsuqwh652cvxns3n0yq8eeh7m


Feel free to DM me


Moon math


incredible one: https://www.youtube.com/watch?v=PWKd9aoZ-Cg


Big if true.

nostr:note1a8vst3lce4arux286cjrjurgqkxahqq96740phtkz30f496qk4rqq8geux


💯💯

nostr:note1pk85v0yzduy3323duwfqcv20w4s8n26xsxssqxaqamrvyp2vxsvql8g456


Ok. We’ll just have to agree to disagree.

Do you all have a spec or draft NIP about what events you’re using and how they’re structured?


Yes. It does cover all three. In a highly efficient way, without any central coordinator or server.


That’s misleading. There is a “message” that is sent between clients to ratchet the group forward and provide forward secrecy between epochs (when the full ratchet tree is refreshed), however the user doesn’t have to think about that at all and happens on a regular basis in any normal 1-1 or group chat.

There is also another layer of forward secrecy that is provided by the message keys themselves (basically using the same mechanic as Signal).


💯 feeling great.


I’ll try and put a diagram together next week. There are a lot of technical differences in how the encryption and authentication is done and what tradeoffs they take.


Why would signal be better than MLS for 1-1 chats?! That makes no sense.


Looking surprisingly fresh 😅


Great talk nostr:npub1v5k43t905yz6lpr4crlgq2d99e7ahsehk27eex9mz7s3rhzvmesqum8rd9! Are the slides available? Would love to send them to a few folks.


Don’t overthink it. Just don’t think about the consequences.


nostr:npub1sg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237lmu63q0uf63m This is the best idea. 👇

nostr:note1u3w3dwy57p88ecgrkgr0ujacag0jnmctltunxw0p96heu2veh8jqh9m3vw


🤣
https://m.primal.net/KKhO.jpg


Does Proton have a messenger?


New users need to find people and content that interests them. They need to be able to find it easily. This is the biggest problem we face in growing Nostr.

nostr:note12zfxve859v036y5g2apjk6dj7fmy2xlhmtqmazh5s54makfj02hqszmrlm


Really good talks so far as well!!


AML must be abolished. It doesn’t solve the problem. It’s only a thinly veiled surveillance system.

nostr:note1457wapm05j44ehwu0p6n3ylntpc0gm2l25cet444ktw64snsdg3qjmj50a


PoW! I’m impressed.


GM! 🌞

My talk from day one at #Nostriga is already live. If you’d like to know more about messaging on Nostr, this one is for you!

https://youtu.be/PWKd9aoZ-Cg


Thanks! 🙏


Who’s in?

nostr:note1pqj6zsv2d8kpy6u8c4f0px2087eu3cus64l7yccvyr9m7mcm558qet3s2c


Dm me here and then we’ll connect elsewhere


Great seeing you again!


GM nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6


Let’s goooo!


Nostraulia?? Nostradrica??


you don't need to be a developer to contribute to nostr, AT ALL.

your time, energy and attention here make this place stronger


🤣🤣 dying


Thanks!!


I got grilled for an hour by nostr:npub1v0lxxxxutpvrelsksy8cdhgfux9l6a42hsj2qzquu2zk7vc9qnkszrqj49 and nostr:npub1rpes5hhk6mxun5ddt5kecxfm8y3xdr0h5jwal32mc6mxafr48hxsaj2et2 about it. I’ve got a huge list of great feedback and questions.


Finished my last talk for the day. Whew. Now if I can only keep my voice for Baltic Honeybadger… 😅


GM #nostriga!

Come find me to talk about DM and group messaging.


You're clearly explaining how rotary wing flight works.


Thank you to everyone who has had encouraging words or thoughtful questions about my new messaging proposal.

Keep them coming!


Hello nostr:nprofile1qqsfc93uwdgl3qetpz6kewewp9vkp5w9qcxadv8yv85p8u8sw3v3r8spr3mhxue69uhkummnw3ez6ur4vgh8xetdd9ek7mpwv3jhvtcprdmhxue69uhkummnw3ezummjv9hxwetsd9kxctnyv4mz7qgewaehxw309aex2mrp0yhxummnw3exjcmp9e3k7mf0zeg2qy a little present for you and anyone following #Nostriga on DVM-enabled clients. #RunDVM

https://i.nostr.build/AxCmi9qVDL17nHPL.jpg


Don’t think so but it would be cool to publish them all on the nostrworld repo


It was me and nostr:npub1c878wu04lfqcl5avfy3p5x83ndpvedaxv0dg7pxthakq3jqdyzcs2n8avm , not nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s


Those out there running personal relays, what are you using to run it? VPS? Umbrel? Something else?

#askNostr


The dick jokes will continue until morale improves. nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft #nostriga
https://m.primal.net/KHkY.jpg


Why we’re going to win.
https://m.primal.net/KHjP.jpg


Let’s make this happen! 👇

nostr:note1v8s5arlf7tpr2kavwkcqyrd7krqp0n98ef6udt7nvrsmv4z3zaeqva4l4d


Resistance transport! ✊


LFG #nostriga
https://m.primal.net/KHfS.jpg


GM! Day 1 of #nostriga starting soon!

Like a kid at Christmas, I couldn’t sleep all night I was so excited. 😆


Sure ok... but that keyboard is what caught my eye! 🤌


I hear that  nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft has spent a bunch of time on the editor experience in Highlighter recently...


Indeed. Circular economy isn’t it.


nostr:npub18ams6ewn5aj2n3wt2qawzglx9mr4nzksxhvrdc4gzrecw7n5tvjqctp424 preaching the good word here at #bhb noob day.
https://m.primal.net/KGcU.jpg


Went to dinner last night with a bunch of Nostriches and paid for my meal with sats earned from posting here on Nostr.

Not the first time… but it still blows my mind! 🤯🤩


This is the one day I’m happy to use the American date ordering. 😅


This is the way.


Eggs Benedict. 😋


GM! Happy Infinity Day to everyone!!


🦩👋🦩 Hey Nostriga & Baltichoneybadger! 🦩👋🦩

We're organising the best and only Friday afterparty with  nostr:npub1getal6ykt05fsz5nqu4uld09nfj3y3qxmv8crys4aeut53unfvlqr80nfm  nostr:npub1a6c3jcdj23ptzcuflek8a04f4hc2cdkat95pd6n3r8jjrwyzrw0q43lfrr  nostr:npub1gnewtd6zgevqk55x59fge4azwdpw36832kggecwr89t3xmywvh0spp6wfy  nostr:npub1yzvxlwp7wawed5vgefwfmugvumtp8c8t0etk3g8sky4n0ndvyxesnxrf8q #PaywithFlash  nostr:npub1krveufv8unj22udw0tjngv8f0g3zdjdz64kx3dztw9tkl8r66tzq0fd3py  nostr:npub1mygerccwqpzyh9pvp6pv44rskv40zutkfs38t0hqhkvnwlhagp6s3psn5p  nostr:npub1lwsmhk9t2le9see32l006khunnk6qpxxs30enke3d8lykcd6wstqegy86j  nostr:npub1rjtrs7xqdvj3588r9njrexh2n750j7jdwx9qs543nutmdsj6ljaqpfmp8a  nostr:npub1gp4xzpmluelsakjtayc4wtzj97fhj5kakqjvsannu00xkdlf4x8s0xdqyq and others.

Music, barbecue, drinks, networking, all streamed on  nostr:npub1h8gzew8am6cezuq7cpjgudldra40hgnruqrqlsrqnxnzs5wjtczqztps02!
Are npubs you see here real people? Please reshare if we're gonna meet you!

📌 Friday, August 23
⏰ 6:30 PM - 10 PM
📆 Free Riga - Lastadija Culture Centre
🎫 tix: FREE (proof of npub)

https://m.primal.net/KENE.png

#BH2024 #Nostriga

https://github.com/nostrworld/nostriga/issues/63

Replaceable Nostr calendar event:
nostr:naddr1qvzqqqrukvpzq3jhml5fvklgnq9fxpete767txn9zfzqdkc0sxfptmnchfrexje7qqjxxc3svgmkxwf495envwfh956xyctz943rxcf4943rzdmpxenr2enp8ymnyvy0k30


🤙 I'm here.


Nevermind, found it: nostr:npub1vdf24ef6qk9g4u7ytnfcmqe49tt34727qlz7nwq2cz8q49kymy9sve660f

nostr:note1n6dfl3a6dfvtvfhfqa5l2z8a9pcr6uza3r7yesv35p8xhcz0jkcqcvmsgj


Anyone know the npub or name of the DM bot/app that shows all DM conversations here?


GM Nostr and Riga 🌞


We’ll find out soon!


See you soon!


Legit. A shoe free house helps. They have to at least take them off just inside the door every time.


I see what you did there.


Mate. I can’t solve Apple and Android’s entire supply chain. Or all the other software on those devices.

In the context of Nostr, this scheme is end to end encrypted.


🤣🤣 eh si. Dopo qualche settimana di ferie avevo tanta voglia di lavorare. La grigliata l’abbiamo fatto questo weekend.


They’ll get it eventually. 🤷♂


GM sir! Will we see you in Riga?


Yes! It's definitely temporary.


There's always a chance! But I think it's going to be pretty tough. I've got a lot of travel around then already.


Thank you brother! 🙌


🙏 yes, please.

👀👀 =💪🔐

nostr:note162ts4dumzpgq9tedjuxemjalm43agnta02v8lqk495xjkuc9evhsgrn907


🙏 cheers!


I’m looking forward to building really strong end to end encryption. 😈

https://www.therage.co/uk-nca-national-risk-assessment-2024/


Amelie? Saw it again recently and it was everything I remember and more.


There’s still time.

nostr:note1fvf2ty7p0r7e27g0w4rya7g9mjuxqsnpvk9n8zyws5ty33zt39rshqmrlw


What’s one more between old friends then?! 🤣

Ok. How about scanner darkly?


Can’t wait to hang!!


Office Space.


GM Nostr. 🌞

Build stuff that lasts. nostr:note1h34lxv9k2n6l0as444reqd87cgfwa9q4l72wc3flzp4w729qwy0skyw25z


Thanks! Yes, that’s true. It’s certainly not as easy as pulling a bunch of events from relays and decrypting them.

Thankfully the mls implementations do a great job of managing most of the state. Clients that want to implement this need to think about secure storage of the prekeys (but this is pretty much the same as looking after someone’s nsec).


Yes.


I was there just after the Covid closures let up. It was fantastic.


#askNostr What are the best relays to use for NIP-17 DM receive?

 nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z  nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn any suggestions?


Report back! This is the part I'm most interested in.


What is it?


Nostr will win. nostr:note1v5wqvsuhjtcrphgx256nspqyp7eg2zxsanluy0yu5yklg37qj0aq8cnuzh


Very interesting. What’s the motivation to go?


I definitely think that SovEng is another program in the same vein. https://www.synthesis.com is another which is doing really interesting things.


I tend to agree with that. After hearing him say the same things over many years without outward progress on the ideas I'm suspicious as well. That said, I love this idea of in-person deeply focused learning institutions. Something to replace the overpriced and underdelivering university systems of the world.


So, each client counts as a distinct member of the group. Which means that you have to individually join the group from each client that you want to use.

On the surface, this sounds annoying, but it's the same thing that you're doing with Signal or Whatsapp when you connect with the desktop app. You're just inviting your new client to the chat and then that client has it's own set of keys and state and goes forward as an independent client.

The app itself makes sure that your messages from those distinct clients show up as from the same person. And the app itself could have the ability to sync your chat transcript between the two devices but that's not handled at the spec level here, it's handled at the application level.

Does that clarify?


Another of my favorite places! I hope you got a chance to hit the hot springs while you were there.


Nice!


 nostr:npub1xeejes6lu4scttcmzytq5wfad3e6rljpmhc3snqs89xz3jjavfasnuz3mx is doing a 3 month in-person Network School now. Very interesting...

I expect to see a lot more of this sort of thing springing up over time.

https://ns.com/


Check your DMs


GM Nostr ⛈


Feeling busier by the day!


GM Nostr! ⛰🌞 https://i.nostr.build/ctSR4rJkHOQruXTH.jpg


Yup. The most important thing is to follow more folks and make sure you’ve got your various relay lists setup so you’re as discoverable as possible (both for people and features). Happy to chat directly if you want the high speed crash course.


Yup. This is definitely an option for syncing chat transcripts. And it would be implemented at the client/application layer.


No str.


This is why I've spent so much time working on and understanding the OpenMLS library. It's a really solid open source implementation of the MLS spec that I think most client devs will use to implement this NIP.

Of course, once this NIP gets some feedback and settles down I'll start work on implementing it myself and adding the necessary abstractions to NDK (and other nostr libraries) to make it easy on client devs.

That said, it's quite different to the way that people think about DMs so far. Each client keeps it's own chat transcript and has it's own set of keys and state so it's less "syncable" than something like NIP-04 or NIP-17 DMs.


I agree! I can't wait to get started on the client that implements this.


Latest weekly MLS update just published. 🤝

nostr:naddr1qvzqqqr4gupzq9eemymaerqvwdc25f6ctyuvzx0zt3qld3zp5hf5cmfc2qlrzdh0qqxnzdejxvurqv33xvurydf5xr6m0l


This is the fifth in a series of weekly updates detailing progress on bringing MLS protocol DMs and group messaging to Nostr.

## Previous Updates

- [June 28th 2024](https://habla.news/u/jeffg.fyi/1719562889267)
- [July 6th 2024](https://habla.news/u/jeffg.fyi/1720256910765)
- [July 12th 2024](https://habla.news/u/jeffg.fyi/1720778880538)
- [July 19th 2024](https://habla.news/u/jeffg.fyi/1721419437737)

## Progress this week

I'm back from a few weeks of family holiday this week and feeling super productive. The major news this week is that I've posted the [draft NIP](https://github.com/nostr-protocol/nips/pull/1427) to the NIPs repository for how to implement MLS messaging on Nostr. I've gotten feedback on the doc from several other Nostr devs but I'm absolutely looking for more feedback from the community.

I've also made progress on the dependencies that I was working on before my holidays. Info below.

### The NIP

I won't review the entire proposed NIP here but I wanted to call out one tradeoff that I thought hard about.

In my original proposal, which only supported one-to-one direct messages, all messages between the two parties were sent as NIP-59 gift-wrapped events. This helps to hide metadata but it creates problems of it's own. Notably, it's very possible to DDoS Nostr clients with meaningless gift-wrap events since clients must decrypt and unwrap each event to even understand if it's something that is important to them.

Aside from those problems, gift-wrapping messages to an entire group would be very impractical. It would require the client sending a message to individually gift-wrap the message individually to all other participants in a group.

The tradeoff I've come up with is to use a public event, `kind:445`, tagged with the group ID, so that all participants in the group can easily query for messages from each of the groups that they are a part of. The content field of these event is encrypted using the MLS ratchet keys and thus is only able to be decrypted by members of the group. These events are published using an ephemeral key so that the number and identity of the group members is obfuscated.

This means that observers have a relative idea of the level of activity in a given group but don't know exactly how many or who is in the group. In addition, it's easy within the MLS spec to rotate the group ID over time.

Would love to hear thoughts on how people feel about that tradeoff.

### HPKE-RS

My [PR](https://github.com/franziskuskiefer/hpke-rs/pull/66) to add support for secp256k1 is stuck because of bad test vectors for the secp256k1 curve. I've been working on generating new vectors that will be usable by other HPKE implementations as well. Huge thanks to @dan for the help on this.

### OpenMLS & Ciphersuites

As mentioned in the previous updated, I've spoken with the OpenMLS team about how to better support custom ciphersuites. I've started to work on the expansive refactor in OpenMLS to make this possible but it's going to take a while.

One major decision that has come from this is that I've decided that the NIP will not require a single custom ciphersuite (built around Schnorr signatures on the secp256k1 curve). Instead, clients can decide which ciphersuites they want to support and are able to implement this NIP immediately with the current OpenMLS version.

I will continue to work on refactoring the OpenMLS library to ensure that it supports custom ciphersuites and to build a custom Crypto Provider focused on the Nostr crypto primitives and I expect that, long-term, many Nostr clients will prefer to support only that ciphersuite to reduce the dependency surface area of their apps.

## Onward and Upward

LFG! 🤙 Please take a moment and send me feedback and thoughts on the above and especially on the NIP if you're a developer.

This is the fifth in a series of updates about the progress of bringing secure direct and group messages to Nostr using the MLS protocol.

This is a long form article, you can read it in https://habla.news/a/naddr1qvzqqqr4gupzq9eemymaerqvwdc25f6ctyuvzx0zt3qld3zp5hf5cmfc2qlrzdh0qqxnzdejxvurqv33xvurydf5xr6m0l


GM Nostr! 🌞

In case you missed it...

nostr:note1jj7lczrmppgl0gul76lzw6qyrwt9a8a2vlggas97as589texmfpqjeth2r


That's 100% the plan. The ability to use your main Nostr identity OR create disposable identities at will to join groups will be game changing.


It doesn't quite work like that. The messages that are sent in the DM or group chat are decrypted on the client that has access to the group. Once the message is decrypted the client throws away the decryption key (for forward secrecy). But keeps a separately encrypted log of the chat.

This is what happens with Signal, Whatsapp, etc. Each device keeps a copy of the transcript but at no point are they trying to rebuild the conversation from past messages (because they no longer have the cryptographic state to do that).

Make sense?

It's definitely a trade off with this sort of approach; security for convenience in using lots of devices or different clients.


I think that NIP-17 is still a really good spec. It's just that it doesn't handle groups or give you any forward or post-compromise security. Meaning if your identity key leaks, then all your conversations for all time have leaked.

But, it's very easy to show messages across multiple devices and clients with NIP-17 which is nice for simple clients that might not need high security.


The major difference is that this support secure groups.

The other major benefit over NIP-17 (which is still very good for DMs) is that you get forward and post compromise security with this, meaning your messages aren't all leaked if your identity key leaks at some point in the future.


And action. Have you seen how complex the MLS spec is?!


I've just published the draft NIP to bring highly secure DM and group messaging to Nostr via the MLS protocol.

I've been studying this space for months now and after looking at a lot of different options, MLS (messaging layer security) stood out as the right way to approach solving DMs and group messages. It's highly scalable, an internet standard, and allows for graceful upgrading over time.

Done right – this NIP allows us to build extremely secure, uncensorable messaging clients that have no centralized coordinators or servers. Which is what I plan to do next. 😉

https://github.com/nostr-protocol/nips/pull/1427


I agree that noobs should definitely be doing identity generation with seeds rather than just bare keys. Makes derivation possible in the future as well.

I think the only reason it's not more common is that is wasn't common in early clients and newer clients have built from there. 🤷♂


Yea, regularly. Aside from feeling incredible, they've been really really beneficial for me.


Only in America 🤦♂

Messaging layer security. My NIP to bring super secure DMs and group messaging to Nostr.


I don't agree. This is about user choice and control. If a user chooses this then it's a great thing and relays should comply. There will be those that don't but that will be easily seen.


Yeah, I love that idea. Not everything needs to be persisted forever.


Like auto-deleting notes or just the ability to delete?


GM Nostr 🌞

New MLS Spec dropping this week. 🤙


I listened to this last night?? Or is this a different version?


Ooh, I like that.


Hmm. Need to read it.


Can’t wait to read this. nostr:note1xgg3ltnfapp05v37s7dx4z23hjgxnqfudycatl0q0yrdkf5ty6fsvvjxja


Yes. This is true for crypto operations, and ratchets. But since nostr is the delivery service we need to make sure everyone has access to the messages they need. When they need them.

P tagging shows basically the whole group membership publicly no?!


I agree. But the only thing an observer can see is the relative activity level of the group. They don’t know if that activity is spread over a small number of users or a large number. These group ids can be rotated as often as the client wants as well.

Talking through it earlier, I felt like trying to do some complicate group id derivation and then publishing to multiple group ids was more security theatre rather than real security.

Spec will be ready this week. We can hash out the details then. 🤝


What nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn said. There are a few other tricks you could also use to obfuscate the size of the group though.


Turn on. Tune in. Drop out.


Basically I'm trying to do BIP-32 but start from a keypair instead of a seed. In order to make it work across multiple clients I'd need to have some sort of standard way of coming up with a chaincode when you're not deriving that from the seed directly.


Yeah, funny you picked up on the derived IDs for groups. I talked about that with  nostr:npub1klkk3vrzme455yh9rl2jshq7rc8dpegj3ndf82c3ks2sk40dxt7qulx3vt earlier today. I think that's mostly a client implementation detail instead of a protocol level thing but it's a cool idea to make it harder to triangulate on the size or membership of groups.