nosotros.app is nearly perfect. nostr:nprofile1qy2hwumn8ghj7un9d3shjtnddaehgu3wwp6kyqg4waehxw309ahx7um5wfjkc6t5v4ejummjvuq3gamnwvaz7tmjv4kxz7fwv3sk6atn9e5k7qgdwaehxw309ahx7uewd3hkcqg0waehxw309ahx7um5wghx6mmdqqsvvcpmpuwvlmrztkwq3d6nunmhf6hh688jw6fzxyjmtl2d5u5qr8sly7x8v has executed on so many things I aspired to do in Coracle. Some rough edges still, but this client is fantastic.
The web of trust thing on coracle is just the number people you follow who follow the person, minus the number of people you follow who muted the person. Other folks are working on more sophisticated ranking algorithms.
Well, then you need bridges for web apps to get to the DHT. So I don't think a dht should replace outbox, but it could be helpful as a complementary index.
DHTs are a nice tidy technical solution. It uses math to find the optimal solution for traversing a bunch of nodes. It's really cool, and might work really well for bootstrapping.
DHTs are good at storing an index, but not a massive amount of data (hence pubky's home servers). Nostr relays are great because they give us the ability to scale as much as the web has for both indexes (sub-optimal probably) and data (the only way it's been proven to be possible), while retaining decentralization.
I got nerd sniped. After being so annoyed with migrating to svelte 5 I started wondering how hard it would be to make a reactive framework *without* all the magic. Not all that hard as it turns out.
So I built nug, a very small reactive dom system. It doesn't use virtual DOM, and it doesn't use proxies. Instead, it just uses svelte stores, and some completely untested techniques I made up for splitting up large lists and render trees.
Source code: https://github.com/staab/nug
Here's a quick demo of the new calendars page on flotilla:
https://coracle-media.us-southeast-1.linodeobjects.com/calendar-demo-02-06.mov
Flotilla version 0.2.7 has arrived! This will hopefully solve some stability issues folks have been having β if problems persist, let me know!
Also in this release is the long-awaited "Calendar" tab. Now you can manage calendars within relay-based groups! Give the new release a try and let me know how it goes βΒ new versions are available via nostr:nprofile1qy3hwumn8ghj7en9v4j8xtnwdaehgu3wvfskuep0dehhxarjdp5hxurpdehszgthwden5te0veex2etydakksatzxyh8yet9d3hx2arhdaexktn9w5hszxthwden5te0dp38ytnrdaexzcmvv5h8xmmrd9skctcpypmhxue69uhkx6r0wf6hxtndd94k2erfd3nk2u3wvdhk6w35xs6z7qgcwaehxw309ahxverz9ehx7umhdpjhyefwvdhk6tcqypuvuma2wgny8pegfej8hf5n3x2hxhkgcl2utfjhxlj4zv8sycc86dwkfwk, app.flotilla.social, and (eventually) Google Play.
Changelog:
* Add calendar events
* Migrate to svelte 5 (fixes some bugs, probably introduces others)
* Migrate to new welshman editor
* Make reply indicator nicer
* Make share indicator nicer
* Improve feed loading
* Show marker for last activity in chat
nostr:nprofile1qythwumn8ghj7un9d3shjtnwdaejuum0vd5kzmp0qythwumn8ghj7etrd35hqum99ec82c30wfjkccteqyfhwumn8ghj7ur4wfcxcetsv9njuetn9uq3camnwvaz7tmrdpexjum5wp5kcmpwdehhxarjxyhxxmmd9uq32amnwvaz7tmhdah8xtnrv9k8vcfwv3jhvtcpz4mhxue69uhkummnw3ezummcw3ezuer9wchszrnhwden5te0dehhxtnvdakz7qg6waehxw309ac8junpd45kgtnxd9shg6npvchxxmmd9uq32amnwvaz7tmjv4kxz7fwv3sk6atn9e5k7tcpz9mhxue69uhnzdps9enrw73wd9hj7qgswaehxw309ahx7tnnw3ezucmj9uqzq96n3hp2vfmf6z2y8uvvxl97xk86kkalnqghx4p25lzl79c76a7yc39xl5 can you give flotilla another try and tell me how it goes?
Give it another try now, web should be fixed
Yes, the idea of a community calendar has been my north star for a long time
The proxy stuff was one thing, all my events get copied when they get saved to indexeddb, but since you can't detect proxies (except by copying them), there's no way to fix it in once place except try/catch every put operation. On top of that, the`$state.serialize` thing has to happen in a`.svelte` file. But I don't want to infect all my normal code with svelte stuff, I like to keep the two separated.
Other things:
- Reactivity has subtly changed. Stores don't see to be enough in every case. I've had to wrap a store in a`$derived` to get reactivity working.
- Reactivity is much more magical. Stores are extremely simple, but there's no way to dig in and debug runes.
- Runes also work the same way as react hooks do, which means implicit state based on when the variables are accessed or modified. This breaks timeouts, async functions, etc, and leads to hacks like`untrack`
It's not horrible, it's just... worse
I forgot to build before releasing the apk π uninstall and re-install should do it
Flotilla version 0.2.7 has arrived! This will hopefully solve some stability issues folks have been having β if problems persist, let me know!
Also in this release is the long-awaited "Calendar" tab. Now you can manage calendars within relay-based groups! Give the new release a try and let me know how it goes βΒ new versions are available via nostr:nprofile1qy3hwumn8ghj7en9v4j8xtnwdaehgu3wvfskuep0dehhxarjdp5hxurpdehszgthwden5te0veex2etydakksatzxyh8yet9d3hx2arhdaexktn9w5hszxthwden5te0dp38ytnrdaexzcmvv5h8xmmrd9skctcpypmhxue69uhkx6r0wf6hxtndd94k2erfd3nk2u3wvdhk6w35xs6z7qgcwaehxw309ahxverz9ehx7umhdpjhyefwvdhk6tcqypuvuma2wgny8pegfej8hf5n3x2hxhkgcl2utfjhxlj4zv8sycc86dwkfwk, app.flotilla.social, and (eventually) Google Play.
Changelog:
* Add calendar events
* Migrate to svelte 5 (fixes some bugs, probably introduces others)
* Migrate to new welshman editor
* Make reply indicator nicer
* Make share indicator nicer
* Improve feed loading
* Show marker for last activity in chat
nostr:nprofile1qy88wumn8ghj7mn0wvhxcmmv9uq32amnwvaz7tmjv4kxz7fwv3sk6atn9e5k7tcpr9mhxue69uhkscnj9e3k7unpvdkx2tnnda3kjctv9uqzp978pfzrv6n9xhq5tvenl9e74pklmskh4xw6vxxyp3j8qkke3cez0c7vk7 I was all thinking on how a decentralized wiki needed to work, so it is easy for anyone to publish whatever projection they have on a topic.
And then for any user to share, copy, comment and rate the pages. And after some hours of studying I came to see some #longform apps on nostr.
And I just think these longform content may is exactly what I was searching for.
#asknostr do you know what existing longform app has already a good search? So I could start using it similar to Wikipedia. Only decentralized.
When somebody sees other usecases or some misunderstanding on my side, I am happy to receive help on this.
Habla.news and yakihonne agre good for long form. But you may be looking for wikifreedia.xyz
Yeah, it's coming soon, it was a massive change
nostr:nprofile1qqsxg45ph8gx0vdrvtzta6xal7v86frx6jvstsnvhrlvtehmwwh4epqpzamhxue69uhhyetvv9ujuvrcvd5xzapwvdhk6tcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9nhwden5te0v4jx2m3wdehhxarj9ekxzmny9ua2vh28 nostr:nprofile1qqsf03c2gsmx5ef4c9zmxvlew04gdh7u94afnknp33qvv3c94kvwxgsppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qgewaehxw309a5xyu3wvdhhyctrd3jjuum0vd5kzmp0gankr4
#pokey and #flotilla match made in heaven?

Very likely, nostr:nprofile1qythwumn8ghj7un9d3shjt3s0p3ksct59e3k7mf0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qgkwaehxw309ajkgetw9ehx7um5wghxcctwvshsz9nhwden5te0wahhgtnwdaehgu3wwpshyare9uq3kamnwvaz7tmwdaehgu3wwdshgum5wfskc6tp9e3k7mf0qqsxg45ph8gx0vdrvtzta6xal7v86frx6jvstsnvhrlvtehmwwh4epqhrevsd want to come on TGFN and talk about it?
Gossip, NDK stuff, rust-nostr has support. I've lost track at this point.
You're right, the duration language is my fault, I'll change that. You haven't heard of timehashes because I invented them π
It's actually not too bad to either publish or query these, since if all three recommended levels of granularity exist as tags you can choose which to target with a filter depending on how wide your window is. The degenerate edge case is of course events that last for a long time, since you have to enumerate approximately every hour. I'm not quite sure what to do in that situation.
It might be simple β I didn't see a main.go. Is there a single binary for relay + dvm, or separate ones? Are the files in cmd the entry points? If the latter, how would I configure the relay and dvm to talk to each other?
This looks rad, and it's done in a way that ensures reputation is available to anyone without a centralized chokepoint. Now I just need to figure out how to run an instance... nostr:nprofile1qyv8wumn8ghj7enfd36x2u3wdehhxarj9emkjmn99uq3samnwvaz7tmrv4kxcctj9ehx7um5wgh8w6twv5hszyrhwden5te0v5hxummn9ekx7mp0qy2hwumn8ghj7erfw36x7tnsw43z7un9d3shjqg4waehxw309ask2emfwvh82arcduhx7mn99uqzqun2rcnpe3j8ge6ws2z789gm8wcnn056wu734n6fmjrgmwrp58q3x5kwlg are self-hosting docs forthcoming?
Have you seen this one?
nostr:naddr1qvzqqqr4gupzp978pfzrv6n9xhq5tvenl9e74pklmskh4xw6vxxyp3j8qkke3cezqqxnzdenxgenzve4xyurgvfk9an8aq
I'm probably being dramatic, but I'm currently in the Anger phase of the 5 phases of grief
Nice, stencil looks interesting
Neat, I hadn't heard of that one
No, it's my bug, it just might take a while for me to solve π
nostr:nprofile1qqsf03c2gsmx5ef4c9zmxvlew04gdh7u94afnknp33qvv3c94kvwxgspr3mhxue69uhksmmyd33x7epwvdhhyctrd3jjuar0dak8xtcppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7208x3z do you have any plans for adding permissions controls to flotilla? like being able to whitelist npubs from the client
I'm not sure, I think that might be better handled in some other software. There is a NIP for these controls, and moderations.nip29.com is doing some version of it, but it's not really there yet.
π mask off moment
nostrapp.link makes it pretty easy
> there is no way to specify how to launch a local application in such a way that other applications could do it automatically.
π€ still would be worth it just to get recommendations and promote the software
That makes sense, huge win. Maybe I've confused hype for the tech for hype for the project.
Alright nostriches. I finally have enough done and feel comfortable to share my progress on HAMSTR.
You are about to witness perhaps the first ever(well outside of the 2,000 ones I have done testing, lol) nostr note retrieved exclusively over HF packet ham radio.
There is no Internet access on this browser at the moment at all.
It is a client - server setup. The client is fully off-grid. Only the server can connect to the internet. For this test, the server is was roughly 500 feet away using dummy loads on my radios putting out virtually zero watts. Yes, not far, but in theory it would similar at hundreds and even thousands of miles away as well.
This test pulls my most recent notes from my fake dev account following list. In this case 1 note. The number of notes is configurable, but keep in mind HF Packet Radio is SLOW. This one note takes quite a while for just tiny note from nostr:nprofile1qqsywt6ypu57lxtwj2scdwxnyrl3sry9typcstje65x7rw9a2e5nq8sprpmhxue69uhhyetvv9ujuumwdae8gtnnda3kjctvqydhwumn8ghj7un9d3shjtnzd96xxmmfdecxzunt9e3k7mgpp4mhxue69uhkummn9ekx7mq9hxafw. Future versions will have FM Data packets as well, but line of sight FM was not my goal. Global coverage was. HF radio is the only way for that.
Most functionality is now working, just ironing out some things and lots of bugs. Following, global, search, hash tags, npub search display names, are all basically working. Soon replies.
What started out as a project for me to use some social media and take camping and do some off-grid nostr stuff has now morphed into something that I believe will be able to help millions of people be able to bypass oppressive regimes, firewalls, tyranny, and allow them to interact with the nostr network using nothing but ham radios. This could be massive for learning, comms, and overall freedom. Could have a server running in France, and connect to it from Russia or Afghanistan for example. Easily within HF radio reach for half the world.
Much like the winlink email network, I hope people will be able to take my project and setup servers all around the world for people to access, read, write notes, send DM's, use various nostr kinds and even send Bitcoin(on chain offline transactions over HF radio and nostr coming soon).
Lots to come!
Note: pardon the phone screen cap, it isn't quite working fully android Firefox or chrome yet.
#hamstr
#Nostr
#development
#hamradio
https://video.nostr.build/1830960c328baad59ce74bfb23e7d3ea12bb26ea09f085e8a14762bb2cac88d4.mp4
This is amazingly cool, great work. Is the source code released somewhere?
brb, being the change I want to see in the world
Why aren't people partying in the streets?
Images are usually sent as mutable urls, yeah, but nostr:nprofile1qyghwumn8ghj7mn0wd68ytnhd9hx2tcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszynhwden5te0dehhxarjw4jjucm0d5hsz8rhwden5te0wdshgetvd35hgefwdpa8yep3xsujucm0d5hszrtpd3nk7tn4w3ux7tn0dejsqgpxdq27pjfppharynrvhg6h8v2taeya5ssf49zkl9yyu5gxe4qg55nf2h2q is fixing this with blossom, which extends the content addressability to files as well.
> wouldn't their WoT start taking hits as people who got rugged unfollow the npub?
Yes, but that's not really a complete disincentive. Maybe they don't care about their wot and they're trolling, maybe their already famous and they get to be deceptive about what they've said publicly (c.f. SBF).
There are other reasons listed in nostr:nprofile1qydhwumn8ghj7un9d3shjtnhv4ehgetjde38gcewvdhk6tcprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hszymhwden5te0wahhgtn4w3ux7tn0dejj7qgkwaehxw309a3x2an09ehx7um5wgcjucm0d5hszxrhwden5te0v96zumn0wd68yam0wf4hxtnrdakj7qpq80cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyvuudm's article he linked above, one of which is that edits with history are quite complex, and raise the bar for developers to prototype new clients.
possibly yes. I had recommended this to nostr:nprofile1qqsf03c2gsmx5ef4c9zmxvlew04gdh7u94afnknp33qvv3c94kvwxgspr3mhxue69uhksmmyd33x7epwvdhhyctrd3jjuar0dak8xtcppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7208x3z in the past, where a community can run an 'agent' somewhere (a bot, with the community root key).
The reason that devs keep wanting to put logic directly into the relay is that nostr has no official spec for moderation of a relay and the nostr world is very opposed to talking about moderation or making it easy, so it is a green field.
As a relay operations team (could be a person, could be a team): The requirement of moderating a relay will not be going away.
And then, we have communities that *also need the exact same same types of moderation capability.
So, this is why I believe nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hszxmhwden5te0wfjkccte9emk2um5v4exucn5vvhxxmmd9uq3xamnwvaz7tmhda6zuat50phjummwv5hsx7c9z9 concluded in nip29 it would be simpler architecture wise, to combine these. Which does sacrifice the separation of the two and removes the ability of a community to use a relay that is multi-purpose. I'm unsure how 0x is managing to have multiple communities on their single relay, as my understanding is that the operator of that relay is also the admin for the community (the relay has the private key).
The basic structure of moderation I employ on relay.tools is for example: Relay is owned by a root key, this is 'super admin level' access to the relay settings. The next level of access is moderator level which can do anything except for change moderators and change relay profile/description. Then there are the relay user level which is the normal join/post/read. This could be refined but its what i started with.
Say I'm a relay operator and i want to contribute to a community by mirroring the content, if the group allows my relay into the list, ideally i should not need the community admin key for this..
Communities will likely want a similar tiered access scheme and it will *have to combine with the relay level access scheme at some point if the community wants to delete notes that they do not have a key for. This is all a lot to think about.
Enjoy π
It would not be hard to adapt keys to relays in a transport-agnostic way. Just add a new event kind 3xxxx which means "I am a relay" with tags declaring relay address under different transport (wss, onion, etc).
> The reason that devs keep wanting to put logic directly into the relay is that nostr has no official spec for moderation of a relay and the nostr world is very opposed to talking about moderation or making it easy, so it is a green field.
This misses the point for me. Relays largely already have everything they need to do moderation (nip 56, auth, and deleting stuff), which means the best form of moderation is going to be implicit on the protocol level, explicit on the human level.
But I agree that the needs of a community for policy enforcement neatly match those of any kind of relay.
It's an unsolved problem. Many relays have a webpage you can visit that explains their policies more thoroughly, for example nostr.wine. nostr.watch is also a useful tool, but right now it's a pretty trial-and-error process. It would be nice to improve.
Only the client, although you'll want to make sure your relays support the kinds of content you'll be sending to them
