rajasekhar vanjarapu
239 posts





For developing a “nifty” DistSys toolbox: - OSTEP by the Arpaci-Dusseau’s is a favorite systems book—the design thinking in here was imbibed by TigerBeetle: pages.cs.wisc.edu/~remzi/OSTEP/ - Hacking bug bounties, finding CVEs, and composing cryptographic primitives (AEADs, HKDF etc.), principles (single use, binding intent, minimizing surface area) and protocols (TLS, Noise) can be good practice for developing the kind of adversarial thinking needed to proactively find DistSys heisenbugs and counter examples. - Chess is great too (when you’re on holiday!). I would find that when my chess was good, my consensus thinking was less bad, and vice-versa, and opponents would sometimes pick up on this (“You’ve been coding hard problems lately?”)—so I think it’s transferable. - TCP congestion control algorithms (especially delay/utility based) are a way to think about resource limits in general (e.g. disks can also exhibit bufferbloat!). - Various hash table designs (Swiss, F14, Cuckoo, Stash techniques) can be a playground for learning “how to go fast!”, simply. - Erasure coding (simple XOR parity, Reed Solomon, Cauchy) for tuning durability/cost/tail tolerance. -Deduplication algorithms (fixed chunking, content-dependent chunking, RabinKarp etc.) usually keep coming up. - Finally, TigerStyle (github.com/tigerbeetle/ti…) came out of a few years’ trial and error (before TigerBeetle), trying to figure out a methodology to approach the design of distributed systems (e.g. full duplex file sync) that would increase the probability of success. We then applied this “all in” to TigerBeetle.












Join the league of India's finest tech professionals at the #ChampionsOfCode Hall of Fame. Tweet #MicrosoftCertified with your pic & the Microsoft Cloud Certificate, fill in your details msft.it/6017ewKwJ & tag your network. Help India get #FutureReady.















