hzrd149's avatar
hzrd149
_@hzrd149.com
npub1ye5p...knpr
JavaScript developer working on some nostr stuff - noStrudel https://nostrudel.ninja - Blossom https://github.com/hzrd149/blossom - Applesauce https://hzrd149.github.io/applesauce
hzrd149's avatar
hzrd149 4 months ago
Sorry to everyone who uses noStrudel. I broke the latest version... There is an issue that only shows up in the production build, I'll try to have a fix out tomorrow PSA to all JavaScript developers. Be very carefully using top level await in your modules. Things might work in dev mode but when the app is bundled it can create promises that never resolve due to circular module imports. Even using async import()
hzrd149's avatar
hzrd149 4 months ago
I have this saying I like to repeat to myself a lot when it comes to software development. "don't lie to your users" It sounds obvious but so many developers don't get it, or at least don't see the whole picture and there is a moment in this podcast that illustrates my point perfectly. At 42:00 Chris looks down at the recording software and it says "connection unstable". he gets upset, and starts asking why and how the connection could be unstable but because the software cant talk back it never answers his question... Obviously we don't want software to talk (yet) but my point is that it notified him that it detected an issue but refused (lied) to tell him the reason why, or how it detected the issue. Was the connection unstable because it lost 50% of packets? is the latency over 5 seconds? is the recording software lagging due to CPU? The software *knows* the issue, otherwise it couldn't have detected it. but the developer decided to lie to the user. probably because they thought the user wouldn't understand. but this just leaves the user in the dark and easily frustrated which leads to them quickly loosing confidence in your software. Don't lie to your users, if there is an issue tell them about it and what it is. even if they don't understand at least you will still have a user. Video link with time: https://blossom.primal.net/979bf277264f6c42a99be43a33ade167e2711f103247ee243653f1ebd3dcec8d.mp4#t=2520 View quoted note → P.S. @Chris Liss might be better to use OBS to record long podcast (vlogs) then some internet connected thing. but idk, I don't vlog :)
hzrd149's avatar
hzrd149 4 months ago
#asknostr does anyone know of a good NIP-84 highlights app or browser extension that works on mobile? I read a lot of articles on my phone and I'd like to post those to nostr
hzrd149's avatar
hzrd149 4 months ago
Released applesauce v3. there were some breaking changes and a lot of exports were renamed There is also a bunch of new features. Ill try to write a release article about them, but there is a short list: - New applesauce-wallet-connect package for client and provider NIP-47 - NostrConnectProvider class for the server side of NIP-46 signers - Added "reconnect" option to publish, request, and subscription methods on relays - Support for NIP-53 live streams - Support for NIP-52 calendar events - Support for NIP-84 highlights - Support for NIP-88 polls - Basic NIP-61 nutzap support Also lots more vibe-coded examples to play with. my favorite is the NWC service example that lets you create a fake wallet for testing :)
hzrd149's avatar
hzrd149 4 months ago
@Alby where is the documentation for the "nostr+walletauth+alby://" URIs your using in the bitcoin-connect package to make it so user can scan a QR with alby go and connect the wallet? Id like to support it in my applesauce library and I want to make sure I'm going off the documentation and not guessing
hzrd149's avatar
hzrd149 4 months ago
The only thing https://phoenix.acinq.co/ is missing is support for NWC so I can connect it to my nostr apps. besides that its a perfect advanced and beginner friendly mobile lightning wallet. Its the only wallet I've found that somehow seems faster then my personal LN node and I love how you can enter multiple LN addresses or bolt12s for each contact (every bitcoiner I know uses 4+ wallets)
hzrd149's avatar
hzrd149 4 months ago
Been distracted from Nostr for the past few days, but I think I've vibed coded the best language learning app. At least for my friend group. I'll publish the repo once I sanitize the code (remove hard coded api keys) The future of vibe coding is bright if it can be used to create these one-off apps for very specific uses
hzrd149's avatar
hzrd149 4 months ago
This is where blossom and bittorrent really shine, on the edges. And half the Bitcoiners I know run Umbrels or start9s... View quoted note →
hzrd149's avatar
hzrd149 4 months ago
I have never had so much fun building a library then I have had building applesauce-relay. At its core it's 600 lines of RxJS observable code, which is almost completely stateless and very nuanced. I've had to write a lot of tests to ensure it behaves correctly. But that makes me very confident it's the best JavaScript Nostr library there is.
hzrd149's avatar
hzrd149 4 months ago
@lassdas any idea how this zap got created? I didn't receive it on my node and the zap event itself is published by a pubkey without metadata @npub15vam...lzh6 I put the invoice in to and it seems to be pointing to the lightning node myNode which I don't think I've ever used for zaps View quoted note →