Technologist, solarpunk, gamer, backpacker, passionate about using the internet to push more power to more people.
Public Key
npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 Profile Code
nprofile1qqsdpg0lhpmph96va39rh6xtevhfdfcfph85vhl74jpe4fx2yry6t8spz3mhxue69uhhyetvv9ujuerpd46hxtnfduqs6amnwvaz7tmwdaejumr0dswzpmhl
Show more details
Published at
2026-03-04T15:42:51Z Event JSON
{
"id": "62df4a28a5dfef45d83cb9a999c47cd4c00e3140fd23b4a4ffb39808ffa193cb" ,
"pubkey": "d0a1ffb8761b974cec4a3be8cbcb2e96a7090dcf465ffeac839aa4ca20c9a59e" ,
"created_at": 1772638971 ,
"kind": 0 ,
"tags": [],
"content": "{\"uns_name\":\"\",\"banner\":\"https://nostr.build/i/nostr.build_bd76c59c5e77479232776efaa0904ef799defb4b9031fbb123d34a1a64a0ec85.jpg\",\"pronouns\":\"\",\"about\":\"Technologist, solarpunk, gamer, backpacker, passionate about using the internet to push more power to more people.\",\"picture\":\"https://image.nostr.build/b3cd0ca452cc9276d69b0469fdd2747af5f769f2993c580e779cf08aafa17ff7.jpg\",\"website\":\"https://mattlorentz.com\",\"lud16\":\"[email protected] \",\"display_name\":\"Matt Lorentz\",\"name\":\"mplorentz\",\"nip05\":\"[email protected] \",\"displayName\":\"Matt Lorentz\"}" ,
"sig": "9ef242a950cc5e91be8b44ebd90d1f8373b88030db5fc6982fa0f48ad7767c5791baecf090b55b8cc9c67969f365db76563cd6e83c1b385c4b24556015af28df"
}
Last Notes npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz WebRTC tries to make p2p connections but falls back to a forwarding server if necessary. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz That's not handled at the application level. If you connect to flotilla over Tor or I2P or whatever then your IP should be obfuscated to the other participants and forwarding server as well. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz 😅 not sure what you are referring to. webrtc the open p2p protocol for real time communication. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Just had an hour long video call in flotilla (the video part is still in dev, not released yet). The call quality was actually really impressive, better than Jitsi or Keet I would say. Props to Livekit for the killer open source WebRTC toolkit. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Why does new Mickey show up above old Mickey? Does old Mickey get some special deprioritization because you marked it as leaked? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I'm going to be hanging out in in the "Voice Chat" room in Flotilla today in case anyone wants to jump in and try it out! Here's an invite to the space: https://app.flotilla.social/spaces/meta.spaces.coracle.social/trarghstroyno6 #nevent1q…e6x9 npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz TIL the fairphone people make airpods with replaceable batteries: https://www.fairphone.com/fairbuds npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz This looks great! I have joined 5 relays in flotilla, but nostrord is only showing 4 of them. It's missing meta.spaces.coracle.social. I haven't looked at the raw Nostr events yet to see what they look like, but maybe there's a bug here. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz This blog post about the end of the American Empire has been living rent-free in my head since Saturday. It's quite long but it touches a lot of ideas that have been rolling around in my head like: how quickly will the American Empire fall apart, is it worth trying to reform the current system, how can we molt into better forms of governance through it? The idea that territorial sovereignty as a concept is on its way out is totally new to me but very intriguing. https://omniharmonic.substack.com/p/a-farewell-to-empire npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz If you're curious what I've been working on for the past month, I published my quarterly report for Opensats on my blog: https://mattlorentz.com/2026/03/30/opensats-q1-grant-update.html npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Welcome Bart! Nice to see another DWebber here. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz The navigation stuff hasn't been too bad. In fact introducing friction into every part of using my phone has made me really mindful of how I use it, which has been welcome. The worst part has been text messages. Some messages I don't receive, some still go to iMessage on my Mac, some won't use RCS, and some will. Thankfully most of my friends are on Signal so that minimizes the damage. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Lifetime iOS user 3 days into using GrapheneOS as my daily driver. AMA. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz That sounds good to me! We can always move later if we really want to. I talked with @nprofile…k8pn today and they are interested in participating. Maybe we could do a call sometime to sync on ideas? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I think direct democracy here would be disastrous. To move into a better situation than the current developer oligarchy I think looks something like elected councils that represent the different kind of network participants (client developers, relay operators, regular users) and follow some constitution/rules of order. The cool part about the internet is that there can be multiple competing councils/institutions. I think it's much more of a social problem than a technical one. Despite this I want all the governance tools we can think of on Nostr. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz This guide was so useful. Especially the app recommendations as a user coming from iOS. #nevent1q…58dk npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz It's so obvious in the photo, but I don't notice it while using the phone. Maybe there is some magic going on with the hardware or software because yeah even here in Amethyst the horizontal lines look perfectly straight. Maybe its a trick of the brain. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Thanks! I will check that out! npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I'm up for this too! #nevent1q…6z2p npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Hello funny square phone. https://image.nostr.build/e57b4cb7d160e5580cb31b3132227a2d096f89e208926dc6cf245c45e257e6e9.jpg npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Welcome back! npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I'm planning out my trip to DWeb camp in Berlin this year. I've never been to Germany. Does anyone have recommendations of things to see while I'm there or places to stay? Any advice on traveling in Germany? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz One part of Star Wars that always seemed unfuturistic was how disconnected all the tech was. Like they talk to each other on radios and carry data around on chips and pay with cash a lot of the time. But watching Andor today it doesn’t seem so silly. Like I could totally see a world where AI accelerates offensive capabilities so quickly that as a defense we just turn off the internet and computers become simpler tools again. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Yeah I have a dev instance deployed at https://shipwreck.scuttle.works. The two relays that I know support livekit atm are wss://pyramid.fiatjaf.com and wss://relay.scuttle.works. I'll DM you an invite to the latter. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz ah sorry just saw this npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Yeah he's been building it for like a year and a half. I have been helping out for about 3 weeks 😂 npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz ❤️ makes sense! I will keep you posted then. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Yes! DM me your contact info? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I am really hoping to find some collaborators who would be excited to help build, figure out the processes, and share the stewardship and sysadmin work. But there is room for more consumer roles too who pay some money, get to use the services and vote on major things. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Summoning @nprofile…6htl @npub1w4j…30zp @npub1c87…8avm @npub176p…vgup @npub1x8r…ptks @npub138h…rdr2 @npub1qlk…yayc @npub1x82…5yd5 @npub1tvw…s44n @npub1n8g…ufd0 @npub1wmr…g240 @npub1yau…vjmf @npub1vjh…ejkd @npub1j4g…fuu4. Any interest in this idea? (don't reply to this message tho it will ping everyone tagged. Reply to the message above) npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I've had this idea for a while to start a Nostr-native cooperative to do things like run a reliable relay, host a multi-sig signer, and dogfood Nostr tools for organizing. Also it seems to me like a cool way to find and meet other lefty Nostr users. I'm a member of the https://social.coop cooperative Mastodon server and I'm imagining something similar. Is anyone else interested in starting or joining something like this? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I would love to, and maybe test compatibility with my flotilla integration. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I knew he was evil but I didn’t know that. TIL thank you. And nice to see you around these parts :) npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Support replied with this: Your recent lightning send to Destination Node ID: <redacted> was cancelled by Strike as we have detected that the recipient wallet service provider may be associated with Cuba. As stated in Strike’s Terms of Service, Strike does not allow transactions with restricted jurisdictions, such as Cuba, that are subject to U.S. OFAC sanctions. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Nope. I sent support a message so maybe they will reply with something. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Strike just locked my account (not the first time) for trying to make a lightning payment to @npub130m…l29s. I think I'm done with them. Any other exchanges that play nice with US with <=1% fees? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Loneliness in a screenshot 😢 @npub107j…ncxg https://blossom.lorentz.is/0c9dac66d7889cccded6a70613d28427ee5f3dd10f169129dbb1e709667db2a1.png npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz LiveKit is basically a set of open source code to do exactly this! That's the direction we are heading, there is a PR going here: https://github.com/nostr-protocol/nips/pull/2238 npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I'm really impressed with the livekit.io audio quality. At least for four people in North America it wasn't any worse than any other tool I've used. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Just had the first flotilla design review meeting *in flotilla* using the voice rooms feature I am building. Fun times! npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Re-reading the Declaration of Independence today. It's surprising to me how many of the grievances describing the tyranny of the king of England also describe the actions of Trump today: - He has refused his Assent to Laws, the most wholesome and necessary for the public good. - He has endeavoured to prevent the population of these States; for that purpose obstructing the Laws for Naturalization of Foreigners; refusing to pass others to encourage their migrations hither - For Quartering large bodies of armed troops among us: - For protecting them, by a mock Trial, from punishment for any Murders which they should commit on the Inhabitants of these States - For cutting off our Trade with all parts of the world - For imposing Taxes on us without our Consent - For depriving us in many cases, of the benefits of Trial by Jury Nothing about pedophile rings in the Declaration though. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Hm, yeah I'm not thinking of gamers specifically. But reading about Discord's tech makes it clear that it's very difficult to do well. I self-host a teamspeak server for my gaming friends and it works well enough. It would be nice to have better chat integrated in (like Discord) but other than that we are pretty happy with it. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Sweet, I will definitely ping you when I have something to test! npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Thanks! The more I understand how Nostr Nests work the more I think I'll do the same or very similar. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Thanks! Another vote for LiveKit. Seems like that's the way to go. I haven't tried to self-host flotilla yet but I plan to. Hopefully I can smooth out the docs for that. If you want to give the app part another try I'll DM you an invite to the "meta" server. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz @npub1v0l…qj49 @npub18am…p424 do you think it makes sense to use the nostrnests.com architecture with livekit and NIP-53 for this? If you were building nostrnests today would you use the same tech? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz @npub107j…ncxg have you thought about this for chachi? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz While I put the finishing touches on Horcrux I'm starting to contribute to Flotilla, and one of my goals is to get Discord-style voice channels added before their age-verification policies go into effect. If you are a user of Discord voice channels, what's one thing you would change about them? I've always been interested in Discord voice channels because they are a rare combination of ephemeral, porous, serendipitous social space on the internet. Most of our internet communication happens in low-bandwidth, structured spaces where the contents are saved permanently. So in that sense Discord voice channels share more in common with IRL spaces than something like microblogging. If you're a user of voice channels or otherwise would like to give input on them, I'd love to interview you. And if you'd like to be an early tester or to collaborate on the implementation please reply here or send me a DM! npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I think Kotlin Multiplatform with native UIs is a completely different beast than if you use the new Compose Multiplatform UI framework. In general I think Flutter will help you build faster because the UI libraries and tooling is very mature. Google cut a few developers when they moved more Flutter libraries into community management but Flutter isn't going anywhere anytime soon. KMP with native UIs is for big teams who want maximum polish and nativeness on each platform. KMP + Compose Multiplatform should bring it into Flutter territory but the iOS version just came out of beta and the web version is still in beta. But Flutter's web performance is pretty rough, so for a new Nostr app that needs to be web-native I would lean towards KMP. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I guess it depends on what your goals are. When I was building https://spoilerfree.gg last summer I was able to get enough data to figure out where users were falling off the site for about $100 of Reddit ads. I think I got over 1000 users to come through the site. I feel like ads before you have product market fit are useful for learning what is and isn't working (although they are inferior to user interviews). After product market fit they become useful for driving revenue/adoption. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I think it's worth experimenting with. Throw fifty bucks at it, see how much the needle moves. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I dropped a couple flotilla links on Reddit. Upvotes appreciated: - https://www.reddit.com/r/selfhosted/comments/1r08bd8/comment/o57vbf5/ - https://www.reddit.com/r/selfhosted/comments/1r0cffb/comment/o57vac9/ npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I like the marketing pattern of making a page on your marketing site titled “Flotilla for Discord users” that specifically talks to people looking to leave Discord. Great for humans and SEO. Also there have been a lot of threads about Discord alternatives on Reddit.com/r/selfhosted lately. Maybe I’ll comb through those today and suggest Flotilla and I can ask on Nostr for upvotes. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Any plans for voice channels to court Discord users specifically? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I’m running https://github.com/v0l/route96 on my home server. It is built to be multi-tenant but it has a whitelist feature. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I'm getting a 504 Gateway timeout from Cloudflare when trying to view that link :( npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz For me it's mainly that to Google I am ultimately a product to be sold, to Apple I'm still a customer. I know about Graphene and I actually plan switch one day. But it's a lot of friction for ultimately a pretty similar threat model. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Hah, yes, solarpunk is more of a mindset for me. I'm currently hooked up to the grid in Indiana powered by coal and natural gas 🙃. Solarpunk is a hopeful vision of what technology could do for humanity. The idea is that if we can achieve energy independence on a personal or community level through solar or other renewable sources then we could start to make more progress on the big threats to human thriving like climate change, information warfare, centralization of corporate and nation-state power. It's an optimistic alternative to cyberpunk, where technological advances lead to further consolidation of power by elites and increased oppression for the rest of us. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I'm having new waves of imposter syndrome when it comes to AI use. I'm building in a less familiar ecosystem (Flutter) and AI is letting me do that way faster than if I didn't use it. Horcrux is quite literally software that wouldn't exist without AI, because I wouldn't have been able to squeeze the project into the timeline that got funded. I like to think that I'm experienced enough to know where the tradeoffs are, where my code is weak, and what needs more attention. But until I have a successful product in the hands of users it's going to be hard to know whether the AI was a net positive. It's so hard to know anything objectively about software development and when it comes to AI there is all this concerning research about developers perceiving speed increases where there are none. I guess on some level I just believe I'm smarter than most other devs. That's the problem with us developers, isn't it 😓. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Wow I forgot to remember about sublime text for 10 years or so. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I hope this isn't a subtweet from my Horcrux demo today 😅 npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I'm happy to host a signer. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Here is a pretty detailed quarterly report on my Horcrux project for OpenSats, if that interests you: https://mattlorentz.com/2025/12/29/horcrux-end-of-year-update.html npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Maybe we should start a club. There must be at least three of us! #note157y…kg6y npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Playing ambient audio to keep your Nostr signer alive on iOS is hilarious and definitely against Apple's rules, but I love it. More power to you 😂 #nevent1q…t5pj npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Is anyone here going to EthDevner in February? I am not an ethereum person at all, but I have met a lot of cool people over the years (who are also not big ethereum people) who have been to this conference and loved it. I think I might go this year. They have a track for "Cypherpunks, Solarpunks & Communities". Idk what ethereum has to do with solarpunk but I kind of want to find out. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Flutter. I gave it a shot so we’ll see. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I’m sad to hear that. You are one of the most interesting voices in my feed! npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz If I vibe code my own workout app will I actually work out or no? 👍 / 👎 npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Ok hodlbod has been COOKING on his frost signer thing with email login. I just got a demo from him and it has me more excited about Nostr than I have been in a long time. - users can sign into Nostr apps via email (or someday any other identity system they like. Phone? Facebook? snail mail? Āhau?) but behind the scenes they still have a private key - no server or company ever needs a full copy of their private key - at any point they can extract their Nostr key from the system to use another one (like a bunker, hardware signer, or just a different group of signing servers, etc.) The big problem with Nostr onboarding is that people need to put in a significant amount of work to understand and manage keys before they even get a chance to get any value out of the software. But pomade enables someone to join without thinking about keys, *and later* start caring and still be able to take full custody of their key. It is the second part that nobody has really done before, on Nostr or anywhere else that I know of. It's not bulletproof, but it combines all the best tech we have to balance ease-of-use, security, and user control. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz 👍 I like to call it an ecosystem. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Who is “we”? Are you anonymous? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Because it’s slower than Chrome and Safari. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz @npub1jlr…ynqn I think at some point I heard you say you get a summary of recent Nostr events every day. Is that from a DVM? Have you written about this somewhere? I would like to try something similar. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I wrote up some instructions for running a promenade signer, if that's something that interests you. Promenade creates a cluster of servers that cooperatively sign of Nostr events without any of them knowing your Nostr secret key. Bleeding edge identity tech. Join us! #naddr1qv…t2nc npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz bug: it doesn't work in Firefox npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Happy horrible software vulnerability day everyone https://react2shell.com/ npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz This would require an overhaul of clients and any relays that use wot, auth, or similar features, correct? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Whoah, thanks for the mega zap. Much appreciated 🙏🏻 npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz 🎉 Thank you Itunu! This is so nice to hear. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz This website speaks to the nerd inside me on so many levels. I think I'm going to give the "No S Diet" a try. https://everydaysystems.com/ npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I just posted a project update video for Keydex that shows the current features and future plans. Plus an announcement that I'm renaming the project from Keydex to Horcrux! Check it out: https://tube.tchncs.de/w/oyxzSzhocB3k6BNbVTdU7d npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I'm so excited that Satellite is back. It's always had my favorite design of any Nostr app. #nevent1q…328t npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz The release looks great! Satellite's thread view has always been my favorite, I'm so glad you kept and improved it. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz nerd npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz hah, linking to 20 lines of source code for a feature as complex as search is such a flex 💪 npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I've been quiet lately but I've just been very heads down trying to get Keydex ready for it's first alpha usability test, which I'm about to head to right now! I'll try to post a project update this week, as I passed the halfway point on my (relatively tight) 4 month timeline recently. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I just did a weird thing with gift wraps in Keydex and I want to make sure it's not dumb. I'm having a bug where lockboxes are showing back up on the devices of key holders after they have been removed. Like this: 1. Alice invites Bob to be a key holder for their lockbox 2. Bob accepts 3. Alice publishes a shard of the lockbox data for Bob to download, gift wrapped and addressed to Bob. 4. Bob changes their mind and deletes the lockbox from their device. 5. Later when Bob reopens the app it downloads the shard event again and recreates the lockbox. Of course I could maintain some local state about what has been deleted, but it would be better to just nuke the shard from the relay. We could ask the original publisher to do it, but we can't guarantee they are online. So what if we just include the ephemeral key used to gift wrap the shard in the seal? Now Bob can publish a NIP-09 deletion request to delete the shard. I could see this being useful in other places too. For instance you could have a type of direct message that gets deleted from relays as soon as it is downloaded by the recipient. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Yeah I haven't used it much in the past couple weeks. I've been in more of a refactoring mode and have just been doing one-off prompts or using Cursor's plan mode for that. I would like to get back and try it on some more tightly scoped features though. I should circle back to Claude code at some point but viewing and accepting changes with the Cursor diff viewer is just so ingrained in my workflow now, I think I would miss it a lot. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I guess what I am dreaming of is not really NIP-87 exactly. It's more like NIP-29 plus encryption minus the assumption that the policy engine for the group is running at a particular DNS name. If you decouple the policy engine from the relay/DNS now you can innovate on that separately and create some really sweet trust structures, or not and just keep your group on a single relay. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz It seems to me like a rogue relay owner in a NIP-29 group is just as disastrous as a rogue group admin NIP-87? And this isn't in NIP-87 but I don't see any reason you couldn't use FROSTR threshold signatures to publish events from the admin key. In this way a few admins could hold shards or you could even distribute a shard to every group member and have clients collaborate to approve membership changes or other policy changes? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Oh I never thought about this. Yeah you wouldn't be able to filter content by tag or author because everything is gift wrapped? Is that how this worked in Coracle groups @npub1jlr…ynqn? It seems like spam wouldn't be too much of a problem though. Because all messages are giftwrapped with the shared key the relay can easily tell if a person is a valid member of a group or not by checking the pubkey and signature right? I suppose you would hit rate limits sooner with the shared key on a public relay, but I guess I'm assuming serious groups will have some kind of relationship with their main relays, paid or otherwise. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz You wouldn't have to trust them not to accidentally leak messages to the wrong people but they would still need the encryption key in order to service membership changes right? I supposed you could use one encryption key for membership changes and another for content? 🤔 npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Fun milestone for Keydex today: I had my first successful restore of data. I was able to fire up several copies of the app and create a lockbox, break it into shares, distribute them to peers via Nostr, initiate recovery, approve the recovery request, and reassemble the data. There is still a ton of work to do but having the core flow working makes all the future changes feel small and incremental by comparison. https://blossom.lorentz.is/be5d7d6161093d03ccc9513100ff0f255cdd2bf7f51fdd2cbcba66cd3950015a.png npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Keydex is going to be the first Nostr app I'm aware of that uses relays exclusively to relay data from one peer's device to another, not for long-term data storage. I'm going to use NIP-40 expiration tags on all events so that they only live on the relay for a few days, which makes Keydex closer to a peer-to-peer application that uses Nostr as the transport (and identity) layer. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Hm, should clients add an nsec field during bunker setup? Not for you to put your real nsec into, but rather one that you know is allowed to post to your relay. Then if the client becomes adversarial the worst they can do is post spam to your relay, which they can probably already do once they have remote signer permissions. This is overbuilt but maybe there is a simpler solution inside. Maybe the bunker URL you paste initially should just include an nsec for the client to use? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz oh interesting, I wonder if I've been hitting these rate limits and that's why I have so much trouble with signers. I also have my own relay but I only allow events from my own pubkey to be published there. 🤔 So I could point clients to my own relay for NIP-46 messages but there's no easy way to add every client key to my allowlist... I guess I am running `nak bunker` on the same machine as my relay. Maybe I could jerry-rig some communication between nak and my relay config? Sounds fragile though. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Day 2 using Github's spec-kit for development did not go as well. The AI and I got lost trying to write reams of overly generic TDD test stubs. It felt like the AI couldn't really get a clear picture from just the spec requirements what it should be testing before the actual implementation code was written. So today I changed course and changed my constitution (the like underlying spec doc for the repo) to use an outside-in development approach instead of TDD and we made a lot of progress. I also got a new playwright MCP set up for browser automation and it's working a lot better than the last one I had. After some considerable setup the LLM was generally able to run the app in the web browser and click around to test its own changes. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I have not :( npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz "any kind of decentralized, democratic or liberal political structure thrives best when defense is easy, and suffers the most challenge when defense is hard - in those cases, the far more likely outcome is some period of war of all against all, and eventually an equilibrium of rule by the strongest." A good (but long) blog post on focusing our collective efforts on developing defensive technologies to slant the future away from dystopia. https://vitalik.eth.limo/general/2025/01/05/dacc2.html Thanks @npub1yl8…vz34 for the link!