Desiging Datastructures for Longevity

One of the more problematic areas of long-lived software is the versioning and updating of shared structures. As improvements come to a package, it’s inevitable that you’ll have to add more fields to a structure. Your structure today may contain two pointers, but tomorrow needs to contain three. If you ship all the bits at…


Registration-free applications and components

An area of new technology in Windows XP and Windows Server 2003 that didn’t get nearly enough coverage is the ability to write applications and components that take full advantage of COM without actually registering anything on the target system.  Apps developed with this registration-free mechanism don’t require a call to RegSvr32 during install to…



Howdy – I’m a software design engineer at Microsoft, in the Windows core technologies group. My work involves isolating applications, components, and the operating system from each other. I don’t have much original or interesting to say, but by gum – I’ll say it here. Like many of my generation, I grew up using computers….