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 29, 2006
spout
Laura Foy makes on10.net for me
I had my first on 10 experience today (I was following the links to the PhotoSynth stuff) and I have to say, I instantly fell in love with Laura Foy. I know that Erica Wiechers (of The .NET Show and MSDN TV) has a huge geekboy fan base (and it was fun to work with her @ MSDN), but Laura’s interviewing style and her personality made me subscribe to her interviewer-specific RSS feed on 10.
In fact, Laura makes me wish I did something besides developer-related stuff. What do I have to do to be interviewed by Laura Foy?!?
P.S. I wanted to title this blog entry “Laura Foy is a major babe,” but Laura is a fellow Microsoft employee and that would be inappropriate. Also, the whistling and cat calls would be way out…
July 23, 2006
spout writing
An Embarrassment of WPF Riches
I just realized that Avalon is getting a book treatment unlike any other topic in my memory:
User and GDI had Petzold. Win32 had Rector. MFC had Prosise. COM had Box. Indigo’s got no big names I’ve yet seen, but Avalon gets Anderson, Petzold, Nathan *and* Griffiths?!? It’s going to be a bloodbath in the market, but the readers are going to benefit. Why couldn’t I have picked a lightweight topic, like, oh, I don’t know, ASP.NET 2.0? : )
July 17, 2006
spout
DVD Wars. Huh. What is it good for?
Here’s the thing I don’t get about the next-gen "
DVD Wars." When I moved from VHS to DVD, I got much higher quality output and random access to content. Given that DVDs are already letterbox, what do I get moving to an HD DVD format? Is the quality that much better? Are there other features I get that I’m going to really want? The only feature I wish I had was the ability to easily burn the main content of my DVDs to my computer for random access like I get w/ music today. Will the next-gen formats support that?
July 6, 2006
spout
Struggling with NUnit (2.2)
I had a very unpleasant afternoon trying to get NUnit working, so I thought I’d share my troubles and my solutions (such as they are). A search revealed a lot of folks with the same troubles, but precious few explanations or solutions. The NUnit Quick Start documentation does a wonderful job telling you how to write a simple TestFixture class with one or more Test methods (and even an optional SetUp method). However, as far as I could tell, there wasn’t any part of that tutorial that said
“Hey! Add a reference to ‘nunit.core.dll’ as well as ‘nunit.framework.dll’ to your project or neither nunit-gui nor nunit-console will work;” you’ll get
a System.IO.FileNotFoundException when you don’t have nunit.core.dll (the Exceptions Details menu item doesn’t help):

Also, when you start up nunit-console, you better darn well be in the current working directory of the test assembly as well as nunit.core or you’re going to get the same message in the console. Likewise, if you start nunit-gui. Further, if you just run nunit-gui, create a new project and then add an assembly, you better have known to
save the .nunit project file in the same directory as the assemblies you add, or you’ll be getting the same message again.
And, as if that weren’t enough, you’ll get this message again if you add nunit integration as an external tool to VS05 (via the Tools | External Tools menu item) using the instructions in the docs. The docs say to use $(TargetPath) and $(TargetDir), but those variables expand to the obj directory on my machine (although that seems wrong to me), not the bin directory, and the obj directory doesn’t contain the referenced assemblies.
I never was able to get a VS05 external NUnit tool to work.
Luckily, it’s very cool that nunit-gui doesn’t keep test assemblies locked and notices when an assembly has changed from underneath it, so that once I do get it started with the appropriate working directory, it works nicely.
As it turned out, there were a lot of ways to get that FileNotFoundException message and I’m pretty sure I found them all before finding any ways to actually make nunit work. None of these things are NUnit’s fault it’s damn hard to do dynamic assembly loading in .NET but it’s still on you to make sure NUnit is configured properly.
Finally, the tutorial
shows but doesn’t say that you better make your test methods public. Since NUnit uses Reflection, it doesn’t need the classes or the methods to be public, but I guess they decided that was an interesting knob to let the developer turn. I’d have preferred to let the default permissions work (internal) to save myself typing, but that’s just a nit.