I know nothing about python and kotlin nostr dev.
what are some of the best libraries for nostr interactions in those two languages? need to test something
#asknostr #devstr
Danny, the cyber guy
danny@arx-ccn.com
npub1ven4...ddfh
Building Arx, because private, sovereign networks matter
------
Developer, protocol tinkerer, neighborhood thought-criminal.
When legacy media shouts “conspiracy,” I just call it Tuesday.
• Shipping Arx commit by commit, code before commentary
• Unapologetic free-thinker & digital-sovereignty maximalist
• Bitcoin ⚡ & Nostr native
• Living life permissionlessly, no rulers, only protocols ✨
@npub1yqsx...msk0
@npub1w35x...nfml
@npub109hh...qj2a
😄 (hint: filters don't work)
and you can't stop me!
PLEASE explain to me why this makes ANY sense
- Spending undefined witness (or Tapleaf) versions (ie, not Witness v0/BIP 141 nor Taproot/BIP 341) is invalid.
- Witness stacks with a Taproot annex are invalid.
- Taproot control blocks larger than 257 bytes (a merkle tree with 128 script leaves) are invalid.
- Tapscripts including OP_SUCCESS* opcodes anywhere (even unexecuted) are invalid.
- Tapscripts executing the OP_IF or OP_NOTIF instruction (regardless of result) are invalid.
#bip444
```ts
const purgeAiSlop = () => document.querySelectorAll('a.author[href="/apps/coderabbitai"]')
.forEach(el => el.closest('.TimelineItem')?.remove());
const debounce = (fn, ms) => {
let t;
return (...a) => (clearTimeout(t), t = setTimeout(() => fn(...a), ms));
};
new MutationObserver(debounce(purgeAiSlop, 100))
.observe(document.body, { childList: true, subtree: true });
purgeAiSlop();
```
you're welcome (gets rid of the coderabbit spam in github)
I legitimately think people undervalue nostr.
anyone who thinks of nostr as a twitter replacement doesn't know enough about nostr
do you ever just wake up in the middle of the night with the solution to a problem, and you send a message to someone else... and the conversation looks like this?

