-

@ ee9d979e:3fadff64
2025-04-20 16:31:15
You mean when you click a QR code from a browser on the Android phone where Amber is running? Amber intercepts nostrconnect:// URLs out of the box. If the client developer had the insight to wrap the image tag with a link you're golden. Try it with noStrudel for example: https://nostrudel.ninja/#/signin/nostr-connect
If the developer didn’t think of this, first open a PR against the client to add it 🤣 then try Circle to Search. It’s not great (because... Google), but it works.
-

@ ee9d979e:3fadff64
2025-04-19 17:13:05
Yes, but it isn't the best experience since basically every round-trip requires some sort of pop-up and callback. NIP-46 is the way to go, although I still find it annoying to have to cut and paste Bunker URLs between mobile and desktop.
To all client devs out there: please add two-way QR code support for remote signers! Please generate QR codes for nostrconnect URLs and let users read QR codes for bunker URLs. Very few clients do this right.
-

@ ee9d979e:3fadff64
2025-04-17 10:05:31
Security. It comes with WASM disabled and several other security conscious defaults. It does break a few websites, but this is the price one has to pay nowadays.
Also, for Firefox fans, it is an alternative committed to not slurping user data to train AI and other commercial purposes. The project README lists a lot of IronFox tweaks if you are interested in technical details.
-

@ ee9d979e:3fadff64
2025-04-17 09:18:44
GM nostr:nprofile1qqsxyngpaats5des47s7hmwrak2a2uje430n020satyu9gxj7y3t7jspz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3vamnwvaz7tmjv4kxz7fwdehhxarj9e3xzmnyqyw8wumn8ghj7mn0wd68ytfsxyh8jcttd95x7mnwv5hxxmmdkptdlk
-

@ ee9d979e:3fadff64
2025-04-17 08:53:39
Good Morning Nostr. 👨💻☕️💜
#GM #GoodMorning
-

@ ee9d979e:3fadff64
2025-04-17 08:46:15
Yes. It's her development account, although dev content often ends up into the main account and vice versa. This is why I don't even try to split my account, I really don't have the discipline for it 🤣
-

@ ee9d979e:3fadff64
2025-04-15 23:54:20
Yeah, in theory, Nostr is simple enough. But once you're running a client, there are plenty of valid reasons to have a backend handling WebSocket connections, proxying, caching resources, and so on.
I'm not bad-mouthing Umbrel by any means, but you might as well deploy all of this somewhere else so you don't have to worry about your BTC / lightning stuff. Docker (or better yet, Podman), Portainer (if you really need it), and open source VPNs will run pretty much anywhere. Find one of your old PCs or laptops, rent a cheap VPS, or buy some low-cost hardware, whatever works for you. Install your favourite Linux distro and off to the races you go.
I don't use Snort, but its repo has a pretty straightforward Dockerfile, so you're likely just a couple of doocker or podman commands away from running Snort locally anyway.
https://git.v0l.io/Kieran/snort
-

@ ee9d979e:3fadff64
2025-04-15 22:52:06
Well, at least this solves the problem! 🤣 Seriously now, hosting your own Nostr client isn't a bad idea. I honestly don't know the specifics of how noStrudel writes events to relays (this is a good question for nostr:nprofile1qqszv6q4uryjzr06xfxxew34wwc5hmjfmfpqn229d72gfegsdn2q3fgpzfmhxue69uhkummnw3e82efwvdhk6tcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszythwden5te0dehhxarj9emkjmn99urf278z). Assuming it's just opening a WebSocket directly from the browser, it should work fine. If it's doing anything more complex (i.e. some sort of backend, proxy, etc.), then the nostrudel.ninja/ version won't have access to your relay, while your local client will as it's on the same network. I know for sure that nostrudel.ninja can read from local relays, as shown in my screenshot above. I had a strong impression that the hosted version would also be able to write to local relays, but given your observation, I might be wrong.
-

@ ee9d979e:3fadff64
2025-04-15 17:04:14
I'm not defending the UK (it's usually a US lapdog and a testing ground for some of the worst that's coming). But if you're referring to Tyler Kay (https://www.standard.co.uk/news/crime/tyler-kay-inciting-attack-asylum-hotels-jailed-court-b1175740.html), he 100% got what he deserved. If I were on the jury, I’d absolutely have found him guilty too. Free speech doesn’t mean you get to be racist and incite riots that destroy property and endanger lives without facing consequences.
-

@ ee9d979e:3fadff64
2025-04-15 16:04:24
It should for sure. Unlike Citrine, Haven splits things, your own notes are sent to Outbox (root) and notes that you are tagged in are written to /inbox (I've posted a link to my own relay on GitHub, but mine is exposed to the internet unlike Citrine). I would say that step zero is to check if you can post a pone to your relay at all, e.g., use nak (https://github.com/fiatjaf/nak) or some other local client to post a note your relay. Then check if you can query it back and that the note shows up on noStrudel.
-

@ ee9d979e:3fadff64
2025-04-15 14:36:58
Before going any further, since you said it's not working on noStrudel either, I’d suggest checking your setup. noStrudel should definitely be showing notes from your relay if everything was setup correctly on your end.
Here's what I see when I navigate to:
https://nostrudel.ninja/#/r/ws%3A%2F%2Flocalhost:4869 and click on Notes on my mobile:
https://haven.accioly.social/55ed0426f834f5e15f7459dc9638e88c6d743f7721f085dccbd7dc8ae274e913.png
Haven should also be able to import notes from other relays (which you haven’t confirmed as working yet), regardless of the client. So this could be a misconfiguration in Haven, Docker, your VPN, your network, as well as the clients trying to connect to the relay from outside your network. There are a lot of moving parts here, and it’s tough to pin down the issue without checking each one individually from within your network.
Since you’re doing something a bit non-standard, I think you’ll need to take a more technical approach and really dig into it. Unfortunately, it’s very hard to troubleshoot these kinds of issues without logs or direct access to your setup. Would the nostriche who helped you set up Haven’s container be willing to jump on a call with you? They could check your settings, confirm whether Haven can import notes, whether noStrudel can write to it, and whether it displays notes when you connect directly to the relay’s Outbox URL (as well as notes you’re tagged in via the Inbox URL).
Once you've confirmed all of that is working, then I would start looking at other clients that may potentially introduce their own issues i.e., by proxying requests through a backend as I wrote in another note)
-

@ ee9d979e:3fadff64
2025-04-15 12:09:25
Thanks for all of your help Cody. Highly appreciated.
-

@ ee9d979e:3fadff64
2025-04-15 12:05:45
This was one 100% on me (or actually, cloudflare redirect rules). Fixed it with nostr:nprofile1qqsgzfdez8ksa9xmuvqg5zly3nl9e5xqkpvj8nllj9aw06ra4pqq3qcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszrnhwden5te0dehhxtnvdakz7qgswaehxw309ahx7um5wghx6mmd9uqdl3vp help. Many thanks for bringing this to my attention.
-

@ ee9d979e:3fadff64
2025-04-15 11:57:26
TIL that Cloudflare redirect rules don't play well with CORS. I've now implemented a worker with full blown CORS. Can you clear your cache and try again? (Sorry for the hassle)
-

@ ee9d979e:3fadff64
2025-04-15 09:39:36
Thanks, Cody. Yes, this is fair enough, given that NIP-57 doesn't mention HTTP redirects. However, Alby themselves are recommending this: https://guides.getalby.com/user-guide/alby-account-and-browser-extension/alby-account/use-your-lightning-address/own-domain#:~:text=For%20advanced%20users%2C%20we%20recommend%20setting%20up%20a%20redirect%20rather%20than%20hosting%20a%20copy%20of%20your%20lightning%20address%20data
I know I'm asking a lot, but would you mind changing this line:
https://github.com/CodyTseng/jumble/blob/1c3e54c895d4a952edbc0888cab549a63cd5cbdf/src/services/lightning.service.ts#L208
To:
const res = await fetch(lnurl, { redirect: 'follow' })
If it works, I can try to chase after other client devs! 🤣
-

@ ee9d979e:3fadff64
2025-04-15 08:55:00
Humm, good catch. Interestingly CORS testers are saying that the URL is reflecting the request domain (which I don't like myself, but I'm just forwarding headers from Coinos)
https://cors-test.codehappy.dev/?url=https%3A%2F%2Faccioly.social%2F.well-known%2Flnurlp%2Fanthony&origin=https%3A%2F%2Fjumble.social&method=get
Same as Coinos original URL:
https://cors-test.codehappy.dev/?url=https%3A%2F%2Fcoinos.io%2F.well-known%2Flnurlp%2Fanthony.accioly&origin=https%3A%2F%2Fjumble.social&method=get
Any thoughts on this? Is it really a CORS header problem or is is due to Jumble not following the redirect?
-

@ ee9d979e:3fadff64
2025-04-15 08:42:53
Tried to zap you back but getting an error myself :)
-

@ ee9d979e:3fadff64
2025-04-15 00:59:15
https://youtu.be/fxHWtw_GZIk (this never gets old).
-

@ ee9d979e:3fadff64
2025-04-15 00:57:22
Time to pack it in and leave the US maybe, Vitor? I mean, after eight years here, jumping through all the hoops and forking out a small fortune, I’ve earned the right to call myself a British citizen. I’ve paid enough in taxes and immigration fees to sustaim at least couple of racist layabouts on the dole for life.
Granted, the UK hasn't completely lost the plot like the US (yet), but I’ve got no qualms about heading back to 🇧🇷 or legging it somewhere else the moment this lot start mucking about with visa holders, permanent residents, or naturalised citizens.
-

@ ee9d979e:3fadff64
2025-04-15 00:09:40
I mean. If your node has outbound Internet connectivity. Haven has to be able to connect to the other relays.
-

@ ee9d979e:3fadff64
2025-04-15 00:07:46
Yes.
-

@ ee9d979e:3fadff64
2025-04-15 00:07:23
Yes. There are well behaved clients though. E.g., Amethys. Also, if you are doing this for fun / learning experience, you can even run a Nostr client yourself. E.g., I'm running a private instance of nosotros.app.
-

@ ee9d979e:3fadff64
2025-04-15 00:00:31
Thanks!
-

@ ee9d979e:3fadff64
2025-04-14 23:59:06
Hi folks. Can anyone zap me a small amount as a test? I'll zap you back (just testing if my domain is correctly redirecting my wallet to Coinos.io )
#zap #testr
-

@ ee9d979e:3fadff64
2025-04-14 23:52:00
GM fishcake. And GN for ke 0:51 AM here, lol.
-

@ ee9d979e:3fadff64
2025-04-14 23:45:38
Hey, not sure. It's Coinos under the hood—I'm just doing some well-known/lnurlp trickery to redirect to it. I managed to zap you from the same wallet though (try again, and if it still doesn’t work, feel free to zap anthony.accioly@coinos.io or anthony.accioly@walletofsatoshi.com).
As for your second question: out of the box, yes, you're absolutely correct. There are some very clever folks doing things like syncing Haven's backup folder to a public S3 bucket and redirecting or proxying Blossom's GET /{SHA256}. So, in theory, you can expose Blossom blobs to the internet without exposing Haven itself. Having said that we don't officially support this yet (hopefully coming soon).
-

@ ee9d979e:3fadff64
2025-04-14 23:22:33
Haven can still be useful behind a VPN if you intend to use it as a backup relay and media server (think Citrine on steroids), as mentioned above. One thing to note: client relay connectivity status can be a bit misleading in this case. For example, a client may perform a mix of local requests from your browser or native application, but it might also implement its own backend or use a proxy to connect to the relay. Meaning that some clients will try to connect to your relay over the Internet.
This means that, depending on the client and the operation, it may happily report that it can connect to your relay (based on client-side logic), but still fail to function properly.
Before Haven, I tried Citrine with a few clients, and while most of them would happily "connect" over HTTP to a Citrine running on localhost, in practice, quite a few clients would only write to an HTTPS-enabled relay accessible over the internet.
-

@ ee9d979e:3fadff64
2025-04-14 22:56:18
Hey Key, this looks nice, but honestly it goes a bit over my head. I haven't played with NIP-86 myself. But if you can provide a totally generic, plug-and-play implementation on top of Khatru, I think it would certainly be very useful to other devs.
I don't know how many Haven users would be doing things like banning pubkeys, blocking IPs, etc, so it would be more of a nice to have than anything. For bigger relays though... this could definitely make a lot of sense for nostr:nprofile1qqsw9n8heusyq0el9f99tveg7r0rhcu9tznatuekxt764m78ymqu36cpr3mhxue69uhhyetvv9ujucnfw33k76twwpshy6ewvdhk6tcpzdmhxue69uhhwmm59e6hg7r09ehkuef0qy2hwumn8ghj7un9d3shjtn4w3ux7tn0dejj7ne6u4e WoT relay, Team relay, etc.
-

@ ee9d979e:3fadff64
2025-04-14 22:38:32
Hey Galaxy. I replied to you on GitHub. Cheers.
-

@ ee9d979e:3fadff64
2025-04-14 08:54:34
Thanks hzrd. Any plans to add this to Nostrudel? Maybe a [Delete] link next to [Verify]. I guess that other clients will follow once this feature has been demonstrated.
Cheers,
-

@ ee9d979e:3fadff64
2025-04-13 19:55:41
Hey fiatjaf, is nak authenticating delete requests at the moment?
https://github.com/fiatjaf/nak/blob/master/blossom.go#L139-L169
I'm struggling a bit and maybe missing something obvious. Or maybe the problem is on my code on Haven. What would be the proper syntax for delete?
nak blossom --server haven.accioly.social delete acc8ea43d4e6b706f68b249144364f446854b7f63ba1927371831c05dcf0256c --sec ncrypt.... ?
-

@ ee9d979e:3fadff64
2025-04-13 17:57:46
He didn't say no when I mentioned it (well, he didn't say yes either, lol), so I'll try. If I can't build it in Khatru, I'll just use Haven. But it definitely makes sense to have it in Khatru, since a lot of relays will want to provide NIP-05 identities beyond just serving a static nostr.json.
As for blobstore, I guess not... This is at the Khatru Blossom server level. Unless you're using the same database for Blossom and your relay like we did in Haven.
Once my PR is in, you’ll be able to configure your relays to redirect GET /{SHA256} requests to public buckets or CDNs. Khatru will figure out the proper file extension for the redirect, so we don't break the content media type. I think the only thing blobstore would need to do to be compatible is to make sure it uploads files with the correct extension to S3-like services if you arent doing it already. Khatru will handle the rest.
This saves a lot of bandwidth compared to proxying the blobs. I'm planning to host my own media with either OCI or R2 (both compatible with the S3 / MinIO Go client). They both have generous free tiers.
Unfortunately, even with a pretty decent 1 Gbps link, running relays and Blossom locally has been quite taxing. Too many damn crawlers and bots around lately...
I still love what you did with blobstore, though. Since the Blossom options on Haven will basically be either saving to disk or using S3-like services with the MinIO Go client (which we're already using for backups), I may end up reusing your library if I can. Thanks for your work!
-

@ ee9d979e:3fadff64
2025-04-13 16:54:25
No, but this is coming as well! I'll tag you once I finally submit my PR to Khatru. Hopefully it will be useful to your relays as well (Khatru users unite!). I'm adding proper support for Blossom media redirects so we can use blobstores and CDNs to serve Blossom content directly. I'm also adding full NIP-05 functionality (including relay lists, queries by name, etc.
For now, I mean this: https://github.com/fiatjaf/khatru/issues/36
Unfortunately, this will be a breaking change for Haven and will require us to cut a v2 soon, thanks to Go's lovely enforcement of semantic versioning. On the bright side, it's the perfect opportunity to clean up the codebase a bit, get rid of old libraries, and so on.
-

@ ee9d979e:3fadff64
2025-04-13 16:31:35
Found hzrd blossom sdk. Looks simple enough. https://github.com/hzrd149/blossom-client-sdk
-

@ ee9d979e:3fadff64
2025-04-13 16:26:29
Found this link on Awesome Nostr, but it is not working. https://git.fiatjaf.com/blossom nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhkcmmrdd3x77pwve5kzar2v9nzucm0d5hszxnhwden5te0wpuhyctdd9jzuenfv96x5ctx9e3k7mf0qydhwumn8ghj7un9d3shjtnhv4ehgetjde38gcewvdhk6tc4rdlnm, have you moved the repo somewhere else or is it dead?
-

@ ee9d979e:3fadff64
2025-04-13 14:16:11
I guess the hard part is the auth stuff. If there's a library that can do this for me I can take care of the rest.
-

@ ee9d979e:3fadff64
2025-04-13 14:09:10
nostr:nprofile1qqszv6q4uryjzr06xfxxew34wwc5hmjfmfpqn229d72gfegsdn2q3fgpzfmhxue69uhkummnw3e82efwvdhk6tcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszythwden5te0dehhxarj9emkjmn99urf278z, is there any blossom client out there that already supports deleting media? If not, is there an easy SDK / library that I can use to test this?
#asknostr #blossom
-

@ ee9d979e:3fadff64
2025-04-13 13:33:27
GM fiatjaf. This is what I referred to as "fiatjaf method 2" above. The main shortcoming is the lack of edit history, which can be addressed with a bit of added complexity.
For example, type 31000 could tag a linear history of immutable "edit version" events. Clients would always publish both a new 31000 event and an immutable edit version event. When publishing an edit, clients should mutate the bodu contents of the 31000 event to reflect the contents of the latest version and add a new tag pointing to the latest edit version.
This approach is generic enough to accommodate everyone and is reasonably easy to implement (simpler to read, at the cost of slightly more complex writes).
1. Want the latest version? Fetch kind 31000 and simply display the body.
2. Want purely immutability? Use kind 1.
3. Want the full history, Amethyst style? Check the tags of the kind 31000 event.
The write trade-off here is that clients supporting kind 31000 would need to publish two events: one for the regular immutable edit version, and one updated kind 31000 event. They also need to be aware of potential race conditions. That is, they should replace version kind 31000 n with version n+1, if n+1 correctly tags n. This can also be enforced at the relay level. However, clients would need to retry in a CAS-style manner to avoid "corrupting" the index.
What do you think? Also tagging nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqpzamhxue69uhhv6t5daezumn0wd68yvfwvdhk6tcpz9mhxue69uhkummnw3ezuamfdejj7qgwwaehxw309ahx7uewd3hkctcscpyug
-

@ ee9d979e:3fadff64
2025-04-13 04:32:29
Test with log level info
-

@ ee9d979e:3fadff64
2025-04-13 04:26:05
Test with debug logs enabled
-

@ ee9d979e:3fadff64
2025-04-13 03:56:30
Yes. Importing only once! Many thanks Girino!
-

@ ee9d979e:3fadff64
2025-04-13 03:41:28
Is this working?
-

@ ee9d979e:3fadff64
2025-04-12 17:02:58
nostr:nprofile1qqsw9n8heusyq0el9f99tveg7r0rhcu9tznatuekxt764m78ymqu36cpr3mhxue69uhhyetvv9ujucnfw33k76twwpshy6ewvdhk6tcpzdmhxue69uhhwmm59e6hg7r09ehkuef0qy2hwumn8ghj7un9d3shjtn4w3ux7tn0dejj7ne6u4e, nostr:nprofile1qqsrl7kr5my9n6423nwaktrsq2nwzzenal4e95p9k9826mu294jkv4cpr3mhxue69uhksctkv4hzuemfwf5kumewdaexwtmrdpshgtcpremhxue69uhksctkv4hzuemfwf5kumewdaexwtm0w46xymmc9uq37amnwvaz7tmgv9mx2m3wva5hy6twduhx7un89ac8y6tkv96x2tcffxvzt, can one of you send me a GitWrapped DM as well? I need to reply to it while you have Haven relay configured as a Chat relay to text something.
-

@ ee9d979e:3fadff64
2025-04-12 15:09:34
Testing Haven + Blossom in Separate DB:
https://haven.accioly.social/67d1d72da2088a948c583b432210e8d38d76d6bd704f835426f5c3ecc30ca591.jpg
https://haven.accioly.social/ecf421b6bf4330d887328cd4dccd01d3e69a9b218280d3bec30a1447958b1725.mp4
-

@ ee9d979e:3fadff64
2025-04-12 12:16:34
My argument wasn't about saving jobs in an unprofitable industry (I know that's the BBC's angle in the article I linked, but I wasn't trying to mimic it). I do agree with you that, in most cases, private companies do a better job than public ones, at least when it comes to non-vital resources that can be driven purely by profit. But this isn't about profitability. Britain needs pure steel. It needs pure steel today, and it will need pure steel tomorrow, even if producing it here isn’t profitable at the moment. That’s largely due to the inability to export and the small scale of the UK's steel industry. The market has been flooded with cheap steel, and countries are becoming increasingly protectionist, applying large tariffs to try to save their own industries.
My argument is about sovereignty. I've lived in countries that can’t refine pure steel, and I know what happens when the market turns and you simply can’t buy it anywhere. And trust me, the market does turn. You don't want to live in Britain without access to pure steel during the next economic boom. Or worse, in wartime or a heavily protectionist global reality. We need to have some pure steel of our own, and unfortunately, unlike gold, a pure steel reserve isn’t practical.
There are plenty of terrible, horribly managed, unprofitable companies that are still providing vital services to the country. A prime example: Thames Water. We still need water, regardless of whether Thames Water is profitable. In a situation where no local or foreign company is willing to take on a strategic resource, I’m 100% fine with renationalisation. The alternative is either bailing out a failing company or not having access to the vital resource at all when needed.
Don’t worry. When steel prices skyrocket again (and they will, that’s the nature of commodities and vital resources), I’m sure the British government will find a way to privatise it again. I’m completely fine with that too. My argument isn’t in favour of state-owned companies in general. I’m just saying that I'm okay with paying what is essentially an insurance premium to reduce the risk around vital resources. Pure steel, like water, certainly fits the bill.
Also, unlike most of what’s in the British Museum, the UK isn’t really stealing this plant. On the contrary... we’ll be paying through our noses for it. 🤣
-

@ ee9d979e:3fadff64
2025-04-12 10:44:05
Come on nostr:nprofile1qqswswmx4rkj6d7q05dtafhpkqq2z42fc62s37jvtp642m2jkpfxc2cpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3wamnwvaz7tmwdae8g6tn9ehx7um5wgcjucm0d5q3wamnwvaz7tmxd9k8getj9ehx7um5wgh8w6twv5nrafuh, let’s not distort the facts or turn Nostr into X, please. The UK government isn’t "stealing" the Scunthorpe plant. In fact, they tried very hard to find another group to buy it. The UK government loves privatisation even more than the US government.
The fact is, the Chinese group that was running it was going to shut the steel plant down, and nobody else wants to run a steel plant in the UK. This is actually the last steel plant we have in Britain, and steel may become a rare commodity very quickly if the world keeps heading in the direction it’s currently going.
I know this contradicts the libertarian narrative, but we need to be intellectually honest about the facts here. This is not a hostile renationalisation. It’s a rescue mission, given that the Chinese group running it was simply going to declare bankruptcy and move on, and the "free market" isn’t interested in keeping the plant running at all since there’s not a lot of profit to be made at the moment and investment groups can't care less about Britain sovereignty.
As one of the people paying upwards of 50% in marginal tax rates, while I’m all for small government, I do approve of this. I really don’t want Britain to end up importing steel at 10x markups just to keep its railways, factories, and infrastructure running if the worst comes to pass. It’s a strategic investment.
https://www.bbc.co.uk/news/articles/c5y66y40kgpo
-

@ ee9d979e:3fadff64
2025-04-11 22:49:27
Good night Nostr. I was trying to code something but my brain is fried. Soms good stuff is hopefully coming soon.
-

@ ee9d979e:3fadff64
2025-04-10 23:46:17
For writing? Likekly obsidian with Nostr Plugin. Unfortunately Obsidian isn't open source.
-

@ ee9d979e:3fadff64
2025-04-10 23:31:36
In 27 words: Great protocol. Promising tech. Still early days. Fun. Adventurous pioneers welcome. Please overlook the content (or lack thereof) and moderate your feed as you would your home.
-

@ ee9d979e:3fadff64
2025-04-10 17:27:48
Kotlin is ❤️. I'm sure you'll learn it quickly. It's not quite as straightforward as Go, but it's powerful enough and not as hard to write as something like Rust.
My take on it: be patient with the ecosystem and build tools. Kotlin is worth the grind (I did zero mobile development at work, using Kotlin for backend development instead).
If you want, I can try to get in touch with folks at JetBrains to get you an Open Source license for their tools (Haven is a good candidate... I've seen smaller projects accepted. Although we may need a basic home page for it first). IntelliJ Ultimate is 100% worth it for Kotlin. Goland is also great for Go.
Hint: JetBrains sponsors Advent of Code. For folks who are more hands-on, going through Kotlin Idioms (https://kotlinlang.org/docs/idioms.html ) + Koans (https://play.kotlinlang.org/koans/overview ) and then jumping into Advent of Code using one of the many templates and tools available online is a great way to go. You don’t need to grind DS&A to solve the first few exercises. It’s also worth checking out how folks who are used to idiomatic Kotlin solve AoC problems: https://youtube.com/playlist?list=PLlFc5cFwUnmwHaD3-qeoLHnho_PY2g9JXI
I've also managed to convince more than one person to write their very first unit tests using JUnit + Kotest assertions (https://kotest.io/ ). Some have even been successfully converted into fully XP/TDD practitioners with time (trust me, it’s easier to orange-pill someone than to turn someone allergic to automated tests into a TDD enthusiast 🤣).
I’d say ignore Gradle, Android, Composer, etc., until you’re familiar with the language (and bullish enough about it to deal with the shortcomings of the Java/Android/iOS/WASM ecosystems). Other than for Android/mobile development, do let me know if I can help you in any way.
-

@ ee9d979e:3fadff64
2025-04-10 12:17:42
GM Maria ☕️
-

@ ee9d979e:3fadff64
2025-04-10 12:13:31
GM folks! Hope you're all doing well.
Resharing this here in case anyone is interested in public speaking, especially if you're in tech and aiming for major conferences (Yes, I know, it isn't a podcast about Bitcoin hosted on Nostr. Sorry to disappoint you 🤣).
We are so back! After a brief one month break, the next 𝗔𝘀𝗽𝗶𝗿𝗶𝗻𝗴 𝗦𝗽𝗲𝗮𝗸𝗲𝗿𝘀 𝗟𝗶𝗴𝗵𝘁𝗻𝗶𝗻𝗴 𝗧𝗮𝗹𝗸𝘀 𝗲𝘃𝗲𝗻𝘁 is lined up for 𝟮𝟵 𝗔𝗽𝗿𝗶𝗹 𝟭𝟮:𝟬𝟬𝗽𝗺 𝗕𝗦𝗧. As always it's online and free to join: 🔗 https://www.eventbrite.co.uk/e/aspiring-speakers-lightning-talks-tickets-1309664946109
#PublicSpeaking #TechCommunity #LightningTalks #AspiringSpeakers #DeveloperCommunity #CareerGrowth #Networking #TechEvents #Online #Free #OpenToEverybody
-
Original on Mastodon: @anthony@accioly.social 🔗 https://accioly.social/users/anthony/statuses/114313515172065149
-

@ ee9d979e:3fadff64
2025-04-09 19:22:50
Thanks!
-

@ ee9d979e:3fadff64
2025-04-09 17:56:45
#asknostr
nostr:nevent1qqs2nrcld8utvwsrmh77cdv77ltlx5kzcvees96m5cg3xltqfekyzuqpz3mhxw309akx7cmpd35x7um58g6rsd3e9upzpm5aj708u9qc48m5w2a0stwfvzp2p4p9rdmmevts5mkweyl6mlmyqvzqqqqqqyr5hrsu
-

@ ee9d979e:3fadff64
2025-04-09 17:51:00
Did someone bridge Truth Social to Nostr, or is this just a bot specifically reposting Trump posts to Nostr?
-

@ ee9d979e:3fadff64
2025-04-04 13:31:00
This isn’t particularly surprising given that Martin Fowler is, well, Martin Fowler. It’s good to see that Mastodon remains more popular than Bluesky for tech content. I dream of Nostr growing to the point where it at least appears in one of these graphs and gains traction with more techies outside the Bitcoin bubble.
https://martinfowler.com/articles/2025-social-traffic.html
Original post on Mastodon: https://toot.thoughtworks.com/@mfowler/114274350261087356
#SocialMedia #Engagement #Tech #Nostr #Bluesky #Mastodon #LinkedIn #X #growNostr
-

@ ee9d979e:3fadff64
2025-04-04 12:35:25
We’ve all been there, my friend. But I’m glad you’re putting yourself out there. Dating is messy business, but (and fully aware that this goes against the "religion" of many in the "sigma manosphere" / MGTOW circles here on Nostr), it’s worth it.
-

@ ee9d979e:3fadff64
2025-04-04 11:58:58
GM Beave. I'm very happy for you. Keep working on these overpowered charisma stats and who knows, Ms. Doe may eventually take notice 🤣. Enjoy your new work schedule and good luck with the trailer!
-

@ ee9d979e:3fadff64
2025-04-04 11:52:21
GM folks, happy Friday.
If you’ve been job hunting for a while and feel a stomachache every time you open LinkedIn, deal with recruiters, or think about the tech industry in general, first, you’re not alone. Second, try to understand the incentives driving all this madness and focus on controlling your actions. At the end of the day, that’s the only thing we really have control over, and it can help you navigate this mess as best as possible given the circumstances.
I’m not a huge fan of the author, but this article is worth a read (archive link because... Medium):
http://archive.today/xCIMa
#JobSearch #TechIndustry #Recruiters #CareerAdvice #FridayThoughts #LinkedIn #TechCareers #JobHunting #ControlWhatYouCan
-

@ ee9d979e:3fadff64
2025-04-04 11:36:10
GM negr0! Happy Friday
-

@ ee9d979e:3fadff64
2025-04-04 11:35:22
GM Alezkar 🤓🔥☕️
-

@ ee9d979e:3fadff64
2025-04-04 11:32:40
Thanks for your service Fishcake. Moderating bigger Blossom and NIP-96 instances is already a lot of work. Doing that plus dealing with notes from real people who are willing to attack your service (and you personally) every time moderation doesn’t go their way is almost impossible. I’ve seen so many instance mods put in serious effort to keep Mastodon instances alive, only to eventually give up because of constant attacks, doxxing, smear campaigns, threats to their families, and all sorts of nonsense.
I have no illusion that some owner / admin moderation is needed at both the relay and media server levels, but when Nostr grows past the "manageable" 20K daily active users and heads toward 200K or even 2M+ users, decentralised moderation (beyond just reports) is going to need some real attention.
I think we need something like Stack Exchange, where a certain number of reports trigger a media/post review. That review could then be handled either by consensus among a few "reputable" users or by a single "highly reputable" user (where reputation is defined by a mix of relay/media server trust and npub metrics). Maybe even add some perks for voluntary moderation to sweteen the deal, i.e., some sats, bigger upload limits, Nostr badges, etc. Gamifying moderation has its own issues, but at scale, it tends to work pretty well.
-

@ ee9d979e:3fadff64
2025-04-02 21:54:58
We need a new Carl Sagan. We are long overdue a 2nd edition of The Demon-Haunted World ( https://en.wikipedia.org/wiki/The_Demon-Haunted_World )
-

@ ee9d979e:3fadff64
2025-04-02 21:52:33
Yeahp, a "regular" Leica M (Typ 240) is already 💰💰. Nevermind all the custom branding (custom edition?) + custom lens. Let me guess, £5k? Maybe even more?
-

@ ee9d979e:3fadff64
2025-04-02 20:40:17
You can run 𝚐𝚒𝚝 𝚌𝚘𝚖𝚖𝚒𝚝 -𝚜 and join the fun side of the Force 🤓😎. Next, try a slightly more complex step: sign a commit or release tag with PGP :).
-

@ ee9d979e:3fadff64
2025-04-02 16:49:20
Nostr Wonderland - https://video.nostr.build/747c31d19475877d0eb9693e0bbae77f08f67a633cf2a188ce34ea95728fea22.mp4
-

@ ee9d979e:3fadff64
2025-04-02 11:54:48
GM negr0. I hope you have a great day.
-

@ ee9d979e:3fadff64
2025-04-02 11:40:21
I’m pretty sure you’re pulling my leg about the April Fool’s joke (come on, they even added a Rickrolling link to the repo). Still, as LinkedIn has often proved to me, there’s always a percentage of people who take everything at face value.
So, for anyone thinking the Scala compiler is actually being rewritten in Go:
https://www.linkedin.com/posts/scala-space_we-are-not-rewriting-scala-3-to-go-duh-activity-7313139847701966849-ZLmD
-

@ ee9d979e:3fadff64
2025-04-02 10:57:18
I know that posting on Mastodon is sacrilege in the minds of many "𝗡𝗼𝘀𝘁𝗿 𝗼𝗻𝗹𝘆!!!" folks (I accept my excommunication from their very prestigious club), but I think this is just as useful for Nostriches about to turn on their TVs or use social media today.
So, here’s a second GM message today adapted from the original.
Good morning, Nostr (or whatever time it is when you receive this message).
Here’s a "grounding" and reality-affirmation message for whenever you're about to watch the news or scroll through proprietary social media:
𝗧𝗼𝗱𝗮𝘆 𝗶𝘀 𝗻𝗼 𝗹𝗼𝗻𝗴𝗲𝗿 𝘁𝗵𝗲 𝟭𝘀𝘁 𝗼𝗳 𝗔𝗽𝗿𝗶𝗹
𝗧𝗼𝗱𝗮𝘆 𝗶𝘀 𝗻𝗼 𝗹𝗼𝗻𝗴𝗲𝗿 𝘁𝗵𝗲 𝟭𝘀𝘁 𝗼𝗳 𝗔𝗽𝗿𝗶𝗹
𝗧𝗵𝗶𝘀 𝗶𝘀 𝗻𝗼𝘁 𝗧𝗵𝗲 𝗢𝗻𝗶𝗼𝗻
𝗧𝗼𝗱𝗮𝘆 𝗶𝘀 𝗻𝗼 𝗹𝗼𝗻𝗴𝗲𝗿 𝘁𝗵𝗲 𝟭𝘀𝘁 𝗼𝗳 𝗔𝗽𝗿𝗶𝗹
𝗡𝗼, 𝗜'𝗺 𝗻𝗼𝘁 𝗴𝗼𝗶𝗻𝗴 𝗰𝗿𝗮𝘇𝘆
𝗧𝗼𝗱𝗮𝘆 𝗶𝘀 𝗻𝗼 𝗹𝗼𝗻𝗴𝗲𝗿 𝘁𝗵𝗲 𝟭𝘀𝘁 𝗼𝗳 𝗔𝗽𝗿𝗶𝗹
Yes, I know I sound more like a new-age guru than a techie. It is what it is.
-
Original: @anthony@accioly.social 🔗 https://accioly.social/users/anthony/statuses/114267949221993234
-

@ ee9d979e:3fadff64
2025-04-02 10:11:13
Lol, no AI help coming up with the list above. This is not LinkedIn 🤣. To be fair, I already sounded like ChatGPT way before it was invented (minus the em dashes) hehehe.
And I disagree. I find knowing where a hurricane is, getting a heads up if a tsunami or wildfire is likely going to reach my house, or even knowing how the latest oil spill is spreading all pretty useful information. Also, I don’t want to send humanity 100+ years back in fields like astronomy.
Satellites are just tools. If humans choose a model of surveillance and centralised control, that’s on us, not the satellites. It’s hard to make decentralised alternatives work given current prices and incentives, but fundamentally there’s nothing stopping a Nostr-equivalent for satellites.
-

@ ee9d979e:3fadff64
2025-04-02 09:47:28
Elon sad noises... Ok, I'll bite the shitposting trap 🤣
Satellites are vital for scientific research in certain fields, as well as for defense, disaster management, space exploration, navigation, and even some valid cases of communication. We certainly don’t need a satellite constellation as massive as Starlink, companies are using satellite-based internet as a crutch instead of developing proper infrastructure.
That said, we do need alternatives to GPS that aren’t controlled by a single country. So... maybe drastically reduce the US and Musk’s stake in the game? Getting rid of satellites entirely would set back human development. Getting rid of some of Musk’s satellites might actually be a good idea, considering the amount of space junk they’re creating for very little value.
-

@ ee9d979e:3fadff64
2025-04-02 09:32:58
GM, Nostr! What are we building today?
#gm #GoodMorning #growNostr
-

@ ee9d979e:3fadff64
2025-04-01 19:10:23
Look at the date of the post 🤣
-

@ ee9d979e:3fadff64
2025-04-01 16:35:15
Good evening folks. Today is my favourite day of the year 🤣
https://haven.accioly.social/4dacea0f39f88b0e49ff0d6b0605e425bf0dc4d8f9cc72ac459cdcc5d04cbf59.png
Source: https://www.linkedin.com/posts/scala-space_github-virtuslabgo-the-go-programming-activity-7312792169340190720-ir8q
Repo: https://github.com/VirtusLab/go
#Scala #Go #devstr
-

@ ee9d979e:3fadff64
2025-03-31 17:32:42
The worst part is... you actually can. You can type a URL directly into Google’s search bar, and it will navigate to it "directly".
So, if you’re happy to proxy your entire browsing experience through Google, not use uBlock Origin, and generally be a satisfied Worker-Consumer, delegating trust and control to our Big Tech overlords, then there’s a very convenient, very comfy box, I mean, Google Search Webwiew, waiting for you...
I think Google has found a way around the incoming monopoly-breaking measures. Who needs Chrome when, for their user base, Google is the Internet? And to be fair, it’s not just Google... Meta, Amazon, and [insert your favourite Big Tech company here] are all engaging in similar practices to greater or lesser degrees.
Big Tech in a nutshell: https://youtu.be/evXfzh43ym4
-

@ ee9d979e:3fadff64
2025-03-31 15:05:05
No need to apologise at all. On my side? I'm using IronFox and a self-hosted SearXNG engine. I have a GrapheneOS-flashed phone, but I have to admit that I'm not daily driving it anymore.
On my wife's side? She is still pretty much invested in Google, Instagram, WhatsApp, etc., no matter what I say. I did manage to get her to use Signal to communicate with me (and basically only me, she uses WhatsApp to text everyone else). To give her credit, she has at least tightened up her Instagram privacy settings a bit, though that doesn’t help much.
Getting the people we love to try healthier tech and protect themselves is... a continuous, ongoing effort.
-

@ ee9d979e:3fadff64
2025-03-31 14:47:50
Correct. I mean, the webview is running in Chrome, at least on my phone, but it is indeed a webview.
https://haven.accioly.social/0000db864da5404173d70bad0aa17b989c229c7874606fab859cd20309d0945d.png
-

@ ee9d979e:3fadff64
2025-03-31 13:41:13
My wife uses the Google search bar on Android for everything. Of course, web pages open in Chrome, but you won’t find a browser in her dock or on her home screen. If you ask her what browser she’s using, she’ll say, “Google”. Which is… correct. Concerningly correct.
-

@ ee9d979e:3fadff64
2025-03-31 13:26:26
Not really 🤣. I think that YOU have a strong case to make it obsolete. Again, I respect your "dark patterns/totalitarianism" position, but it's not mine at all. All tools, including public follow lists, can be used for good or for evil. I think that public following, despite its downsides, is a fundamental way to drive discoverability in decentralised social media. I want to fix follow lists, not get rid of them.
That said, I will defend everyone's right to use encrypted kind 30000 sets, special relays, algorithms, and any number of other tools, including those I'm not particularly keen on (I have my own views on bad incentives). I'm also more than happy to discuss and explain my views to others, as long as they don't try to impose theirs by force (e.g., "let's deprecate follow lists by force now" or "let's impose algorithms," etc.).
To be even more candid: I actually like the fact that everything on Nostr is supposed to be a signed attestation. This includes making your follow list public (as you are doing right now by following the projects and devs working with you). Benefiting someone or some project with social media visibility through Nostr network effects should be intentional. Not following anyone publicly is also an intentional attestation of your beliefs. It has its pros and cons, as I pointed out in my first reply.
I don’t need to agree with you to interact or even collaborate on things we both believe in. Heck, there are plenty of points where I strongly disagree with fiatjaf and utxo, yet here I am contributing code to Haven, Khatru, etc. I may change my mind about some things, they may change theirs about other things, or none of us may change our minds at all, and that's absolutely fine. In my books: being opinionated is good; public discussions are good, cult-like assimilation and closed-doors decision imposed top down are bad.
-

@ ee9d979e:3fadff64
2025-03-31 11:38:23
I'm not op, but fiatjaf has posted this in one of the comments in this chain.
nostr:nevent1qqsqqqqutt9dc0ranxysatcpeufrm76vm7xjt2sfmgkurwjv87xe54spz9mhxue69uhkummnw3ezuamfdejj7q3q80cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsxpqqqqqqzprnzep
-

@ ee9d979e:3fadff64
2025-03-31 11:35:13
All your criticisms of WoT (and Nostr’s ever-disappearing follow lists) are valid. And yes, plenty of people follow bots. While people like to take a piss on PGP UX (which, again, is mostly valid criticism), PGP's bad UX and its appeal to security/privacy-oriented types make PGP WoT networks much tighter. Unfortunately, this also works against Metcalfe’s Law... I do understand people who just want to connect and follow lots of other nostriches. They are doing important work as well. So, as every difficult problem in life, we need to find some balance between the two ways of thinking.
I complement my WoT relays with TheForest1, both so that folks outside my WoT can reach out to me and as a fallback during attacks, outages, etc. Charging a few sats and effectively moderating content is certainly a valid approach. Meaning that I’m not a WoT zealot, nor am I against other ways of doing things (except for moderation by blacklisting NIP-05 domains, which is something that really broke Mastodon and, in the long run, introduces fragmentation and fragility).
However, I still believe in and see a lot of value in WoT. For example, nowadays I "work around" this problem by unfollowing folks who follow bots when those bots make it into my WoT. But yes, I agree that this is not ideal.
My idea here, and this is just a sketch of a sketch of an idea, is to introduce something akin to PGP ownertrust levels: https://www.gnupg.org/gph/en/manual/x334.html
This way, I can give full trust to folks who understand the WoT aspect of things and are willing to maintain a clean follow list. I'll likely assign unknown or marginal trust by default for other people (e.g., we could have a policy where if someone is followed by 3, 5 or whatever number of my followers, they get write access to my relays - akin to what Haven and utxo other WoT relays are currently doing), and, of course, I csn assign "none" to people I like enough not to unfollow but who have demonstrated a tendency to follow bots, impersonators, etc.
Given the complexity of managing this sort of trust score, I don’t think a lot of folks would be willing to use this. But it’s something feasible to implement that would solve my own problems with WoT without, you know, downloading everyone’s timeline, performing sentiment analysis, and using other big-tech algorithmic tricks.
As for the disappearing follow lists problem... This is one of the harder "nostr clients are misbehaving" problems that smarter folks than me will hopefully fix. To be fair it has been several months since I last had to restore my followers list, so, in a way, the problem has been getting better. But yes, it is an annoying problem that may drive nostriches away from the network altogether.
-

@ ee9d979e:3fadff64
2025-03-31 10:44:59
Sounds like a great application for IPFS! To be fair, Blossom blobs are hash based, and nostr:nprofile1qqszv6q4uryjzr06xfxxew34wwc5hmjfmfpqn229d72gfegsdn2q3fgpr3mhxue69uhhxct5v4kxc6t5v5hxs7njvscngwfwvdhk6tcpzfmhxue69uhkummnw3e82efwvdhk6tcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsk7wj75 has also been asking around about "Negentropy." On top of that, if clients follow BUD-03 as intended, they should be able to recover the media from any of the servers in a user list: https://github.com/hzrd149/blossom/blob/master/buds/03.md
However, your idea of leveraging IPFS sounds very promising. The client wouldn’t need to implement fallback logic or fetch the media elsewhere, users wouldn’t have to carefully manage redundancy by mirroring blobs and managing multiple blossom servers, and a simple "just download and seed my stuff" approach is certainly a great way to do things.
I’d definitely like to try what you’re building (or planning to build) once it’s out there. And if it can be made Blossom-compatible, that would be even better. I know that despite both systems using SHA-256 hashes by default, they aren’t exactly compatible OOH. IPFS uses CID versioning, supports multiple ways of encoding hashes and even multiple hash algorithms. But given that IPFS has some flexibility built-in and Blossom is an emerging standard, I think there are ways to accommodate this.
-

@ ee9d979e:3fadff64
2025-03-30 22:16:42
No, you won’t lose your account or profile. On Nostr, your account is a key pair: your npub (which is public, in your case, nostr:nprofile1qqsrtgjmf67x8kxj3vp03am4afuryx6l6znft0pa9fc8zszzrek0hgs4lgquv) and your nsec (which should be known only to you, think of it as a password of sorts).
Your Lightning address is completely unrelated to your Nostr identity. You can create one on WoS, Coinos, etc., and associate it with your account.
You don’t need to pay for Primal, and you don’t need to pay for Alby Hub’s cloud account.
In fact, I’d even argue that, at least in the beginning, you shouldn’t pay for anything. Only pay for a service when, and if, it starts adding value to you. For your first experiments zapping on Nostr, a free wallet that provides a Lightning address (so others can zap you and you can zap them back) is more than enough.
-

@ ee9d979e:3fadff64
2025-03-30 20:27:16
I don't use Primal, but does it need to be a Primal wallet? Wallet of Satoshi, coinos, Minibits, etc are all "free" (as in, you pay nothing to signup and get a ligthing address to use on Nostr).
-

@ ee9d979e:3fadff64
2025-03-30 20:19:19
I don’t disagree in principle, but in practice… kind-10002 as it is now isn’t sufficient. This is a chicken-and-egg problem: I need to connect to an unknown relay to fetch Mike Dilget’s kind-10002 event in order to figure out which relay I need to connect to in order to find Mike Dilget’s notes. It’s a strange way of bootstrapping things unless we accept relay centralisation or widespread blasting / Negentropy. IMO, the first is undesirable, and the second is wonky, it introduces eventual consistency at best and indeterminism at worst.
This isn’t a criticism of the Outbox model by the way. It’s definitely the way forward, but I think we need an efficient, hopefully deterministic, single-call way of doing this. And this has to be done without relying on Damus, nos.lol, Snort or whatever other giant relays to hold every single kind-10002 (or equivalent) in existence.
On a more fundamental level, I think the "one true way of doing things" ship sailed a long, long time ago. Deprecating a NIP won’t help much either (e.g., NIP-04 vs. NIP-17 even with harassment bots and some popular relays like Haven dropping kind 4 by default, most clients aren’t there yet).
In a way, while this is the opposite of what I’d push for as an architect, I’m happy for Nostr to be the hacky, pragmatic "PHP of Protocols." Every programming language feature ever invented eventually finds its way to PHP, and we all know how hacky and clumsy parts of PHP’s standard library are. PHP, like C++, gives you at least 10 ways of doing anything. But unlike C++, a first year CS undergraduate can easily hack something functional with it.
And that’s totally fine, considering what Nostr aims to be. PHP won the web race, while my favourite, "well-designed" programming languages are all competing in niche spaces. This doesn’t mean your call to clean up Nostr is wrong, it’s just that… good luck herding cats into agreeing on and implementing one true way of doing things.
However, just to indulge in one true way thinking: if you put a gun to my head and told me to choose, while I’d personally pick DHT, in terms of driving Outbox model adoption across all major clients before 2030, I’d go with the "well-known URI on steroids" approach. Maybe with additional NIP-05 provisions to standarise identities behind onion services. Perhaps also with a dead-simple, optional PUT endpoint to update relay information trivially from clients. To me, kind-10002 should be part of nostr.json, i.e., it’s connection bootstrapping information and, as so, should be trivially obtainable before I even connect to any Nostr relays.
-

@ ee9d979e:3fadff64
2025-03-30 17:46:29
I get where you’re coming from. I’ve tested BEP-39 in real use cases, and I was impressed by it. From keeping a folder full of Markdown files in symc to ensuring I always download the latest episode of my legally licensed, totally fine-to-download favourite show, things just show up automatically in my torrent client without hassle. The update URL just points to the latest version of a torrent file and from there things just work.
Having said that, update cadence could be parameterised as well. Think njump. It’s smart enough to fetch my notes individually, but it doesn’t need a real-time view of my latest notes. So both the master "relay/tracker" and clients could pace themselves according to their own needs.
I really like your idea of storing a copy of someone's kind-10002 events on DHT! Probably also kind-10050 and maybe other discoverability-related notes. That’s an awesome idea.
On a similar front, despite my dislike for anything that relies on DNS, NIP-05 nostr.json could also hold a copy of all this. Kind of like what you did with the relays array, but on steroids. In other words, NIP-05 identity servers would function similarly to WKD for GPG. If you know someone’s nip05 identifier, you can retrieve all the info you need from there, no need for a second pass on a relay.
-

@ ee9d979e:3fadff64
2025-03-30 16:57:15
We all do what we gotta do and act according to our beliefs. I don’t use Meta products either, but I don’t think following lists are what’s broken with Facebook, Instagram, etc.
As for other ways to figure out who you trust for WoT, have you even tried it? Devs are more than welcome to contribute to Haven or any other WoT-capable relay, but I really wonder what their attack plan would be. There’s too much noise in Nostr lists and sets to extract a good signal. Plus, many clients encrypt list/set entries (as intended).
Doing it any other way (e.g., scanning all of your notes to infer your levels of trust in others) just puts an unnecessary burden on both my relay and yours for a very niche use case that could easily be exploited. For example, what if I baited you into rage replying to me 30 times? Am I now trustworthy? And then what’s next? ML sentiment analysis to determine if our interactions are worth "trustworthy" points?
All of this to accommodate a few people that aren’t willing to follow others... On a decentralised social media protocol with primitives for following others. Sounds like a not worth the effort / never going to be implemented kind of thing.
IMO, publicly following someone is a statement of trust, like signing someone else’s PGP key. I’m happy enough to interact with people who aren’t willing to sign my PGP key, but I’m personally not willing to sign theirs. This is core value for value, in this case, public attention of trust for public attention of trust.
-

@ ee9d979e:3fadff64
2025-03-30 16:14:37
This and Amethyst "hidden words" filter is a great recipe for a healthier Nostr experience.
-

@ ee9d979e:3fadff64
2025-03-30 16:13:32
nostr:nprofile1qqsd6ejdteqpvse63ntf7qz6u9yqspp4z7ymt8094urzwm0x2ceaxxgprdmhxue69uhhg6r9vehhyetnwshxummnw3erztnrdakj7qgmwaehxw309a3ksunfwd68q6tvdshxummnw3erztnrdakszyrhwden5te0dehhxarj9ekxzmny7dky6k, to be absolutely fair, I know you have other ways to keep up with people (I use encrypted lists and custom feeds myself). But the policy of not following folks has consequences for the wider network.
For example, if I follow you, WoT relays won’t be able to translate my trust in you into trust for the people you follow. So none of the good folks you trust would be able to write to my relay. Also, curious users won’t be able to find me or other smaller accounts by checking who you follow. In an unintended way, this contributes to Nostr’s centralisation around celebrity accounts that you are fighting against.
Don’t get me wrong. I totally get what you’re doing here and understand that public follow lists have their downsides. But they also have their benefits. And only following accounts that are equally willing to follow others publicly sounds like a very fair quid pro quo policy in my book.
-

@ ee9d979e:3fadff64
2025-03-30 15:34:37
One man’s bike-shedding is another man’s priority and life’s work 🤣. I'm more than happy to work on evolutionary improvements while smarter folks like you and fiatjaf lay out the revolutionary next steps forward. I’ll also take your word regarding funding at face value.
My point, though, is that as small as Nostr still feels, Metcalfe’s Law does apply. IMO, building on Nostr’s existing ecosystem has inherent value. But we can also get a lot of value from copying and adapting other people’s homework. Nostr is already trying to solve a lot of hard problems.
My thinking here is essentially... there are ways for solutions based on both Nostr and the torrent ecosystem to complement and interoperate with each other. This doesn’t mean abandoning Nostr or asking others to abandon potentially competing ideas. I’m just saying there are things we can reuse and adapt from the torrent ecosystem right now that could bring some interesting wins at (from a non-expert perspective) low cost and low barrier of entry.
I mean, assuming the stuff in question works and is fit for purpose (according to nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhkcmmrdd3x77pwve5kzar2v9nzucm0d5hszxnhwden5te0wpuhyctdd9jzuenfv96x5ctx9e3k7mf0qydhwumn8ghj7un9d3shjtnhv4ehgetjde38gcewvdhk6tc4rdlnm above, this may not be the case for IPFS). But, say, Magnet links and BEP-39 feels like solid building blocks to me.
I’m all for quick wins if we can deliver great value to Nostr users today. And syncing my notes and media efficiently feels like a lot of value.
-

@ ee9d979e:3fadff64
2025-03-30 15:32:15
Got it, thanks. I'll give it a read and do some more practical research. I admit that I've played with impressive demos and not much else.
But I think I’ve sidetracked the post by even mentioning IPFS. My main idea was to implement Nostr Notes + Blossom media sync through torrents. Have, say, Khatru/Haven expose a torrent with a file structure similar to what you did for nak/FUSE, plus all my Blossom blobs. I can then expose a magnet link with a BEP-39 update URL.
We could even have a specific event on Nostr for folks to discover my Nostr/Blossom content index URL. For lack of a better name, let's call it master outbox. Anybody else can use this torrent to sync and seed my notes and media.
This doesn’t need to be a massive centralised index like Bluesky. Instead, each user publishes their content to whatever relay they want, chooses one as their current master outbox, and other relays and even clients (through WebTorrent) can perform full or partial syncs using the torrent/magnet link. Wouldn't this be useful at all? Sure Negentropy can be used for more complex gathering of notes spread across relays. But for simple sync it feels like this would be an efficient way of doing things.
-

@ ee9d979e:3fadff64
2025-03-30 14:23:29
Can you expand on why IPFS doesn’t work or point me to an article where I can understand its issues?
I wasn’t thinking of anything as ambitious as replacing Nostr relays, clients or Blossom servers. Just sharing events and blossom vlobs as a signed torrent with an "update URL", allowing both clients and relays to sync, seed, list or navigate my stuff to your heart’s content. Relays would still be there to serve all of this over WebSockets, and Blossom would still be there to serve media over HTTP, etc. In other words, I’m not thinking of throwing away the existing protocol and sending Nostr back to day zero, just checking if we can't solve sync, specially between relays, in an easier and likely more efficient way.
-

@ ee9d979e:3fadff64
2025-03-30 13:01:57
And if you read above and thought to yourself, Wait, torrents aren’t mutable... and can’t be signed... Noth are solved problems:
https://www.bittorrent.org/beps/bep_0039.html
https://www.bittorrent.org/beps/bep_0035.html
I could use, say, Haven to expose the update URL, give you all a magnet link, and voilà—you can sync and serve as much of my content as you want.
-

@ ee9d979e:3fadff64
2025-03-30 12:21:39
GM, folks! Just putting this out there. I was thinking, while we have a few NIPs and torrent-based tools on Nostr, there are some quick wins to be had by tapping into the torrent ecosystem.
With so many people building HTTP views, bridge APIs to Nostr WebSockets, storage APIs (e.g., Blossom), and streaming tools... FFS nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhkcmmrdd3x77pwve5kzar2v9nzucm0d5hszxnhwden5te0wpuhyctdd9jzuenfv96x5ctx9e3k7mf0qydhwumn8ghj7un9d3shjtnhv4ehgetjde38gcewvdhk6tc4rdlnm is even exposing a FUSE interface that can be mounted with nak (just for laughs) to give you Nostr as a filesystem abstraction. So why aren't we leveraging WebTorrent and IPFS to make our lives easier?
I’m not saying we should abandon what we have. Just that we could use what’s already out there pragmatically.
For example, I keep hearing about Negentropy, which is great and all, but… Why can't your client or relay just join the swarm and sync all the notes and Blossom blobs associated with my pubkey? Maybe we could even expose all of this over IPFS and boom, you’ve got "Negentropy" and a cool alternative to njump.me. It doesn’t get much more bandwidth-efficient and P2P than that.
@jonny@neuromatch.social 🔗 https://neuromatch.social/users/jonny/statuses/114245524577616333
-
> we whipped up a bittorrent swarm that has 200TB of proven storage in like a month by cobbling together everyone's random hard drives. storing 200TB on s3 would cost at least $4.5k per month and would cost $10,000 to download it one time.
#gm #nostr #torrent #blossom #ipfs #growNostr #devstr
-

@ ee9d979e:3fadff64
2025-03-30 11:16:45
GM Mate
-

@ ee9d979e:3fadff64
2025-03-30 10:10:01
GM, my only comment is that for cursor-based pagination, it would be nice to include previous and next URL links (either in the body or in HTTP headers). Have a look at HATEOAS / HAL. This is better than forcing clients to figure out the URLs on their own.
As for Negentropy, I think Blossom could implement a simplified version of NIP-77. It would be nice if there were a global date we could sync with or perform range requests on. But even if there isn’t, I’d say the most useful sync "filter" would be by the author's pubkey. I.e., I would only use it to mirror or migrate my blobs to a different server.
Honestly, for my personal use cases, even manual syncing (e.g., if a client allowed me to add multiple Blossom servers and automatically use the mirror endpoint whenever I post or broadcast a note with Blossom media) would already be a huge step in the right direction.
Do you know of any Nostr clients that are BUD-03 compliant and handling the whole URL check / Kind 10063 retrieval process?
https://github.com/hzrd149/blossom/blob/master/buds/03.md#client-retrieval-implementation
noStrudel? Amethyst, maybe?
-

@ ee9d979e:3fadff64
2025-03-28 23:29:43
Thanks!
-

@ ee9d979e:3fadff64
2025-03-28 22:02:02
Thanks. Yeahp. Sounds like a lot is going on Nostr Git stuff. This is awesome. Stupid question but I have come across a few of nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhkcmmrdd3x77pwve5kzar2v9nzucm0d5hszxnhwden5te0wpuhyctdd9jzuenfv96x5ctx9e3k7mf0qydhwumn8ghj7un9d3shjtnhv4ehgetjde38gcewvdhk6tc4rdlnm repos with something that sorta remembers cgit but has some nostr stuff. Any idea of what this is? Also, has anybody other than fiatjaf ever contributed anything there? And if so, how?
https://git.njump.me/
-

@ ee9d979e:3fadff64
2025-03-28 21:38:11
Have you played with any of the tools? Any recommendations? Someone has recommended NostrGit and ngit-cli to me, but I haven't had time to play with it yet.
-

@ ee9d979e:3fadff64
2025-03-28 21:32:31
Self hosted Forgejo works well... But you won't be getting many people willing to open PRs against your repo anyway. And if I need to bridge to GitHub I may as well use Mercurial instead of Git locally.
I.e., as most hard things in life. This is a culture and convenience issue.