Oddbean new post about | logout
 been thinking about how to deal with these limit things and it seems to me that if you are building with paid customers in mind performance is the focus 
 ya the thing is, a list of 10k of scores, is almost a megabyte 
 so strfry hits some internal constant settings that need redefine way before that (around .3mb) 
 yeah, i'm keeping this in mind in my current work

i'm building something way way minimal and such extraenous bits and pieces are complexity i'm gonna avoid as much as possible unless actually necessary

complexity is death in software, i can't begin to explain how much easier it is when you ave something simple to make it work 
 btw, this was one of the major things i aimed at in my work since june... writing a nostr codec that stays binary in memory

and writing a max-fast binary encoder for the database

the binary codec is faster than anything and the memory utilization on events being natively binary saves typically over 128 bytes of space for each event, and even more if they have e or p tags, those also are stored binary in the encoder... i haven't written handling for that in the runtime form though, still hexadecimal string arrays

the binary codec: 

https://github.com/mleku/nostrbench

part of the reason my encodings are faster is also because the runtime binary form is also raw binary and not hex, so there is a missing step, and further, i use xhex, a SIMD hex codec

this is what the revised replicatr will be using, of course

i intend to make a branch specifically for the minimally configurable raw version once it's done, with no fancy, no limits, no nothing, something you can build a monster out of

fiatjaf was so far off the mark in his dismissing badger as the data store

it's only second to in-memory hashmaps 
 https://i.nostr.build/CVy6uGcd1y13exNV.jpg 
 So relays are still stuck at tiny notes? Should we call it tnostr?

Instead of implementing arbitrary and diverse limits, why not adjust pricing to the size of the note and allow GB notes? Until pay-for-your-resource-use is not implemented, client devs will work around relay limitations that shouldn0t be there in the first place. I set out bounties for this and with eCash we could really pay per event sent/received in an ephemeral way.

nostr:nevent1qvzqqqqqqypzq3huhccxt6h34eupz3jeynjgjgek8lel2f4adaea0svyk94a3njdqy88wumn8ghj7mn0wvhxcmmv9uq3uamnwvaz7tmwdaehgu3dwp6kytnhv4kxcmmjv3jhytnwv46z7qpqtgvt2hk0yuvn5467a80xsend3pqg2aa3jvsjr5zp90z35lqmt7msl2yh29 
 😂😂 actually one meg of json is a lot in nostr world (cause we doing 100-500x data transmit till clients outbox batch gigabrain) 
 I don't care. If it's "a lot" then just charge a lot and don't randomly deny storing the event.