Nicholas C. Zakas

http://twitter.com/slicknet

Mountain View, California

Web developer

Areas of Expertise:

  • JavaScript
  • HTML
  • CSS
  • Ajax
  • Comet
  • consulting
  • speaking
  • programming
  • writing
Nicholas C. Zakas is a Web Software Engineer who specializes in user interface design and implementation for Web applications using JavaScript, Dynamic HTML, CSS, XML, and XSLT. He is currently principal front end engineer for the Yahoo! homepage and is a contributor to the Yahoo! User Interface (YUI) library, having written the Cookie Utility, Profiler, and YUI Test.

Nicholas is the author of Professional JavaScript for Web Developers and a co-author on Professional Ajax, and has contributed to other books. He has also written several online articles for WebReference, Sitepoint, and the YUI Blog.

Nicholas regularly gives talks about Web development, JavaScript, and best practices. He has given talks at companies such as Yahoo!, LinkedIn, Google, and NASA, and conferences such as the Ajax Experience, the Rich Web Experience, and Velocity.

Through his writing and speaking, Nicholas seeks to teach others the valuable lessons he’s learned while working on some of the most popular and demanding Web applications in the world.

For more information on Nicholas: http://www.nczonline.net/about/

High Performance JavaScript High Performance JavaScript
by Nicholas C. Zakas
March 2010
Print: $34.99
Ebook: $27.99

Nicholas C. blogs at:
http://www.nczonline.net/

CSS media queries in JavaScript, Part 2

January 19 2012

In my previous post[1], I introduced using CSS media queries in JavaScript both through a custom implementation and using the CSSOM Views matchMedia() method. Media queries are incredibly useful, both in CSS and JavaScript, and so I continued with my research to see how best to take advantage of this… read more

Book review: The Tangled Web

January 17 2012

I’m not really sure what I was expecting from The Tangled Web: A Guide to Securing Modern Web Applications. Having learned more about web security in the past year, I suppose I was hoping for a more in-depth treatment of common web application security issues. In my mind, I pictured… read more

Now available: Professional JavaScript, 3rd Edition

January 09 2012

I’m very excited to announce that Professional JavaScript for Web Developers, 3rd Edition is now shipping and available in bookstores. Over six years, the first edition was released and it changed my life in ways I never could have anticipated. It was through this book that I ended up at… read more

CSS Lint v0.9.2 now available

January 05 2012

A new version of CSS Lint is now available both on csslint.net and through npm for NodeJS. Version 0.9.2 focused on improving validation support (full support is planned for v1.0.0) and stability. As part of that, 0.9.1 and 0.9.2 were quickly rolled out after 0.9.0 to address some flaws in… read more

Proposal: Scripting detection using CSS media queries

January 04 2012

I’ve been doing a lot of thinking about CSS media queries lately. I’m a big fan of media queries, as I think they bring a sense of sanity to feature detection. That’s a big reason why I was investigating CSS media queries in JavaScript[1] and will continue to do so.… read more

CSS media queries in JavaScript, Part 1

January 03 2012

Early in 2011, I was working on a project where I was doing some feature detection in JavaScript. Some tinkering led to the thought that using a CSS media query would work much better and so I spent some time coming up with a function to use CSS media queries… read more

Introducing Props2Js

December 20 2011

One of my principles of Maintainable JavaScript[1] is to separate your configuration data from your application logic. Configuration data is hardcoded information that your JavaScript uses to work properly. This could be anything such as a URL or a UI string. For example: function validate(value) { if (!value) { alert("Invalid… read more

Book review: HTML & CSS

December 16 2011

It had been a while since I’d read a book that didn’t have to do with JavaScript or something very computer-sciency, so when I was asked to review HTML & CSS: Design and Build Websites by Jon Duckett, I was interested to see how these books have changed. I learned HTML… read more

Timer resolution in browsers

December 14 2011

Timer resolution refers to how frequently a clock is updated. For most of their history, web browsers used the default system timer for functionality such as setTimeout() and setInterval(). This meant browsers could only schedule code to run as frequently as the system timer would fire. Internet Explorer also used the system… read more

How content delivery networks (CDNs) work

November 29 2011

Content delivery networks (CDNs) are an important part of Internet infrastructure that are frequently used without a full understanding of what’s happening behind the scenes. You’ll hear people saying, “oh, we put that on the CDN” or “make sure static assets go on the CDN,” when they have only a… read more