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
2025-08-26T16:31:39Z Event JSON
{
"id": "0f3b95318bd8358c43c7c079a7e5f4987b677077458c8dc33e9e43ee09826f2e" ,
"pubkey": "d0a1ffb8761b974cec4a3be8cbcb2e96a7090dcf465ffeac839aa4ca20c9a59e" ,
"created_at": 1756225899 ,
"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] \"}" ,
"sig": "1449d63ad3024a68adf725d38a1c12852bff70599e6d9dd392e9e0b22b59ebd72f8f62660297799bf7020c965b01d2554cbb4941b15391c5f89de3b02645e7fd"
}
Last Notes npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Just had the first flotilla design review meeting *in flotilla* using the voice rooms feature I am building. Fun times! npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Sweet, I will definitely ping you when I have something to test! 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 Any plans for voice channels to court Discord users specifically? 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 Flutter. I gave it a shot so we’ll see. 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 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 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 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! npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz @npub1g2j…yjj6 what tool are you using to cross post across Nostr, scuttlebutt, Mastodon, etc.? I have been using OpenVibe but it has been really buggy lately. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz it's fixed for me now npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz The official word is "no" 😢 (from telegram) #nevent1q…g9q2 npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz @npub1u92…hr58 @npub12hc…rdp4 @npub1v0l…qj49 not sure where to report this but I am getting this error at https://zap.stream/nogood :( Unexpected Application Error! error loading dynamically imported module: https://zap.stream/assets/markdown-D8ImU_5Q.js npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Spent a couple hours setting up the Keydex repo with Github spec-kit. No code yet but I have 1000 lines of markdown to show for it 🤷♂️ https://github.com/mplorentz/keydex npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I'm back in the code editor for the first time in a few weeks. It feels good 😊 Trying out Github's spec-kit tool for spec-driven development with AI: https://github.com/github/spec-kit?tab=readme-ov-file#-core-philosophy npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz what do you mean? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Please flame me @npub180c…h6w6 npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Sharing some wireframes I made for Keydex here, mostly because @npub1000…vwqk asked to see them but I figured why not share them publicly. They have a watermark because I am using the trial version of the design software 😬 https://blossom.lorentz.is/938d7eabe684ee5a529f7a7d78feee31f0259d6ed674601baa4ba04cb3fa50e5.pdf Thanks for the feedback on these @npub1jlr…ynqn, @npub1000…vwqk, and @npub1jr8…wwnw! npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I’ve been noodling on my OpenSats projects and one thing I wanted to hear people’s thoughts on is the idea of lightly encrypted groups vs. relay-based groups. And by lightly encrypted I mean that all group data is encrypted with a shared key that gets rotated, but without end-to-end encryption, forward secrecy, post-compromise security, and all the fancy stuff you get with MLS. Basically the unmerged NIP-87 (https://github.com/nostr-protocol/nips/pull/875/files?short_path=ed261ea#diff-ed261eac15a3dc7dbd825342a3e89dc960824a52afd2dd032f30876fbfb25698) I know this idea has been discussed a lot, and I have been pretty convinced that NIP-29 made the most sense for the most groups. I also know MLS groups are in the works, but they have a lot of downsides. So a few things over the past month are making me reconsider. The main one was talking to @npub1vjh…ejkd from @npub1j4g…fuu4 who makes a good argument that groups should be a first class citizen on Nostr. This would enable groups of groups and potentially other innovations like putting the group master key in a FROSTR cluster. It also helps enable forkable groups and groups migrating between relays / sets of governing rules. (Great article from SocialRoots about their full vision https://www.socialroots.io/intimacy-gradients-the-key-to-fixing-our-broken-social-media-landscape/) Another factor is that people keep asking me if groups are going to be encrypted in my new client and I don’t like saying no to that 😅. Even though I think the confidentiality guarantees of NIP-29 are good enough for most groups - that’s not what people want to hear. I used to think that getting a bunch of Nostr clients to all implement key rotation the same way was too much to ask, and I still think MLS is overkill for medium to large groups. But if you allow some privileged software to run with some kind of group admin key to do the rotation (an allowance that NIP-29 already makes) then it hugely simplifies the complexity for client developers and now you can say the magic word ✨encryption✨. I also feel like I missed out a bit on the debate between these when it happened. What do you think? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Today I discovered https://frame0.app for making quick wireframes. I used to love Balsamiq but the desktop app has been discontinued. If you've never worked with this type of barebones wireframe before they are so valuable for getting feedback on high level UX without digressing into discussions about the size and colors and exact placement of things. When people see the handwritten font their brain switches into a different mode. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I've finished my first round of interviews for Keydex and they were so enlightening. I'm so addicted to user interviews now, I don't understand how I made so much software without them. The top insight from this round was clarifying the different use cases for Shamir's Secret Sharing. Here's what I came up with: - inheritance planning - corporate secret management for ultra-sensitive values i.e. root passwords - border crossings - web3/crypto/Nostr key backup The most interest by far was in the inheritance planning use case. People have some digital stuff they want to pass on, but don't want it sitting in plaintext in the hands of (generally very normie) friends and family. Keydex will work for all cases listed above but I'm going to keep the inheritance use-case top of mind while developing. Which already invalidates some of the design work I did last week. I was going to make a fun retro/gamey UI, but now I'm going to shift towards something more calm and reliable. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Are you selling these? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Ah, I am remembering the iOS version where the extension wasn’t an option. I didn’t realize you could log in on nstart! I thought it was a very opinionated choice to push everyone to bunkers. And I’ve been meaning to ask: do you keep your key in a bunker? And if so, which one are you using? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I'm looking for folks to interview for the new app I'm working on. If you've ever needed to back up some sensitive data (passwords, crypto wallet key, "legacy planning" docs) but didn't just want to print it out and hide it then I'd love to talk to you. Just let me know here and I'll be in touch: https://formstr.app/i/keydex npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I was mostly just browsing for inspiration, but if you want to explore anything together I am starting the above app greenfield and it's a relatively small project. Definitely could be fun! npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Apple is announcing the new iPhones later today. No foldable phones this year though :( Probably will be a boring year in the hardware department. It will be interesting to hear how they talk about the flop that is Apple Intelligence. I found this video inspiring recently. This guy cut up an Android phone and made it foldable with a hardware keyboard. https://youtu.be/qy_9w_c2ub0 Speaking of hardware, has anyone tried the Minimal Phone? I move a little closer to an Android switch every year, at some point I will try it I think. https://minimalcompany.com/collections/frontpage/products/minimal-phone?variant=49438236246318 npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz @npub12hc…rdp4 have you ever sketched out any software designs based on the NoGood aesthetic? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Ah makes sense. I guess the hard "outbox model" problem I was thinking of was building an infinite feed from some list of pubkeys. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Yes! But before it was the only way to log in, right? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz @npub1nst…rg5l are you still planning for another Nostr gathering this year? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Bless you for removing the bunker url requirement 😮💨 npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I don't understand the question. "auth-required from "OK" responses"? Isn't AUTH sent in response to a client's REQ? Are you sending AUTH and OK in the same response? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Very cool. Is this the first time you have implemented the outbox model yourself? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Today I'm workshopping a name for my social key backup tool. (It will allow you to encrypt some data, passwords, nostr key, crypto wallet, last will and testament, etc. to a specific list of people. Each person gets an unreadable piece and they must agree to reassemble the data in case you lose it or die.) I had the idea to use the Pokedex from Pokemon as UI design inspiration for the retro/nerdy vibes. I'm thinking of the name Keydex to go with it. Thoughts, reactions? https://fbi.cults3d.com/uploaders/17171951/illustration-file/24783684-0bb8-422b-86c7-410fc1d6748e/ezgif.com-gif-maker.gif npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Good read on how you can use a CRDT to manage an access control list for a group or other resource: https://p2panda.org/2025/08/27/notes-convergent-access-control-crdt.html npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I am still loving Kagi.com. I don’t even use any of the advanced features, just search. Also @nprofile…kucd just straight up has a Nostr account? Rad. #note15mx…gt56 npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I'm thrilled to share that I'm receiving an OpenSats grant to work on social key backup and a new Nostr groups/communities app. I'll be building both in the open and this account will probably get filled up again with posts about that work. I think one of the primary things the world needs right now is to move our social sense-making out of big social media platforms and back into community spaces that reflect our values. I'm so blessed to have the opportunity to chip away at these social/digital problems for a while longer. My intention is always to build in solidarity with folks who need these tools most. If you're interested in using these sorts of tools and want to help - I'd love to do an interview with you! Send me a DM or reply to this note and I'll be in touch. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I have the same question. I like GrapheneOS not so much for all the hardening but just because it's the most functional de-googled Android. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz There was a big AI track last year, obviously it’s a hot topic. Are you talking about decentralized compute for training or for actually executing LLMs, or both? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Hey welcome back! We’ve actually stopped active development on Nos, but I think it’s still pretty nice 😊 npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Good thread on some of the pain experienced by new Nostr devs, and also a good response of why things are the way they are. TLDR; Loose governance is not very meritocratic, and stronger governance is generally not either 🙃 Personally I’d love to see (maybe found?) a NIP consortium/collective/co-op some day, but I don’t think it’s time yet. #note1nf2…gedn npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I had a great time at DWeb camp last week as always. I sat on an "Open Social Web" panel as the Nostr representative and I think what I had to say about Nostr was generally well-received alongside Bluesky and Mastodon. People were mostly drawn to the loose governance and the scrappy "good enough" approach to protocol design. But, like last year, it still feels like the energy folks have for "social media" as we typically think of it has been completely sucked out of the room. Few people are interested in putting more energy into some public virtue-signaling town square. I think Nostr has an advantage over Mastodon in Bluesky in this area because it really does have the most non-microblogging experiments going on, and the protocol is the friendliest to encrypted private spaces. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Yep, this is what happened to us on Nos. Well we wrote it before the outbox model existed. Once it did we always planned to adopt it but it became the forever-put-off mega refactor that was very important but never urgent. I was able to slowly march our relay code towards it: breaking the layers apart, using relay hints in some places, keeping a dynamic pool of relay connections based on demand, but we never got to the full thing. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Yes, almost like the way people talk about tech's latest darling... 😉 npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz The internet is such a special place. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz The iOS 26 release date is less than a month away, and Apple is making big changes this year with the introduction of the Liquid Glass design system. I'm available for last-minute contract work to help you get your app ready. Whether you just want to make sure nothing breaks, or are looking to refresh your entire UI alongside Apple, I can help you make a smooth transition! npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz In the future all food will be made with a microwave, and if you can't deal with that then you need to get out of the kitchen. https://www.colincornaby.me/2025/08/in-the-future-all-food-will-be-cooked-in-a-microwave-and-if-you-cant-deal-with-that-then-you-need-to-get-out-of-the-kitchen/ npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz My practice for some years has been to keep a list of old friends/coworkers I want to contact in my todo list, sorted intuitively. I add to it as people pop into my head. Then I reach out to one person each week and ask to have a call or a lunch to catch up. I also attend a quarterly developer meetup in my city and travel to one or two conferences a year. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Respect for the principled approach! I went without LinkedIn for the first 15 years of my career and it was fine. It forces you to work harder on staying in touch in other ways, which can be very rewarding. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I would be up to contribute to this. I tried a ton of apps last week to prepare to host an onboarding workshop at a conference next week. The experience was really depressing, I didn’t find a single app that I felt like I could recommend across platforms. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Iris used to be me go-to client but it fell out of rotation at some point. Giving it another try! npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Surely someone has built this, right? Why haven't I built this? 🤔 questioning everything. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz SSB without the hash chain? I'm down. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Ok, I kinda wanted to be wrong about this but that's what I understood from the protocol docs. I thought calle was just overselling it but their messages in this thread feel downright deceptive. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Can you explain to me (or point me to the details) of how the tokens are reissued? I thought to swap you have to connect to the mint? Or is reissuing different from swapping? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I do know some of the history of ecash, that doesn't mean calling it "cash" is good branding. So here's my specific question: Is it possible for me double spend cashu tokens that I gave someone while offline? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I really feel like I'm missing something about Cashu. @npub12rv…85vg calls it digital cash, but you are reliant on a bank (mint) to cash out. They say it works offline, but it doesn't really because it doesn't prevent double-spending offline. This makes it a glorified IOU tracker, right? Privacy-preserving IOU tracker is cool, and a network of banks that used them would be even cooler, but calling it offline digital cash seems totally disingenuous to me. Tell me why I'm wrong? #nevent1q…rjun npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Awesome. @npub1pmw…4nu6 have you decided on an npub yet? Happy to hop on a call to walk through it together if you prefer. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz oh yes, looks like 0.3.0 doesn't even exist 🤔 I have pushed a commit that changes it. Thanks! npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Yesterday I finally took the plunge and downloaded Blender and started learning how to use it. I have been #3dprinting for a while but mostly I just print designs others have created, or made a few very simple designs using TinkerCad. But I finally found a project small enough to feel manageable and the time to do it. We have a sliding barn-style door in our kitchen that our two toddlers insist on slamming shut, often while the other one is in the doorway. I decided to design a simple clamp to fit on the top to keep it from closing. Here is the evolution of the design. The first was the wrong size and just fell off, the second added a little hat to keep it from sliding off but quickly broken, so the third beefed up the thickness and infill to make it stronger. https://blossom.lorentz.is/ba30503376d71bc9117a16bb494b7fbf52dca1d61d06e0e438c96b733dc815f3.jpg And here's a video showing how it fits on: https://blossom.lorentz.is/100f29a131c0b5c6f1baf114d46382b79fae9f7968714942315d406cecdaa466.mp4 I'm already working on a second design to toddler-proof a couple of our cabinet drawers that the regular spring locks wouldn't fit on. This may be a slippery slope. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I have been finding AI really useful for coding, but this is a good reminder that AI benchmarks are not representative of reality, and developers cannot be trusted to accurately estimate their work, even after completing it 🙃 https://bsky.app/profile/metr.org/post/3ltn3t3amms2x npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Step one is for you to let me know the npub you want to use for the test. You are welcome to use your real Nostr profile but currently the tool requires you to pass your raw nsec on the command line which isn't best practice as anyone with access to your file system could steal it from your shell history. Once I know which key you want to use I will shard my own test key and send it to both via encrypted Nostr events. Step two would be to download the tool and get it working. It's a python script that you should be able to get by running a series of commands like this: git clone [email protected] :mplorentz/social-key-backup.git cd social-key-backup pip install -r requirements.txt python skb.py --help If that works you should see an explanation of the tool printed to the command line. If it doesn't work just let me know and we'll figure out what's wrong! After I've sent the shards to you there will be a command I'll ask you to run to help me reassemble the key! Finally here's the Github page if you want to browse: https://github.com/mplorentz/social-key-backup npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Starting a thread to coordinate a test of my social-key-backup tool with @npub1pmw…4nu6 and @npub1sq8…t84g npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Very excited for this! Any chance you could open up more spots in TestFlight beta @npub1zuu…c2uc? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz The relay can associate IPs with group IDs, no? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz @npub1ye5…knpr is there any way for me to report impersonators from Nostrudel? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I'm still looking for a few more folks to help me out with this! #nevent1q…8gaz npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Hm we may need to coordinate async, the ephemeral messages are probably not a good fit. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I'm looking for a few people to help me test my social key backup tool for Nostr! Hoping to get at least 4 folks. I'm not going to actually back up my real key to you, I just want to run through the process with others and make sure it works for other people. You'll need python installed and some familiarity with the command line. If you'd be willing to help me out with this tomorrow please reply to this or send me a DM! And I'm considering creating a Nostr group for comms, lmk if there is a group chat tool you like. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz No, backup is a big part of it but the real goal is to make key loss less catastrophic, and make identity a little more fluid. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I have! I think they have different goals even though we are using some similar cryptography. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz I just completed a successful recovery of an nsec using my shamir's key sharing CLI. It's so satisfying as a programmer when you finally get your encryption and decryption code working together. The script is very basic, I'll probably rewrite it in Rust, but it proves out the core concept and gave me a lot of ideas about how to make this actually accessible to normal people and what other features and services would be nice to bundle with it. I'm still trying to come up with an umbrella term for this family of things (social key backup, social key migration, threshold-based consensus, etc.). The best I've come up with so far is "social keys" but I'm not sure if that makes sense. Does it makes sense to you? npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz That seems like an error in NIP-11. I have seen relays send AUTH at a lot of different times. Sometimes only certain actions are gated behind auth (like requesting content from a closed NIP-29 group). npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Relatable. I've actually had this bug on a bank website before. They truncated my 20+ character password, I wonder if they were running Solaris somewhere in the background. npub16zsllwrkrwt5emz2805vhjewj6nsjrw0ge0latyrn2jv5gxf5k0q5l92l7 mplorentz Also I submitted my first git PRs via Nostr yesterday, it was pretty easy with ngit and https://gitworkshop.dev!