What is Toluu?
Toluu is a free service for sharing the feeds you read and discovering new ones.
Get Invite

Tony Schreiner's WebLog

Developer - IE | Vista. Fighting complexity for 9 years and counting.


Don't Change System Settings to Perform a ComputationOctober 17 2007

A post from Raymond Chen today reminds me of the first application compatibility issue I debugged (and fixed). At the time I was working on the MSN client and our team was on loan to load balance compatibility bugs for the release of Windows XP.

This application (which will remain nameless) had an alarm clock feature and the problem was that when you set the alarm on XP it would hang. After of slogging through retail assembly code for a while I finally found that whenever you set an alarm they would use SetTimeZoneInformation to temporarily change the system's time zone as part of an internal calculation, and then call it again to change it back. From the user's point of view it was fast enough that you never noticed.

That by itself wouldn't cause a hang. What caused the hang is that they also handled the WM_TIMECHANGE message, ostensibly to update the alarm if there was a system time or time zone change. While handling this message they called SetTimeZoneInformation to do their computation, which on XP caused the WM_TIMECHANGE notification to be sent again, leading to an asynchronous infinite loop.

The fix was to add a shim as part of the application compatibility

HD View - Gigapixel Images and MoreMarch 19 2007

Yesterday I stumbled across HD View which utilizes the very interesting new HD Photo format plus many other technologies to demonstrate how massive multi-GigaPixel images can be created and hosted on the web. It's a nice viewer reminiscent of Microsoft's 3D Virtual Earth and Google Earth -- the native code versions, not the web view -- but for generic large images.

The sample on the site is a 4+ GigaPixel image of Squamish Wall in Canada. According to the site this image was made using 800 images from a Canon 1DS Mark II, with a 100-400mm lens. The linked images such as this 360-degree panoramic view of Yosemite are also very impressive. If you have a fast machine notice how smoothly it adjusts the perspective in real-time as you go from being totally immersed in the 360-degree view to zooming out all the way.

But best of all, you can create your own! As an experiment I took a (very) random image from a visit to Rosarito, Mexico earlier this year and ran the hdmake.exe tool on it. It's not a GigaPixel panoramic so it's not as much fun, but even for normal photos I like the potential for sites such as Flickr: rather than cli

IE Automation & TabsJanuary 19 2007

A comment to one of my other posts asked about how to launch IE and open several additional tabs.

IE7 does not support specifying multiple URLs on the command line, but another way to do this is to use IE Automation to launch IE as an out-of-proc COM server and then call methods such as IWebBrowser2::Navigate2. While you can do this using C++ or any language that supports COM, the easiest is to use Windows Scripting Host.

First, create a 'lanuchie.js' file using your favorite text editor, add the following, and save:

var navOpenInBackgroundTab = 0x1000; var oIE = new ActiveXObject("InternetExplorer.Application"); oIE.Navigate2("http://blogs.msdn.com"); oIE.Navigate2("http://blogs.msdn.com/tonyschr", navOpenInBackgroundTab); oIE.Navigate2("http://blogs.msdn.com/oldnewthing", navOpenInBackgroundTab); oIE.Navigate2("http://blogs.msdn.com/ericlippert", navOpenInBackgroundTab); oIE.Visible = true;

Now from the command line you can do:

wscript.exe launchie.js

to open IE, navigate the first tab, and then open three background tabs.

One caveat: due to some IE features such as Protected Mode you will sometimes observe that the links are opened in an existing IE window.

aggbug.aspx?PostID=1494183
BlogsJanuary 9 2007

My coworker Jeff Davis posted about IE7 and the cyclical nature of blogging, especially for those of us working on things that haven't yet been publicly announced. It includes a great ship analogy, and having been on the "critical path" for most of IE7 development (and before that having endured all my Longhorn Alpha work being scrapped (not for technical reasons)) mentally I think I'm still out on shore leave to a bit of an extent. ;-)

I tend to blog in bursts, with the prerequisite that I have ideas and I'm not suffering from writer's block. These days I have a list of at least a dozen topics queued up -- not including a bunch of overdue in-depth posts about IE7's tabbed browsing architecture -- so I just need to get to it, I guess.

Since you asked, other great blogs you should read are Coding Horror, Eric.Weblog(), and Fabulous Adventures in Coding.

aggbug.aspx?PostID=1442244
Menu Flickering / Toggling Redux - Any Ideas?January 9 2007

In a previous post I talked about a subtle bug between IE7 and the Office Handwriting recognition service that we discovered too late into IE7 to ship a work-around for, but described how end-users can fix this on their own.

However, a couple users have noticed a similar problem that even affects IE6 and other applications, so I thought I'd throw the question out there to see if anybody else knows the answer:

"I have been having the exact same problem for the last week with IE6. Like Jan above I do not have the "Handwriting Recognition" or "On-Screen Standard Keyboard" options under the "Details" tab. But I think this is greater than an IE problem because I get the menu flickering on all drop-downs in Windows. I just upgraded to IE7 and the problem remains. I cannot use my browser anymore and will have to change if there is no real fix. Any other ideas??"

(emphasis mine)

Any ideas?

aggbug.aspx?PostID=1442174