Recent Posts

Experimenting with ECMAScript 6 proxies

ECMAScript 6, aka “Harmony”, introduces a new type of object called a proxy. Proxies are objects whose default behavior in common situations can be controlled, eliminated, or otherwise changed. This includes definition what happens when the object is used in a for-in look, when its properties are used with delete, and so on. The behavior... […]

CSS Lint v0.6.0 now available

Following quickly on the heels of the v0.5.0 release, here comes the v0.6.0 release. This release saw a lot of activity around bug fixing, refactoring to make things easier, and documentation. Some of the highlights of this release: New Rule: Mike Hopley suggested we add a rule that could suggest shorthand properties when all dimensions... […]

CSS Lint updated to 0.5.0

After a slight delay to figure out some UI changes, the 0.5.0 release of CSS Lint has now made it to As with previous releases, this release saw a mixture of bug fixes and new features. The biggest change you’ll notice on the web site is that rules are now categorized based on how... […]

Introduction to the Page Visibility API

A major pain point for web developers is knowing when users are actually interacting with the page. If a page is minimized or hidden behind another tab, it may not make sense to continue functionality such as polling the server for updates or performing an animation. The Page Visibility API aims to give developers information... […]

Quick and dirty: Spinning up a new EC2 web server in five minutes

One of the things I’ve become more adept at in my new life is dealing with the dizzying array of Amazon web services. The two parts of the Amazon kingdom that I’ve really enjoyed using are S3, their RESTful redundant storage solution, and EC2, the on-demand virtual machine system. Recently, I was in a situation... […]

Book review: Eloquent JavaScript

I’d heard a lot about Eloquent JavaScript by Marijn Haverbeke over the past few months, and so I was greatly interested when asked if I would do a book review. The first thing that struck me about the book was completely visual: the book doesn’t look scary or overwhelming at all. Indeed, everything about the... […]

Introducing CSS Lint

Not too long ago, Nicole Sullivan and I announced that we’ve started working together. Today, we’re happy to announce the release of our first collaboration effort: CSS Lint. The goal of CSS Lint, as you may guess, is to help you write better CSS code. We’ve spent huge chunks of time over the past couple... […]

On leaving Yahoo! and what’s next

After nearly five years, today is my last day at Yahoo!. It really seems like only yesterday I was blogging about my new job and packing up my Peabody, Massachusetts condo to move to California. My plan at the time was to work at Yahoo! for a year to help finish work on My Yahoo!... […]

Better JavaScript animations with requestAnimationFrame

For a long time, timers and intervals have been the state of the art for JavaScript-based animations. While CSS transitions and animations make some animations easy for web developers, little has changed in the world of JavaScript-based animation over the years. That is, until Firefox 4 was released with the first way to improve JavaScript... […]

Lessons on @font-face from the F2E Summit

Last week, I helped host the F2E Summit at Yahoo!, our internal developer event that brings together front end engineers from all around the world. One of the most heavily covered topics was @font-face, and more specifically, it’s pros and cons. Before I forgot all of the great information, I wanted to write it down.... […]

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