NCZOnline

Recent Posts

Understanding ECMAScript 6 arrow functions

Tags: , ,

One of the most interesting new parts of ECMAScript 6 are arrow functions. Arrow functions are, as the name suggests, functions defined with a new syntax that uses an "arrow" (=>) as part of the syntax. However, arrow functions behave differently than traditional JavaScript functions in a number of important ways: Lexical this binding – […]

That time the lights went out at Etsy

Tags:

I was preparing for my talk at Etsy’s Code as Craft series this past Tuesday. The room was starting to fill and we had about 10 minutes before I was to start. I took out my laptop and found, much to my dismay, that it wouldn’t work with the projector. For anyone who’s done any […]

Understanding how you provide value

Tags: , ,

As a geeky teenager, I watched in envy as all the pretty girls started dating the jocks, the rebels, and the mysteriously popular kids who didn’t seem to have any discernible talent. I, like most guys in my situation, would sit and watch and daydream about the day that those girls would want to date […]

Introducing ESLint

Tags: , , , ,

A long time ago, JSLint was the state of the art in JavaScript linting technology. Then JSHint came along as a fork and took over due to increased flexibility. I welcomed JSHint as my linter of choice and used it everywhere, happily submitting patches and customizing which rules to apply based on the project. At […]

The case for setImmediate()

Tags: , , ,

One of my favorite new APIs that has been beaten about is setImmediate(). While I’ll concede the naming is completely wrong, the functionality is completely awesome. The basic idea is to tell the browser that you want some JavaScript code executed after the last UI task in the event loop completes. To put it more […]

Internet Explorer 11: “Don’t call me IE”

Tags: , , ,

This past week, Microsoft officially unveiled the first preview of Internet Explorer 11 for Windows 8.1[1]. Doing so put to rest a whirlwind of rumors based on leaked versions of the much-maligned web browser. We now know some very important details about Internet Explorer 11, including its support for WebGL, prefetch, prerender, flexbox, mutation observers, […]

eval() isn’t evil, just misunderstood

Tags: ,

In all of JavaScript, I’m not sure there is a more maligned piece than eval(). This simple function designed to execute a string as JavaScript code has been the more source of more scrutiny and misunderstanding during the course of my career than nearly anything else. The phrase “eval() is evil” is most often attributed […]

On the politics, cargo-culting, and maintainability of JavaScript

Tags: ,

There has recently been a renewed focus on what I’ve come to call the anti-convention movement in JavaScript. It seems like once or twice a year, someone either does a talk or writes an article saying that all of the things so-called JavaScript experts tell you are wrong and you should do whatever you want. […]

GitHub workflows inside of a company

Tags: ,

Recently I asked engineers to share their experiences working with GitHub at companies. I’ve always used GitHub for open source projects, but I was interested in learning more about using it professionally and how one’s development workflow might change given all of GitHub’s capabilities. I set up a gist[1] so people could leave the answers […]

Blink and the end of vendor prefixes

Tags: , , ,

When Google announced that it was forking WebKit into Blink, there was a lot of discussion around what this would mean for web developers, and if the WebKit monoculture was truly breaking or not. Amongst the consternation and hypotheticizing was a detail that went overlooked by many: Blink’s plan to stop creating new vendor prefixes. […]

Content copyright © 2004-2011 Nicholas C. Zakas. All Rights Reserved. All code examples on all pages, unless otherwise indicated, are BSD licensed. Blog Feed