Open in app

Sign In

Write

Sign In

Abhijit Mondal
Abhijit Mondal

1.6K Followers

Home

About

Aug 22

Why should you care about hash function

Ever since I learnt about data structures and algorithms in college, hash tables has been the most famous and most commonly used data structure in real life software engineering. …

Hashing

13 min read

Why should you care about hash function
Why should you care about hash function
Hashing

13 min read


Aug 14

Using JAVA & Zookeeper to build a distributed key value store

In this post, I am going to build a simple distributed key-value store using JAVA and sockets for networking. I am going to show how to use Zookeeper as a coordination service in a cluster with multiple partitions and replication. Following are the functions of Zookeeper service in this system: …

Java

19 min read

Using JAVA & Zookeeper to build a distributed key value store
Using JAVA & Zookeeper to build a distributed key value store
Java

19 min read


Aug 13

Tradeoffs in Software Engineering

“If the only tool you have is a hammer, it is tempting to treat everything as if it were a nail.” — Abraham Maslow In the field of software engineering, every choice you make requires making one or more tradeoffs. …

Trade Off

11 min read

Tradeoffs in Software Engineering
Tradeoffs in Software Engineering
Trade Off

11 min read


Jul 19

Building a Spark Job Scheduler on Kubernetes

This post is a gist of our efforts in migrating from managed Spark in Synapse and Databricks to Kubernetes for our production workloads. Without the nitty gritty of migration efforts, lets get into the details of how did we setup our Spark cluster and how our Spark application runs on…

Kubernetes

18 min read

Building a Spark Job Scheduler on Kubernetes
Building a Spark Job Scheduler on Kubernetes
Kubernetes

18 min read


May 18

Deep dive into Chord for Distributed Hash Table

In a distributed hash table, a hash table with N keys is partitioned into M partitions or nodes. This is done in order to handle large number of keys and queries that exceeds the limitations of a single machine CPU and RAM. For e.g. if the size of a hash…

Distributed Hash Table

15 min read

Deep dive into Chord for Distributed Hash Table
Deep dive into Chord for Distributed Hash Table
Distributed Hash Table

15 min read


Mar 27

Problem solving with data structures in OOPs and LLDs

Having worked on variety of problems over the past 10 years or so, one of the most challenging aspect that still remains for me is how to tackle inter-dependency problems in OOPs efficiently? The confusions that arises when dealing with problems that require dealing with inter-dependency in an OOPs are…

Low Level Design

10 min read

Problem solving with data structures in OOPs and LLDs
Problem solving with data structures in OOPs and LLDs
Low Level Design

10 min read


Mar 18

Building a multi-client chat server with select and epoll

Chat sessions are maintained by the chat server which coordinates between multiple user sessions like managing user identities, accepting messages from sender, forwarding messages to receipient, tracking user login/logout info etc. While a full-fledged chat server requires database connections to persist user and session informations. This could be a simple…

Epoll

10 min read

Building a multi-client chat server with select and epoll
Building a multi-client chat server with select and epoll
Epoll

10 min read


Feb 18

Understanding when and how to use Memory Mapped Files

There were several instances where I wished that my file I/O gets a bit more faster because there were times when they required to be almost real time. Sometimes we can get around this problem by using an in-memory cache (hash tables, trees etc.) …

Memory Mapping

17 min read

Understanding when and how to use Memory Mapped Files
Understanding when and how to use Memory Mapped Files
Memory Mapping

17 min read


Feb 8

Non-blocking image downloader using sockets in Python

As a ML and a data engineer, I am quite often required to download lots of images (for Computer Vision projects) from different datasets available over the internet. Using Python requests.get() to download thousands of images each on an average 50KB in size can be very time consuming. For a…

Non Blocking Io

9 min read

Non-blocking image downloader using sockets in Python
Non-blocking image downloader using sockets in Python
Non Blocking Io

9 min read


Feb 4

Understanding why you won’t need Python Coroutines 99.9% of the time

Having worked extensively with Python across multiple projects in my career, I have used multithreading and multiprocessing in many places wherever I felt that there is a need for one. One of the biggest advantage of multithreading and multiprocessing is that it is quite straightforward to understand where you will…

Coroutine

11 min read

Understanding why you won’t need Python Coroutines 99.9% of the time
Understanding why you won’t need Python Coroutines 99.9% of the time
Coroutine

11 min read

Abhijit Mondal

Abhijit Mondal

1.6K Followers

Engineer

Following
  • Pinterest Engineering

    Pinterest Engineering

  • An Truong

    An Truong

  • Foursquare

    Foursquare

  • Netflix Technology Blog

    Netflix Technology Blog

  • Vivek Kumar

    Vivek Kumar

See all (127)

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech

Teams