Sunday, March 16, 2014

Web Components 101 : Shadow DOM

Unless you've been living under a rock, you must have heard about the latest buzzword in the world of JavaScript - Encapsulation. Encapsulation or Information-hiding is one of the main pillars of object-oriented programming languages which is used to restrict access to some of the object's components. But how does that apply to a language like JavaScript - To find out check out this article I recently authored about Shadow DOM, the underlying technology behind Web components.

Sunday, October 27, 2013

Synchronization in Java

Threads are an integral part of the Java language and have evolved largely introducing new ways to synchronize/lock your data but the basics of Atomicity & Visibility remains same, which are essential to understand and write robust multi-threaded applications. I recently authored a post explaining the basics of Synchronization and introducing the various new ways to lock your data. Let me know in the comments if there is anything in that post that does not make sense.

Wednesday, August 28, 2013

OAuth2.0 for Dummies

Check out my post on OAuth2.0 - the famous access delegation mechanism employed by many big names such as Google, Facebook, Salesforce etc. that eliminates the needs of sharing passwords between applications to exchange data. The post uses Google's OAuth Playground to detail out the communication (authentication and authorization) that occurs between the client and the server when the client is trying to authenticate on behalf of resource owner. It also draws a basic comparison with the earlier version of OAuth - 1.0 and presents a perspective on how things turned ugly when the lead author of the spec resigned !!

Tuesday, March 19, 2013

HTML5 : Web Workers

There isn't much need to emphasize that HTML5 brings with itself, a new set of Javascript armor for the front-end developer. One of the interesting additions that has the potential to change how complex operations in Javascript are performed, is Web Workers. It provides multi-threaded capabilities in a language which was inherently single-threaded otherwise. Check out my detailed writeup on Getting Started with Web Workers here