MSNBC reports tens of thousands of Zune music players froze up on December 31 because of “a bug in the internal clock driver related to the way the device handles a leap year.” This got me thinking about Joel Spolsky's memories of Bill Gates' obsession with date and time functions.
microsoft
Internet Explorer 6 on Linux
If you design or develop web pages, you know Microsoft's Internet Explorer 6 web browser as the hideous flesh-eating demon that terrorizes your dreams at night. Despite its litany of lethal technical and security flaws, IE6 maintains around 25% market share. (Even here in Silicon Valley, the libraries in Atherton and Menlo Park still run IE6 on their public PCs.) That means web developers must test their pages on IE6, and learn how to accomodate its quirks and bugs, or else risk losing that clueless but stubborn one-quarter of the browsing public that refuses to upgrade.
Fortunately, Linux developers do not need to run Windows in order to test their pages on IE6 and even IE5. A script called ies4linux, written by Sérgio Luís Lopes, lets you run IE under the Wine translation layer. Here's how I installed ies4linux on Debian unstable:
# aptitude install wine cabextract $ wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz $ tar zxvf ies4linux-latest.tar.gz $ cd ies4linux-* $ ./ies4linux –no-gui
I ran the installer with the --no-gui option after the default PyGTK GUI interface crashed on me.
Yet another reason to avoid Microsoft Windows
Connecticut teacher Julie Amero was facing up to 40 years in prison after malware infected her Windows 98 machine. Outrageous and scary.
Cringely on Vista Capable
Cringely has posted a typically hilarious article about the Vista Capable
scandal. The tone of the reader comments does not bode well for Microsoft.
Serving Drupal content as application/xhtml+xml
Drupal, like virtually all other CMS's (and virtually all web developers for that matter), declares XHTML as its doctype but then sets the MIME type to text/html rather than XHTML. Arguments by Ian Hickson and Anne van Kesteren have convinced me that this is a Bad Idea. They suggest that most sites should eschew XHTML and stick to HTML.
I prefer XHTML. I'd rather keep Drupal's XHTML and serve it up as application/xhtml+xml as the W3C recommends. Of course, Internet Exploder doesn't support XHTML (and perhaps never will), which is why everyone had to resort to that text/html hack in the first place.
In any case, it's straightforward to hack Drupal's includes/common.inc to sniff the capabilities of the user agent on the server side and then set the most appropriate content type. Here's how I did it:
$content_type = "text/html"; /* default */
$preferred_types = array("application/xhtml+xml", "application/xml", "text/xml");
$http_accept = $_SERVER["HTTP_ACCEPT"];
foreach ($preferred_types as $type) {
if (stristr($http_accept, $type)) {
$content_type = $type;
break;
}
}Then you interpolate $content_type into the Content-Type header. If you do this in Drupal, then you need to turn off caching for it to work.