Detecting JavaScript Libraries and Versions

.

In the spirit of making our web browsing activities more secure, often times we need to be aware of all the resources and assets being loaded by our important web sites (Internet banking, HR portal, and the likes). Fortunately, it is rather easy to programmatically inspect which JavaScript libraries are used by those sites. Using… Read more »

ECMAScript 6 and Proxy

.

Being able to intercept a certain operation to an object can be really useful, in particular during a troubleshooting session. With ECMAScript 6, this is possible via its new feature, proxy. Creating a proxy on a particular object allows a predefined handler to get notified when something happens. In the latest draft specification (Rev 15,… Read more »

The Awesome E4E 2013

.

Last week I had the honor of attending Engineers4Engineers, a small developer-oriented event organized by Constant Contact in Waltham (MA). This conference was attended by over 250 people, it was an amazing experience. Despite being the first in the series, the organizer did an awesome job (kudos to Anthony and friends who spent an enormous… Read more »

The Amazing Velocity 2013

.

Last week I was at Velocity 2013, a conference focusing on web performance and operations. The schedule was packed with high-quality sessions, the event was also attended by many luminaries and experts in the field. This was my third Velocity and it keeps getting better. Of course, another amazing aspect of such a conference is… Read more »

JavaScript Source Transformation: Non-Destructive vs Regenerative

.

Transforming JavaScript source code is essential to build various JavaScript tools, from minifier to transpiler. There are two different techniques for doing the transformation: non-destructive change of the original source or full regeneration from the syntax tree. They serve different purposes and tend to complement each other. With both strategies, the original source needs to… Read more »

JavaScript Timing: Accuracy vs Precision

.

When analyzing the performance of a JavaScript-based application, stopwatch is often a convenient tool. Just like any other timing measurements in real life, it is important to ensure that this produces a valid and confident result. Thus, we need to avoid some factors which may reduce its accuracy and precision. Imagine you are running on… Read more »