I started here at Microsoft a little over three months ago.  It's been an amazing transition from self-confessed "GNU hippy" to now, and has been more than a mild culture shock.  The good news is that Seattle has far better weather than it's reputed to have.

At work, I've been coming up to speed with a new technology shipping in Longhorn, and have finally been given permission to talk about it with you.  This blog will introduce you to Transactional NTFS, why we're so excited about this technology, and how you can use it in your own applications.

At it's heart, this isn't a really difficult thing to do.  At minimum, an existing application can be made to use transactions by adding only two additional API calls at the beginning, and three additional API calls at the end.  Best of all, the results of these calls can be inherited: five calls in one application can add transactions to another application.  You don't even need source code access!

Of course, the implications of using transactions can be profound, so I'll be explaining some of the things you should be aware of along the way.  This is particularly true when using transactions in a way that modifies the behavior of an application in ways its original author may not have envisioned.

I'll also be trying to answer questions along the way.  The last three months has been full-time learning for me, due to the inherent complexity in parallelising what we've all grown up thinking was a single, shared resource: our filesystem.