About Nicholas C. Zakas

Recent Posts

Who’s tweeting about you?

Over the past few days, I’ve seen several people tweet that they didn’t see messages referring to them in their replies list. This was one of the hard things I learned when I started using Twitter: messages only appear in your replies if your username comes first in the message. If your username comes anywhere... […]

Announcing Even Faster Web Sites

Since I’ve started writing books, I’ve always been the lead author and the main person behind the writing of the book. Trying to get a book out is a lot of work and trying to coordinate everything and write takes a lot of energy. It’s been fun, but a lot of work, and I decided... […]

XPath in JavaScript, Part 2

In my last post, I introduced DOM Level 3 XPath support in Firefox, Safari, Chrome, and Opera. Missing from that post was a discussion about namespaces and namespace resolution in XPath. If you’re simply using XPath to query an HTML document, then the namespace resolver argument for evaluate() will always be null; if you intend... […]

XPath in JavaScript, Part 1

XPath is one of those things you don’t hear too much about these days. In the days when XML ruled, XPath was very important to developers as a means of random access within a large structure. Since JSON was popularized, XPath has gotten less and less attention, but there is still fairly good support for... […]

The art of throwing JavaScript errors, Part 2

In my last post, I talked about how and when to throw JavaScript errors. I got a lot of responses and follow-up questions, so I thought I’d continue the discussion by explaining a little more about how to throw your own errors. To review, the basic syntax is: throw new Error("message"); This works in all... […]

First review of Professional JavaScript, 2nd Edition

It’s always exciting to see the first review of a book that I’ve written. This time, Stephen Chapman of about.com is the first to review Professional JavaScript for Web Developers, 2nd Edition. He writes in his review: This book has undergone a major rewrite since its first edition three years ago. The book is now... […]

The art of throwing JavaScript errors

When I was younger, the most befuddling part of programming languages was the ability to create errors. My first reaction to the throw operator in Java was, “well that’s stupid, why would you ever want to cause an error?” Errors were the enemy to me, something I sought to avoid, so the ability to cause... […]

Book review: The Art of War

I’ve been making my way back to classical texts lately, and The Art of War has been on my list to read for a while now. My mom was kind enough to give me The Art of War: Complete Texts and Commentaries for Christmas last year, and I was happy to get some time to... […]

Mozilla JavaScript Extension: __count__

Mozilla JavaScript engines support additional, non-standard features resulting in extra properties and methods being exposed to developers. Last week, I talked about the __noSuchMethod__() method that can be used on object. This week, the topic is the __count__ property, which exists on all user-defined objects by default and indicates how many properties and methods are... […]

Book review: Learning Ext JS

This is the second book that Packt Publishing asked me to review for them. Once again, the content of the book is based on a JavaScript library. Learning Ext JS is designed as a gentle introduction into the world of Ext JS. Prior to this book, I had only really heard of Ext JS. I... […]