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. …


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

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…


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…


Photo by AltumCode on Unsplash

Since the beginning of my career, I was obsessed with one question. How can I improve and become a better software engineer? Over the years I have had the opportunity to work with many talented software developers. I tried to learn from them as much as I could. I actively sought out mentorship from industry experts and rockstars developers. I asked around for help in various forums, meetups, and discussion blogs. Moreover, I looked up to legendary programmers like Linus Torvalds and Dennis Ritchie. I realized soon enough that all great programmers have some common denominators. My goal was to…


Photo by Layton Diament on Unsplash

Iterating through items and dealing with asynchronous logic (i.e. API calls) are probably two of the most common tasks we have to perform as JavaScript devs. In this article, we will discuss the best approaches to combine async/await and iterative logic. There will be a time when you would want to run async operations inside for loops (or any type of other loops). Let’s take a look at how to deal with such situations.

Reading Promises in sequence

Let’s say we have a list of files and we would like to read and log the contents of each file in the sequence. How would…


Photo by Daniel Cheung on Unsplash

Cloning objects is one of the most commonly used operations in the JavaScript universe. In this article, we will dive into different types of cloning that exist in JavaScript (Node.js and Browser environment). We will also discuss the most efficient ways to shallow and deep clone objects in JavaScript.

📝 There are many blog posts, articles, and stack overflow threads that exist on this topic already. This article is my attempt to put the collective knowledge of the internet into one composed summary that is easy to follow and reference.

Let’s dive in 🏄‍♀️

Native deep cloning

Native deep cloning is known as…


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. …


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. …


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. …


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

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