Christian Bitcoiner and developer of coracle.social. Learn more at info.coracle.social. If you can't tell the difference between me and a scammer, use a nostr client with web of trust support.
Public Key
npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn Profile Code
nprofile1qqsf03c2gsmx5ef4c9zmxvlew04gdh7u94afnknp33qvv3c94kvwxgspz3mhxue69uhhyetvv9ujuerpd46hxtnfduqs6amnwvaz7tmwdaejumr0dsuyqn50
Show more details
Published at
2026-03-10T20:11:31Z Event JSON
{
"id": "2b83d820477f318d432445c5f861bac51db955250f890f3cd8bededccc7e10cc" ,
"pubkey": "97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322" ,
"created_at": 1773173491 ,
"kind": 0 ,
"tags": [
[
"client",
"Coracle",
"31990:97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322:1685968093690"
]
],
"content": "{\"lnurl\":\"lnurl1dp68gurn8ghj7em9w3skccne9e3k7mf09emk2mrv944kummhdchkcmn4wfk8qtmgdajxccn0vs7d8uvx\",\"name\":\"hodlbod\",\"display_name\":\"\",\"about\":\"Christian Bitcoiner and developer of coracle.social. Learn more at info.coracle.social.\\n\\nIf you can't tell the difference between me and a scammer, use a nostr client with web of trust support.\",\"website\":\"stuff.coracle.social\",\"nip05\":\"[email protected] \",\"banner\":\"https://hbr.coracle.social/571c66854bdba58bc77def7b0fcfe2f7b8109a35d7952888a9e4381b9791cec4.jpg\",\"lud16\":\"[email protected] \",\"picture\":\"https://hbr.coracle.social/9d20c2f4e4e5bc3914c02acf08b56742139508df833c3c98c72bda23c2b76409.jpg\"}" ,
"sig": "71720d711e1d197de361af502bf713ab045efe80c02d34e6c492003e19d46821fb34a02376278a834c0e5bda05274bf9476bf060d7a4404b46660548bc04f1a4"
}
Last Notes npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Or at least we haven't discovered what it is. But there is a value proposition there, we just have to figure out how to articulate it and deliver on it. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod The people who are obsessed with nostr and get it are the people you want to fund. These people are insane and have new ideas all the time and aren't good at executing long-term. This is where the bias toward short-lived experiments comes from. Funding a protocol per se is unprecedented, you're right about that. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod On the call I shared my personal read on the situation in good faith, which is that the OpenSats nostr committee would prefer not to fund the same project multiple times. @nprofile…d7td came away with the impression that I was a spokesman of OpenSats telling him Damus would not get any more grants ever. I corrected this in private, and several grants were subsequently paid to various members of the Damus team, demonstrably falsifying his interpretation. And yet several years later he is still bringing this up. This was a learning experience for me. If you're on a board or committee, don't talk about internal politics; you are unavoidably speaking on behalf of everyone else on the committee, and therefore inevitably subject to misinterpretation. #nevent1q…0rpf npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Figure out who your users are, very concretely npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod agreeing on something requires centralization by definition, and is the exact function of a spec. We can't build a protocol specification that means anything if we all solipsistically build software in our closets. I am very tired of people failing to understand this basic fact. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod I think there needs to be social proof for nips. Not just "I use this" which is stupid and not provable, but formal working groups that agree on a certain version of NIPs. @nprofile…wys9 and I talked about this a while back. Call them "cabals" just for fun. Depending on who is in a given cabal, or how many forks a given cabal's spec has promotes the cabal. This is better than flat voting because different cabals will take a different level of ownership/responsibility for the spec they maintain. We can't just get rid of politics because we like decentralization. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod > no amount of UI design can really fix it. This jives with something I've been saying and feeling recently but which I hadn't identified: that widespread adoption of cryptography needs to be predicated on including a basic understanding of async crypto in secondary education curricula. It's not a hard concept, but it's like referring to the unit circle around someone who has never taken trigonometry. > Software should generate dedicated keys for every relationship, connection or context. I agree with this, but it becomes tricky to map software to relationships. This is the next step in adopting cryptographic identities, but I don't know how you solve it without adding a ton of additional cognitive load for users. The technical description itself sounds quite good, although I would be interested to see how you solve the networking layer, especially in terms of when to use direct connections, p2p technology and centralized intermediaries (like nostr relays). You're a very good writer, I enjoyed reading this. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod This has inspired me to fix some things in coracle npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod These look good, thanks npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod I live next to a sawmill, I feel this npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod shovels 1. help you get more done, increasing wealth, and 2. don't concentrate wealth in the hands of the guy who made the shovel npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod This is an interesting point npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Yeah, the saving grace is that AI won't do all the things he expects. Although the article kind of explains that it doesn't matter — the economic displacement will happen anyway *without* the "economic miracle" to go along with it. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Incredible article npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod I tried it a few months ago and liked it because it was fast, but it was quite dumb. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod "Excessive automation" due to AI hype is creating a massive pan-market opportunity for startups prepared to come in and pick up the pieces. https://www.owenmcgrann.com/p/the-dead-economy-theory npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Is Opus 4.8 much dumber than it was yesterday? npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod The jokes write themselves 😂 npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod You should have said "it's like playing fetch with 6 dogs at once" then. But I still wouldn't believe you, because code review is much more like chess than fetch. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod I can't effectively play chess against 6 people. and if I did, they would mostly be waiting for me. Or I would lose. This is an insane metaphor npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod The thing with llms is they don't remeber anything either. So unless you write very good context/skills they will get lost and duplicate code. At least on big teams someone usually owns most parts of the code (even if contributors leave). I will be interested to see how it works out long term. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod I don't see how you can keep up with 6 sessions. Spec development takes time and so does review. And doing either properly gets harder as you become less familiar with the codebase. Are you not experiencing context drift? Or how do you cope with it? npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Ways I've tried to use LLMs for coding: - Smart autocomplete (dumb, annoying) - Search with poorly articulated queries (really good) - One shot from stupid prompt (random result) - One shot from better prompt (random result) - One shot from plan (random result) - Archon's research/plan/implement with sub-agents (100k LOC broken codebase) - Focused, directed feature implementation (convoluted logic, broken UI) - Focused easy bugfix (mixed results, sometimes works) - Focused difficult bugfix (burns tokens, no ability to debug) - Upgrade dependencies (hallucinations of old versions, usually broken) - Write tests (instead of dependency injection bad mock design, tautological tests) - Write documentation (stylistically poor, did a decent job with something I wouldn't otherwise have done though) - Fix linting errors (useful in a language I don't know, otherwise too slow/expensive to be better than doing it by hand) - Spec-driven development (ended up maintaining the code myself, asked LLM to update the spec) - Generate code in a well-defined context against an API/language I don't know (very helpful if I review/edit it) - Write a plan for me which I implement manually (fails to get design decisions right) - Write boring functions that I stubbed out or just called (works pretty well given enough context) - Help me sanity check plans/implementations by finding edge cases (pretty good, isolated work which I can ignore) So far: LLMs are good for certain categories of search, simple tasks with sufficient context, providing context that I lack (read the docs for me, bringing in skills I lack, helping me think things through). I remember a year ago people saying LLMs were most helpful to sharpen your thinking rather than think for you, but the draw of generating tons of code without thinking was so strong I didn't really see that for a long time. Overall, the net result for me has been that I have moved slower, done worse work, and gotten dumber. But I am slowly coming to a place where I can maybe start using these tools correctly. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Everyone wants muh users for nostr but that's a fiat/corporate mindset. Sovereign/sustainable computing is way cooler, and the thing that nostr and AI actually enable. It would be wonderful if schools taught kids what cryptographic identity was and how to write programs to solve your own problems. It would also be cool if we had good programming tools that were expressive and not just dozens of layers of garbage. In an ideal world, lisp/asm > js/swift/kotlin. https://www.youtube.com/watch?v=T3u7bGgVspM&t=2765s At the same time, attention/focus/competency/UX comes from money, and money comes from users. Everyone thinks user acquisition is a marketing problem, but it's not. It's a product discovery problem. What is cool about nostr, why might people want it, and what problems need to be solved in order for it to work? This is why I'm perennially bullish about signers, and constantly disappointed by every signer other than Amber (but also Amber) and clients with poor signer support or UX (pretty much all of them — it's an unsolved problem). Anyway, this is why I try to focus. I'm trying to make Flotilla a Really Good Product. Unfortunately I'm just one person who is missing a lot of the skills necessary to do this, funded at level that is dwarfed by my competitors (discord, slack, matrix, etc). The "funding is bad" people do have a point — zero funding would force us to lean into the small computing approach, which could be a good fit for nostr ultimately, and "good" in a zero-reach max-idealism sense. But by the same token that route comes with with a market cap of zero. Funding allows ICs like me to aspire to greatness (although realistically even the most elite grantees will arrive at mediocrity/mere profitability at best). To me, a small business serving real users and helping spread sovereignty is a win. But make up your own mind, do you want users or do you want cypherpunk hobbyist sovereign linux utils? I don't know, don't @ me, send tweet. #nevent1q…qn24 npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod This kind of thing gets me excited npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Yes, I'm also very wrong, very often as well. It's the default human state. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod My daily experience on nostr: - open coracle - see stupid take on nostr development/grants/specs - write a response explaining how stupid the take is - delete it npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Cool. Signer extensions could be much more than they are. It's so cool that they can sign for you that we forgot to add all the other neat stuff they can do (local relay, signing policies, add nostr features to the rest of the internet, profile management, follow list backup, relay management, etc) npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Oh, I see what you mean, former Red Hat engineer. That's good although clearly no one is immune from AI psychosis npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Looks good, but how do we know it's any good? More and more often stuff like this is just vibe coded, which optimizes for looking right over actually being right. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod I've seen this kind of thing before, bad relay selections/no content can cause it to hang. But you're following plenty of people so I don't really have any guesses. I will keep my eyes open for any clues. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod You may need to turn it on in settings npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Mind pasting it? npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod The websocket errors are normal, what I'd be looking for is something that says Error with a big long list of files and line numbers npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Ah, I see. They should linkify if you prefix them with `nostr:` . I experimented with dropping bare npub linking support per @nprofile…86rp's preferences, but I know it's confusing npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod What do you mean? Like if someone puts `npubxxx` in a post it doesn't auto-link? npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod devtools, nevermind, I just assume all nostr users are developers npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Do you get any errors in the console? It works ok for me npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Sure, I can do that npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Astroturf me pls https://play.google.com/store/apps/details?id=social.flotilla npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Just working on Flotilla mostly nowadays npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Coracle 0.6.33 is out with a handful of features that have been requested for a LONG time: relay feeds (ala jumble), and reposts. I've also added poll support (both rendering and publishing), and moved the feed controls to a sidebar on desktop. Enjoy! npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod #nevent1q…eqsp npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod I like showing reactions actually. The reason people pick one or the other is different. Reactions are for me, and to support the poster. Reposts are me saying HEY EVERYONE THIS IS IMPORTANT YOU SHOULD LOOK AT IT. Obnoxious, but maybe sometimes what you want to do. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod *mine npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod I have, and have rejected it because of a pet theory of mind. But people have been asking for years, so I'll go ahead and do it. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Triangles are just slices of hexagons npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod I like learning too, I'm just not a computer science nerd in the narrow sense npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod I'm just a dumb javascript dev so I don't care that much about the low-level stuff. Just copy and arc everything and I'm happy, haven't had to read any lifetimes yet npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod My back has never felt better npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Rust is straight up ergonomic. I like this language. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod "smat" 😂 npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Rip npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod However you reframe the question you still have to change people's minds npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod In theory, but actually executing something like this depends on all the tangential concerns involved in making any decision. Leaving aside taxes/accounting, doing this assumes a high level of consensus in the leadership or entire church over something that is not a core competency of the church. It's also a narrowly articulated version of a broader proposition, which is just "churches should invest in assets", which isn't universal either. The technical dimension is a barrier for sure (understanding multisig, what hardware to buy, how to sign things), but so are procedures for handling hardware devices and signing transactions, when and why to liquidate or rebalance into another asset, etc. I think if a church is already investing in stocks or something the barrier to entry for adopting bitcoin is way lower. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod It worked now, they stopped after I sent a comment "hello from wisp" which never showed up on zap.stream. Maybe that publish failure blocked something npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod I'm also not getting comments streaming in npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Also my phone wants to fall asleep while the stream is open npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod @nprofile…3aqw joining the RHR stream on Wisp worked. Just wanted you to know. But also, you should allow scanning a NWC QR when connecting your wallet. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod I have a deep love/hate relationship with it npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod @nprofile…2w7z has, I only give bitcoin to my church, although they immediately convert to fiat. Speaking from some experience doing bookkeeping involving bitcoin payments, bitcoin is a nightmare both operationally and in terms of accounting. You have to worry about: - lightning channel management - ecash <> lightning <> onchain <> exchanges - key management (bonus points for multisig) - hardware signers - per-wallet capital gains tracking and IRS' shifting rules - short term gains related to drift between invoice amounts and actual exchange rates (or override capital gains exchange rates based on invoice amount) - invoicing in a non-native currency It's just not worth it, even if you do the lamest possible thing and hold your bitcoin on an exchange. It makes me incredibly sad. The cost of accounting for bitcoin in any normal business or church massively outweighs any benefits. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod I realized today that one difference between AI-generated code and human-generated code is the story implicit in it. Code is linguistic, not merely mathematical. Its meaning is more than its function — code has a purpose and a meaning outside of itself. An LLM might write "correct" code based on some validation function, but there is no "story". Consider: ``` function doY() {} function doX() {} function doZ() { doX() doY() } ``` The inconsistency in how the function definitions and invocations are ordered will cause no trouble to an LLM. It transparently sees the semantics, and isn't bothered by concerns unrelated to function. But this is confusing to a human, because it interrupts the structure of the narrative. Structuring code is a discipline by and for humans, based on human aesthetics and mind. Machines need an index; humans need concepts, meaning, and purpose. It just so happens that our conceptual boxes work well as indexes, but the converse is not true — it would be very hard to navigate a codebase indexed by functionality rather than concept. Relationships exist in the spaces between things, and are therefore mostly implicit. Likewise, the purpose of a system is embodied by the system, but is essentially external to it. LLMs cannot code in the same way humans do, because they cannot tell a story. Telling a story means caring about what is told, for its own sake as well as its purpose. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod https://blossom.primal.net/e77b261b0c5e53c6ec6534eaec6a4514dbf7316cf1491ac69e76c3f2dc8fc7a2.png npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Coracle 0.6.32 and Flotilla 1.8.0 are out — both releases include a fix to welshman for NIP 46 login (another switch_relays bug). Thanks to @nprofile…lx9y for the report. Changelog for Flotilla: * Fix relay badge overflow * Suppress programmatic scroll when user is scrolling * Fix vertical alignment of emoji and overflow buttons in shared event action row * Use type=email for signup/login email inputs, validate password * Improve toggle switch placement on settings screens * Fix relay auth privacy toggle * Improve field layout * Add progress bar to signup flow * Bundle emojis properly * Rework hosting page * Fix padding on pages on small screens * Add richer link preview support * Fix pasting into event summary * Publish fewer join/claim requests * Fix new messages not rendering in safari * Avoid capturing stale cleanup function in chat * Hide keyboard on app resume * Add email rendering support * Fix bunker login * Fix undefined chat draft key * Allow sharing to chat without a message * Make sure to show date on calendar events when embedded * Improve space search Thanks to all the contributions by Summer of Bitcoin participants! npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod I recently started using https://nostrarchives.com/ by @nprofile…64sm for this npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod @nprofile…056v getting a cert error for cdn.zapstore.dev: Error: failed to upload file: upload failed: Put "https://cdn.zapstore.dev/upload": tls: failed to verify certificate: x509: certificate has expired or is not yet valid: “cdn.zapstore.dev” certificate is expired npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod The way I'm handling this is to ask nip 29 relays to push events to user (client)-selected push servers. This keeps the events off of public relays, allows nip 29 community relays to choose not to support notifications if they prefer privacy, and supports fcm/apns push. See below for the nip: https://github.com/nostr-protocol/nips/pull/2194 npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Not again, you have a problem npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod It's an interesting tradeoff npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod A diversity of implementations solves Hyrum's law, in which implementation details are transformed implicitly into interface guarantees. Nostr has some gross conventions (like error: prefixes on OK messages), but the compensation is that every implementation chooses different wording, and so clients have to be pretty ambivalent about relying on how messages are parsed. This reduces reliability, but improves compatibility. https://lawsofsoftwareengineering.com/laws/hyrums-law/ npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod I fully believe it, that movie must have been so expensive to make npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Just watched Redline. What a wild movie. Thanks to @nprofile…6rfd iirc for another great anime recommendation. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Coracle renders custom emoji but doesn't have a way to add them to notes npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Bolting is tragic npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Sorry for the slow reply, I had surgery yesterday 😅 From your previous note it sounds like welshman isn't authenticating, you'll want to run: ``` import {defaultSocketPolicies} from '@welshman/net' defaultSocketPolicies.push(makeSocketPolicyAuth({sign: event => signer.sign(event), shouldAuth: socket => true}) ``` If that doesn't work, maybe send the message log from the devtools. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Good questions to which I don't have the answers. The simplest thing would be to use a separate relay, since zooid enforces relay membership. If you used it for signing it could create chicken/egg scenarios where you couldn't sign AUTH events to prove you are a member of tge relay. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod If you don't take a vacation, eventually a vacation will take you npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod This is clever, going to try it with flotilla when I get a chance npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Just had surgery for a 3-4 cm diameter abscess in my neck. So that's how my Thursday has been. Appreciate any prayers that they got everything and it wouldn't recur. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Genesis 9:2–3 The fear and dread of you will fall on every living creature on the earth, every bird of the air, every creature that crawls on the ground, and all the fish of the sea. They are delivered into your hand. Everything that lives and moves will be food for you; just as I gave you the green plants, I now give you all things. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod The reason it works with card numbers is that they're just opaque identifiers interpreted by a machine. Private keys have to be held to be used, and aren't passed around directly and so can't be linked by the non-existent server. By definition something that can directly create valid signatures on behalf of another key is that key. Keys are cool and weird. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Guys, stop commenting on this, it's been 2 years. Primal is good and @nprofile…xka5 is a nice person #nevent1q…kuej npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod That's what a bunker is npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod A bluesky-integrated github alternative is getting some attention on hackernews. Upvote my comment mentioning ngit: https://news.ycombinator.com/item?id=47951360 npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Anyone have opinions about Jolla? I never heard of them until today. https://jolla.com/ npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod It's because the LLM gamed the benchmarks and wrote an empty function body npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod lol npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod This is a pretty good heuristic. I put reference stuff very low, and books that I want my kids to pick up when they're bored on the second shelf from the bottom. Other than that, I try to organize by topic: theology, literature, technology, etc. But my shelves are a disaster at the moment. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Mastodon minus identity, minus client. It's significantly less centralized/controlled npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Honestly think that probably would have been a better choice npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod You guys are going to get me in trouble 😂 npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod The QR in QR Code stands for "quantum resistant" npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Got it, sounds like everything is working as designed but there are some documentation gaps. First of all, the url to make requests against is the one in the config file, not the one printed when zooid starts up. That's where it's listening, but you have to proxy other ports (or hostnames) to zooid in order for it to serve those. This is probably why your nginx setup helped. If you want to run without a reverse proxy, then the `host` in your config file should match the host/port that zoooid is running on. So, by default it's `localhost:3334` - you need to include that exact value in your config: ``` host = "localhost:3334" ``` You should then be able to make requests against zooid using nak: ``` nak req -k 1 --auth localhost:3334 connecting to localhost:3334... ok. authenticating to ws://localhost:3334 as npub10x…kge6d... ws://localhost:3334 CLOSED: restricted: you are not a member of this relay ``` `nak event` and `nak relay` should work in this setup too. Docker is fine, podman and docker have the same API. Caravel is still a work in progress, hopefully we'll have it up next week, and then it will include a dockerfile (and built image). Let me know if this clears things up for you! npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Here I am, and I see your PR on zooid but I haven't had a chance to look yet. Happy to take any other contributions/answer any questions npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Sure! npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Yeah, flotilla doesn't connect to relays without ssl. This is a long standing bug deep in the stack. Use ngrok or a self signed cert or something if you can npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Nostr is a bubble of cutting edge tech. I just talked to some people working at my former employer and mentioned agent factories in passing. They had never even heard of them. npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Reminds me of Richard Heart npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Pasting keys is poor security hygeine, so we don't support it. Try Amber if on android, Aegis on ios, or a nostr browser extension on web npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn hodlbod Yeah, I appreciate you bringing that to my attention, I was believing the hype. Never believe the hype