NCZOnline

Recent Posts

ECMAScript 6 collections, Part 1: Sets

Tags: , , ,

For most of JavaScript’s history, there has been only one type of collection represented by the Array type. Arrays are used in JavaScript just like arrays and other languages but pull double and triple duty mimicking queues and stacks as well. Since arrays only use numeric indices, developers had to use objects whenever a non-numeric […]

Computer science in JavaScript: Insertion sort

Tags: , , ,

Insertion sort is typically the third sorting algorithm taught in computer science programs, after bubble sort[1] and selection sort[2]. Insertion sort has a best-case complexity of O(n), which is less complex than bubble and selection sort at O(n2). This is also the first stable sort algorithm taught. Stable sort algorithms are sorts that don’t change […]

Replacing Apache with nginx on Elastic Beanstalk

Tags: , , , , ,

WellFurnished has been using Amazon’s Elastic Beanstalk[1] service for some time now with one of the default configurations. For those who are unaware, Elastic Beanstalk is Amazon’s answer to services like Heroku and Google App Engine. You set up an application and one or more environments made up of a load balancer and any number […]

CSS Lint v0.9.9 now available

Tags: ,

CSS Lint v0.9.9 is now available both on the command line and at the web site. This release is mostly a maintenance release with a few small features added in. This lays the groundwork for an eventual 1.0.0 release, but that doesn’t preclude the possibility of a 0.9.10 release before then. There’s still a lot […]

The innovations of Internet Explorer

Tags: , , ,

Long before Internet Explorer became the browser everyone loves to hate, it was the driving force of innovation on the Internet. Sometimes it’s hard to remember all of the good that Internet Explorer did before Internet Explorer 6 became the scourge of web developers everywhere. Believe it or not, Internet Explorer 4-6 is heavily responsible […]

Setting up SSL on an Amazon Elastic Load Balancer

Tags: , , , ,

In my last post, I talked about setting up Apache as an SSL front end to Play, with the goal of having SSL to the end-user while using normal HTTP internally. That approach works well when you have just one server. When you have multiple servers behind a load balancer, the approach is a little […]

Setting up Apache as a SSL front end for Play

Tags: , ,

We’ve been using the Play Framework[1] on WellFurnished since the beginning and have been delighted with the results. If you’re unfamiliar with Play, it’s a Java based MVC framework that allows for rapid application development. I’ve honestly never use a framework that let me get up and running so quickly. It’s been a pleasure to […]

A critical review of ECMAScript 6 quasi-literals

Tags: , ,

Quasi-literals (update: now formally called “template strings”) are a proposed addition to ECMAScript 6 designed to solve a whole host of problems. The proposal seeks to add new syntax that would allow the creation of domain-specific languages (DSLs)[1] for working with content in a way that is safer than the solutions we have today. The […]

Thoughts on ECMAScript 6 and new syntax

Tags: , ,

I am, just like many in the JavaScript world, watching anxiously as ECMAScript undergoes its next evolution in the form of ECMAScript 6. The anxiety is a product of the past, when we were all waiting for ECMAScript 4 to evolve. The ECMAScript 4 initiative seemed more like changing JavaScript into a completely different language […]

It’s time to stop blaming Internet Explorer

Tags: , ,

A couple of days ago, Smashing Magazine published an article entitled, Old Browsers Are Holding Back The Web[1]. The author of this article that “old browsers” are holding web developers back from creating beautiful experiences. Old browsers, in this case, apparently referred to Internet Explorer version 6-9. That’s right, the author groups Internet Explorer 9 […]

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