While designing a Distributed System, it is essential to pick the right kind of architecture. Usually, architectures are evolving, but picking the righ…
Arpit Bhayani
The only way to infinitely scale your system is by making it distributed, which means adding more servers to serve your requests, more nodes to perform…
Arpit Bhayani
In this essay, we explore a simple yet effective DoS attack called Fork Bomb, also called Rabbit Virus. This attack forks out processes infinitely, sta…
Arpit Bhayani
Python supports chaining of comparison operators, which means if we wanted to find out if b lies between a and c we can do a < b < c, making code super…
Arpit Bhayani
In this essay, we will model taxonomy on top of a relational database, and as a specific example, we will try to build Udemy's Taxonomy. The primary fo…
Arpit Bhayani
Python in version 3.8 introduced Assignment Expressions which can be used with the help of the Walrus Operator :=. This expression does assign and retu…
Arpit Bhayani
Persistent Data Structures preserve previous versions of themselves allowing us to revisit and audit any historical version. While we already did an ex…
Arpit Bhayani
Before we start our essay on Persistent Data Structures, I just want to take this opportunity to share with you all something super interesting I have …
Arpit Bhayani
Every programming language aims to be performant in its niche and achieving superior performance requires a lot of compiler level optimizations. One fa…
Arpit Bhayani
Every programming language aims to be performant in its niche and achieving superior performance requires a bunch of compiler and interpreter level opt…
Arpit Bhayani
One programming paradigm, that is hardest to visualize, as almost every single programmer out there will agree on, is Recursion. We usually use pen and…
Arpit Bhayani
Measuring distinct elements from a stream of values is one of the most common utilities that finds its application across the spectrum. Most of these u…
Arpit Bhayani