Authoring a new book on Distributed Computing

### Writing a book titled "Distributed Computing From First Principles" Following the availability of high-quality free textbooks such as *[A Graduate Course in Applied Cryptography](https://crypto.stanford.edu/~dabo/cryptobook/BonehShoup_0_4.pdf)*, *[Beej C](https://beej.us/guide/bgc/)*, *[Competitive Programming](https://cses.fi/book/book.pdf)*, *[Stanford CS Education Library](http://cslibrary.stanford.edu/)*, and *[The Little Book of Semaphores](https://greenteapress.com/semaphores/LittleBookOfSemaphores.pdf)* which have provided significant value to my career, I hereby pay it forward by providing technical knowledge without the paywall barrier. I am glad to announce my new initiative to write a free textbook titled "Distributed Computing from First Principles", building upon recent successes from my [blogging activities](https://kenluck2001.github.io/blogs/1). We know that "great stories take time to write" and as such, I am providing a [blog post](https://kenluck2001.github.io/blog_post/distributed_computing_from_first_principles.html) with the same title to keep readers engaged while the process of book writing gathers steam. The primary audience is practitioners, physicists, hackers, hobbyists, and Software Engineers. We will follow a pedagogical approach to make the work appealing to engineers of varying mathematical abilities. For background information. See the following: + **Author's bio:** https://kenluck2001.github.io/ + **Blog post:** https://kenluck2001.github.io/blog_post/distributed_computing_from_first_principles.html **Note:** This work is based on non-proprietary content that is unrelated to my employer. My time commitments are on weekends and off-work hours. Writing a book would help me perform foundational research needed to solidify my knowledge of distributed systems. For the record, I am writing the book that I wished I had when I started this research. This work shall be royalty-free. More importantly, this is a charitable endeavor. As the saying goes, "give a man a fish, and feed him for a day, but teach that man how to fish and feed him for a lifetime". However, feel free to make a [free-will donation](https://checkout.square.site/pay/a5a1bb5a14e941baae84556f133744cd), even though I intend to stick to my delivery timelines, nevertheless. This is my diversity and inclusion initiative, which focuses on widely disseminating world-class knowledge with the hope that diverse people would benefit, especially those of underrepresented minorities. PDF available link ¦ date updated: ¦ public use: no | inception date: Another announcement will follow after the final version is ready, and that version will be available in [arXiv](https://arxiv.org/) in perpetuity. All implementations would strictly use [OpenMPI](https://en.wikipedia.org/wiki/Open_MPI) in [C](https://en.wikipedia.org/wiki/ANSI_C). Message passing is the foundation of our implementations. #### How can the impact of this endeavor be evaluated? We anticipate lots of the readers armed with this new knowledge can dive into popular open-source projects like [Apache Spark](https://en.wikipedia.org/wiki/Apache_Spark), [Apache ZooKeeper](https://en.wikipedia.org/wiki/Apache_ZooKeeper), and [Fluid_Framework](https://en.wikipedia.org/wiki/Fluid_Framework) and fork to suit their contrived (non-generic) needs. Although these goals seem ambitious, our content will give the determined reader the skills to achieve them. #### What is your scope of work with timelines? + Decide on a table of contents. + Draft available for public perusal. + Fine-tuning and reorganization of contents. + Reviewing by my friends. + Updated acknowledgement. #### Table of contents + Topics covered in my [blog](https://kenluck2001.github.io/blog_post/distributed_computing_from_first_principles.html). + Other possible topics may include the following, with as many new implementations as possible - Software transactional model + cache coherence, transactional cache (2-phase commit, 3-phase commit) - Byzantine protocol (PBT) - Gossip algorithm - Anti-entropy techniques + CRDT + Ancillary structures like Merkle trees + Error correction code (turbo codes, Erasure coding) - Election algorithm - Routing algorithm - Snapshot algorithm - Stabilization algorithm - Peer-to-peer connectivity (chord, CAN, Pastry, Tapestry, Freenet, kaZaA) - Practical formal verification of distributed applications Feel free to reach out to me on multiple channels. + To suggest improvements to my work. + Propose topics of relevance. + Bring relevant research papers to my notice. Please follow me on [Twitter](https://twitter.com/kenluck2001) and [LinkedIn](https://www.linkedin.com/in/kenluck2001/) as I will announce new drafts and improvements to this endeavor. [LaTeX](https://en.wikipedia.org/wiki/LaTeX) used for typesetting. Figures and charts made using the [Dia](https://wiki.gnome.org/Apps/Dia/). ### Risk + Our timeline is tentative. Estimation can be an uncharted territory where the future may be hard to predict. + There is zero chance of [DMCA](https://en.wikipedia.org/wiki/Digital_Millennium_Copyright_Act) requests, as it is an original work. Derived works will have a proper attribution. + This work is apolitical and focuses on widely sharing original educational content, and as such, it is unlikely that any reader would send cancellation requests to my employer. ### Expected outcomes At the end of this endeavor. We will have the following in excellent shape: + A final PDF version of the textbook. + GitHub repo with polished source code. + A blog post describing my writing experience. ### Primary References + Distributed Computing: Fundamentals, Simulations, and Advanced Topics, 2nd, Hagit Attiya, Jennifer Welch. + Introduction to Distributed Algorithms by Gerard Tel, Cambridge University Press. + Reliable and Secure Distributed Programming by Christian Cachin, Rachid Guerraoui, Luıs Rodrigues, 2nd edition, Springer. + The Art of Multiprocessor Programming by Maurice Herlihy and Nir Shavit, Morgan Kaufmann publishers. + An introduction to parallel programming by Peter Pacheco, Morgan Kaufmann publishers. + [Specifying Systems](https://lamport.azurewebsites.net/tla/book.html) by Leslie Lamport. All works will be covered by a liberal [MIT license](https://kenluck2001.github.io/static/license.txt).

previous here

6/16

next here

Please feel free to donate to support my work by clicking donate here