Preface
Sometimes your destiny will follow you around for years before you notice it. Amidst the medley of fascinating new technologies that I was playing—I mean working—with in the early 1990s was a stunted little scripting language called JavaScript. I soon realized that, despite its name, it didn’t really have anything to do with my beloved Java, but it persistently dogged my every step.
By the late 90s, I had decided to cut my hair and get a proper job, and found myself working with the early adopters of digital set-top box technology. The user interface for this substantial piece of software was written entirely in JavaScript and I found myself the technical lead of a small team of developers writing window-management code, schedulers, and all kinds of clever stuff in this language. “How curious,” I thought. “It’ll never catch on.”