Harry’s In The Basement

100′s of unread blog entries, 100′s of new emails, no new posts on DevHawk.net. It’s almost like I’ve been offline at a team meeting in Vegas for three days. Actually, it’s exactly like that. Next week will be more of the same, as I’m on vacation (taking my son Patrick to meet his Great-Grandmother). So today is my big chance to get caught up on everything.

Media Center

As was reported on Sells Bros., Windows XP Media Center Edition (MCE) is available to MSDN Universal subscribers for download. I had an older PC lying around, so I thought I’d give it a whirl. So far, pretty cool. But, of course, it doesn’t matter if you can’t write code for it. 😄 Luckily, I found the Media Center Extensibility Guide as well as information about programming the remote control. According to the remote control article, any XP Pro machine should support the remote control. So even if you don’t have MCE, you can still buy the remote control and use it (I got mine from NewEgg.com). Only bummer – remote control messages are mapped to a variety of windows messages – WM_INPUT, WM_APPCOMMAND, WM_KEYDOWN, etc. No convenient CLR Windows Forms mapping, even though MCE ships with the .NET Framework.

Update – the remote control does, in fact, work with XP Pro. Tried it out w/ WMP to mute, change volume, move to next track, etc.

Talking Trash About Tony

I’ve been playing in the Microsoft Flag Football league for the past few weeks. Today was the first time I knew anyone on the field other than my teammates. Tony Goodhew is a PM in the VS.NET group. He’s worked with VC++ (Here’s an interview with new MSFT employee Robert Scoble), J#, plus he does stuff with standardization of CLR. Tony’s Australian, which means he plays more rugby than football, a fact that was clearly obvious as I blew past him and the rest of his team’s offensive line to sack the QB in the end zone for the safety that turned out to be the margin of victory. I’d love to see Tony start a blog. He’s been kicking around the .NET team so long he’s got a bunch of good stories to tell. I brought him to a .NET student user group meeting at U of Washington and he was awesome. I’m hoping that if I talk enough trash about him here, he’ll start a blog just to respond in kind.

In other news, I need new business cards. Given that Scoble credits his weblog with getting him hired, I’ve decided to put my weblog on the business cards. Anybody else do this?

RSS Questions

I’m working on adding individual list support to my SharePoint RSS Feed Generator. This allows me to pass the name or ID for a specific list on the query string and return that list as a channel. However, it is possible to pass invalid data on the query string. For example, I could subscribe to the RSS feed for a list only to have that list be deleted. The next time my news aggregator updates, the requested list will be invalid. I’ve decided to return HTTP 404 if this happen. Is this the right behavior?

Second question: can an RSS feed have multiple channels? In SharePoint, a web is a collection of lists and a list is a collection of list items. If the user requests the RSS feed for a web, they get back a channel with the title/link/description of the web and an item element for each list item in every list in the web. That means that when the user requests a web’s RSS feed, the list grouping is being flattened out (though I do put the list’s name as the category of any list item). Wouldn’t it make more sense to return multiple channels? According to the spec, there can only be a single channel element under the rss element. If that’s the case, why even have a channel element? Why not just put all of channel’s children directly under the rss element?

I’d like to see a revision to the RSS spec to add optional support for multiple channels and for optional title/link/description elements as direct children of the rss element. Of course, if we can’t agree on a namespace, I assume we’ll never get my suggestions added.

SharePoint RSS Feed Generator

I just added a project page for my SharePoint RSS Feed Generator. Please feel free to download and test the code. It’s very early code – v0.1 – and I know there are issues. It passed a basic smoke test with Matt, but he found some irregularities. He also suggested enabling RSS feed for individual lists rather than just for sites. That will be the primary enhancement of a v0.2.

If there’s interest, I can create a GotDotNet Workspace for this project.