Things to check before releasing your web application


A couple of things to validate before you press the 'go-live' button on that wonderful web application of yours.

Understanding JavaScript Property Descriptors 3


Now that we know the basics, this post covers the JavaScript methods for setting and modifying object property descriptors.

Understanding JavaScript Property Descriptors 2


Continuing with the dive into property descriptors, this post goes deeply into theย properties, what they mean and how they can be used.

Deep dive into JavaScript Property Descriptors


There are a couple of ways to assign properties to objects in JavaScript. The most common example is using obj.field = value or obj['field'] = value. Thisย approach is simpleย however, it is not flexible because it automatically defines property descriptor fields

Why I am moving to Angular 2 from AngularJS


If you are thinking of choosing between Angular 1 or Angular 2, I'll say go for Angular 2; it's totally worth it.

Book Review:Build your own AngularJS


As part of myย continuous learning; I started reading Tero Parviainen's 'Build your own AngularJS' about 6 months ago. After 6 months andย 127 commits, I am grateful I completedย the book.

Fighting the impostor syndrome


Nearly everyone goes through moments wherein they doubt their capabilities.

New beginnings : New frontiers


I have been pretty much a JavaScript person mostly for the past fourย (or is it 5?) years - well ever since I did my internship in 2012. No doubt I really like the language, the ecosystem and the potentials. It's easy to get so engrossed in the ecosystem - there is never a dearth of … Continue reading New beginnings : New frontiers

The difficult parts of software development


Another classic rant again; yeah it's always good to express thoughts and hear about the feelings of others - a good way to learn.

A simple explanation of 1s complement arithmetic


A simple explanation of 1s complement arithmetic - a basis for how computers run.

How to detect page visibility in web applications


You are building a web application and need the application to pauseย whenever the user stops interacting with the page;ย 

How to track errors in JavaScript Web applications


Your wonderful one-of-a-kind web application just had a successful launch and your user base is rapidly growing. To keep your customers satisfied, you have to know what issues they face and address those as fast as possible.

Maturing as a software engineer


Looking back on my time as a developer, there are a lotย of things I would have avoided doing if I had as much knowledge and maturity as I did now.

Understanding Bit masks


Bit masks enable the simultaneous storage and retrieval of multiple values usingย one variable. This is done by using flags with special properties (numbers that are the powers of 2). It becomes trivial to symbolize membership by checking if the bit at a position is 1 or 0.

Safely handling destructive loops


Simple loops can be boring, after all, why not have the collection change during a looping operation for more fun?ย 

Influential Books for programmers


I try to read a lot of books. Over the years, myย 'taste' for books has been refined and some of my criteria are listed below.

10 hard-learned Lessons for aspiring programmers


I have made a couple of mistakes over the yearsย and wanted to share those pitfalls so upcoming programmers know what to avoid and what works.

Code complete != ship ready


I used to work for a team whereย whenever an engineer said he was done, the next question would invariably be are you 'done done'?

10 years of programming: Lessons Learnt


Looking back, I have learnt a couple of lessons the hard way and wanted to share some of these so that other engineers know what to avoid.

How function spies work in JavaScript


If you write unit tests, then you likelyย use a testing framework and might have come across spies. If you don't write unit tests, please take a quick pause and promise yourself to always write tests.

Learning ES2015 : let, const and var


Lions at the zoo Zoos allow for safely viewing dangerous wild animals like lions. Lions are caged in their enclosures and can't escape its boundaries (if they did, it'd be chaos eh?). Handlers, however, can get into cages and interact with them. Like cages, you can think of variable scoping rules as establishing the boundaries and walls in … Continue reading Learning ES2015 : let, const and var

Getting Started with ES2015


A brief introduction to some of the reasons for ES2015/ES6

Chrome dev tools deep dive : Network


Tutorial on the chrome dev tools focusing on the network tab

Chrome dev tools deep dive : Sources


Deep dive into features of the Sources tool in Chrome

Chrome dev tools deep dive : Console


The console is one of favorite places. The REPL environment is a quick way to validate JavaScript expressions. However, there is a lot more it can do. Read on. 1. $0 - $4 selectors The last inspected element is always available in the console as $0. $1 points to the next most-recently element and so … Continue reading Chrome dev tools deep dive : Console