About Nicholas C. Zakas

Recent Posts

Get the JavaScript global

The global object in JavaScript is vitally important: all global variables and functions become properties fo the global object. In browsers. the window object doubles as the global object, and most developers use it as such without even realizing. In other JavaScript environments, however, the global object is something else. Most of the time, it’s... […]

The story of Professional JavaScript

I’ve come to realize lately that for some reason or another, most people think the only book I’ve written is Professional Ajax. Perhaps it’s because that’s the book I feature prominently on my home page or because the buzz around Ajax was so great that people bought that book before they even knew I had... […]

All sizzle and no substance?

Not too long ago, I was interviewed by Jennifer deJong of Software Development Times about Ajax, its use and misuse. We had a great conversation about Ajax’s early missteps and how things have evolved in the past couple of years. One of the main points I wanted to be clear on, as I try to... […]

The Web could be heading for another dark age

Right now is a very exciting time for the Web as things are changing incredibly fast. Right now is also a very dangerous time for the Web as things are changing incredibly fast. We’re almost back to the early days of Netscape versus Internet Explorer. I’m not talking 4.0 here folks, I’m talking 3.0. For... […]

Falling in love with the IE8 JavaScript debugger

If there’s one thing Microsoft does really, really well, it making IDEs with great debugging capabilities. With the release of Internet Explorer 8, they took that experience and applied it towards JavaScript debugging. The result is nothing short of spectacular. To be honest, I’ve never been a huge fan of Firebug’s JavaScript debugger. It sometimes... […]

Changes in Safari 3.1 for Windows

I finally bit the bullet and updated by Safari on Windows to 3.1. Along with the upgrade came a bunch of surprises as things moved around and changed. The following is what I’ve found so far: The Preferences.plist file we previously used to enable the Debug menu doesn’t exist anymore. All of the preferences are... […]

Big company or small company?

It’s a decision that most people in Silicon Valley have to make at some point in time: do you want to work for a big company or a small company? If you’re in high tech, the options are nearly endless in the Bay Area. You can go for big, established companies like Google and Yahoo!... […]

The great Safari keypress debacle

This week, Safari released version 3.1 with a whole list of new goodies. While everyone was going gaga over the selectors API and native getElementsByClassName(), there was another change that didn’t quite get announced: the overhauled key event system. Before there was any specification indicating how key events should work, there was a de facto... […]

YUI 2.5.1 released, including cookie fix

YUI 2.5.1 has been released. This includes a fix to the Cookie utility for a subcookie parsing issue that was brought to my attention. Always a nice way to start the work day, I might add. So I quickly created a new test case using YUI Test and sure enough, it was broken. I then... […]

The dreaded Operation Aborted error

At one point or another, it seems like most web developers have run into the dreaded “Operation Aborted” in Internet Explorer. Microsoft has acknowledge that it’s a bug and provided a detailed writeup of the situation. As usual, their writeup is wordy and hard to understand. I’ve been investigating this problem more thoroughly and wanted... […]