Sign in

A Passionate Software Engineer |

A practical guide

For starters, MongoDB is a document-oriented NoSQL database used for high volume data storage. In the traditional relational databases, we use tables and rows. In contrast, MongoDB makes use of collections and documents. Documents consist of key-value pairs which are the basic unit of data in MongoDB.

Without any further delay, we jump into what is Sharding, its requirement, sharding cluster architecture in MongoDB, and a practical example with Docker.


Sharding is a method for distributing data across multiple machines. MongoDB uses sharding to support deployments with very large data sets and high throughput operations.

Why Sharding?

Database systems…

The detailed guide

HashMap is used widely in programming to store values in pairs(key, value) and also for its near-constant complexity for its get and put methods. To access the value we need a key. But have you ever wondered, how it functions internally? How the keys and values are stored? What are the things that decide on its performance?

In this article, we are going to discuss various things about the working of HashMap and the things involved in it.

If someone asks “How HashMap works?”, the straight forward answer will be “On the principle of Hashing”.

But what…

A compilation on important points from the web to understand before taking any action.

From web — Business Today

The recent WhatsApp’s privacy update has created a storm questioning the privacy of users data.

So, first let’s understand what is the privacy update and why there is so much of concern expressed all over internet.

The Facebook-owned messenger app said that as part of the policy update, it will share user data with other Facebook companies.

It means it will collect all the user data such as your device id, user id which is your phone number, your location, your contacts, your texts and other…

The distributed stream processing engine

What is Apache Flink ?

Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. Flink has been designed to run in all common cluster environments, perform computations at in-memory speed and at any scale.

More info

Below article gives a gist on streaming engine concepts and choices available.

Below is an article which compares all these frameworks in great detail.


The below slides discuss in detail from big data to emergence of big data frameworks such as spark and Flink. The example using Datastream API and Dataset API. …

Hands on Multi-threading in Java

In the previous article, which is the Part — 1 of the series of articles on Multi-threading, we have learned how thread synchronisation and inter-thread communication works with two working examples.

If you haven’t read Part 1 yet, read it here and explore the examples in this article in a whole new light.

Without further ado let’s start the part 2 of this series on Multi-threading where we discuss with actual working examples rather than going through only theory.


  1. Fizz-Buzz Problem with four threads.
  2. Print Even-Odd series with semaphores
  3. Producer-consumer Problem
  4. Dining Philosopher’s Problem

Fizz-Buzz Problem with four threads.


Hands on multi-threading using Java

Java Multi threading

In this article, we will learn how multi-threading works with some examples rather than going through just theory.

Prerequisites for this post.

These are the prerequisites to understand this post.

  1. What is a thread?
  2. Thread life-cycle
  3. Thread creation in Java.

If you are good with these 3 things, you can go ahead. Otherwise I recommend you to go and read about these things here.


Multi threading means that you have multiple threads of execution inside the same application. A thread is like a separate CPU executing your application. …

Understanding the terminology

Image from Alpha coders

Everyone familiar with Bitcoin knows Bitcoin is created by a process known as bitcoin mining. Miners solve the difficult cryptographic puzzles to create a new block in the blockchain. This involves the usage of high computational power which needs a large amount of electricity.

Fact: The amount of electricity used to mine bitcoin is nearly 50Twh which can power 7 mn households in the US.

Let’s continue. . .

For every new block added to the blockchain, one will be awarded a block reward. This is the only way bitcoin is created.

As per bitcoin’s code, for every 210,000 blocks, the block reward to miners will get halved until they reach zero in two decades. …

The super-productive shell

The original article is found here —

Previously, I used bash and zsh. After moving to the fish shell, a lot of things have changed and I am using it for nearly 2 years now. The user experience is extremely comfortable and enjoyable compared to other shells. I am not planning to go back and I suggest everyone should try it.

In this article, I am going to write everything about the fish shell.

What is the fish shell?

Fish is a smart and user-friendly command-line shell for Linux, macOS, and the rest of the family. Notice the bold words. …

Every person at some point in life faces a situation where things go wrong while dealing with people that make one regret later. Listen to me carefully, this is going to happen a lot of times. If one doesn’t want to lose an opportunity or if one wants to make an impression, one must know the ways of dealing with people. Otherwise, handling people is not as easy as it seems. I faced this many times and how remembering these simple things made my life easier.

In this article, I am going to be talking about some key points while…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store