About Nicholas C. Zakas

Recent Posts

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... […]

Computer science in JavaScript: Linked list

When I started writing the first edition of Professional JavaScript, my working title was JavaScript for Web Applications and it featured a lot of content that didn’t make the final cut. I actually have several chapters worth of content just sitting around on my computer. Several of these chapters discuss implementing common computer science patterns... […]

XPath in JavaScript, Part 3

In my previous two posts, I talked about the DOM Level 3 XPath JavaScript implementation available in Firefox, Safari, Chrome, and Opera. Internet Explorer as of version 8 still hasn’t implemented this feature set, but it does have some support for XPath. Unlike the other browsers, Internet Explorer’s XPath functionality is available on XML documents... […]