Looks like another client that supports streams https://sats.gg
nostrudel.ninja is the stable version. Although at this point its getting a little outdated.
But I'll probably release a new version as soon as I get this relay stuff figured out
OK i'm finally posting from noStrudel
i literally just opened it and it wouldn't post then i said OK to update and now it works
good work nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr but don't do it agian LOL
there has got to be a way to test these kind of changes in some kind of a sandbox that won't leave users out in the cold for days. only make the update go live after it has been tested to work.
???
or do you want users to simply use other clients while you work out the kinks ?
the problem is every client has different functionality and if you force users to stay on those clients long enough to actually get used to that difference - why would they come back ?
Its still not completely fixed. I've still got a lot more changes to work on. but it should at least publish events to your outbox relays again.
also the next.nostrudel.ninja is the testing sandbox π
Got this error when I tried to run it on Ubuntu 
where dose it store the events? in the home directory?
cool, cant wait to test it out.
also here is the code I wrote to make my worker relay talk like a normal relay https://github.com/hzrd149/nostr-idb/blob/master/src/relay/relay-message-bus.ts
Snort v0.2.0 was tagged.
This release contains a full nostr relay in the browser (the worker relay). It works like any other relay on nostr, and allows us to cache content efficiently.
This also means that all reactions, replies, and posts are cached in your browser and are always available, even when you are offline.
Most of the caching strategies that have been developed thus far have been scrapped and replaced by the worker relay.
Additionally, I've added Negentropy support to allow for really efficient synchronization with the worker relay, meaning that very little data is required to stay in sync.
This opens the door for a lot of really cool things.
As always there are many many many changes so if you're interested in the summarised list you can see them on https://snort.social/about
Is the `@snort/worker-relay` package on npm? I looked and couldn't find it anywhere
Snort v0.2.0 was tagged.
This release contains a full nostr relay in the browser (the worker relay). It works like any other relay on nostr, and allows us to cache content efficiently.
This also means that all reactions, replies, and posts are cached in your browser and are always available, even when you are offline.
Most of the caching strategies that have been developed thus far have been scrapped and replaced by the worker relay.
Additionally, I've added Negentropy support to allow for really efficient synchronization with the worker relay, meaning that very little data is required to stay in sync.
This opens the door for a lot of really cool things.
As always there are many many many changes so if you're interested in the summarised list you can see them on https://snort.social/about
that's awesome, I just built something similar for noStrudel but it only runs off of the IndexedDB https://github.com/hzrd149/nostr-idb
I was just about to look into sqlite-wasm for this exact reason. but you already built it π
Nope, I setup my browser to clear history when I close it. So I learned pretty quickly to save anything that I might want to come back to
Its pretty nice. Also don't have to worry about browser history
Oh, I like that idea. It gives it a little more context
We have all seen the typical Genesis block artwork out there with a big ugly bitcoin logo on it 
Like every true bitcoiner I've wanted to hang it up in my living room to demonstrate how smart I am. although I'd like it to be a little more subtle
A few years ago when I learned how a bitcoin block is structured I thought it would be cool to make a genesis block artwork but instead highlight the different parts of the blocks binary code so it would look more interesting.
This is about as far as I got. I think it looks okay, but if feels like its missing something. and the description text on the bottom feels really crowded π

I don't know how to make it better but I'm sure there is someone out there who is a better designer or artist than me and can make it better.
Here is the source SVG (it only delays well in the browser)
https://cdn.satellite.earth/5d5f4b550926cc6e5a7a8ecc5793baecb20ffadfab58e6b06ab8fb2397447815.xml
I don't think I have any way of opening a specific app from the web browser. the best I can do is open a lghtning:// link and let the OS take the rest π
I think the "petname" field in NIP-02 could help with this, just need clients to start adding it to the kind:3
NUT-11, P2PK https://github.com/cashubtc/nuts/blob/main/11.md
I'm still learning it myself and only nutshell supports it but its pretty strait forward. just encodes a "unlock script" into the secret of the token and then the mint requires a signature to use the tokens
Yeah, they have a P2PK script on them and the mint will only allow you to claim them if you provide a signature from my nsec
Posting these to nostr for safe keeping until I can write the code to redeem them π
cashuAeyJ0b2tlbiI6W3sicHJvb2ZzIjpbeyJpZCI6InlqelFoeGdoUGRyciIsImFtb3VudCI6MSwic2VjcmV0IjoiW1wiUDJQS1wiLHtcIm5vbmNlXCI6XCIxM2JiNGZiYjNiNjk1ODQ5YTFiMGRmODM0MzVlMGFmNlwiLFwiZGF0YVwiOlwiMjY2ODE1ZTBjOTIxMGRmYTMyNGM2Y2JhMzU3M2IxNGJlZTQ5ZGE0MjA5YTk0NTZmOTQ4NGU1MTA2Y2Q0MDhhNVwifV0iLCJDIjoiMDNhYWE1NjIxNjZjZjEwMGE5ZTIxMDA4YzcyNWM2YzMyNWU4NDRjMTc5Y2Y3MGYyOWQ2Y2EyYjM0MjExODViYmQ1In0seyJpZCI6InlqelFoeGdoUGRyciIsImFtb3VudCI6NCwic2VjcmV0IjoiW1wiUDJQS1wiLHtcIm5vbmNlXCI6XCJkNzNjNmZkZjk0NmRhNGYwOGJlZThjNzVjMjU2MWQzOFwiLFwiZGF0YVwiOlwiMjY2ODE1ZTBjOTIxMGRmYTMyNGM2Y2JhMzU3M2IxNGJlZTQ5ZGE0MjA5YTk0NTZmOTQ4NGU1MTA2Y2Q0MDhhNVwifV0iLCJDIjoiMDJjYjA0Y2YxOGY1YzYxZjZlNzNiNDc5ZDg3YTg2ZGExZjVlZDI5NjcwY2MyYTE1YzY5ZDQwYzU4NGJjMDVkNTFlIn0seyJpZCI6InlqelFoeGdoUGRyciIsImFtb3VudCI6MTYsInNlY3JldCI6IltcIlAyUEtcIix7XCJub25jZVwiOlwiNTNmNDU2MzIzYTYwMmVjZTg4YjE4YTU3OWQ5MDk2MjRcIixcImRhdGFcIjpcIjI2NjgxNWUwYzkyMTBkZmEzMjRjNmNiYTM1NzNiMTRiZWU0OWRhNDIwOWE5NDU2Zjk0ODRlNTEwNmNkNDA4YTVcIn1dIiwiQyI6IjAzNjRhOTAxMzY5YThmNzBhMWUzNTQ4NWNhY2JjNGVmMjk0NDRkMGY5ZGIyZTlhNDI3MDVlMGZhMDk4NTE2OGM0OSJ9XSwibWludCI6Imh0dHBzOi8vODMzMy5zcGFjZTozMzM4In1dfQ
having relays in 3 places is definitively not good, its just a mess until I clean it up π
on Coracle again because noStrudel is down
Coracle is so laughably unbelievably bad
nostr:nprofile1qqszv6q4uryjzr06xfxxew34wwc5hmjfmfpqn229d72gfegsdn2q3fgpz9mhxue69uhkummnw3ezuamfdejj7qgswaehxw309ahx7um5wghx6mmd9uq3jamnwvaz7tmjv4kxz7fwdehhxarjv96xjtnrdakj7wtf4xd please fix noStrudel i can't use this fucking Coracle garbage !
The next.nostrudel.ninja version might be broken for a bit, I'm rebuilding a lot of the relay code and I broke a lot of stuff.
If you click on the little relay button in the top right and add a few relays will should start working again, but I've still got a lot of UI work to do
Crazy how Plebstr still holds up in comparison to all the other latest updated nostr apps. This just shows how fantastic UI and UX goes a long way.
However, these other clients are catching up, and haven't heard anything from Plebstr in a loooong time. Hope everything's alright with them, and hope to see they'd updating the app / catching up with the latest NIPs.
nostr:npub1plstrz6dhu8q4fq0e4rjpxe2fxe5x87y2w6xpm70gh9qh5tt66kqkgkx8j
I've never heard of plebstr before. But I just tried it and it has a very impressive UI. It seems very well thought out
nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr
Hi!
next.nostrudel.ninja is broken again.
Empty feed, empty notifications, empty contact list.
No errors.
Yeah, Sorry about that. I'm rebuilding a lot of the relay code under the hood and its only in a half working state.
If you click the small "relay" button on the top right and set a few relays it will start working again.
Although there is a bunch of UI work I've still got to do
A test
cashuAeyJ0b2tlbiI6IFt7InByb29mcyI6IFt7ImlkIjogIjFucnRWUmxSalVRSSIsICJhbW91bnQiOiAyLCAic2VjcmV0IjogIltcIlAyUEtcIiwge1wiZGF0YVwiOiBcIjI2NjgxNWUwYzkyMTBkZmEzMjRjNmNiYTM1NzNiMTRiZWU0OWRhNDIwOWE5NDU2Zjk0ODRlNTEwNmNkNDA4YTVcIiwgXCJub25jZVwiOiBcIjhmMmQ0MDEwZmUyOTA0NjY4ZDUzZmU5Y2JiNzExOWQ5XCIsIFwidGFnc1wiOiBbW1wibG9ja3RpbWVcIiwgXCIxNzA2MDk4Mjg5XCJdLCBbXCJzaWdmbGFnXCIsIFwiU0lHX0FMTFwiXV19XSIsICJDIjogIjAyOWM3MzlmZjg4NmY2NWQwMDRhM2ZlMTZhY2FiMzZiZjcyYjA1N2RmMjJiZGY2YzZiZDlkZDE0MWZkZjdhNGYzMCJ9XSwgIm1pbnQiOiAiaHR0cHM6Ly9taW50Lmd3b3EuY29tLyJ9XX0=
I don't really mind adding it back in but id like to find a better place for it in the UI
I've been doing some tests and it looks like I can store about 100k events in an IndexedDB while keeping the query times below .5s
That plus a shared web worker would make a pretty cool caching layer...so I guess ill try adding a caching layer to noStrudel. maybe it will make the app faster?
This image sends me your IP address via email once you see it/the preview loads:
http://canarytokens.com/about/tags/traffic/4sf64fusw6x3p94hztcplg6kc/index.html
I'm running a VPN but I don't see any image π€
nostrudel's viewer does not support open graph for the induvidual note. So there will be no link preview. Please compare:
cc nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr
This is the main reason the share link points to njump.me. also because I think new users might want a simpler UI than noStrudel
I've thought about putting https://github.com/nostrband/nometa in front of nostrudel.ninja, but it would require me to run a server somewhere to host it vs using static file hosting like I am now.
Normally I don't mind getting sick because its a great opportunity to relax and watch movies. however this time its a little annoying since I still need to pack and leave in two days
Hey nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr! I love noStrudel and wonder who's behind it. Is this your fun project or do you have a team? It's amazing the quality you are delivering and it certainly feels like a whole team working on this, yet the repo claims it's basically all you.
Its just me and I guess you could say its been my fun project. although its more just my nostr sandbox.
Back in the earlier days of nostr there was only damus and astral.ninja. astral.ninja was slow and I didn't have an Iphone. also neither really let me explore the protocol, they kind of hid it away.
So I started building my own so I could learn how the protocol worked and so I could have the UI exactly how I liked it π
right, the only idea is to show the feed of kind 1 notes from a relay. but filter out the people you follow. probably would just end up with spam though... π€
It's almost 2024 and we still don't have a good way to differentiate relays.
There is someone coming to nostr:npub1s0veng2gvfwr62acrxhnqexq76sj6ldg3a5t935jy8e6w3shr5vsnwrmq5 that I hope will take on this π
awesome, hopefully they can teach me more about relays.
The main reason relays kind of suck in noStrudel right now is because I still don't really know what they are or how I could explore them
a test reply
Thanks, that helps a lot π
I think i just fixed #2 in the alpha version and I'm looking at fixing #3 since some people have recently been posting really long notes π
I think #1 is a relay issue but its really hard to know until I add better UI around relays
nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr Any ideas? Maybe you and nostr:npub18yvpnchj7yaepjk8yz2pn66hfmmup505aqvx0lpyc3aree0g5fyq8clpz3 can test this out.
nostr:npub1aeh2zw4elewy5682lxc6xnlqzjnxksq303gwu2npfaxd49vmde6qcq4nwx it looks like your lightning address is missing the "allowsNostr" field. noStrudel relies on that field to know if the address is zappable
https://ghst.to/.well-known/lnurlp/daniel
I don't know what ghost addresses are but they might not support zaps
I don't know about more private, but NIP-44 was released which is better encryption then what NIP-04 has
Been listening to this on repeat all day. Best original Christmas song I've heard this year https://podverse.fm/clip/uTJUOtYyXY
I can't find the original RSS feed for the song though π
Dashboard + Keyboard Shortcuts for Navigation:

An idea on how to avoid having an overcrowded sidebar menu and clean up your UI:
π Display the tabs of your sidebar as cards in a dashboard grid
π In each card: show the most relevant options. This means that, for all most common flows, you have the same amount of clicks/actions as with a sidebar.
π Have a Keyboard shortcut for each card and/or common action
https://cdn.satellite.earth/07e11ee70097b770e64043ae4fcf9bf680c48f3608e135a21c99fd84e61e3d12.mov Figma: https://w3.do/MhlM_pOw nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr #nostrdesign
Created a github issue to track progress https://github.com/hzrd149/nostrudel/issues/113
#nostrdesign I'm looking for some ideas. noStrudels side nav bar is getting too crowded and I want to add more stuff to it.
I would also like to move some of the things in the "tools" section into the sidebar, but I realize most users wouldn't want to use them all the time.
I'm looking for any creative or cool ideas to let the user customize the navigation. but still be able to access all the things with only a few clicks
Tagging nostr:npub149p5act9a5qm9p47elp8w8h3wpwn2d7s2xecw2ygnrxqp4wgsklq9g722q nostr:npub1r0rs5q2gk0e3dk3nlc7gnu378ec6cnlenqp8a3cjhyzu6f8k5sgs4sq9ac any anyone else with good ideas

P.S I think it would be cool to do away with the sidebar entirely
I don't really do a lot of 3D printing so my plan was to blindly copy the thingiverse website and its features.
The idea so far:
- Use NIP-94 (file metadata) to upload and list STL files
- Create a new event kind that is a "3d printable thing" or a collection of STL files and other image/pdf files
- Build a fancy UI to let users browse and zap the things
I can't find it anymore but when I did this same search a few months ago it kept returning results for another shitcoin called SATS. So maybe that's where is getting the $15?

Hopefully soon π
Removing the URLs is only half the problem. You have to add them back in the correct position. And since the text is translated the length and position has changed
nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr if you need a LibreTranslate endpoint to test against, hit me up.
Transactions is probably one of the oldest things on my to-do list. Ive tested LibreTranslate although I couldn't figure out how to make it ignore URLs and other non word content.
Just noticed it promoted Blowater nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr we should talk at nostr:npub1nstrcu63lzpjkz94djajuz2evrgu2psd66cwgc0gz0c0qazezx0q9urg5l
We could have deeper collaborations 
I'd love too. I've got to get across the ocean first though
ooh, I like the reminder idea.
although I don't think the logo is a good place. I like the fact that it always goes to the home page, I use it all the time :)
the way NIP-28 channels work with one event for metadata and one for channel create makes channel discovery a little difficult...
good idea, that has a pretty high success rate. although most people only know my looking at their phone π€
I can walk outside and get a pretty good idea of the time. but how do I walk outside and check if its Wednesday?
nostrudel.ninja is the stable version. It updated every few weeks.
the.nostrudel.ninja and next.nostrudel.ninja are the alpha verion. they update every time I make a change ( and end up breaking more often )
Submitted the app π
I think I heard about that app store a while ago but never looked into it. it looks kind of cool
I already have the third one. just need the other two. π
If you say the code or numbers out loud (or whisper them) its much easier to repeat. something about hearing yourself talk makes it easier to remember
https://video.nostr.build/fe40f309c4458fc0ee83f70cdaa1403703fee22882de409362cf74422d9934f6.mov
As promised, I solved the List Synchronization Problem (your contact list being swiped out problem) for the whole Nostr community so that you don't have to re-invent the algorithm again.
Here is a demonstration with Relay List, which is a harder version of the problem because we also use relays to synchronize the configuration of themselves.
You can open 2 different devices/clients and modify the same list with different values, and they will converge to the same value instead of overriding each other.
Watch what happened from 26s - 28s!
The secret is using a data structure of CRDT. More on this later.
nostr:nprofile1qqsf03c2gsmx5ef4c9zmxvlew04gdh7u94afnknp33qvv3c94kvwxgspz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3xamnwvaz7tmjv4kxz7tpvfkx2tn0wfnszymhwden5te0dehhxarj9cmrswpwdaexwnanw2j nostr:nprofile1qqsr9cvzwc652r4m83d86ykplrnm9dg5gwdvzzn8ameanlvut35wy3gpp4mhxue69uhkummn9ekx7mqpzpmhxue69uhkummnw3ezuamfdejsz9rhwden5te0wfjkccte9ejxzmt4wvhxjmc3nfy6g nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqppamhxue69uhkummnw3ezumt0d5q36amnwvaz7tmwdaehgu3dwp6kytnhv4kxcmmjv3jhytnwv46qz9rhwden5te0wfjkccte9ehx7um5wghxyecrzy6tn nostr:nprofile1qqsglv2qkn5dmmuhee9cy8fywfu2rfp4xd3xy0myqg2gfvmjl9yqqrqpp4mhxue69uhkummn9ekx7mqpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3yamnwvaz7tm0venxx6rpd9hzuur4vg070dh7 nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gpr4mhxue69uhkummnw3ez6ur4vgh8wetvd3hhyer9wghxuet5qyv8wumn8ghj7un9d3shjtnwdaehgunpw35jucm0d5q3vamnwvaz7tmjv4kxz7fwdehhxarj9e3xzmnyv0c7x9 nostr:nprofile1qqsfnz2sqsflkatdssmeztxr90s8xrd7r07xkhfwaa6eu9zkcguljpgpp4mhxue69uhkummn9ekx7mqpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3kamnwvaz7tmwdaehgu3wwdmkjumn94jku6t8d4sjucmgx9sv8m nostr:nprofile1qqsph3c2q9yt8uckmgelu0yf7glruudvfluesqn7cuftjpwdynm2gygpzpmhxue69uhkummnw3ezuamfdejsz9rhwden5te0wfjkccte9ejxzmt4wvhxjmcpzemhxue69uhhyetvv9ujumn0wd68ytnzv9hxgg6dq49 nostr:nprofile1qqsxu35yyt0mwjjh8pcz4zprhxegz69t4wr9t74vk6zne58wzh0waycpz3mhxue69uhhyetvv9ujumn0wd68ytnzvuqs6amnwvaz7tmwdaejumr0dsq3qamnwvaz7tmwdaehgu3wwa5kuegqrtefg nostr:nprofile1qqs99d9qw67th0wr5xh05de4s9k0wjvnkxudkgptq8yg83vtulad30gpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq32amnwvaz7tm9v3jkutnwdaehgu3wd3skueqprfmhxue69uhhyetvv9ujumn0wd68yurvv438xtnrdaksp8quad nostr:nprofile1qqsqqqqqqzp8l74ff0l29zxrml8yggk8jnamje39k6e3ayzf7u5awqqprpmhxue69uhhwetvvdhk6efwdehhxarj9emkjmn9qyt8wumn8ghj7un9d3shjtnswf5k6ctv9ehx2aqpz3mhxue69uhhyetvv9ujuerpd46hxtnfduy9aajz nostr:nprofile1qqsx8lnrrrw9skpulctgzruxm5y7rzlaw64tcf9qpqww9pt0xvzsfmgprpmhxue69uhhyetvv9ujuumwdae8gtnnda3kjctvqyxhwumn8ghj7mn0wvhxcmmvqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hschfr5x nostr:nprofile1qqs8lft0t45k92c78n2zfe6ccvqzhpn977cd3h8wnl579zxhw5dvr9qprpmhxue69uhhyetvv9ujuumwdae8gtnnda3kjctvqyxhwumn8ghj7mn0wvhxcmmvqyg8wumn8ghj7mn0wd68ytnhd9hx2tvlfps nostr:nprofile1qqsyt3qly8su7u2l5mvu5g9cuqp22axm0w6fa9hw3xp5cek6c4zxk7sprpmhxue69uhhyetvv9ujuumwdae8gtnnda3kjctvqy28wumn8ghj7un9d3shjtnwdaehgu3wvfnszxnhwden5te0dehhxarj9ehhyctwvajhq6tvdshxgetkrz9mhs nostr:nprofile1qqs8hhhhhc3dmrje73squpz255ape7t448w86f7ltqemca7m0p99spgpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3qamnwvaz7tmwdaehgu3wwa5kuegppamhxue69uhkummnw3ezumt0d5hkly8m nostr:nprofile1qqspqxesa6yvy7snme5t7lyvqcmgaglraqmkg9v4cxr82emarzjx53gpz3mhxue69uhhyetvv9ujuerpd46hxtnfduqs6amnwvaz7tmev9382tndv5qjqamnwvaz7tmjv4kxz7fddfczumn0wd68ytnhd9ex2erwv46zu6nsazpqkk & I forgot the nostr name of strfry author everytime
I'm just tagging more nostr developers I have on top of my head. Feel free to tag & share to other developers & users.
Feedbacks welcome. If the effect in the video is what you consider a solution for the list synchronization problem and upvote this note, I will draft a NIP.
This looks cool, but I have a few questions.
In the example you showed each client is creating a different relay list, then when it discovers a relay list created by the other client it merges it.
1. How dose this handle removing different relays in both clients. wouldn't the client just see the relay list from the other client and add the recently removed relay back into the list?
2. Due to how events are spread between relays, A lot of the more obscure relays have really old versions of my relay list. If the app happened to connect to a relay that had a 2+ day old version of my relay list would it attempt to merge it with the newest relay list, even though there are relays that I explicitly wanted to remove?
I like the idea of detecting and merging the relay list. but if it defaults to always merging whatever lists it finds. then I think this could make it difficult to remove relays.

#m=image%2Fgif&dim=360x180&blurhash=iXDmH_t6RkbJRPogR%25WYof00R*j%3FjXxuaxfSfif8.Aofj%5DbIWAjujYjaj%40awaxoLjZWCa%7Bofj%5BWWMxjcWBbFkBjZj%40a%7BWB&x=6e7173985635af5c7bd4571925c0e52c717b95a6778a29406b2ac018882ebcb5

