Recent Posts

Book review: jQuery UI 1.6

A little while ago, I reviewed the Packt book, Learning jQuery, which covered the core jQuery library. The book stopped short of discussing jQuery UI, which is an extension to jQuery that provides basic UI widgets. That’s precisely where another Packt book, jQuery UI 1.6, picks up. The book is targeted at a similar audience:... […]

JavaScript sleuthing: Buggy native JSON

Debugging is a huge part of any software engineer’s life: something goes wrong, and it’s your job to figure out what happened and how to fix it. The more time I spend debugging, the more I feel like a detective trying to tickle out details and evidence in order to determine what happened. Whenever I... […]

FireUnit: Now with grouping

When I first got wind of John Resig’s FireUnit extension for Firefox, I was very excited. JavaScript unit testing, and front-end testing in general, is an area of particular interest to me. It’s so interesting that a couple of years ago I wrote YUI Test as a way to enable front-end testing in the browser.... […]

Domain sharding for all

One of the most frequently talked about performance improvements for web sites is the sharding of domains. This was one of Steve Souders’ original rules (mentioned in High Performance Web Sites) and still one of the Yahoo! Exceptional Performance guidelines. The basic problem is that browsers limit the number of parallel connections opened to a... […]

Web definitions: DOM, Ajax, and more

Even though we’re now a decade into professional web development, there’s still a large amount of terms and phrases being used incorrectly. Long-time readers of my blog know that communication and social interaction are things that I find fascinating, and that I’m on a constant mission to be a clearer communicator in all situations. One... […]

Moving the Web forward

Last week, I was invited to attend the Mozilla Platform Summit at Mozilla headquarters in Mountain View, California. Dion Almaer and Ben Galbraith, of Mozilla and Ajaxian fame, put together this event to let developers help guide the future direction of Firefox. There were around 20 attendees in total, with familiar names like John Resig... […]

Introducing Combiner, a JavaScript/CSS concatenation tool

One of the things I used to love when programming in more “traditional” languages such as C++ and Java was the build process. My source files just indicated what they needed in order to run successfully, and the build tool did the rest. This had the wonderful advantage of allowing you, as a programmer, to... […]

Iframes, onload, and document.domain

In this new Web 2.0, mashup world that the Internet has become, a lot of focus has been placed on the use of iframes for embedding third-party content onto a page. Iframes provide a level of security since JavaScript access it limited by domain name, so an iframe containing content from another site cannot access... […]

Computer science in JavaScript: Selection sort

Not too long ago, I wrote about the bubble sort algorithm, which is typically the starting point for sorting algorithm instruction. Bubble sort is a pretty inefficient algorithm with O(n2) complexity and its algorithm calls for comparing each array item to its neighbor in order to “bubble” the smallest value to the top (front) of... […]

Computer science in JavaScript: Binary search

Not too long ago, I posted about creating a binary search tree in JavaScript (part 1, part 2). A binary search tree is a great place to store data in an ordered way to allow for an easy search for specific information. However, a binary search tree isn’t the only place that a binary search... […]

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