August 11, 2006
spout writing
We Sold A Copy of ATL Internals!
You said it couldn’t be done, but ATL Internals, 2e, has a review! Thanks, W.
August 8, 2006
spout
The Media Center PC ain’t a desktop; it’s a server
I’ve seen some flack lately about how the Windows Media Center Edition-style computers haven’t changed how folks consume content. Man, it sure has changed mine. Sure, you can put a MCE box on your desk and watch TV from your chair, but who the hell wants to do that?
A MCE box belongs in a living room or bedroom somewhere or even in a server closet. In fact, while I have my MCE box attached to my bedroom TV, I use it as a media server for music, video, photos and recorded TV shows. My media is available at every PC in my home and at every TV w/ an MCE extender box (I have an XBox on one TV and an XBox 360 on another). This setup allows my media “room” to be my entire house and allows my family room media setup to consist of an HDTV and an XBox 360.
What’s not to love about that?
August 3, 2006
spout
3 Degrees of Email Separation
Microsoft is a sea of answers if only you can find the right person to ask. In my experience, I get a lot of those incoming questions, both internally and externally. Often, I don’t know the answer, but I can direct the email to someone closer, who will either know the answer or the right person to ask and so on.
Depending on how well a person in this chain is at answering this email, this process can take minutes or days, but it almost always ends up with the person that knows the answer within 3 emails. Often this chain involves an internal mailing list (lots of external questions end up on internal email aliases, insults and all : ), which doesn’t necessarily shorten the chain, but it does tend to shorten the response time.
I consider the ability to follow this chain to an answer one of the huge benefits of my industry — I wish I was able to tap into it in other disciples, e.g. health care, financial, home repair, etc. Likely these chains exist in other areas, too, I just don’t know the first link in the chain. I actually tried to establish a financial chain one time, but that just pissed off the guy who was always my first email. : )
July 30, 2006
spout writing
Custom Settings Provider in .NET 2.0
I updated the
SDK RegistrySettingsProvider to implement IApplicationSettings and built a sample to demonstrate how to integrate it (or any .
NET 2.0 custom settings provider) with the settings designer-generated code.
Enjoy.
July 30, 2006
tools
Number to String Converter
To capture the work that Doug and I did to make Indigo (WCF) and Avalon (WPF) work together, I tore up our PDC sample application into a set of simpler technology samples. To make it fun for myself, as part of these samples, I built a little library for converting numbers into strings of English words, e.g.

Enjoy.
July 30, 2006
.net
On W*F Integration Samples
As you may or may not recall, Doug Purdy and I had some trouble at the last PDC getting Avalon (WPF) and Indigo (WCF) to work together. To save myself from having that trouble again, I came back from the PDC and starting the “WinFX Cross-Pillar SDK Samples Working Group,” which is just a fancy name for the PMs in charge of Avalon, Indigo and Workflow samples getting together to make sure that we have a list of simple technology samples showing the three W*F technologies working together.
You can see the results of that work in the .NET 3.0 SDK under the Integration Samples for WinFX Features topic. Right now, there are 9 integration samples and I’m hoping to almost double that by .NET 3.0 RTM. I’d love feedback. Thanks!
July 30, 2006
tools
RegistrySettingsProvider2
I updated the SDK RegistrySettingsProvider to implement
IApplicationSettings and built a sample to demonstrate how to integrate it
(or any .NET 2.0 custom settings provider) with the settings
designer-generated code.
Enjoy.
Discuss
July 30, 2006
tools
Number To String Converter
To capture the work that Doug and I did to make Indigo (WCF)
and Avalon (WPF) work together, I tore up
our PDC sample application into a set of simpler technology samples. To
make it fun for myself, as part of these samples, I built a little library
for converting numbers into strings of English words, e.g. 4 is “four:”

To drive home the point (of which there wasn’t any because
the sample had nothing whatever to do with number to English phrase
conversions), I spent some time polishing the algorithm so that it handled
decimal points:

and when that didn’t satisfy me, I added large numbers and
negative numbers:

Before writing this code, I searched the net and didn’t find
any algorithms that handled both negative numbers and decimal points, let
alone for .NET or in the number of lines of code to which I cut it down (93,
including comments). I know it’s not useful, but it was fun. If you want the
code, you can get it by
downloading the .NET 3.0 Cross Technology samples and checking out the
WinSDK_Samples\CrossTechnology\WpfDataBindingToWcfResults\service\NumberUtility.cs
file. I built the file to be dropped into any .NET 2.0+ project (and even
.NET 1.x projects, if you remove the “using System.Collections.Generic”
statement at the top of the file — I don’t actually use generics),
regardless of whether you’re using Avalon or Indigo or not.
Enjoy.
Discuss