They all run stirfry that’s why
seriously, i've been banging on about NIP-42 support in clients for so long now
and still, the nearly working one is #coracle and nobody else has got off their arse to fix it
you know why?
because only my relay supports it properly, and khatru h/t nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6
and mine supports it because of his work
you all rest of you relay devs suck
can't test my relay with auth because none of you bitches have actually implemented it, and aside from a few smart guys, it seems like nostr dev dgaf
well, that is sad
and i will fix this
soon ™️
Discussion
Stirfry is complete shit, terrible performance. Too IO intensive.
Whoops? Is this the Xitter bridge posting?
Have you tried this?
no, just nostrs-relay, ditto, and strfry
you?
Rnostr uses LMBD so I instantly hate it
Haven't tried it, but it looked promising. I'm looking for a single binary. What's wrong with LMDB?
Oh nigga let me tell you.
it is a waste of resources. It uses a lot of disk IO. I am afraid that it will kill the SSD. If you use a spinning disk, you can see the heavy IO easier. It is not going to scale as good as a real database like Postgresql, which all the good decentralized shit uses. No good way to manage the database either
yep, i'm nearly finished with replicatr and it's based on khatru/eventstore-badger/go-nostr but all of those parts have been heavily revised
my last steps are, in fact, revising the database transaction code because recent tests have shown that it has races when there is heavy demand while new data is being pushed into it, a simple test, that forced me to put a mutex on the database query code to stop it from telling me to "retry the transaction because conflict"
the key thing i'm doing is making the transactions more atomic, most of the stuff in eventstore/badger runs really long loops within the transaction code and some of them run so long that concurrent access with an added last-access record in the database caused the above errors
badger, which distinguishes itself from RocksDB, a fork of LevelDB (which is also the parent of LMDB) is optimised for SSD random access and splits the key and value logs so that you can write fast search algorithms that base on keys - and they designed this as the basis of dgraph.io which is a graph database, that has to do the equivalent of massive chains of SQL join operations between tables
it's pretty sad that outside of #golang community the rest of the programming world hasn't caught up with the state of the art, circa EIGHT YEARS AGO
and the fact that strfry hasn't been patched in over 4 months is pretty damning to everyone in #nostr
come on, how stupid do you think we are?
