Default avatar
#fuck_jews 23 hours ago
its been 6 months since i started a solo trip into Client-Focused foundations learned a lot, enjoyed a lot, i hope the first ship will be out in two months it will be a beta client of what i believe a Client-Focused app is capable of with the right foundations the point is to be fast and keep all data within user's reach search-wise, speed-wise with an offline first flavor The Foundations are 4 tools (literally 4 js modules), they all revolve around statelessness 1- BATrie: simply a rank trie, a super efficient rank-based data structure that powers all datasets within my setup, its makes queries like 'give me all items between date-x and date-y' stateless no matter how big the dataset is *yes its named after my family name 'Badri' image 2- Continuum: a consumable normal js array that doesn't hold any items, it literally initializes internally like "const arr = []; arr.length = datasetCount;" where datasetCount can be 10 million items on disk, and all accessed indexes are materialized from disk on-demand with each js tick, it was built with dom-element virtualizers such as in mind, Continuum can work standalone without BATrie but that would require the app to bookkeep all items addresses in-memory. 3- ItemsBroker: a 150 lines of js code that controls deduplication and disk cleanups by storing a owners_count for each item's unique id so multiple datasets can share the same item in disk, it can work standalone but that's almost useless. 4- GlobalTrie: a conventional words trie that processes all incoming strings to make them searchable and super compressed, also depends heavily on BATrie to work in stateless fashion if you made this far, i would like to tell that i learned why almost nobody would go this far into such details, but its actually more fun, there are plenty gaps to fill, ranks are still fixed that is a gap the dictionary is still a sketch that is a gap.... if you see this as fun or share a similar interest in Client-Focused development you can join Client-Focused Development public group where you can share stuff about any thing related to the subject (dogs, bastards and jews aren't targeted by this note) *it works on 0x chat image

Replies (1)