Oddbean new post about | logout

Notes by jb55 | export

 “here for the tech”

nostr:note1k9ev8f6ugdphs7m9jtjdadw64t8fwyqaqj0uh2skys8usf00z3esnxpqel 
 who needs nostr when you have elon state media 
 cows are amazing biological machines.

The protein upcycling capabilities on the latest version for converting low quality plant proteins into high quality ones 👌

incredible stuff when you think about it. 
 but they tasty 
 nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s I used to have Alby wallet ... 
 Go to your profile and update your lightning address. Some clients may cache your old address so theres not much you can do in those cases except wait for awhile. 
 Beware.

Apparently decentralized identifier + centralized platform is now being touted as a dEcE... 
 decentralized is becoming a meaningless word 
 Continuing my thoughts on whether I should write a book or make a game:

They're not just differe... 
 write a book on making indie games 
 nostr will have the best tech and the most devs, people won’t be able to ignore that for long. other clients on other protocols will run into heavy handed moderation issues due to centralization of power, government pressure, and lack of user keys. This is the main risk I see for mastodon, bluesky and big tech, regardless of current user numbers.

As long as people care about freedom and building a sovereign presence in cyberspace, nostr is inevitable.

It’s possible most people don’t actually care about these things, but at least we’ll have the best solution for people who do. Those people are the coolest to hang out with anyways. 
 the fact that so many people are fine with that is still an open anthropological and psychological question I have yet to understand. 
 ah right… I am blessed (cursed?) with the knowledge about how all this works at every layer of the stack, and think deeply about how implementations of these protocols lead to different outcomes. I see nostr as the outcome that leads to the most freedom for individuals, perhaps thats why its clearer to me as to why this is the proper solution. education is the key i guess. 
 notedeck should reach theoretical optimal performance. Loading the database is just a single mmap calI. There is no heavy serialization needed. The initial queries just scans the local index for note ids (u64). Once we have those, its a quick btree lookup into virtual memory for a flatbuffer-like binary note pointer. Effectively zero copy queries for every note in the database.

Will be very surprised if someone can make a faster client than this. This will be faster than any sqlite or postgres client. Notice the cold start time. It’s instant to load, even for databases that are terabytes in size.

On top of this, we skip the entire web stack for rendering and render directly to the gpu on every platform, we can render 1000s of frames per second with hundreds of nostrdb queries per frame.

People may think I’m exaggerating for marketing or promotion but i’m really not. Any web client will never be faster than notedeck, because the web does not have access to virtual memory capabilities. This is a the reason I am calling it a next-gen client. 

Someone once said damus was slow and I took that personally. nostr:note10hgpd27h3kuq7ufs90m23kdvmj0p3f4m20t8cpqdew6zk6r68n4qan5alu 
 will have NWC 
 basically all thanks to strfry and doug hoyte for inspiring this design. That guy is a perf genius. 
 Definitely! I wanted to build a manim video of it 3blue1brown style. Started playing with manim to see if I could do it 
 It becomes an issue when you want to do more ambitious things. Current clients are memory constrained. Not needing to worry about memory and letting the OS page things in/out for any size db when doing algo queries and other types of local processing is quite nice.

Local first also enables lots of use cases, like using the app offline and having everything resync with negentropy when you’re back online. Also fast local fulltext search for privacy, p2p and local network syncing… 

The local algo thing is cool because the wasm algo api can have full query capability assuming the presence of a local db as an api, so local algos will be much faster. Coding everything to an in-process local relay enables lots more use cases and increases reliability in the presence of rogue relays in the outbox model… i need to write this up 😅 
 its an optimized, memory aligned binary format, with full local query capability, virtual memory mapped so you can page in gigabytes to terabytes of notes, with no synchronization or serialization required in/out, with an early exit json parser on duplicate notes for max performance. but yeah… “simple cache” 
 strfry/lmdb 
 nostrdb is the same design as strfry pretty much and uses lmdb under the hood, except its an embeddable library like sqlite 
 Since at least 4chan, every uncensored public forum sheds leftist arguments within a year, or whe... 
 yup 
 Very cool!  Thank you! Do I misunderstand, or is it only for desktop?  No mobile? nostr:note18uea... 
 desktop first, android and ios next year 
 This is a culmination of over a year of work, creating a custom nostrdb database written from scratch in C, and a taking everything i learned from damus ios to build the highest performance nostr client possible.

This is a next-gen nostr client. notedeck will be our main tech platform going forward, free from apple restrictions, and will scale to any use case we throw at it. Can’t wait to share all the cool stuff we have planned for this. nostr:note1dwl50kcq6ejej5pnvm63zgm4qgqa4ktsr0xtcnksfq6uch2l0l2qyzd6tm 
 works on all platforms, even ios eventually 
 its an optimized, memory aligned binary format, with full local query capability, virtual memory mapped so you can page in gigabytes to terabytes of notes, with no synchronization or serialization required in/out, with an early exit json parser on duplicate notes for max performance. but yeah… “simple cache” 
 notedeck is almost ready for alpha launch at the end of this month. check it out!

https://cdn.jb55.com/s/e98a2e0d39442c60.mp4 
 not sure what you mean, there are replies and profile notes? 
 oh you want a way to add a profile as a column? that would make sense 
 ah yeah... I think profile queries are subtly broken in nostrdb though. will fix. 
 yes I use notedeck on android 
 what do you mean 
 hmm nixos direnv should set up the environment vars properly for nixos 🤔

what does RUST_LOG=debug say? 
 definitely. going to make this super easy 
 any time we can make tech that blows every other platform’s client out of the water should help build our cred… i hope. 
 close! 
 alpha launch is end of month 
 this is a notedeck thread! 
 Testing damus share sheet action. You can share anything to damus now 👀

Live now on purple TestFlight. Appstore release on friday!

https://github.com/damus-io/notedeck/issues/378 
 Thanks @swiftobjc for coding this up! 
 looks like chatgpt ui got a huge upgrade when it comes to code examples

https://cdn.jb55.com/s/3ab0c7e8e011e12d.png 
 whoa it even has a code review mode now, as well as auto-commenting and language porting. no longer need to do it manually

https://cdn.jb55.com/s/3973a00473105eb2.png
 
 blocked for posting “test” #bluescam https://i.nostr.build/3Zv7ltGGJHryJ15A.jpg  
 maybe they toned it down since yesterday 
 Trying to figure out Nostr and Damus and all this stuff! Social media for the future!

#introduct... 
 welcome sir! 
 Make your stuff gpl ? Damus iOS and notedeck are gpl. Corpos hate gpl. 
 nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s I got the Purple renewal re... 
 @danieldaquino did something change ? 
 love to see more nostr guys coming nostr:note1vudhv9g80g9qavw3asdp58xu0jltg95952tl2xupknyg0zx2kl9... 
 i may 
 May have went to one last time I was there. They made me say “nyaa” to call them over 
 sounds like they hate freedom 
 The rest of us have no hope 
 anon reply will just encourage trolling and abusive behaviour tbh. I grew up on 4chan to know how this plays out 
 Damus default suggestion for bio is “Absolute Boss” 

that was cool.. i tweaked it a bit 

ne... 
 😂 
 Lunch and designing notedeck outbox algos ✍️ https://i.nostr.build/vpdTjjZnIOJPdJMe.jpg  
 I can’t cook 
 Seems relatively straightforward. Just need to make sure the number of relays queried doesn’t get too big. Will need to prune relays if other relays cover all pubkeys in each relays timeline query 🤔

Is this how your implementations work @PABLOF7z @hodlbod @Mike Dilger ? https://i.nostr.build/auNu78hGBpwKIXKi.jpg  
 For example, in this example, we wouldn’t bother querying R4 since it is covered by R3, and we wouldn’t bother querying R2 since it’s covered by R1? So you would only need 2 relay queries here 
 nope. earls steak+sushi and old fashioned 
 Crazy. Grats. What lang? 
 This is my intro post. I’m a dad born and raised in New England. My recent background is in gen... 
 Very cool. Welcome 
 Looks like the Apple gods still need to bestow me with their approval before the correct version ... 
 Make sure you only update the build number otherwise it will force a testflight review 
 typst is a simpler alternative to latex and has a simple markdown-like grammar. I propose we use this in some nostr science longform spec. It’s super fast too! 

https://cdn.jb55.com/s/typst.mp4

https://typst.app/docs/reference/syntax/ 
 the authors of any spec or software own the copyright. if you mean license, it looks like the project is under a permissive license:

https://github.com/typst/typst/blob/main/LICENSE 
 I’m tired of them talking about aliens. So they are underwater now. just fucking show us then. Let’s see some high res pictures, videos, and radar data. 
 i personally believe its a bunch of ufo wackos that got into government positions and actually believe what they are saying, but are not good at skepticism. 
 Question:
Does #Nostr work best on #Android or on #Ios?

#apple 
 You don’t need testflight to zap notes, you only need to run https://zap.army