Library of The Week: Async.js

As we look forward to the ES7 async function, let's take a moment to remember an aging former star that still has a little bit of life left in it: Async.js Nowadays there are a number of ways to avoid callback hell: Transpiler, ES6/7 native promises and native…

Library of The Week: Punycode (and Other Unicode Tips)

Unicode support in JavaScript is far from perfect. Consider the following: > '𝗝𝗦 forever'.substring(0,2) '𝗝' What's wrong? First, let's quickly review some basic facts about Unicode. Unicode identifies individual characters using hexadecimal numbers called "code points" in the range from U+0000 to U+10FFFF. Various…

Defensive JavaScript? Yes, Please!

Every developer knows the feeling of hours wasted hunting down some obscure bug. Programming would be so much faster and more enjoyable if we could avoid these bugs before they happen. Since no magical solution is on the horizon, we can at least write our code as defensively as possible.…

Library of The Week: CodeMirror

Have you ever edited one of your source files directly on the GitHub website? Or have you prettified JSON or JavaScript code with the Online JavaScript Beautifier? Both of these sites require a component with editable text content. This week we'll take a closer look at how this feature works…