Fixing IE8 mystery error KB927917

While testing some updates to one of our Facebook applications today, I ran into an odd error message on IE8.  The error message mentioned KB927917, and is caused by trying to modify the DOM before it is built.  At first, I was confused, because the app is not modifying the DOM at all, its a redirect that is part of the authentication step.  The culprit code was something like:

{syntaxhighlighter brush:js;}<script type=”text/javascript”>
top.location.href = ‘http://example.com/foo/’;
</script>

This was working, without warnings, in Chrome, Firefox, and IE7.  To prevent IE8 from complaining, the redirect should happen after the page is done loading.

{syntaxhighlighter brush:js;}<script type=”text/javascript”>
window.onload = function() {
top.location.href = ‘http://example.com/foo/’;
};

</script>

Internet Explorer support is on the decline.

Interesting reason for supporting IE6, although the articles lays out many more reasons why many websites are no longer supporting Microsoft's outdated browser.

Not only do the numbers of IE6 user continue to be significant, the types of users seem to be desirable as well: internet n00bs that click on ads and buy what they see (with the money that was not taken by Nigerian 419 scams).

Supporting Internet Explorer 6 « Content Here

IE9 will have, hardware acceleration?

This super-early look at Internet Explorer baffles me. The biggest benefit they tout is using the DirectX APi to use hardware acceleration for rendering web pages faster. This is like buying me a faster processor and then giving the credit to IE when pages load faster as a resutl.

Wouldn’t a good Window Manager offload that work so that applications don’t deal with it? It must be the only way to catch up to Chrome on Linux.

At the PDC today, in addition to demonstrating some of the progress on performance and interoperable standards, we showed how IE and Windows will make the power of PC hardware available to web developers in the browser. Specifically, we demonstrated hardware-accelerated rendering of all graphics and text in web pages, something that other browsers don’t do today. Web site developers will see performance gains and other benefits without having to re-write their sites.

IEBlog : An Early Look At IE9 for Developers

Trends: Is the SharePoint bubble going to burst?

Wow, looks like at least one of my hunches wasn’t too far off the mark. Who’d have thought that the Microsoft Marketing hype might have a hard time delivering? I can think of at least two people. HT Gadgetopia

Discussions with a number of ECM practice leads at major SIs (System Integrators) have told me that SharePoint is no longer perceived as a silver bullet by larger enterprise customers. SIs report that many purchased licenses have not gotten deployed, and that some hard lessons were learned when SharePoint was allowed to grow at viral rates. Once bitten twice shy.

Trends: Is the SharePoint bubble going to burst?

Microsoft VPC IE Images may require activation

I’ve written before about using Microsoft’s IE Application Compatibility Images with VirtualBox. These images provided a very convenient, and free, way to setup testing environments in all versions of Internet Explorer.

The images, since they are free copies of Windows, expire after a time, requiring you to download a new image. The latest images provided by Redmond, require activation if you use VirtualBox, or probably any other virtualization environment instead of VirtualPC, which is windows-only. Whether or not this is intentional is hard to say, but I don’t think that it is.

If you have the old images, it seems like you can keep using them. The only limitation I’ve run into is that the machine shuts down after an hour. For web-development work, that’s been sufficient time for me to test and fix web broswer rendering bugs.

To keep up to date, you can follow this thread on virtualbox.org, or Pete Lepage’s blog, he’s “Product Manager, Internet Explorer, Developer Division.” and is trying to track down a solution.

HOWTO: Use VirtualBox to setup an Internet Explorer testing machine

There are a lot of cases where having one computer just isn’t enough. If you’re a web developer or webmaster, you’ll want to view your website in more than one browser. If you’re a PHP programmer, you may be itching to check out the new 5.3 release and test your web applications on it. Using virtualization, you can set up self-contained instances of any Operating System configured to your heart’s content on your computer.

There are a lot of virtualization environments out there. VirtualBox is an Open Source virtualization solution from Sun. I particularly like that it runs not only in Linux, but also on Mac OS X and windows. In this post I’ll show you how to set up VirtualBox with disk images supplied by Microsoft for testing Internet Explorer compatibility in OS X. The instructions are based on this article for setting up VirtualBox in Ubuntu.

Download supporting files and utilities

To get each environment setup, you’ll need a few files and tools installed to get everything working.

1. Install RAR

Download the RAR Utility for Mac OS X, as of this writing its labeled RAR 3.90 beta 3 for Mac OS X. The download file is a .tar.gz file. In OS X terminal you can use tar -xvzf rarosx-3.9.b3.tar.gz to extract the files. Next, you’ll want to copy the extracted files to /usr/local/bin/ or anywhere else that is in your $PATH.

2. Install Burn

We’ll need to create an .ISO file for the networking drivers expected by the Windows images. Burn 2.3u is a free and straightforward tool for burning disks or creating disk images. Simply download it and drag it into your Applications folder.

3. Download PCNET Drivers and create ISO file

Since we’ll want our virtual Windows machines to get on the Internet, you’ll need to download the correct drivers from AMD. Download the ZIP file labeled NDIS5 Driver dated August 2004 and unzip them somewhere. Launch the Burn application and drag the PCNET files from where you extracted them into the Burn app. To create the ISO file, select "Save Image" from the File menu. Save the ISO file somewhere where you’ll remember it, as you’ll need it later.

4. Install VirtualBox

Head on over to the VirtualBox downloads page and download the binary for OS X hosts. Double click on the disk image (dmg) file to mount it, and double click on VirtualBox.mpkg to run the installer. Once installed, VirtalBox will be in your Applications folder.

Setup Windows XP Images in VirtualBox

If you’ve made it this far, you should have VirtualBox installed and all the tools for setting up a Windows XP or Vista image. Repeat this part for each XP Image you want to install, MS provides a number of images combining XP/VISTA with IE6/IE7/or IE8.

5. Download a Windows Image.

Select an image to download from the Internet Explorer Application Compatibility VPC Image page. These images are fairly large, the smalles is 465MB.

6. Extract the .vhd file from the image

Microsoft’s VPC images are mean to be used with their own VirtualPC technology. Luckily, VirtualBox can read VirtualPC’s .VHD files. Use rar to extract the files from the .exe or .rar file you download, as follows.

unrar e IE6-XPSP3.exe

7. Create a new VirtualBox machine

Now that you have the disk image, launch VirtualBox and create a new machine. Make sure you select Windows XP as the Guest OS, and give it enough memory to run well. This depends a lot on how much memory your Host OS has, you can get away with 256MB but I like to give them 512MB if possible. When it asks you

When the new machine wizard prompts you for the hard disk image to use, select the .vhd file extracted in step 6.

8. Launch the new machine and install Guest Additions and network drivers

If you have your new machine setup, click on the green start arrow to boot it. You should see the Windows boot sequence and eventually you’ll get to the Windows desktop. You’ll get prompted a hundred times to install new hardware and connect to Windows update, but just hit cancel until Windows stops trying to be helpful.

First, install the Guest Additions which provide a more seamless transition between Host and Guest OS by clicking on "Install Guest Additions" in the Devices menu

Next, mount the ISO image created in step 3 as a CD. Click on Devices, then Mount CD/DVD-ROM and CD/DVD-ROM Image. Selct the ISO image and then you should see its contents in the virtual CD-ROM drive.

Finally update the network drivers to get the network card working. Select My Computer, click on View System Information, Go to System > Devices, Click on Hardware tab, then Device Manager button. Select ethernet device under Network Adapters and then right click, select Update Drivers, say no to Windows Update, then click Next. Windows should find and install drivers from the CD.

Gotchas and where to go from here.

At this point you should have a working virtual machine with network access. You can repeat steps 5-8 for other Windows images to have one or more environment for testing each version of Internet Explorer. If you do install other Windows images, be aware that the supplied MS Images may all have the same disk UUID, in which case VirtualBox refuses to add them to the Media list. Use VBoxManage to clone the disk image and generate a new UUID. You’ll have to remove the conflicting disk from the list first, and to remove it the virtual machine must be powered off. From the command line, the following will clone a drive:

VBoxManage clonehd XP SP3 with IE7 2009-Apr.vhd IE7_XPSP3.vhd XP_SP3_IE7.vhd

If you’re setting up IE testing environments, I highly recommend that you install the MS IE Developer toolbar too. It’s very helpful in diagnosing Internet Explorer behaviors.

Now that you have VirtualBox running, you’re not limited to Windows images. You can also setup your Linux distribution of choice in a VirtualBox machine. You could setup a copy of your LAMP environment for testing and expirementation.

Duh – cheaper to outsoure email services.

Will we see more organizations outsourcing email services? Having run my own personal mail server for a few years, I’d be quite wary of purchasing and operating your own mail servers. Yes, if you own your mail servers, you can make them as secure and redudant as you want if price is no limit. But there’s always a budget, and it will always not be enough to provide the uptime, redundancy, and backups that someone like Google, Yahoo, or Microsoft can provide. Plus, you can’t really put a price on being able to sleep at night, free of worries that your server will be hacked, relay spam, or hard drive will fail.

If you are a non-profit, and even if you are not, Non-Profit Tech Blog wrote a three part series on setting up your organization with Google Apps for your Domain.

Have you outsourced email servers? What led to that decision? Any positive/negative feedback about email hosting providers?

Report: Gmail about one-third as expensive as hosted e-mail

Despite the confusion, a lot of companies realize that e-mail has become expensive for two simple reasons: spam and malware. Nearly half of those surveyed were evaluating off-site solutions because e-mail costs had risen, while another 30 percent were performing the evaluation as part of an upgrade or service consolidation process. Fully 85 percent of these companies were leaning towards moving some of the services off-site.

InPrivate browsing?

Surfing on the sly with IE8’s new “InPrivate” Internet

These new features are part of Microsoft’s continuing Trustworthy Computing initiative to ensure that software and websites respect the user’s privacy.

I might be a bit paranoid, but shouldn’t that read:

These new features are part of Microsoft’s continuing Trustworthy Computing initiative to ensure that software and websites must go through Microsoft to get a user’s private information.

Microsoft, The best protection it to fix security holes.

In any field, people have heard that its better to spend the time to fix the root cause of a problem than to just address the symptoms. It’s not just common sense, but it costs lest in the long run too. You’d think the largest software maker in the world, would have this drummed into their collective brain by now, but you’d be wrong. Microsoft admitted that it had not patched a bug in its Jet Database Engine (I believe this is the black heart of MS Access) that it knew about since 2005 because it had already blocked the attack vectors it knew about.

But the company hadn’t thought of the attack strategy now being used by hackers. "Everything changed with the discovery of this new attack vector that allowed an attacker to load an .mdb file via opening a Microsoft Word document," he said. "The previous guidance does not work against this new attack. So that’s why we alerted customers to these attacks and are re-investigating Jet parsing flaws — this is a new attack vector discovered that we didn’t know about."

MS Rep claims that they can’t fix the .mdb file format, because its designed to run code. But there should be some way to sand box the code that gets executed, ala javascript and flash. Plus, we’re supposed to believe MS can’t force their users to upgrade to a new file format in MS Office?

HT: cgisecurity.com

It really is an upgrade

Much like my dad has done, another Windows Vista customer has "upgraded" a Vista machine to Windows XP.  So, I guess the PR Lady was somewhat correct? BTW – annoying that apple doesn’t let you link directly to one of its ads — its free advertising, mactards!

To be honest there is only one conclusion to be made; Microsoft has really outdone themselves in delivering a brand new operating system that really excels in all the areas where Vista was sub-optimal. From my testing, discussions with friends and colleagues, and a review of the material out there on the web there seems to be no doubt whatsoever that that upgrade to XP is well worth the money.