Hey awesome people, it’s real good to see you back here. Alright so, in this tutorial we are going to be building a video chat application, yup you heard it right. We will explore how websites like Skype and Slack works. All right so let’s dive in.

Our Stack

  1. Node.js
  2. Express.js
  3. TypeScript
  4. Socket.io
Image for post

Why Node.js ?

That is an excellent question. Usually REST apis are written in a client/server model, in which the client would demand certain resources from the server, and get those resources in response. This architecture is common in traditional web applications. The server reacts when the client made…


Image for post
photo cred to Matt Hardy

Yes, the title is not a typo. We are actually going to reverse engineer RxJs library (stay tuned, tons of code to come 😀). But before we proceed let me tell you why I embarked on this crazy endeavour.

In my day job I work with libraries such as React and RxJs religiously. Needless to say my job involves a lot of google searching 😅. While surfing the internet for dev articles and going through stack overflow threads I often noticed senior devs, JavaScript gurus and functional programming aficionados like to talk about this concept call “reactive programming”. A lot…


Image for post
Photo by Joppe Spaa on Unsplash

As software developers version control plays an important role in our day to day work life. In this article we will discuss 5 git tips and tricks that will enhance your productivity, better your workflow and make you an overall git ninja. Let’s dive in:

1. Remove all your local git branches but keep master

You are often working on many features and every feature requires you to create a separate branch. At some point you will have lots of dangling local branches that you don’t need. As a developer I have this problem all the time. I want to get rid of all branches except master/main. …


Image for post
Photo by Black Chitsulo on Unsplash

Have you ever scheduled a meeting in Gmail, Outlook or Calendly? I am sure you did 😀. Once you schedule a meeting and add participants it sends out invitations to everyone. Let’s say in this scenario some people accept the invite few don’t. People who accept the invitation of the meeting then get a reminder 30 minutes before the scheduled meeting time. They again get another reminder notification 5 minutes before the scheduled meeting time. This is a classic example of a scheduled cron job. There are numerous applications of scheduled cron job such as the one above. …


Image for post
Photo by Bill Jelen on Unsplash

In this tutorial we will briefly go over the process of deploying a Node.js/Express application on AWS EC2 instance. Let’s face it, server configuration and application deployment can be a tedious task. As a developer you may not know every knits and bits about network security, or how reverse proxy and load balancing works. The first time I had to deploy my application I went through a plethora of information on stack overflow and various blog posts. Wouldn’t it be nice to have a step by step guide to deploy your application? I asked myself. …


Image for post
Photo by Pankaj Patel on Unsplash

In this article I will show you how to apply Open/Close principles (a very well know concept in software architecture) into your React components and write clean, reusable and modular code with ease.

What is the Open/Close Principle?

In object-oriented programming, the open/closed principle states “software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification”; that is, such an entity can allow its behaviour to be extended without modifying its source code.

But how is this useful in a React app?

To understand how this could be useful in a React app, let’s start with a practical problem. Let’s say we are building a warehouse application. …


Image for post
Photo by NESA by Makers on Unsplash

Rust has made it as the most loved programming for the third time in 2020 on Stack Overflow survey. There’s a lot of hype around Rust. If you are wondering what makes Rust so unique I highly recommend you give this blog post a read. However, the focus of this article is not to sell you on Rust. If you have already decided that you want to give Rust a try then here are 5 resources that will get you up and running with Rust programming.

1. The Rust Programming Language


node.js picture

What makes Node.js so performant and Scalable? Why is Node the technology of choice for so many companies? In this article, we will answer these questions and look at some of the advanced concepts that make Node.js unique. We will discuss:

  1. Event Loop ➰
  2. Concurrency Model 🚈
  3. Child Process 🎛️
  4. Threads and Worker Threads 🧵

JavaScript developers with a deeper understanding of Node.js reportedly earn 20% ~ 30% more than their peers. If you are looking to grow your knowledge of Node.js then this blog post is for you. Let’s dive in 🤿!!

What happens when you run a Node.js Program?

when we run our Node.js …


Coin picture by Chris Briggs
Photo by Chris Briggs

Imagine planting a tree that grows money instead of leaves. Too good to be true right? Well not quite. Let me tell you my story; how I generated my first 500$ in passive income. If you have somewhere between 100$ to 2000$ lying around that you don’t need anytime soon then you too can invest that money and generate a healthy passive income.

Disclaimer: Only invest the amount that you know you don’t need anytime soon (at least within the next 3 months).

Alright, so how do we do this?

Dividend Stocks, the oldest trick in the book!!

I know what you are thinking. As a risk averse…


Image for post

The corona-virus pandemic will be remembered as one of the most significant events of this century. For better or worse every industry (including the technology industry) needs to adapt to this new reality. Here are some predictions how the industry will change and what it means to be a software developer in a post COVID world.

  1. Remote work will be the new norm
  2. Developer demands will increase significantly as more companies adopt online presence.
  3. Wide adoption of online education

Remote work: the new norm

We have already been seeing a wide adoption of remote work for the past couple of years. The number of developers…

Shadid Haque

Software Craftsman | Entrepreneur | Freelancer. Always on the look for opportunities to make the world a little bit better with technology.

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