Smart quotes Always use smart quotes, such as βOMG, itβs amazing.β Character Counts Total characters: 0 User agent What does the web browser report as the User Agent string? Passwords Always pick strong passwords. Always verify it with the password strength estimator.
When growing a small organization, such as a technology start-up, the first few hires are extremely critical. Yet, among many attributes which must be identified during the interview process, emotional resilience is often overlooked.
About a year ago, I decided to abandon WordPress for this blog and switch to Hugo to generate the content and Firebase to host it. How did the authoring workflow change due to this switch?
A big surprise in the Kotlin land was the technology preview of Kotlin/Native that can compile your Kotlin program into native executable, thereby completely eliminating the need for Java Virtual Machine.
Guetzli, a new JPEG encoder from Google, is a promising solution to reduce the size of JPEG images without causing any perceptible degradation in quality.
Debian is well known for its legendary stability. These days, with the help of Windows Subsytem for Linux (WSL), Debianβs rich sets of tools and utilities are also available to millions of Windows users.
Microsoft Windows, a popular consumer operating system, can be a capable platform for web developments. There are three hidden tricks to make that happen: utilize a package manager, use a powerful code editor, and run Linux within Windows.
The latest version of ChakraCore, an open-source JavaScript engine from Microsoft, finally supports JIT compilation on platforms such as Linux and macOS.
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 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.
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.
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.
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.
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...
After using Blogger and WordPress for 5 years each, it is time for something new. I am migrating this blog to a new space, https://ariya.io, with the primary objective of delivering it as fast as possible.
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...
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.
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.
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.
We often hear stories of harmful last-mile content tampering, from YouTube video downgrading to JavaScript-injected advertisement. This prompted me to run an experiment of always-on VPN on my phone (Nexus 5X running Android 6). Surprisingly, I come to the conclusion that it is definitely feasible to...
MozJPEG, a JPEG encoder project from Mozilla, is a fantastic way to optimize your JPEG files. Setting it up however might be quite a hassle. Fortunately, a virtualized environment such as Docker offers a much simplified way to use MozJPEG.
Using Docker on OS X is getting easier. Previously, it involved setting up boot2docker by hand. With the new Docker Toolbox (which wraps boot2docker and Kitematic, among others), installing Docker is almost trivial.
ChakraCore, the JavaScript engine that powers the new Edge browser, has been open-sourced by Microsoft. While currently it only runs on Windows, support for other operating systems is in the roadmap. It is fun to follow the progress of the Linux version of ChakraCore.
I am a technologist currently focusing on making a social impact. I write blog posts and tweet fairly regularly. I do speak at developer events from time to time. I live and breathe open-source. I created the worldβs first truly headless web browser, PhantomJS, used by thousands organizations for we...
My accomplishments in the last 10 years, which make me stand out, are mostly: starting two widely adopted open-source projects: PhantomJS (25K GitHub stars): the first headless browser useful for web automation Esprima (70M downloads/month): the first JavaScript parser to build language tooling appl...
An important step in improving your public speaking skills is to learn from the master. These days, there are a lot of very fascinating talks that can become the source of inspiration. One of them is the most recent TED talk titled, βThe four fish weβre overeatingβ.