-
@ ee9d979e:3fadff64
2025-01-28 02:48:16
Mesmo assim parece ser fantástico. Eu vi que dá para comprar crypto fácil do Nubank também (não sei quão caros eles são). Se eles habilitarem para a galera transacionar com lightning fácil via UMA essa opção será mega conveniente. Me dê um toque quando habilitarem para ti :)
-
@ ee9d979e:3fadff64
2025-01-28 02:38:59
Muito esporadicamente. Geralmente uso Wise.
-
@ ee9d979e:3fadff64
2025-01-28 02:38:03
Eu ouvi falar e vi que eles estão entrando na brincadeira da UMA, mas nunca tive conta com eles.
-
@ ee9d979e:3fadff64
2025-01-28 02:21:20
Sim. Por aqui alguns bancos como Revolut também estão experimentando com crypto (não Lightning até onde eu sei). Mas a legislação não é crypto-friendly, e.g., não tem essa história de intenção de impostos para vendas de até R$ 35.000,00 por mês como no Brasil. Aqui eles monitoram as exchanges e mesmo markerplaces P2P ferozmente, tentar comprar crypto sem KYC é um bom jeito de ter sua conta do banco fecharw, e o cálculo dos impostos é um saco (se você for usar BTC como se fosse dinheiro por aqui vai precisar de Software especializado para calcular ganho de capital conforme as regras do governo). O Brasil me parece estar bem na frente do UK nessa frente.
-
@ ee9d979e:3fadff64
2025-01-28 01:46:53
Adicionando tudo ao watchlist aqui. Muito obrigado!
-
@ ee9d979e:3fadff64
2025-01-28 01:41:41
This is the first time I’m hearing about UMA and Lightspark. I didn’t know that Nubank was experimenting with Lightning. Interesting times!
-
@ ee9d979e:3fadff64
2025-01-28 01:11:52
Podman is the GOAT!
In my opinion, bare metal is great for those who know what they’re doing. However, many (and I really mean many) users struggle with fundamentals and put themselves at risk by opting for "easy" bare-metal setups. The number of times I’ve come across people running VPSs with OpenSSH servers exposed to the public internet with root access + password-based authentication enabled, no firewalls, no fail2ban or CrowdSec, and a "fire and forget" attitude (no regular updates, no monitoring and no attention to logs) is... concerning. My preference is to push users towards containerised setups exposing as little as possible. Ideally, only port 443 through a reverse proxy.
-
@ ee9d979e:3fadff64
2025-01-26 18:48:54
nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6, sorry for keep tagging you. Small PR to fix Blossom media uploads on noStrudel. When you cut a new version of khatru I'll update Haven accordingly (CC: nostr:npub1utx00neqgqln72j22kej3ux7803c2k986henvvha4thuwfkper4s7r50e8): https://github.com/fiatjaf/khatru/pull/26
-
@ ee9d979e:3fadff64
2025-01-26 18:36:53
Reducing scope of changes and double checking.
https://haven.accioly.social/3d3058262e89bafb7797e46b1e2944e1c8337bf492a3e46bc2c17113c9b8482c.png
-
@ ee9d979e:3fadff64
2025-01-26 18:06:38
Good stuff. Is it still working with Amethyst? https://haven.accioly.social/c0ddf73018b6c00f19d05b06146a0ba12e5d1b085b5cc6a395bf3083d1d7c6e4.jpg
-
@ ee9d979e:3fadff64
2025-01-26 18:00:03
Test. Changing khatru http response codes for missing Auth header. Can I upload with noStrudel now?
https://haven.accioly.social/6b67ff9bf63c8d659039d94f2a5bd00dbfd6499a3e362e20a5ae65215ad6dd0d.png
-
@ ee9d979e:3fadff64
2025-01-26 12:44:58
GM Maria
-
@ ee9d979e:3fadff64
2025-01-26 12:39:38
I’ll have a look deeper. I haven’t paid much attention to Haven’s private relay since Inbox and Outbox are always the ones on fire, but apparently, I only have three kind 31234 events (Amethyst-style drafts) across all my relays. Draft events are certainly high-frequency, but as far as I can see, they aren’t bloating the database.
List and set events, on the other hand, have been the bane of my existence. That, along with the fact that Amethyst still doesn’t send the right events to the correct types of relays, remain my top two unsolved tech problems on Nostr. Vitor mentioned he was working on it, but it’s a non-trivial change given how much functionality has been built on top of the classical general relay model. Fingers crossed, both clients and relays will see some improvements this year. I’d prefer these two fixes over any new features.
-
@ ee9d979e:3fadff64
2025-01-26 11:56:04
💯 To be fair, I’m encountering broken client behaviour or client/relay incompatibilities that result in spammy activity with otherwise "legit" events more often than actual malicious code or directed attacks. But you’re right, we should be doing something about it. Whitelisting specific events is a good start. Maybe I’ll build a Citrine-style dashboard for Haven so users can at least get a sense of what they’re storing in their relays. From there, we could add functionality for deleting individual events, deleting all events of a certain kind or even blocking them entirely.
For now, though, ReplaceEvents are doing a great job of preventing unnecessary database bloat. Again, many thanks.
-
@ ee9d979e:3fadff64
2025-01-26 10:21:12
There's several tools around depending on what you are looking for.
I've used this one before for vanity keys:
https://github.com/eyelight/glasnostr
For quick scripts I often use Nostr tools. You can both generate and NIP-19 encode keys easily with it: https://github.com/nbd-wtf/nostr-tools
And here's a modern key generstor by nostr:nprofile1qqsdulkdrc5hdf4dktl6taxmsxnasykghdnf32sqmnc7w6km2hhav3gpzpmhxue69uhkummnw3ezumt0d5hsz9thwden5te0wfjkccte9ehx7um5wghxyee0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7x7tcfu:
https://github.com/melvincarvalho/noskey/
-
@ ee9d979e:3fadff64
2025-01-26 10:04:02
GM zed!
-
@ ee9d979e:3fadff64
2025-01-26 09:55:35
Hi fiatjaf, yes, that’s the one. At 2:00 am “compact” somehow became “compress” in my head. But you’re right, other than making certain “immortal” events deletable on LMDB as per your original intent above, for the end user, it’s essentially a major database-wide deduplication (which is exactly what I was looking for with BadgerDB).
You’re also right that nuking the database and reimporting old notes has the same effect. This is what I’m suggesting for Haven users for now. Unfortunately, Haven can’t import its own backups (yet), but users can always reimport some of their old notes from other relays or temporarily use a second instance of Haven to do this. I was just considering a Haven-specific --compact flag for completeness (e.g., so users don’t lose private notes that aren’t currently reimported) and to save them the trouble of doing this manually.
Either way, awesome work. Many thanks! Haven is absolutely flying with the new Khatru engine. I even tested this with an old LMDB database backup I keep around for testing purposes. Compacting the database cleared out over 2 million duplicsted events from a database containing only around 1k short notes. It’s impressive how clients continuously spam lists, sets, etc. Now I know there was much more to it than just the Amethyst kind 10002 write loop bug.
-
@ ee9d979e:3fadff64
2025-01-26 09:16:23
If you need anything feel free to ask :).
-
@ ee9d979e:3fadff64
2025-01-26 01:15:09
nostr:npub1utx00neqgqln72j22kej3ux7803c2k986henvvha4thuwfkper4s7r50e8. You can find the PR for this here: https://github.com/bitvora/haven/pull/61. Tested on Windows, macOS, and Fedora (both x86 and ARM).
I decided against implementing the compress flag because outdated events were also being retained in BadgerDB. As saintly as nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 is, he has only implemented compression logic for LMDB. I'm too lazy to add compress logic for BadgerDB in event store, and it doesn't make sense to implement the compress flag otherwise.
In practice, some old replaceable and addressable events will naturally be deleted as users write new versions. If users find themselves with millions of outdated events stored in the database, as I did, they can always nuke the database and reimport. The different in performance is impressive.
Please let me know once you’ve merged this (or if you need any additional effort on the PR) so I can cut a new Podman/Docker version.
-
@ ee9d979e:3fadff64
2025-01-25 23:44:12
How about macOS?
https://haven.accioly.social/9bec51ee9b51ee6951ffe42a99cf1c9e081389421c8f7f4242965c8eed699d53.jpg
-
@ ee9d979e:3fadff64
2025-01-25 22:55:39
Is Blossom working?
https://haven.accioly.social/8ff943de40322311b12a65ec522cfa36a17271bd5f5525cadc64a61eb9f353ed.jpg
-
@ ee9d979e:3fadff64
2025-01-25 22:40:23
Test Haven + latest Khatru + LMDB fixes for Windows + ReplaceEvent
-
@ ee9d979e:3fadff64
2025-01-25 21:16:57
Fedilab - my go to Android client for most ActivityPub stuff. It’s similar to Amethyst in nature. Excellent for managing feeds, lists, filters, followed tags, media, and more.
-
@ ee9d979e:3fadff64
2025-01-25 19:26:44
How it feels as a dev setting up a Windows VM on an ARM laptop for the second time in 3 months just to work on LMDB OS-specific issues...
I really need one of these keyboards:
https://files.mastodon.social/media_attachments/files/113/884/471/388/216/224/original/43432b7323400466.jpg
#memestr
-
"Finally, the perfect Windows keyboard."
Source: @sjvn@mastodon.social 🔗 https://mastodon.social/users/sjvn/statuses/113884471530725260
-
@ ee9d979e:3fadff64
2025-01-25 17:04:07
Fair enough. And I agree that how much the developers care and are responsive to end-users is an important factor for me as well. Although I can point plenty of counter examples (including Nostr apps, emulators and even very successful formaly corporate sponsored software that was put on the backburner and became popular abandoware with entire communities still dedicated to keeping the software alive).
I do conced that, if, I was younger, and, say, making a lot of money working at a company like Red Hat pre-IBM acquisition, I would be more invested in the win-for-the-greater-good mentality. Nowadays I think that Software (even great Software) is a more ephemeral means to an end. Creating is more important than winning (whatever winning even means in this context).
-
@ ee9d979e:3fadff64
2025-01-25 16:38:13
I'm 100% just playing and always open (and encouraging users) to explore alternatives. I already deal with enough people with a "winner-takes-all mentality" in my day job. That doesn’t mean I’m not willing to put serious effort into Open Source, but as soon as people start acting like a David Goggins audiobook on 3x speed, I’m out.
-
@ ee9d979e:3fadff64
2025-01-25 16:18:27
Congrats! I'm on a similar journey, although I unfortunately need to shed more than 11lbs to reach the "no longer fat" milestone. I've lost about 25lbs since November (the "silver lining" of having to care for hospitalised family members during the holidays was that I didn’t get to stuff my face as much). My goal is to keep the momentum and drop another 75lbs until 2026. One day at a time, of course.
On a different subject, I’m still working on Haven’s PR. I came across a "Small" issue, to fully eliminate old duplicated events, we’ll either need to ask LMDB users to nuke their old databases and reimport their notes, or we’ll have to add a flag to Haven so it triggers nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hszxmhwden5te0wfjkccte9emk2um5v4exucn5vvhxxmmd9uq3xamnwvaz7tmhda6zuat50phjummwv5hsx7c9z9's "Compact" method (https://github.com/fiatjaf/eventstore/blob/bb4bb4da67db90117de98f111440b0dace4af390/lmdb/lib.go#L74). I’m leaning toward the lazy option: asking LMDB users to nuke and reimport their notes if they want to remove duplicates, but otherwise I'm happy to implement something like `./haven --compact`. What do you think?
-
@ ee9d979e:3fadff64
2025-01-25 12:50:24
PS: I know nostriches can be a tough crowd when it comes to praising other social media tech, often adopting a territorial "Nostr-only" mindset. I think that's unfortunate. Many people, myself included, are very bullish on Nostr from a technical perspective and genuinely want to see it succeed. At the same time, I'm wary of its predominant culture and the overwhelmingly repetitive echo chamber of mostly uninteresting content (honesty is the best policy here).
I'm sharing the message above regardless, as accessibility is one aspect of "tech meets culture" that I’d love to see gain traction on Nostr. The underlying platform is ready, and several clients already have the proper tools to make it happen. What we need now are the right cultural incentives.
And yes, you can be a libertarian, carnivore Bitcoin maximalist creating accessible content to be consumed by equally enthusiastic blind libertarian Bitcoin maximalists. It would be amazing to see Nostr championing accessibility.
-
@ ee9d979e:3fadff64
2025-01-25 12:49:12
Free Fediverse "ad" of the day to reshare on other social media platforms. This is one of the many, many small things I really appreciate about the Fediverse and its culture. The tools to do this often exist on other platforms, but the right incentives don't. I love how every Mastodon client I've tried does such a good job of nudging me to write alt texts.
https://haven.accioly.social/7f2afe4a457deea2483b8a5cd0914bba92cde164a69970994a976f0046493a15.png
via @dandylover1@friendica.world
https://friendica.world/display/84b6ef2b-1067-933a-0f79-df8983924348
#Fediverse #Mastodon #Accessibility #TechForGood #Community #Culture
-
Original post on Mastodon: @anthony@accioly.social 🔗 https://accioly.social/@anthony/113888832615568136
-
@ ee9d979e:3fadff64
2025-01-24 12:37:01
Thanks for tagging me.
In my opinion (and this is just that – my opinion), as a short-term solution, this seems more like a client-side functionality than a relay-side one. The Blossom specification already exposes a mirror endpoint (https://github.com/hzrd149/blossom/blob/master/buds/04.md) which fits the use-case well. By the way, nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6., we haven’t implemented this on Khatru yet, it certainly sounds useful.
I think it’s much easier for clients to have an optional setting to mirror the image to one or more Blossom servers than for a personal relay like Haven to implement custom logic to parse kind 6, kind 16, and quoted kind 1 events to extract and reupload other people's media (https://github.com/nostr-protocol/nips/blob/master/18.md). There aren’t many Nostr personal relay + Blossom media server combos or even "Blossom aware" relays out there, so relay-side logic would, in my view, be a wonky tightly coupled solution to the problem and it screams "wrong layer".
l would also guess that , even if we did this, many users, myself included, wouldn’t want other people’s media re-uploaded to their personal Blossom servers willy-nilly. Personally, I wouldn’t want to pay for the extra storage or bandwidth, nor deal with the potential legal ramifications of automatically redownloading and hosting every pet picture, meme, event promotion banner, or artsy post from notes I reshared on my personal relay. For me, hosting such content would need to be a case-by-case decision, i.e., it smells like client-side toggle functionality.
Since hzrd149 has already been tagged below, I won’t tag him again, but there’s been some discussion about the best way to sync media at the Blossom level. That approach might make more sense in the long run.
-
@ ee9d979e:3fadff64
2025-01-21 17:55:23
I fully agree! I'm happy to see the new Outbox relay and look forward to more client-side support for it. On an unrelated note, I don't think swarmstr.com and the GM relay are up anymore. Its developer was considering the possibility of bringing it back at some point last year but at least to me it is still down. This is one Nostr relay that I really miss.
-
@ ee9d979e:3fadff64
2025-01-21 14:55:57
Yeah, you did 🤣. The outdated replaceable and addressable events (including the infamous outdated 10002 lists that have been bothering me forever) are now being properly deleted. I no longer need to run my crappy maintenance scripts to delete outdated events! If it wasn't intended then I think this was a "happy side effect" of your changes to fix pathological duplicates. Likely the changes to the Publish method in this commit, but I'm not 100% sure: https://github.com/fiatjaf/eventstore/commit/295a7510337c39e79d5c8154d22d1fb86438098b.
And you’re totally right. I'm already working on adding ReplaceEvent handlers to Haven. I managed to break my own dev branch this weekend while updating Khatru and EventStore to the latest version (likely due to conflicts with other libraries). But as soon as I have a stable version, I'll submit a PR to utxo's repo upstream.
-
@ ee9d979e:3fadff64
2025-01-21 11:56:30
Hey Ben, thanks for the continuous support! :) My repo is long overdue for an update by the way. I’ve been working on it but couldn’t get the work finished up over the weekend. Hopefully, it’ll be ready today. I’m planning to release an update with the latest upstream version of Haven, along with some extras, including Nginx and LMDB optimisations, keepalive enabled by default and enhanced support for macOS, Windows, and Linux on Arm.
Between:
1. nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hszxmhwden5te0wfjkccte9emk2um5v4exucn5vvhxxmmd9uq3xamnwvaz7tmhda6zuat50phjummwv5hsx7c9z9's changes to EventStore and Khatru fixing a bug that caused outdated replaceable and addressable events to linger indefinitely (plus introducing optimised COUNT support)
2. nostr:nprofile1qqsw9n8heusyq0el9f99tveg7r0rhcu9tznatuekxt764m78ymqu36cpz4mhxue69uhkvun9deejuat50phjummwv5hsz8rhwden5te0wfjkccte9e3xjarrda5kuurpwf4jucm0d5hsz9thwden5te0wfjkccte9e6hg7r09ehkuef0avzrjf's upstream updates (by the way utxo, I’ll have a small PR upstream soon to enable NIP-40 / Expiration Timestamp support as well)
3. A few of my own additions already mentioned above
IO and CPU usage for my local Haven container has dropped by over 40%.
Stay tuned!
-
@ ee9d979e:3fadff64
2025-01-17 10:46:26
Hi folks, I'm sharing this opportunity for EU-based TypeScript devs here on Nostr. I'm not associated with the company in question, but I thought it might be a great fit for some of the amazing devs I've had the chance to interact with on Nostr.
https://www.linkedin.com/jobs/view/4126838580
By the way, I know it's been a while since I last updated the dockerized version of Haven, and I realise some folks are waiting for the fixes related to LMDB. Apologies for the hiatus and delay. There's been a lot going on for me recently. I'll make sure to get the update done this weekend.
#devstr #jobstr
-
@ ee9d979e:3fadff64
2024-12-24 13:15:04
Merry Christmas You Filthy Animal!