Old and New

Three years ago today, I started work as an intern on the Windows Application Compatibility team. This team represents what Joel Spolsky likes to call “the Raymond Chen camp” at Microsoft — a team full of individuals committed to making old apps work on newer versions of Windows. I wasn’t directly involved in the types of heroic projects that Raymond describes — I spent more time thinking about tools that would help developers avoid the common pitfalls that necessitated that heroic work.

One of my projects was helping to beef up the security tests in the Application Verifier, a runtime code verification tool that developers can use to catch all kinds of common pitfalls in their apps — e.g. heap corruption, using certain APIs incorrectly, creating weak ACLs, etc. The AppVerifier ships as part of the Application Compatibility Toolkit, which is now in its third version (I worked on version 2.50). I even got to contribute to Michael Howard’s security column, with an article describing the new security features that I spec’ed that summer (of course, this didn’t actually get published until after I started at Microsoft full-time, to coincide with the release of AppVerifier 2.50 :)).

Now I’m here full time, working on the Avalon team (it’s been almost 2 years already!), trying to revolutionize the way applications are built. And today, a new intern started working for me. I hope he’ll have as much fun as I did in the summer of 2002.