About Nicholas C. Zakas

Recent Posts

IE vs. PNG: The battle continues

Just when I thought I had figured out the rules of engagement between Internet Explorer and opacity, another hurdle arose. I figured with IE7 sporting brand-new native support for PNGs with an alpha channel that the best way to implement opacity (per my previous entry) would be to just use a semi-transparent PNG and assign... […]

What CSS is missing

It appears that CSS 3 will be the final iteration of the language. Undoubtedly, there’s some cool layout stuff in there along with everyone’s favorite tricks like rounded corners and opacity. However, I’m pretty dismayed if this is the end of CSS because I think there’s a very important concept still missing: variables. I, like... […]

Security vs. usability

It seems like everyone is trying to make their web site more secure these days. The “image seal” has become more popular (asking you to select an image that displays on the login page so that you know it’s the actual web site and not a phishing site), now being used on several high-traffic sites... […]

Spam insights

I’m always complaining about spam, having changed email addresses many times to try to escape, but I’ve never really understood the economics of spam all that well. Today I saw this great post explaining a little bit about why I get nonsensical emails seemingly selling nothing all the time: they’re poisoning the spam filters! Personally,... […]

Feature detection != browser detection

I’m not sure what’s in the water, but lately I’ve been coming across a lot of confusion regarding the difference between feature detection and browser detection. There are a lot of people who don’t like using the user-agent string to determine the browser (I, of course, am a big proponent of it), favoring instead the... […]

Opacity in IE6: alpha or PNG?

I was fighting with a problem today that I thought I’d share. I’m using some semi-transparent div elements to create certain effects on a page and got pinged with a memory bug. After some tests, I discovered that the source of the memory issue was the use of IE6′s alpha filter: .shade { filter: alpha(opacity=70);... […]

Interesting JavaScript string capability

Reading through ECMA-262 and taking a look at Rhino‘s source code, I came across something interesting. Apparently, it is possible to have a JavaScript string begin on one line of code and end on another line of code. For example: var s /*:String*/ = "Test \ multi \ line."; alert(s); This is perfectly valid; the... […]

The JavaScript download gotcha

Ajax solutions typically take into account that HTTP 1.1-compliant servers will allow only two connections to a single client at the same time. Or rather, two connections per domain name. There has been some mention of workaround techniques to speed up communication. Using different domain names can allow up to six simultaneous connections, which is... […]

Standards with sanity

A lot has been made out of the importance of staying within web standards and making sure that your code is semantically correct. The biggest thing that so-called experts talk about is the avoidance of using tables. Really, they mean not to use tables for layout. The argument is that the markup should be able... […]

Professional Ajax – Amazon’s #8 best tech book of 2006!

Just got pinged by my editor Jim about this: Top 10 Editors’ Picks: Computers & Internet. If you scroll down to #8, you’ll see Professional Ajax! Words can’t describe how excited I am about this. To be on this list is amazing, and the fact that it’s the only Ajax book on the list makes... […]