About Collections Archives

ChakraCore on Linux

2 min read

The latest version of ChakraCore, an open-source JavaScript engine from Microsoft, finally supports JIT compilation on platforms such as Linux and macOS.

On-the-fly JavaScript Syntax Node Inspection

3 min read

A common approach to analyze JavaScript source statically is to parse the source into an abstract syntax tree (AST) and then to traverse the AST. An alternative approach that might work in a few cases is to inspect each syntax node as it is constructed.

Syntax Highlighting in the Terminal

2 min read

Syntax higlighting provides some nice additional visual cues for a code fragment, especially when it is part of an article or a slide deck. But what about code examples in terminal? There is no reason why it should not be highlighted as well.

TypeScript 2.0 and Strict Null Checking

3 min read

The most recent TypeScript 2.0 includes the ability to treat every type as non-nullable. This is powerful, as ignoring null often leads to latent problems. This post enumerates common type errors related to strict null checking and how they can be remedied.

Anatomy of a Bug Report

3 min read

A report of an issue should always contain three parts: how to reproduce it, what is being currently observed, and what is the expectation.

ChakraCore on macOS

3 min read

Microsoft open-sourced their JavaScript engine, ChakraCore, sometime ago. Since then, it has been ported to run on other platforms than Windows. This is fantastic, as now it is possible to use it on other Unices, including macOS.

Terminating SSL with Hitch

3 min read

Do you have a web application and still not using SSL? No need to rearchitect your application, you can use a TLS/SSL proxy to front the traffic your application. Among many different choices, Hitch is lightweight, fast, and easy to setup.

Shrinking PNG Images with Quantization

3 min read

A screenshot is usually displayed from a PNG image. If the screenshot is mainly for the web consumption, often it is not important to have every pixel portraying the color faithfully. This is an opportunity to reduce the bandwidth consumption by delivering a reasonably good, quantized version of the screenshot in a smaller PNG image.

Migration: From WordPress to Hugo

2 min read

After using Blogger and WordPress for 5 years each, it is time for something new. I am migrating this blog to a new space,, with the primary objective of delivering it as fast as possible.

Using Zopfli to Optimize PNG Images

2 min read

PNG format is very useful because it preserve all the colors, making it suitable to depict a screenshot faithfully. Unfortunately, many graphics applications do not produce a PNG file with the smallest possible size. Fortunately, this situation can be remedied using an additional tool such as Zopfli from Google.

Isolated Development Environment using Nix

4 min read

In the earlier blog post, I mentioned the use of Nix as a package manager on OS X. In this follow-up, you will witness the power of Nix to create isolated development environments.

Nix as OS X Package Manager

3 min read

Power users on OS X are familiar with Homebrew or MacPorts for installing and managing software packages conveniently. Yet, those two well-known tools are not the exclusive players. There is a growing interest in Nix, particularly for its use on OS X.

API Names and Begging the Negatives

2 min read

When using a programming library, it is unfortunate that we often encounter the use of function and property names in its negative variant. Particularly when there is a choice of two values, using the positive variant would help reducing confusions and ambiguities.