You don't have comments on your blog, so I'll comment here:

IE testing is "hard" on a Mac because of the vm requirement, yes. However, that's not even my main issue. If Microsoft facilitated having VMs of each windows installation + browser version available for that OS to developers, it'd still be "hard" but at least they'd be helping. IE only runs on Windows, so if you want to test for Windows you have a bunch of sub-par options, or really expensive options, or..illegal options, pick your poison.

That's not even my biggest complaint about it, though. I have two main complaints.

First, the development tools available to Internet Explorer are absolute butt hole. Javascript is considered a second class citizen, and is nearly impossible to debug efficiently. The amount of "oh lets try this for shits and giggles" that is required, to see if it will fix a random IE issue is absolutely astounding. I typically find my solutions to IE issues by complete accident, and upon reflection say to myself "well..that's the most stupid thing I could have thought of - so no wonder that works." Not simple, stupid.

It feels like Microsoft deliberately takes the stance of making it HARD to develop software for Internet Explorer. I don't know if this is purposely their philosophy but maybe they're diluted enough to think it helps turn out higher quality applications. It doesn't, what it produces is a horrible user experience designed for the lowest-common denominator. And the worst part about it is that most of your end-users use IE. So, what it results in is crappy, old feeling, slow web applications and an influx of user complaints about things not working or taking too long (because the javascript engine is about as slow as the Ruby interpreter).

Second, the IE user base is so incredibly fragmented across versions. And it's not like the difference between chrome 13 and chrome 18 where some css3 features don't work, or websockets is slow, or whatever. The difference is that entire feature sets are missing, or work differently. In one version CSS box width includes margin and in the next, it doesn't. That's a pretty significant change; it completely ruins the entire flow of your site and you have to account for "special" cases of old browsers. Except, your "special cases" of old browsers are 30% of the internet population.

Supporting IE is a time sink, but not just because it's "hard" to set up Windows environments, but because Microsoft actively tries to make it hard for developers to code, test, and debug applications in Internet Explorer. Or doesn't make an effort to alleviate the pain; either way it's active effort in creating more suck, imo.

Disclaimers: I've been developing on Mac for 4 years and haven't used Internet Explorer as an every-day browser in 7 years. IE8 made some improvements to JS debugging (SOME) and is vastly better than 6 and 7. IE9 might be amazing, and IE10 might be the best browser in the world - I don't know. All I know is that debugging IE takes almost as long as building the application did in the first place. Until that problem is solved, IE will still suck and still get a lot of hate from the development community. Microsoft has a giant mountain to climb to get their reputation back to "neutral" in the web development community.