About Nicholas C. Zakas

Recent Posts

Speed up your JavaScript: The talk

Steve Souders recently invited me to participate in his Web Exponents speaker series at Google. Periodically, people come in to give hour-long tech talks about various topics. Since I had most recently worked with Steve on his new book, Even Faster Web Sites. I wrote a chapter on JavaScript performance, and Steve asked if I... […]

Detecting if the user is idle with JavaScript and YUI 3

Web developers have been interested in whether or not a user is idle since the Ajax explosion hit. With the introduction of more dynamic, highly interactive web interfaces came the desire to know if the user was actually doing anything at any point in time. Thus, the quest for determining if the user is idle... […]

Book review: Learning jQuery 1.3

Apparently I didn’t scare away the good folks at Packt Publishing with my last couple of book reviews, so they asked me to take a look at a couple more. Both of the books are on jQuery and the first that I picked up was Learning jQuery 1.3 (on Amazon). Once again, I considered myself... […]

Computer science in JavaScript: Bubble sort

Sorting algorithms are one of the cornerstones of computer science education. The purpose isn’t to teach you a dozens different ways to sort data when you’ll never need to implement them by hand in your professional life. Instead, they are used as a tool to teach algorithm theory, to show you that there are multiple... […]

JavaScript stack overflow error

From time to time, I’ve blogged about JavaScript browser limits and how they present themselves. I started out by discussing the long-running script dialog and then moved on to other performance issues. I thought I had covered most of the annoying and ill-explained JavaScript limits, but this past week I ran across another that is... […]

Cookies and security

In my last post, I discussed the basics of HTTP cookies and how they work. Missing from that discussion was the topic of security, mostly because it is a discussion in and of itself. Indeed, it’s hard to talk about cookies without talking about security implications since there are so many. Cookies would seem to... […]

HTTP cookies explained

HTTP cookies, most often just called “cookies,” have been around for a while but are still not very well understood. The first problem is a lot of misconceptions, ranging from cookies as spyware or viruses to just plain ignorance over how they work. The second problem is a lack of consistent interfaces to work with... […]

Book review: Nonviolent Communication

Those who know me or have been following this blog for a while know that I have a strong interest in communication and social interaction. I believe that poor communication is one of the largest sources of problems in the world, from interpersonal relationships to business. As such, I’m always looking for ways to tweak... […]

JavaScript error handling anti-pattern

One of the areas I feel lacks enough discussion is error handling in JavaScript. While a lot of thought typically goes into error handling in server software, complete with error logs and monitoring systems, there’s very little emphasis on the same for JavaScript. I’ve tried to raise awareness of this with my Ajax Experience talk,... […]

Computer science in JavaScript: Doubly-linked lists

In my last post, I discussed creating a linked list in JavaScript. This basic data structure is frequently used in computer science programs to teach the concept of pointers. The next step is to investigate the doubly-linked list. A doubly-linked list is similar to a single linked list except that it has bidirectional links between... […]