Long ago I complained about cmd.exe. At the time, I tried out some of the replacements and didn't find anything I liked. But, I just tried out a Console 2.0 beta, and I love it! The way it hosts cmd.exe is necessarily a bit of a hack, but they pull it...

The Quick Launch area of my Taskbar suddenly started showing large icons (I think it was when I installed IE 7 RC1). From searching around, I found this . If you unlock the task bar and then right click the divider, there's a View submenu that lets you...

Sorry it's taking me so long to get the posts out. The series turned out to be a little longer than I anticipated :-) I got a lot of good feedback on the Data Model stuff. First off, I want to mention layering. The DataModel typically is a layer on top...

I've used Windows Live Writer Beta for my last few posts and it's worked pretty well. It's much nicer than typing posts into IE, and I'm not worried about hitting the wrong key and losing them. Unfortunately, code doesn't retain it's style when pasted...

In the previous posts, I've covered data models and how to make data easily consumable by Avalon. Now, I want to start getting into the view model side of things because I don't think it's clear what I mean by them and I'm working up to an example. I...

In part 3 , I showed code for StockModel, a DataModel for stocks. On the Max team, we are big believers in extensive unit testing of our code. It took some time to learn the best way to test some of the WPF related stuff. In this post, I intend to demonstrate...

In part 2 , I showed a base class for DataModels. In this post, I will describe a sample implementation. For this sample, I'll use a DataModel that represents a stock. The model will be in charge of asynchronously fetching the stock quote and making it...

In part 1 , I gave an overview of a pattern we use in the UI development of Max . In this post, I plan to talk about DataModels. In part 1, I wrote: DataModel DataModel is responsible for exposing data in a way that is easily consumable by WPF. All of...

John Gossman has blogged several times about the M-V-VM pattern for developing WPF applications. We've been using a similar pattern on the Max team, with slightly different terminology (DataModel instead of ViewModel). I thought I'd do a series of posts...

News story here . This is exciting. Those guys are brilliant. The Windows Internals book is awesome, and I love the tools at http://www.sysinternals.com . I use them all the time. I hope they'll be able to keep cranking out tools.

Rick Schaut has a great post on why moving to Intel is not just a simple recompile as some make it out to be. He dispells many of the myths. In the last several years, Mac developers have had to go through a bunch of work like this, first to get on Mac...

ThreadPool.QueueUserWorkItem is commonly used to execute some task in the background at a later point in time using a thread from the thread pool. If you read the MSDN documentation carefully, you'll note it says:
Return Value
true if the method...

Sometimes you want to attach some behavior to an Avalon element by adding some event handlers, but without subclassing the element. An example of this is my most recent version of the layout animation code. In my original post , I had code in my code...

A new version of Max is now available for download with support for reading MSN newsbot among other new features. We've finally moved on from the September CTP of WinFX that was running on a beta version of the CLR. We now work with the December or January...

The Windows Live Mail Desktop is about to go beta, and the team has started a blog . I've had the pleasure to work with several members of the team, and I can't wait to see what they've been up to. I'm sure it's going to be great!

I've just started trying out GhostDoc . You can select a method and it will fill out the XML document comments for the function. For example, here's what it generated for the CanHorizontallyScroll method from my VirtualizingTilePanel:
/// <summary>...

Ok, it took me a lot longer to get to this, but I finally have a post about a better way to do layout to layout animations. In part 1 , I introduced a simple tile panel and then in part 2 , I made modifications so that it animates the children as they...

In this post, Tess describes how using repeatedly calling:
XmlSerializer serializer = new XmlSerializer(typeof(PurchaseOrder), new XmlRootAttribute(""));
leaks a temporary assembly on each call. Ouch! Some of the other constructors cache the assemblies...