So Tachi's avatar
So Tachi
so@nuts.cash
npub1dfed...lc7u
building nostr:nprofile1qqs8wfkyxlx00y0kmmvhmwkps3hxyqv7t77jfapwnke0vs8jx8pupxsx8yfv2
So Tachi's avatar
So Tachi yesterday
Gulf state must be wondering why they are still selling their oil in dollars. The deal was for the US to maintain peace in the Middle East…
So Tachi's avatar
So Tachi 2 days ago
yeah Iran is charging toll in Bitcoin cool, still puzzles me they are sending emails when they could use #bitchat
So Tachi's avatar
So Tachi 2 days ago
been stolen many things in my life but a laptop hurt the most somehow
So Tachi's avatar
So Tachi 3 days ago
in its current form, nostr on the web with outbox and on mobile is only possible on high end devices, with battery issues. many of the client computing must be moved to a dedicated server, primal style.
So Tachi's avatar
So Tachi 1 week ago
#ditto theme looking good in #nuts, nostrabilityyyy
So Tachi's avatar
So Tachi 1 week ago
imagine signing all of your chess move
So Tachi's avatar
So Tachi 1 week ago
sometimes I use gpt5-4 xhigh and I'm scared of AI again
So Tachi's avatar
So Tachi 1 week ago
turns out we're just a bunch of trailblazers
So Tachi's avatar
So Tachi 1 week ago
the reply situation is getting confusing in nostr, is anyone actually using kind1111? #asknostr
So Tachi's avatar
So Tachi 1 week ago
nostr and AI agents are ADDICTIVE, I can't STOP, help!!
So Tachi's avatar
So Tachi 1 week ago
the amount of intelligence/seconds you get from fireworks k2.5 turbo is actually insane
So Tachi's avatar
So Tachi 1 week ago
nostr is currently quiet, I can't help to be bullish though, the protocol just make increasingly more sense at the AI era. it's becoming so easy to build on, it's a mental model for any agent willing to build a social media related app.
So Tachi's avatar
So Tachi 2 weeks ago
opentimestamp will fix the empty block syndrome
So Tachi's avatar
So Tachi 2 weeks ago
Introducing Nipworker...! the nostr library powering @Nuts 🥜, it's a big chunk, it comes quite opinionated, but it's a good mix of speed and efficiency. It's build around FlatBuffers and heavy uses of web workers, compiled from rust to wasm. Works with any frontend. No React dependency, no Svelte stores to learn, no Vue composables. Just hook-like methods with callbacks that you wire to your framework's reactivity however you want. 4 Dedicated Workers • Connections — Relay connections, WebSocket lifecycle, reconnection backoff. Owns all network I/O. • Cache — Stores FlatBuffers in ring buffers in real time and IndexedDB in timeout chunks. No refetching what you already have. • Parser — Event validation, signature verification, content parsing. Receives raw JSON from relays, outputs FlatBuffers to your frontend. No JSON.parse on the main thread. Ever. • Crypto — Signing, NIP:04/44 encryption, NIP:46 remote signer sessions, Cashu proof verification. Each worker runs in its own Web Worker. The main thread just orchestrates. Heavy work happens in parallel. FlatBuffers Instead of JSON NIPWorker speaks FlatBuffers end to end. Raw relay messages get parsed once in Rust, then flow through the system as zero:copy binary views. No JSON.parse. No object allocation. No GC pauses on infinite scroll. Your components read directly from FlatBuffers tables. A Kind1 note's content blocks (images, videos, hashtags) arrive pre:parsed. You iterate them with fbArray() and render straight from the binary buffer to the DOM. The schema lives from wire to HTML. Apollo:Inspired State Management Like Apollo Client, NIPWorker IS your store. You do not need Redux, Zustand, or custom state libraries. useSubscribe pulls FlatBuffers from the worker pool and feeds your UI directly. Subscriptions accept fetch policies: cacheFirst serves from memory immediately if available, noCache always bypass the cache and hits the network. You control the speed versus freshness tradeoff per query. usePublish sends events and tracks relay acknowledgments. Your entire app state flows through these two hooks. Subscriptions are deduped across components automatically. The library manages the cache, merge logic, and reactive updates. Pipeline Architecture Events flow through a processing pipeline: verify → dedupe → filter → transform → store. Each subscription configures its own pipeline. The pipeline runs in the Parser worker before FlatBuffers reach your callback. Opinionated by Design NIPWorker enforces outbox model by default. It reads every author's NIP:65 relay list to discover where they publish. The library manages relay discovery and publication strategy for you. Built for clients that need to render thousands of events without dropping frames. npm install @candypoets/nipworker npx skills add candypoets/skills@nipworker