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 [https://www.javascripting.com/view/async] Nowadays there are a number of ways to avoid callback…

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…

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 [http://jsbeautifier.org]? Both of these sites require a component with editable text content. This week we'll take a closer look…

Library of the Week: Password Hashing 101

This library of the week is not a single library, but rather a few different libraries used for password hashing. But first a little background. Everybody knows that storing plain text passwords is a bad idea. Storing plain text hashes is not much better; with lookup tables attackers can still…

Library of The Week: Colorbox

Lightbox, a favorite technique for presenting image galleries, has been with us for more than 10 years. Click on an image and it is displayed in a large modal overlay with controls to step through other images in the same gallery. Although some pure CSS experiments [http://tympanus.net/codrops/…