The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts

Look what the hurricanes blew into Lafayette, LA

NPR reports that the influx of people into Lafayette has resulted in the city experiencing in one week the growth it had projected for fifteen to twenty years. It has also revived the singles scene. "Some young women say they're finding people to date for the first time in years."

To be a leader you must know when to follow

Many people misinterpreted my use of the term "reluctant" to describe the attitude of the designers in changing the way the Date/Time control panel functions. It was a reluctance of shame, not a reluctance of defiance. Your software is there for the users, not vice versa. If you find that your users are using the software in a manner contrary to its intended purpose, your first reaction may be to try to educate users not to do whatever it is they're doing. But eventually you reach a point where the efforts in convincing people not to do something dangerous outweighs the cost of just making it less dangerous. (...

Found blog: The Piehole

I have no idea who this person is, but she's all attitude all the time. Like this entry from October 18, 2005 when Jennifer was recovering from a foot injury: Men love a girl who can't run away quickly I got "wooey!"-ed by a garbage man on my way back to the office from lunch today... Because I'm so HAWT hobbling down the street. He could not resist my hobbling! I am hobbleicious! Sssssssss! * And just so you know, being followed down the street by a garbage truck with someone screaming "YEAH BABY!" and "what's your phone number?" is TOTALLY CLASSY! * This is the sound of me sizzling! It's the aste...

Blog design as a form of reality programming

On one of our internal blogging aliases, some people were interested in ways of making their blog look spiffier, and the Max team's blog was pointed out as an example of a "pimped out blog". This in turn led to exchange of tips and tricks and someone even proposed an informal Pimp My Blog contest. What next? Extreme Blog Makeover? Trading MSN Spaces?

Why is inline autocomplete disabled by default?

Earlier versions of Internet Explorer used inline autocomplete, but newer versions use drop-down autocomplete that requires you to press the down-arrow key to select an item from the drop-down. Why the change? Because it interferes with normal keyboard operation. Suppose is in your history, but you want to go to . As you type the desired destination, inline autocomplete kicks in and fills in the remainder of the URL for you, . If you aren't watching the screen and just hit Enter, you end up going to the autocompleted URL instead of the URL you typed. Oops. To me, this is a fatal flaw, namely that one has...

Bicycling from Mercer Island to Microsoft main campus

I asked four people who commute by bicycle eastbound over the I-90 bridge to Microsoft main campus what route they take, and they gave three different answers. I've given them meaningless names just to tell them apart. The yellow route First half (markers A1 through A5) | Second half (markers B1 through B5). Animated version: Click markers 1 through 5 in order then markers 1 through 5 in order. Pro: Avoids downtown Bellevue Con: You're stuck on Bel-Red The blue route (two votes) First half (markers C1 through C5) | ...

Välkommen till Saerige?

Ballard is the Scandinavian neighborhood in Seattle, and they ordered some stone slabs for a new seating area in Bergen Place Park. What they didn't expect was that the Swedish stone would read S∀ERIGE. I mean, yeah, those Swedes do strange things with their A's, like put dots and circles over them, but I'm pretty sure they don't turn them upside-down and treat them as V's.

The COM interface contract rules exist for a reason

Some people believe that the COM rules on interfaces are needlessly strict. But the rules are there for a reason. Suppose you ship some interface in version N of your product. It's an internal interface, not documented to outsiders. Therefore, you are free to change it any time you want without having to worry about breaking compatibility with any third-party plug-ins. But remember that if you change an interface, you need to generate a new Interface Identifier (IID). Because an interface identifier uniquely identifies the interface. (That's sort of implied by its name, after all.) And this rule ...

Night of the Knitting Dead

Okay, wrong zombie movie, but I couldn't resist the pun. Knit zombies reenact Dawn of the Dead. Now playing on Flickr.