Avatar
hzrd149
266815e0c9210dfa324c6cba3573b14bee49da4209a9456f9484e5106cd408a5
JavaScript developer working on some nostr stuff - noStrudel https://nostrudel.ninja - Blossom https://github.com/hzrd149/blossom - Applesauce https://hzrd149.github.io/applesauce

If there is going to be a nip, it would need to be more than just 1063 file events. printable things and models need parts and versions

oh cool, is that a new nostr client 😁

I probably wouldn't have much use for it. the difficulty with adding nostr native gifs is building the UI elements and figuring out how to aggregate and sort the gifs

That said, it might be worth forking the tenor library I'm already using and making it use nostr https://www.npmjs.com/package/gif-picker-react 🤔

The biggest issue there is you would need to find a way for the library to connect to relays to fetch data, and ideally it would reuse the relay connections the app has

Until tenor blocks my API key, then ill have to actually build a nostr native gif picker

They already closed my account a while ago but for some reason the API key keeps working 😅

nostr:nevent1qvzqqqqqqypzp7qy5gj5keckxvukn87vk6k2cmmha7avfvtfdn06ceh2snhgxduaqyg8wumn8ghj7mn0wd68ytnhd9hx2qgdwaehxw309ahx7uewd3hkcqpqrpyunmhcp2k6klamzv706tfw2mm5rslw05jsupaysu6mjzwcl0ssvt9hdm

If we can move it to a new event kind I would have more incentive to integrate it into noStrudel. because right now they are just events I have to filter out of my streams page

nostr:npub18pudjhdhhp2v8gxnkttt00um729nv93tuepjda2jrwn3eua5tf5s80a699 what do you think about changing the audio spaces event kind to be something different then the live streams kind.

I've found it's really annoying to have to keep filtering both of them out when I'm only trying to display one in the client

Its a stream, primal might be confusing it with an article

Working on more noStrudel and applesauce code, come join if you have questions or want to hear me ramble on about code nostr:naddr1qqjr2ce5x5enjwtx94snvven956xyve494snsdmp94nxzvtzv43njepcxsckzqgwwaehxw309ahx7uewd3hkctcpr9mhxue69uhhyetvv9ujuumwdae8gtnnda3kjctv9uq32amnwvaz7tmjv4kxz7fwv3sk6atn9e5k7tcpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcpz9mhxue69uhkummnw3ezumrpdejz7qg7waehxw309ahx7um5wgkhqatz9emk2mrvdaexgetj9ehx2ap0qyghwumn8ghj7mn0wd68ytnhd9hx2tcpz4mhxue69uhhyetvv9ujumn0wd68ytnzvuhsz9thwden5te0dehhxarj9ehhsarj9ejx2a30qgsv73dxhgfk8tt76gf6q788zrfyz9dwwgwfk3aar6l5gk82a76v9fgrqsqqqan8ym0mea

Streaming more noStrudel development nostr:naddr1qqjrxdfnx33kvvfj956nvvn9956rvd3h95uxxc3c94jn2ctrv5uk2vf5vsungqg4waehxw309aex2mrp0yhxgctdw4eju6t09uq3jamnwvaz7tmjv4kxz7fwwdhx7un59eek7cmfv9kz7qgwwaehxw309ahx7uewd3hkctcpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcpz9mhxue69uhkummnw3ezumrpdejz7qg7waehxw309ahx7um5wgkhqatz9emk2mrvdaexgetj9ehx2ap0qyghwumn8ghj7mn0wd68ytnhd9hx2tcpz4mhxue69uhhyetvv9ujumn0wd68ytnzvuhsz9thwden5te0dehhxarj9ehhsarj9ejx2a30qgsv73dxhgfk8tt76gf6q788zrfyz9dwwgwfk3aar6l5gk82a76v9fgrqsqqqan83ydkt4

that said, the idea of offering some of your free storage to backup other users (public) data is a great idea and something every distributed storage solution to date has been trying to solve in one way or another.

But none of them had the nostr social graph... 😁

Replying to Avatar Aida

I finally forced myself to go over [Storej's white paper](https://www.storj.io/documents/storj-sustainability-whitepaper.pdf) to understand how they're achieving such a high level of availability using just consumer-grade hard drives scattered across people's living rooms. It all boils down to [Reed–Solomon erasure coding](https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction). You distribute 80 chunks, but in reality you only need 29 to reconstruct the complete data. It would be amazing to have the same or similar error correction implemented into Blossom.

I could see scenarios where I would happily offer 30GB of data storage on my blossom server to have 10GB of distributed, reliable and resilient data across multiple blossom servers.

nostr:nprofile1qqszv6q4uryjzr06xfxxew34wwc5hmjfmfpqn229d72gfegsdn2q3fgpr3mhxue69uhhxct5v4kxc6t5v5hxs7njvscngwfwvdhk6tcpzfmhxue69uhkummnw3e82efwvdhk6tcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsk7wj75 do you think we can have something like that in blossom soon or are there pitfalls I didn't considered?

It probably wouldn't be difficult to build something like storej on top of blossom and even use the same chunking and encryption methods. however I don't think it makes sense for blossom to support chunking and distributed storage directly

blossom is good at transferring and replicating smaller files around the internet.

I agree on "nutsack", but I think "zap" is a very easy word to pickup understand. And has a lot more impact and meaning then tip... Even if it doesn't express exactly what's going on

Also IMO, don't get too caught up in building for the theoretical user that isn't even here yet, for all we know we might get a wave of cypto bros next

thats the whole point of an algorithm though, to stop me from going outside...

https://groups.nip29.com is another cool NIP-29 group client. also works on mobile pretty well

not too bad, when I was there I think I spent about 400 euro + the same amount in sats for food over the course of a month and a half

Added a pretty small but cool feature to noStrudel. when you share a note there is an option to mirror the media to your blossom servers so you effectively take ownership of it. should help even more with the censorship resistants

https://cdn.hzrd149.com/43ccec6de8a87eda68e5b2d9689cee2748ecbaf84e6cdc433bf510fe7e76a6a6.webp

Its using the BUD-04 /mirror endpoint so its not using the clients bandwidth at all

https://github.com/hzrd149/blossom/blob/master/buds/04.md

I need to write a getting started guide for it. For smaller apps it's much easier then using aws s3, you just need a blossom server

looks interesting, but I've played around with n8n a bit and found it a lot more limiting than node-red, mostly because its all built around APIs and AI now

Removed 2k lines of code and NIP-72 communities from #noStrudel

https://github.com/hzrd149/nostrudel/commit/b185b0a6edb8c191aa0c93e04fe3a55c58fe0804

This will be part of the next release v0.43.0

I apologize to all the users who are currently using them but it was a large part of the noStrudel code base that I had no plans on fixing or adding features to

I don't think NIP-72 is the way forward for a few reasons. its approach to moderation is cumbersome, and while I could remove the approval requirement for posts like coracle did, I don't think this improves the usability or moderation of the communities much if at all

Also even if "approvals" where changed to "bans" it would still be verify difficult for web clients to accurately calculate the state of the community

Long story short, I've long since lost interest in NIP-72 and its starting to get in the way of onStrudel development

I think NIP-29 has a lot more promise and maybe one day when I'm finished with refactoring noStrudel ill add support for it

In the meantime https://satellite.earth/ supports NIP-72 and the current stable version of noStrudel at nostrudel.ninja

Replying to Avatar Artur…qywr

nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr how can I install nsecbunker on my Start9 server?

You can download the latest .s9pk package here https://github.com/hzrd149/nsecbunker-startos/releases/tag/v0.10.4

Although I'm not sure how well its working. I'm pretty sure I got it to a working state but I don't think I finished it enough to submit it to the start9 team

yeah, its part of a long running PR in the blossom repo to support HTTP 402 status codes with lightning and cashu https://github.com/hzrd149/blossom/pull/29

nostr:npub138s5hey76qrnm2pmv7p8nnffhfddsm8sqzm285dyc0wy4f8a6qkqtzx624 sorry the PRs been open so long but I've wanted to thoroughly test it before its officially part of the blossom spec

Its not the image format I'm concerned about. I'm concerned that by making gif packs and emoji packs the same kind we are going to end up with clients having to do a lot of filtering

For example if I wanted to build a gif picker in noStrudel I would have to fetch all the emoji packs and filter out the emojis that are not gifs or are too small. and the opposite is also true

For building nostr native gif keyboards maybe we need to start with gif collections or gif lists before we starting building a gif search tool

Maybe we could add a k:10915 and k:30915 to NIP-51 that would work similar to the NIP-30 emoji sets with ["gif", "name", "", "] tags

Then tools like https://gifbuddy.lol/ could have a "add to collection" buttons on gifs and then social apps could pull the collections down and allow users to pick from them

Then stage two could be searching the gif collection of your friends and WoT...

CC nostr:npub1hee433872q2gen90cqh2ypwcq9z7y5ugn23etrd2l2rrwpruss8qwmrsv6 nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft

Replying to Avatar lemon

When I was young and naive I started learning about "Crypto" through the "courses" provided by Coinbase where they basically market tokens and pay you in those tokens for watching an advertisement on different Crypto projects.

One of the projects that jumped out at me at the time was Filecoin. A "Decentralized Storage Network" where file storage was a marketplace and the currency used for the exchange of storage services was Filecoin.

In 2021, the project peaked to a market cap of over $12 Billion and currently resides still at around $3.3 Billion.

Filecoin has to worry about token governance and security. They need to worry about the SEC and if they'll be perceived as an "Unregistered Security" or if they'll be delisted on exchanges. Filecoin users need to worry about supply dilution, VC investor flight, company execution risk, and if the project will still be around in 10 years.

But hey, they have a pretty website.

Because nostr:nprofile1qythwumn8ghj76twvfhhstnp0faxzmt09ehx2ap0qy88wumn8ghj7mn0wvhxcmmv9uq3uamnwvaz7tmwdaehgu3dwp6kytnhv4kxcmmjv3jhytnwv46z7qg7waehxw309ahx7um5wghxkmmwd9hxwttyv4nhyctpvchxump0qyw8wumn8ghj7mn0wd68ytnsdae8getddahx2un09e3k7mf0qyghwumn8ghj7mn0wd68ytnhd9hx2tcprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hsz9thwden5te0wfjkccte9ejxzmt4wvhxjme0qqsxlvnxqykrqzps8e22u4g5pdrf2l5e0qycgqwa5d85mys6yadl3wcrp6mt9 and nostr:nprofile1qy88wumn8ghj7mn0wvhxcmmv9uq3qamnwvaz7tmwdaehgu3wd4hk6tcpz9mhxue69uhkummnw3ezuamfdejj7qgjwaehxw309ahx7um5wf6k2tnrdakj7qg6waehxw309ac8junpd45kgtnxd9shg6npvchxxmmd9uq32amnwvaz7tmjv4kxz7fwv3sk6atn9e5k7tcpr3mhxue69uhhxct5v4kxc6t5v5hxs7njvscngwfwvdhk6tcqyqnxs90qeyssm73jf3kt5dtnk997ujw6ggy6j3t0jjzw2yrv6sy22c807ey build on Nostr and Bitcoin, they don't have to worry about any of that. They can just keep building.

Video for those who may have trouble viewing it the quoted event:

https://video.nostr.build/0408997c6089ca2d957a38abbe24e515cf9b81542eea64c6526312e7dd5333bd.mp4

nostr:nevent1qvzqqqqqqypzqmajvcqjcvqgxql9ftj4zs95d9t7n9uqnpqpmk357nvjrgn4h79mqqsqqqdytedaau9jdesqs7lzux84sm0ped9sttwm0d0evm0hqx35uqcma36h9

This was my motivation for creating blossom. Back in the day I started on coinbase and was looking for any crypto that seemed to have promise. I ended up on filecoin and by extension IPFS

But unfortunately IPFS was over engineered and failed, and what little did work was killed by filecoin. But at least it showed us the way not to go

nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr any idea what's going wrong here? Other nip05's from us seem to be working ok in nostrudel -- our own coinos@coinos.io for example.

yeah, looks like the NIP-05 is set to a different pubkey. it should be set to cbb249582ac48938a02ff7ce2f57ed47c548b93af11a00fe29be008b6581f9b2 for nostr:npub1eweyjkp2cjyn3gp07l8z74ldglz53wf67ydqpl3fhcqgkevplxeq2szvje

Replying to Avatar hzrd149

nostr:npub149p5act9a5qm9p47elp8w8h3wpwn2d7s2xecw2ygnrxqp4wgsklq9g722q, nostr:npub1r0rs5q2gk0e3dk3nlc7gnu378ec6cnlenqp8a3cjhyzu6f8k5sgs4sq9ac and #nostrdesign I would like to get some design ideas

The more I talk on nostr and the more notes I reply to the more replies I get. I'm starting to get so many replies the chronological notifications timeline isn't working anymore

I would like to figure out the best way to build a "threads overview" view. something like what slack or discords thread view. I want to be able to see at a glance that threads I'm part of have unread replies and if I was directly replied to or mentioned in the threads

I don't know how much of the threads content (event.content) needs to be shown, but I don't think it needs much. just enough for me to identify the thread before I click on it and open it

P.S. willing to give fat zaps for good complete designs

This is also going to be required if I want to add better NIP-22 support to the app

Writing tests in vscode with vitest is actually pretty fun. lots of green checks 😀

https://cdn.hzrd149.com/8d6fca62072fbf519f4163d3ec4c9e26b80db3f4579769f24ef90c978cf46402.webp

Its failing to compile on my machine. its throwing a lot of errors in the TFT_eSPI library

```cpp

Arduino/libraries/TFT_eSPI/Processors/TFT_eSPI_ESP32.h:114:22: error: 'GPIO' was not declared in this scope

114 | #define DC_C GPIO.out_w1tc = (1 << TFT_DC)//;GPIO.out_w1tc = (1 << TFT_DC)

```