Oddbean new post about | logout
 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? 
 Oh interesting stuff. Why do you think Stirfry hasn't been patched in so long? We are told by Nostr devs that Relays are supposed to be dumb or not interesting. Maybe nothing new to add? 
 for all we know mister hoytech is dead, for his activity on his github