there is a free, legal and fairly easy way to test webpages/webapps in IE7,8,9 on mac and linux. i recently learned that microsoft provides virtualbox images created for this purpose. follow these instructions to install one or more VMs with IE. note: the script provided there gave me an error while trying to install a virtualbox extension pack. i had to download that manually from here and load it into virtualbox.
why is this a big deal? because i’m working 100% on linux and testing in IE has been a pain so far. while i do still have a winXP partition on my computer, having to reboot every time i want to test a change is extremely tedious. besides, IE9 doesn’t run on winXP and i’m most definitely not going to buy a vista/win7 license just in order to test IE9 compatibility. what’s more, windows to my knowledge never allowed to install multiple versions of IE alongside each other, so this is the first time i can actually test something in multiple versions of IE without rebooting and/or leaving my usual working environment.
recently, i noticed that the locate command on my ubuntu system didn’t work as expected. it simply didn’t list files located in my $HOME dir, while it did still list files in the system directories. it took me a while to figure out that this behaviour was due to the fact that i decided to check the “encrypt home dir” option when i last (re-)installed the OS.
on second thought, it makes sense that it works that way, since the command to update locate‘s database (updatedb.mlocate on ubuntu) is run as a root cronjob, and as such it can’t access the filesystem while it’s encrypted. on the other hand, understanding this requires quite a bit of prior knowledge about how locate works, and i think it’s a bit rough to let the users figure this out all by themselves, without as much as a warning. the situation would be much improved if locate would at least spit out a warning that it can’t access the home dir, instead of the ominous silence, from which we usually conclude that no matching files exist on the disk.
after some googling, i found a good solution for this problem. this guide explains how to set up locate to store a separate, user-specific database inside the encrypted home directory. this also requires a user-specific cronjob. after following that guide, locate once again works just as expected on my system.