Introduction

Let’s look at a few equality tests:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
console.log(true==1); // true
console.log(1=="1"); // true

console.log(true===1); // false
console.log(1==="1"); // false

var a = [1,2,3];
var b = [1,2,3];
var c = a;

console.log(a==b); // false
console.log(a==c); // true

var d = new String("text");
var e = "text";

console.log(d==e); // true
console.log(d===e); // false

If you understand why the equality comparison operators return what they return above, then turn around and never look back :D. If not then continue reading…

Read more »

There are a plethora of articles, tutorials and courses on Javascript and I am pretty sure that most of them have been written by amazing web developers who have a vast amount of knowledge on this subject. I plan on writing this Javascript series with a two-fold reason in mind:

  1. Check my understanding on Javascript
  2. Explain the concepts in this series in a way that I feel is easy to understand

Before I start, I want to mention that the I find the MDN documentation to be very useful in understanding most of the concepts. I am going to link the MDN documentation wherever possible to help you easily find additional information on the topics that I plan to cover.

I am going to start this series off with Closures but to understand closure, one must have a good understanding of Variable Scope in Javascript. The important thing to remember about Variable Scope is that Javascript DOES NOT have block-level scope. Javascript has function-level scope (Remembering this alone can save you from so much pain). As long as you understand that, this article should be quite easy to understand.

Read more »

There are a lot of text editors out there. Sublime Text, Atom, Brackets, Visual Studio Code and so many more. Atom is one of the best and it hands down my favorite!

Atom is an open source, platform independent text editor built by GitHub. It has an amazing ecosystem of packages which greatly extend its capabilities. Packages are super simple to install using the in-built atom package manager - apm. And did I mention that its free? Yes, its free!

Atom ships with a minimal set of packages. Here are a few packages that you must download to code like a pro:

Read more »

This post aims to ease the pain that one might feel while trying to understand Git Submodules. It is an advanced Git topic but it really isn’t that difficult to understand.

I will try to demonstrate Git Submodules through an example. Imagine that you have to create a project and use a third party library inside that project. You also want to customize the 3rd party library according to your needs. How do you approach this problem? Using Git Submodules! Let’s look at the example:

Read more »

I created this blog using Hexo. Hexo is a static site generator. It enables you to build a simple website in under 5 mins. Since I am so impressed by Hexo, I am going to let their intro be my first post. Here goes!

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Read more »