Innis's avatar
Innis
john@innis.xyz
npub1l336...cxyz
Building on protocol. Austrian economics, Bitcoin, Nostr, and the older traditions that saw this coming. Low time preference. Long game.
Innis's avatar
Innis 1 week ago
Almighty God, to whom all hearts are open, all desires known, and from whom no secrets are hidden: cleanse the thoughts of our hearts by the inspiration of your Holy Spirit, that we may perfectly love you, and worthily magnify your holy name; through Christ our Lord. Amen.
Innis's avatar
Innis 1 week ago
Still down the fiat mine, but the old libraries are getting time when I can. Shipping innis/nostr-blossom today: Blossom, blob storage on Nostr, in PHP. The counterpart to the TypeScript client from June, but not a port of it. That library is a Blossom client, this is the layer a server is built from. The BUD use cases, the kind 24242 auth validation, the policies that decide who may store what. BUDs 01, 02, 04, 05, 06, 08, 09, 11 and 12. Spec, not server. No filesystem, no database, no HTTP. Storage, indexing and inspection are injected ports a host wires to its own runtime, with one such host coming soon. Where the spec left room I took the strict side. Judgement calls are recorded as ADRs in the repo, so if you would have called it differently, there is something specific to argue with. Built on innis/nostr-core. PHPStan level 9. Many thanks to @hzrd149 for this fine protocol. composer require innis/nostr-blossom MIT. #nostr #php #opensource #nostrdev
Innis's avatar
Innis 1 week ago
Nostr draws the kind of person who is not lonely for a crowd. But a network grows on people who need to be seen, so the ones best suited to this place are the ones least able to grow it. They publish and expect nothing in return. They are content with the crickets. The people who need the validation stayed where it is manufactured. The people who came here came because they had stopped needing it. A network of remnants fills slowly, and most of them prefer it that way.
Innis's avatar
Innis 1 week ago
The fiat mine has been calling, but I'm getting the Nostr hours in where I can, tidying up age old libraries... Shipping innis/nostr-nip46 today: the bunker, NIP-46, in PHP. The PHP companion to the TypeScript nip46 I put out in June. Same two roles. A PHP app pairs with a bunker:// URL and has events signed on the user's behalf without ever holding the key. The bunker is the other end. It lends your signer to another device, holding each sign_event in a queue until you approve or reject. Pairing is bunker:// only, minted by the signer. The client-initiated nostrconnect:// flow is not yet implemented. I will wait for a need so I can be sure I get it right. Built on innis/nostr-core. No network I/O of its own; the relay transport is an injected port. PHPStan level 9. composer require innis/nostr-nip46 MIT. #nostr #php #opensource #nostrdev
Innis's avatar
Innis 1 week ago
A week in the fiat mines. Life too. I get back on Nostr and there's already another private messaging standard.
Innis's avatar
Innis 3 weeks ago
Fable is still a waste of time. It asserts false claims about NIPs with total confidence, then refuses to touch anything even adjacent to cryptography, which rules out low-level Nostr work. A model that won't go near a signature is no help on a protocol built out of them...
Innis's avatar
Innis 1 month ago
Last night, in a semi-lucid moment of realising I was waking, I reached to commit the dream to the repo before I lost it. Fiat mining by day, Nostr by night. All work and no play makes Innis dream in code.
Innis's avatar
Innis 1 month ago
Paul made tents so the preaching wouldn't cost anyone anything. Most days my work feels less like the tentmaker and more like the prostitutes Jesus ate with, tho they might enjoy their work a little more. Fear not. I'll soon be back doing what I love. More releases to come.
Innis's avatar
Innis 1 month ago
Shipping jsr:@innis/nostr-nip29 today. Pure domain helpers for NIP-29 relay-based groups. A group is owned by the relay that hosts it; the relay publishes a kind 39000 metadata event for each one. This turns those into Group value objects and builds the kind 9 replies. No I/O, querying and rendering stay in the consumer. This is in the spirit of the relay-selection library I put out in May. This library is small, and only implements part of the NIP-29 spec, but addresses some inconsistencies I was encountering when building my client: the relay hint on the group h tag, how a chat reply should be structured, which metadata markers matter. I wanted to get those right, and after encountering differing implementations in the wild, decided to read how existing clients handle them, and where the spec is silent they each made their own reasonable call. Fair enough; there was nothing written to follow. So I pulled that common core into one place, fully tested, with every step past the written spec flagged as a convention rather than passed off as protocol. I'm a perfectionist and I would rather be corrected than be quietly wrong, so this is published on its own to open the discussion more than settle it. If I've misread a NIP, or you'd shape one of these conventions differently, I'm happy to be corrected. The point is to improve everyone's code, mine included. The scope is deliberately narrow. It models the parts of NIP-29 the app I've built against it actually uses: metadata, chat, replies, and nothing else. Admins, roles, the group lifecycle are not modelled, because nothing I've built needs them yet, and I would rather leave the shape unwritten than guess it from the spec and be wrong. They'll get the same scrutiny the rest got, when I eventually need them. Built on @innis/nostr-core, alongside the signers, the pool, the event store, Blossom, and relay-management. AI was involved, same terms as before. The architecture is mine. The decisions are mine. deno add jsr:@innis/nostr-nip29 MIT. #nostr #typescript #opensource #nostrdev Thanks to @Dawn @hodlbod @utxo the webmaster 🧑‍💻 @verbiricha and @Anjhc
Innis's avatar
Innis 1 month ago
Shipping jsr:@innis/nostr-relay-management today. A signed client for NIP-86, the HTTP surface a relay exposes for its own administration. Banning a pubkey, allowing one, blocking events, blocking IPs, reading the moderation queue, and on a relay running the Hubstr extensions, stats and connections and rate limits and guest policy too. A small library, but it gives away some of what the rest of the stack is being built toward. More to come. Built on @innis/nostr-core, alongside the signers, the pool, the event store, and Blossom. AI was involved, same terms as before. The architecture is mine. The decisions are mine. deno add jsr:@innis/nostr-relay-management MIT. #nostr #typescript #opensource #nostrdev
Innis's avatar
Innis 1 month ago
Every fight over human rights has been a fight over who gets counted as fully human, and it is no longer just the slave or the undocumented. I have been mistaken for a model more than once, and the mistake was honest. Even I could see where they were coming from. We are now generated until proven otherwise. This started with CAPTCHAs, but won't stop with KYC. Nostr and Bitcoin are so important that those who hold the keys now are still figuring it out for everyone who comes after us.
Innis's avatar
Innis 1 month ago
Anyone else having trouble with @Minibits this morning? I can't zap anyone, the funds keep getting sent back to my wallet. It's not hundreds of dollars, but would have kept me zapping for the next little while, so am reluctant to try anything drastic on the off chance it fixes itself.
Innis's avatar
Innis 1 month ago
Fable 5’s safety measures flagged this message for cybersecurity or biology topics. They may flag safe, normal content as well. These measures let us bring you Mythos-level capability in other areas sooner, and we’re working to refine them. Switched to Opus 4.8. Send feedback with /feedback or learn more Oh well, that was fun while it lasted...
Innis's avatar
Innis 1 month ago
When someone sends you a large zap, you briefly become a mini @OpenSats and can start micro-funding the kind of content you want to see on Nostr.
Innis's avatar
Innis 1 month ago
Aaaah. New Anthropic model out. That explains why Claude's been so daft all week... Every time.