<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>MSDNDevelopment - Duncan Mackenzie .NET</title>
        <description>Code/Tea/Etc.</description>
        <link>/Tags/MSDNDevelopment/RSS</link>
        <language>en</language>
        <image>
            <url>http://www.duncanmackenzie.net/Content/icons/frog.png</url>
            <title>Duncan Mackenzie .NET</title>
            <link>/Tags/MSDNDevelopment/RSS</link>
            <width>64</width>
            <height>64</height>
        </image>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>Kent Sharkey's been a busy guy</title>
            <description>&lt;p&gt;Kent's blog is back online and in one of his recent posts he updates us on all the projects he's been working since he left Microsoft (where we were both working at MSDN as content strategists)... tons of cool stuff, definitely worth reading through and following some links.&lt;/p&gt; &lt;blockquote&gt; &lt;h5&gt;Wednesday, April 04, 2007 &lt;a href=&quot;http://www.acmebinary.com/blog/archive/2007/04/04.aspx&quot;&gt;#&lt;/a&gt;&lt;/h5&gt; &lt;h6&gt;&lt;a href=&quot;http://www.acmebinary.com/blog/archive/2007/04/04/256.aspx&quot;&gt;What has been occupying my time&lt;/a&gt;&lt;/h6&gt; &lt;p&gt;It's been about a nice round 17 months (give or take) since I left Microsoft. Since then, Microsoft shipped some software, people have argued, and the world continues its revolution, rotation and other movements.&lt;br&gt;I know all of you were wondering, &quot;What's Kent up to?&quot;, so here is some of what I've been up to since I left.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;a href=&quot;http://www.acmebinary.com/blog/Default.aspx&quot; target=&quot;_blank&quot;&gt;Kent Sharkey's Blog&lt;/a&gt;&amp;nbsp;(home page)&lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/kent-sharkeys-been-a-busy-guy</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/kent-sharkeys-been-a-busy-guy</guid>
            <pubDate>Thu, 05 Apr 2007 01:13:00 GMT</pubDate>
            <category>Blogging</category>
            <category>MSDNDevelopment</category>
            <category>PersonalMusings</category>
            <category>WebDevelopment</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>Pageviews are Obsolete</title>
            <description>&lt;p&gt;For quite some time I've thought Pageviews were a mostly useless number to be tracking for any web site. This was very clear at &lt;a href=&quot;http://msdn.microsoft.com&quot;&gt;MSDN&lt;/a&gt;, where such stats are tracked very carefully... spreadsheets are created... charts are made... and yet, none of us really believed in the Pageview #s. Instead we used to focus more on unique visitors or an odd calculated value we called unique page views (not everyone's definition of that # is the same, but suffice it to say that is an attempt to more accurately represent real site visits by real people).&lt;/p&gt; &lt;p&gt;RSS is one reason why PageViews are useless, site design considerations are another (if high page views are a goal, then reducing the # of clicks for a user to get from your home page to an article becomes a bad thing... when it should a wonderful thing).&lt;/p&gt; &lt;p&gt;I found &lt;a href=&quot;http://evhead.com/2006/08/pageviews-are-obsolete.asp&quot; target=&quot;_blank&quot;&gt;a great article today&lt;/a&gt;, via &lt;a href=&quot;http://del.icio.us/alexbarn&quot; target=&quot;_blank&quot;&gt;Alex Barnett's deli.cio.us links&lt;/a&gt;, on this exact topic.&lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/Pageviews-are-Obsolete</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/Pageviews-are-Obsolete</guid>
            <pubDate>Mon, 11 Sep 2006 12:10:00 GMT</pubDate>
            <category>Blogging</category>
            <category>MSDNDevelopment</category>
            <category>WebDevelopment</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>Beta versions of the MSDN home page now available...</title>
            <description>&lt;p&gt;I've been working (as part of a large team!) on the new platform for MSDN, which is up and running at &lt;a href=&quot;http://msdn2.microsoft.com&quot; target=&quot;_blank&quot;&gt;http://msdn2.microsoft.com&lt;/a&gt;... and now you can see prototype versions of the MSDN home page ontop of that same platform. Check it out here [&lt;a href=&quot;http://beta.msdn.microsoft.com/default.aspx&quot; target=&quot;_blank&quot;&gt;http://beta.msdn.microsoft.com/default.aspx&lt;/a&gt;]. The new home page demonstrates some of the personalization/profile features that will end up on the final MSDN site in the near future.&lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/Beta-versions-of-the-MSDN-home-page-now-available</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/Beta-versions-of-the-MSDN-home-page-now-available</guid>
            <pubDate>Wed, 14 Dec 2005 20:33:00 GMT</pubDate>
            <category>NET</category>
            <category>VisualC</category>
            <category>MSDNDevelopment</category>
            <category>VisualBasic</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>application/rss+xml vs. text/xml</title>
            <description>&lt;p&gt;I've been working on some feed support in MSDN's new online platform (a beta of which is running &lt;a href=&quot;http://msdn2.microsoft.com&quot; target=&quot;_blank&quot;&gt;http://msdn2.microsoft.com&lt;/a&gt;) and I had to decide what content-type to use when outputting a RSS feed. I knew this was a contentious issue in the past, but I thought it might have been resolved so I did some browsing of specs and discussions and ended up with the following links:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.intertwingly.net/blog/1766.html&quot; target=&quot;_blank&quot;&gt;A discussion on Sam Ruby's blog around content-type&lt;/a&gt; (the comments are the interesting part)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blogs.law.harvard.edu/crimson1/2004/05/06#a1519&quot; target=&quot;_blank&quot;&gt;This post by Dave Winer&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;I'm sure I could find more, but it appears this was never really resolved...  using application/xml seems the most 'proper', but the concern is that some browsers don't know how to handle it ... so the other choice is text/xml (specifically text/xml; charset=utf-8 or else the charset will default to US-ASCII). Hmm... which to choose? Even our own sites have multiple implementations:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;The &lt;a href=&quot;http://msdn.microsoft.com/rss.xml&quot; target=&quot;_blank&quot;&gt;main MSDN feed&lt;/a&gt; is application/xml&lt;/li&gt;
&lt;li&gt;while the &lt;a href=&quot;http://msdn.microsoft.com/msdnmag/rss/rss.aspx?Sub=Service Station&quot; target=&quot;_blank&quot;&gt;MSDN Magazine's&lt;/a&gt; (which is dynamically generated using ASP.NET) is output as text/xml; charset=utf-8&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Interestingly enough, I found one feed that used application/rss+xml (&lt;a href=&quot;http://www.intertwingly.net/blog/index.rss2&quot; target=&quot;_blank&quot;&gt;Sam's RSS 2.0 feed&lt;/a&gt;) which I think is probably not the best choice since that content type was never officially registered, and it was the only feed I hit that IE didn't understand (and therefore tried to just download).&lt;/p&gt;

&lt;p&gt;I think I will go with &quot;application/xml&quot; which has the best features in my opinion.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It clearly indicates that this is not just text, so it should avoid issues with proxies messing with the characters,&lt;/li&gt;
&lt;li&gt;it leaves the character set data in the xml declaration, avoiding a possible conflict if I specify one in the http headers that is different than what the feed specifies,&lt;/li&gt;
&lt;li&gt;it displays correctly in IE and Firefox, and&lt;/li&gt;
&lt;li&gt;it is consistent with what we are doing today with the MSDN main feed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, what about those in-page links we have?  &amp;lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;blah&quot; href=&quot;rss.xml&quot;  /&amp;gt; .... perhaps they should be just &quot;application/xml&quot; as well?&lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/application-rss+xml-vs-text-xml</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/application-rss+xml-vs-text-xml</guid>
            <pubDate>Mon, 12 Dec 2005 10:03:00 GMT</pubDate>
            <category>Blogging</category>
            <category>Syndication</category>
            <category>XML</category>
            <category>MSDNDevelopment</category>
            <category>WebDevelopment</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>Just spent way too much time fixing VB code coloring on MSDN2</title>
            <description>&lt;p&gt;You may have already noticed this, but the current build of MSDN2 has a bug in the way it colors VB code snippets, as you can see &lt;a href=&quot;http://msdn2.microsoft.com/en-us/library/chsc1tx6(en-US,VS.80).aspx&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt; (scroll down, there are quite a few problems in the code snippet coloring, see how many you can spot!)...  turns out the code wasn't handling comments right, text in quotes, and it didn't have a full list of the VB keywords (so MsgBox was not recognized, for example). I've fixed it all up now (I think) so that code will work its way through review and test then get added to some not-too-distant update of the site code... but for now, here is the revised output for those particular code samples.&lt;/p&gt;

&lt;h4&gt;Broken&lt;/h4&gt;
&lt;pre class=&quot;code&quot; space=&quot;preserve&quot;&gt;&lt;span style=&quot;color:green&quot;&gt;' Imports statements must be at the top of a module.&lt;/span&gt;
&lt;span style=&quot;color:blue&quot;&gt;Imports&lt;/span&gt; Microsoft.VisualBasic.CallType
&lt;/pre&gt;

&lt;pre class=&quot;code&quot; space=&quot;preserve&quot;&gt;&lt;span style=&quot;color:blue&quot;&gt;Sub&lt;/span&gt; TestCallByName1()
    &lt;span style=&quot;color:green&quot;&gt;'Set a property.&lt;/span&gt;
    CallByName(TextBox1, &amp;quot;Text&amp;quot;, CallType.Set, &amp;quot;&lt;span style=&quot;color:blue&quot;&gt;New&lt;/span&gt; Text&amp;quot;)

    &lt;span style=&quot;color:green&quot;&gt;'Retrieve the value of a property.&lt;/span&gt;
    MsgBox(CallByName(TextBox1, &amp;quot;Text&amp;quot;, CallType.&lt;span style=&quot;color:blue&quot;&gt;Get&lt;/span&gt;))

    &lt;span style=&quot;color:green&quot;&gt;'Call a method.&lt;/span&gt;
    CallByName(TextBox1, &amp;quot;Hide&amp;quot;, CallType.Method)
&lt;span style=&quot;color:blue&quot;&gt;End Sub&lt;/span&gt;
&lt;/pre&gt;

&lt;pre class=&quot;code&quot; space=&quot;preserve&quot;&gt;&lt;span style=&quot;color:blue&quot;&gt;Public&lt;/span&gt; &lt;span style=&quot;color:blue&quot;&gt;Sub&lt;/span&gt; TestCallByName2()
    &lt;span style=&quot;color:blue&quot;&gt;Dim&lt;/span&gt; col &lt;span style=&quot;color:blue&quot;&gt;As&lt;/span&gt; &lt;span style=&quot;color:blue&quot;&gt;New&lt;/span&gt; Collection()

    'Store the string &amp;quot;Item One&amp;quot; in a collection by 
    &lt;span style=&quot;color:green&quot;&gt;'calling the Add method.&lt;/span&gt;
    CallByName(col, &amp;quot;Add&amp;quot;, CallType.Method, &amp;quot;Item One&amp;quot;)

    &lt;span style=&quot;color:green&quot;&gt;'Retrieve the first entry from the collection using the &lt;/span&gt;
    &lt;span style=&quot;color:green&quot;&gt;'Item property and display it using MsgBox().&lt;/span&gt;
    MsgBox(CallByName(col, &amp;quot;Item&amp;quot;, CallType.&lt;span style=&quot;color:blue&quot;&gt;Get&lt;/span&gt;, 1))
&lt;span style=&quot;color:blue&quot;&gt;End Sub&lt;/span&gt;
&lt;/pre&gt;

&lt;h4&gt;Fixed&lt;/h4&gt;

&lt;pre class=&quot;code&quot; space=&quot;preserve&quot;&gt;&lt;span style=&quot;color:green&quot;&gt;' Imports statements must be at the top of a module.&lt;/span&gt;
&lt;span style=&quot;color:blue&quot;&gt;Imports&lt;/span&gt; Microsoft.VisualBasic.CallType
&lt;/pre&gt;

&lt;pre class=&quot;code&quot; id=&quot;ctl00_LibFrame_MainContent_ctl11VisualBasic&quot; space=&quot;preserve&quot;&gt;&lt;span style=&quot;color:blue&quot;&gt;Sub&lt;/span&gt; TestCallByName1()
    &lt;span style=&quot;color:green&quot;&gt;'Set a property.&lt;/span&gt;
    &lt;span style=&quot;color:blue&quot;&gt;CallByName&lt;/span&gt;(TextBox1, &lt;span style=&quot;color: maroon&quot;&gt;&amp;quot;Text&amp;quot;&lt;/span&gt;, CallType.Set, &lt;span style=&quot;color: maroon&quot;&gt;&amp;quot;New Text&amp;quot;&lt;/span&gt;)

    &lt;span style=&quot;color:green&quot;&gt;'Retrieve the value of a property.&lt;/span&gt;
    &lt;span style=&quot;color:blue&quot;&gt;MsgBox&lt;/span&gt;(CallByName(TextBox1, &lt;span style=&quot;color: maroon&quot;&gt;&amp;quot;Text&amp;quot;&lt;/span&gt;, CallType.Get))

    &lt;span style=&quot;color:green&quot;&gt;'Call a method.&lt;/span&gt;
    &lt;span style=&quot;color:blue&quot;&gt;CallByName&lt;/span&gt;(TextBox1, &lt;span style=&quot;color: maroon&quot;&gt;&amp;quot;Hide&amp;quot;&lt;/span&gt;, CallType.Method)
&lt;span style=&quot;color:blue&quot;&gt;End&lt;/span&gt; &lt;span style=&quot;color:blue&quot;&gt;Sub&lt;/span&gt;
&lt;/pre&gt;

&lt;pre class=&quot;code&quot; space=&quot;preserve&quot;&gt;&lt;span style=&quot;color:blue&quot;&gt;Public&lt;/span&gt; &lt;span style=&quot;color:blue&quot;&gt;Sub&lt;/span&gt; TestCallByName2()
    &lt;span style=&quot;color:blue&quot;&gt;Dim&lt;/span&gt; col &lt;span style=&quot;color:blue&quot;&gt;As&lt;/span&gt; &lt;span style=&quot;color:blue&quot;&gt;New&lt;/span&gt; Collection()

    &lt;span style=&quot;color:green&quot;&gt;'Store the string &amp;quot;Item One&amp;quot; in a collection by &lt;/span&gt;
    &lt;span style=&quot;color:green&quot;&gt;'calling the Add method.&lt;/span&gt;
    &lt;span style=&quot;color:blue&quot;&gt;CallByName&lt;/span&gt;(col, &lt;span style=&quot;color: maroon&quot;&gt;&amp;quot;Add&amp;quot;&lt;/span&gt;, CallType.Method, &lt;span style=&quot;color: maroon&quot;&gt;&amp;quot;Item One&amp;quot;&lt;/span&gt;)

    &lt;span style=&quot;color:green&quot;&gt;'Retrieve the first entry from the collection using the &lt;/span&gt;
    &lt;span style=&quot;color:green&quot;&gt;'Item property and display it using MsgBox().&lt;/span&gt;
    &lt;span style=&quot;color:blue&quot;&gt;MsgBox&lt;/span&gt;(CallByName(col, &lt;span style=&quot;color: maroon&quot;&gt;&amp;quot;Item&amp;quot;&lt;/span&gt;, CallType.Get, 1))
&lt;span style=&quot;color:blue&quot;&gt;End&lt;/span&gt; &lt;span style=&quot;color:blue&quot;&gt;Sub&lt;/span&gt;
&lt;/pre&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/Just-spent-way-too-much-time-fixing-VB-code-coloring-on-MSDN2</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/Just-spent-way-too-much-time-fixing-VB-code-coloring-on-MSDN2</guid>
            <pubDate>Wed, 16 Nov 2005 03:24:00 GMT</pubDate>
            <category>MSDNDevelopment</category>
            <category>VisualBasic</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>Gave a talk earlier today about how we built MSDN2...</title>
            <description>&lt;p&gt;I focused mainly on the Virtual Path Provider in ASP.NET 2.0, and how we use that to construct our pages on the new MSDN platform (visible live at http://msdn2.microsoft.com). I thought I should put up some links to additional information, starting with a link to the reference material currently available on the Virtual Path Provider.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://msdn2.microsoft.com/en-us/library/system.web.hosting.virtualpathprovider.aspx&quot; target=&quot;_blank&quot;&gt;VirtualPathProvider Class (System.Web.Hosting)&lt;/a&gt;&lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/Gave-a-talk-earlier-today-about-how-we-built-MSDN2</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/Gave-a-talk-earlier-today-about-how-we-built-MSDN2</guid>
            <pubDate>Fri, 11 Nov 2005 02:36:00 GMT</pubDate>
            <category>MSDNDevelopment</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>Just arrived for ASP.NET Connections...</title>
            <description>&lt;p&gt;Landed in Vegas for the &lt;a href=&quot;http://www.devconnections.com/shows/aspfall2005/default.asp?s=65&quot; target=&quot;_blank&quot;&gt;conference&lt;/a&gt;, talk is on Thursday.... I'll be talking about &lt;a href=&quot;http://msdn2.microsoft.com&quot; target=&quot;_blank&quot;&gt;MSDN2.microsoft.com&lt;/a&gt;, but more specifically I'll be covering the use of the Virtual Page Provider feature in ASP.NET 2.0, so if that type of thing appeals to you, come by and check it out!&lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/Just-arrived-for-ASPNET-Connections</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/Just-arrived-for-ASPNET-Connections</guid>
            <pubDate>Mon, 07 Nov 2005 21:26:00 GMT</pubDate>
            <category>NET</category>
            <category>VisualC</category>
            <category>MSDNDevelopment</category>
            <category>VisualBasic</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>RSS feed authoring for those without blog software or an enjoyment of typing angle brackets</title>
            <description>&lt;p&gt;Blogs and blogging software seem to be everywhere these days, and RSS has been a top buzzword for quite some time, everyone and their dog wants to take advantage of this new trend and technology. The problem is, it isn't a simple process to create and maintain a valid RSS file. If you aren't willing to run a complete blogging system or if you aren't capable of hand-editing XML, then you don't have a lot of options. For most of the folks that will read this blog entry, you probably don't have this problem, producing RSS 2.0 wouldn't be much of an issue for a developer, but there are times when we want less technical folks to be able to author their own feeds without any assistance. At MSDN we started thinking about this very problem ourselves recently when we decided that, in addition to &lt;a href=&quot;http://msdn.microsoft.com/aboutmsdn/rss&quot;&gt;all the feeds that come out of our content systems&lt;/a&gt;, there was a need to create some small feeds that didn't necessarily fit into our larger content systems. Handing off the task of feed creation to notepad or Front Page wasn't an appealing thought and that path would probably result in a lot of xml editing errors and invalid feeds.&lt;/p&gt; &lt;p&gt;This problem happened to line up with a sample I had been thinking of though, so I wrote a quick app using VC# Express 2005 to try and help out; a Feed Writer that allows you to create new RSS 2.0 feeds, edit existing ones, and even import entries from one feed to another. I stuck to a tried and true UI structure, tree along the left side then entry fields on the right:&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.duncanmackenzie.net/images/FeedWriter.png&quot;&gt;&lt;img src=&quot;http://www.duncanmackenzie.net/images/FeedWriter_small.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This app has been developed &lt;b&gt;without&lt;/b&gt; the general user in mind, MSDN/TechNet were the targets and because of that there are some fields in this UI that are only relevant to the needs of those groups. For example, the list of attributes you can see on the lower-right is specific to the needs of MSDN and TechNet, who need to markup the feed entries with the appropriate choices. The &quot;Type&quot; and &quot;HeadlineImage&quot; fields are also specific to MSDN feeds, I'm planning to adapt it to work with 'standard' RSS 2.0 items and the category element to make it more general purpose, but for now I thought I'd show you the version I already have running.&lt;/p&gt; &lt;p&gt;In a rather backwards fashion, I'm going to finish up this as a sample and write the article, now that I've finished the actual practical version of the same system... but it will all work out in the end.&lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/RSS-feed-authoring-for-those-without-blog-software-or-an-enjoyment-of-typing-angle-brackets</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/RSS-feed-authoring-for-those-without-blog-software-or-an-enjoyment-of-typing-angle-brackets</guid>
            <pubDate>Tue, 01 Nov 2005 23:56:00 GMT</pubDate>
            <category>Blogging</category>
            <category>Syndication</category>
            <category>XML</category>
            <category>NET</category>
            <category>VisualC</category>
            <category>MSDNDevelopment</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>After some discussions with Sam Ruby and others on the FeedValidator mailing list, the MSDN RSS feed validates as is...</title>
            <description>&lt;p&gt;In &lt;a href=&quot;http://blogs.duncanmackenzie.net/duncanma/archive/2005/09/26/2940.aspx&quot; target=&quot;_blank&quot;&gt;an earlier post&lt;/a&gt;, I discussed the fact that the MSDN feeds were failing to validate due to a MIME type that included parameters (charset in this case, like 'text/html ;charset=utf-8'), but I also posted a query about this issue into &lt;a href=&quot;http://sourceforge.net/mailarchive/forum.php?thread_id=8314757&amp;forum_id=37467&quot; target=&quot;_blank&quot;&gt;the listserv for FeedValidator.org&lt;/a&gt;. Sam mentioned it &lt;a href=&quot;http://www.intertwingly.net/blog/2005/09/27/Enclosure-type-parameters&quot; target=&quot;_blank&quot;&gt;on his blog&lt;/a&gt;, and then went ahead and updated the validator to recognize a MIME type with parameter as valid.&lt;/p&gt;

&lt;p&gt;In the meantime, I updated the MSDN generator to strip out the parameters :), but I still think they are technically valid so I'm glad the feed &lt;a href=&quot;http://www.feedvalidator.org/check.cgi?url=http%3A%2F%2Fmsdn.microsoft.com%2Frss.xml&quot; target=&quot;_blank&quot;&gt;validates&lt;/a&gt; as it is today (with params) and as it will exist in the near future with the MIME types stripped down to just type/subtype.&lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/After-some-discussions-with-Sam-Ruby-and-others-on-the-FeedValidator-mailing-list-the-MSDN-RSS-feed-validates-as-is</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/After-some-discussions-with-Sam-Ruby-and-others-on-the-FeedValidator-mailing-list-the-MSDN-RSS-feed-validates-as-is</guid>
            <pubDate>Tue, 27 Sep 2005 21:39:00 GMT</pubDate>
            <category>Blogging</category>
            <category>Syndication</category>
            <category>XML</category>
            <category>NET</category>
            <category>VisualC</category>
            <category>MSDNDevelopment</category>
            <category>VisualBasic</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>A bug in my RSS generator, but is it really invalid?</title>
            <description>&lt;p&gt;The RSS generator for MSDN, creator of &lt;a href=&quot;http://msdn.microsoft.com/rss.xml&quot; target=&quot;_blank&quot;&gt;this feed&lt;/a&gt;, and many more ... has a small problem. Way upstream, when various people inside the company enter information about an upcoming headline, they have the ability to specify a URL to a download. The intent was for this to be a URL to an actual downloadable file, so when I generate an RSS item from that headline entry, I take that URL and turn it into an enclosure entry in the RSS file.&lt;/p&gt;

&lt;pre&gt;
&lt;p&gt;    &amp;lt;item&amp;gt;&lt;br /&gt;
&lt;br /&gt;      &amp;lt;title&amp;gt;Read about Atlas - Ajax for ASP.NET&amp;lt;/title&amp;gt;&lt;br /&gt;
&lt;br /&gt;      &amp;lt;description&amp;gt;ASP.NET &amp;quot;Atlas&amp;quot; is a package of 
&lt;br /&gt;new Web development technologies that integrates an extensive set of 
&lt;br /&gt;client script libraries with the rich, server-based development 
&lt;br /&gt;platform of ASP.NET 2.0. &amp;lt;/description&amp;gt;&lt;br /&gt;
&lt;br /&gt;      &amp;lt;link&amp;gt;http://msdn.microsoft.com/asp.net/future/&amp;lt;/link&amp;gt;&lt;br /&gt;
&lt;br /&gt;      &amp;lt;dc:creator&amp;gt;Microsoft Corporation&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
&lt;br /&gt;      &amp;lt;category domain=&amp;quot;msdndomain:ContentType&amp;quot;&amp;gt;Link&amp;lt;/category&amp;gt;&lt;br /&gt;
&lt;br /&gt;      &amp;lt;category domain=&amp;quot;msdndomain:Audience&amp;quot;&amp;gt;Developers&amp;lt;/category&amp;gt;&lt;br /&gt;
&lt;br /&gt;      &amp;lt;category domain=&amp;quot;msdndomain:Hardware&amp;quot;&amp;gt;CPU&amp;lt;/category&amp;gt;&lt;br /&gt;
&lt;br /&gt;      &amp;lt;category domain=&amp;quot;msdndomain:Operating Systems&amp;quot;&amp;gt;Windows&amp;lt;/category&amp;gt;&lt;br /&gt;
&lt;br /&gt;      &amp;lt;category domain=&amp;quot;msdndomain:Subject&amp;quot;&amp;gt;Web development&amp;lt;/category&amp;gt;&lt;br /&gt;
&lt;br /&gt;      &amp;lt;msdn:headlineImage /&amp;gt;&lt;br /&gt;
&lt;br /&gt;      &amp;lt;msdn:headlineIcon&amp;gt;http://msdn.microsoft.com/msdn-&lt;br /&gt;online/shared/graphics/icons/offsite.gif&amp;lt;/msdn:headlineIcon&amp;gt;&lt;br /&gt;
&lt;br /&gt;      &amp;lt;msdn:contentType&amp;gt;Link&amp;lt;/msdn:contentType&amp;gt;&lt;br /&gt;
&lt;br /&gt;      &amp;lt;msdn:simpleDate&amp;gt;Sep 19&amp;lt;/msdn:simpleDate&amp;gt;&lt;br /&gt;
&lt;br /&gt;      &lt;span style=&quot;background-color: #FFFF00&quot;&gt;&amp;lt;enclosure url=&amp;quot;&lt;br /&gt;
http://go.microsoft.com/fwlink/?LinkId=52384&amp;quot; &lt;br /&gt;length=&amp;quot;17437&amp;quot; &lt;br /&gt;type=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;      &amp;lt;guid isPermaLink=&amp;quot;false&amp;quot;&amp;gt;Titan_2519&amp;lt;/guid&amp;gt;&lt;br /&gt;
&lt;br /&gt;      &amp;lt;pubDate&amp;gt;Mon, 19 Sep 2005 18:20:40 GMT&amp;lt;/pubDate&amp;gt;&lt;br /&gt;
&lt;br /&gt;    &amp;lt;/item&amp;gt;&lt;br /&gt;
&lt;/p&gt;&lt;/pre&gt;


&lt;p&gt;This generally works fine, I make a HEAD request with that URL which gives me back the MIME type and the Content Length, both of which are needed for the enclosure element in the RSS item. Sometimes though, people put in a URL to the download's landing page, not the download itself. There are good reasons for this, as the download page often contains useful information and/or multiple localized versions of the download, but it was not what I expected. In this case, I put the enclosure in with the MIME type I get back from that URL, which ends up being 'text/html' and with a byte size that reflects the size of the landing page.&lt;/p&gt;

&lt;p&gt;This wasn't really what I wanted to happen, so I need to figure out a solution at my end, but what I noticed today and what has me a little puzzled is that at least two different validators (&lt;a href=&quot;http://rss.scripting.com/?url=http%3A%2F%2Fmsdn.microsoft.com%2Frss.xml&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fmsdn.microsoft.com%2Frss.xml&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;) report these types of entries as validation errors. The error they specify is that text/html is not a valid MIME type.... but, according to &lt;a href=&quot;http://www.ietf.org/rfc/rfc2854.txt&quot; target=&quot;_blank&quot;&gt;the RFC(s)&lt;/a&gt; (see 4.1.2 of &lt;a href=&quot;http://www.rfc-editor.org/rfc/rfc2046.txt&quot; target=&quot;_blank&quot;&gt;this RFC&lt;/a&gt;) and other sources, it most certainly &lt;b&gt;is&lt;/b&gt; a valid type. So, is there a hidden rule in RSS that enclosures have to fall within some special subset of MIME types, or are both of these validators broken? Sure, in this case it wasn't really what I wanted, but what if I really did have a text/html document for you to download?&lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/A-bug-in-my-RSS-generator-but-is-it-really-invalid</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/A-bug-in-my-RSS-generator-but-is-it-really-invalid</guid>
            <pubDate>Mon, 26 Sep 2005 23:36:00 GMT</pubDate>
            <category>Blogging</category>
            <category>Syndication</category>
            <category>XML</category>
            <category>MSDNDevelopment</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>Doing interesting things with XSL</title>
            <description>&lt;p&gt;I've been messing around with using XSL to display RSS on MSDN, as a simpler alternative to a custom ASP.NET control, and while it works perfectly in the core case (display all the items in a feed in a format), there are two additional requirements that were very easy to handle in a .NET class, but trickier (for me) in XSL.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Display the top &lt;i&gt;n&lt;/i&gt; items &lt;li&gt;Out of the full list, display &lt;i&gt;n&lt;/i&gt; randomly picked items &lt;/li&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;For the first, it was pretty easy... &amp;lt;xsl:if test=&quot;position &amp;lt; 6&quot;&amp;gt; could be used to only output the top 5 items, for example... For the second though, I was stumped for a bit... then I came up with an idea. I would write a script function that would pick &lt;i&gt;n&lt;/i&gt; items out of the total count, put those choices into an array, then use another function that tests the current position against that list of choices... sound good? Well, I'm still working on implementing this one... I have it working, but I'm not 100% sure of my solution.&lt;/p&gt; &lt;p&gt;If you are interested, you can see the code running &lt;a href=&quot;http://www.duncanmackenzie.net/xsltest.aspx&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;, and pull down the xsl from &lt;a href=&quot;http://www.duncanmackenzie.net/rsspretty.xsl&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;, and the backing rss file from &lt;a href=&quot;http://www.duncanmackenzie.net/msdnall.xml&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;. &lt;a href=&quot;http://www.duncanmackenzie.net/xsltest.aspx.txt&quot; target=&quot;_blank&quot;&gt;Code for the page&lt;/a&gt; ... &lt;a href=&quot;http://www.duncanmackenzie.net/xmlView.ascx.txt&quot; target=&quot;_blank&quot;&gt;Code for the control it references&lt;/a&gt;... &lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/Doing-interesting-things-with-XSL</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/Doing-interesting-things-with-XSL</guid>
            <pubDate>Fri, 06 May 2005 09:12:00 GMT</pubDate>
            <category>Coding4Fun</category>
            <category>NET</category>
            <category>VisualC</category>
            <category>MSDNDevelopment</category>
            <category>VisualBasic</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>More on &quot;pulling&quot; MSDN content into my site...</title>
            <description>&lt;p&gt;In &lt;a href=&quot;http://blogs.duncanmackenzie.net/duncanma/archive/2005/03/19/1243.aspx&quot; target=&quot;_blank&quot;&gt;my last post&lt;/a&gt;, I was talking about pulling my articles from MSDN into the chrome of my site. This type of system could be created using a frameset, but frames are evil, so that isn't the approach I took. Instead, knowing a bit about the files on MSDN's web servers, I took advantage of a special xml file that exists for most of our articles. This file is created as part of our publishing process and exists so that we can pull articles into the chrome of our developer centers (like &lt;a href=&quot;http://msdn.microsoft.com/vbasic/using/columns/code4fun/default.aspx?pull=/library/en-us/dncodefun/html/code4fun12102003.asp&quot; target=&quot;_blank&quot;&gt;this&lt;/a&gt;). It isn't a straight xhtml file, but it is almost identical to the html content of the article itself. Knowing that this file exists, my pull code just munges the original (MSDN) URL of the requested article to figure out the underlying xml file name, then loads up that xml. Once I have the xml content, I do a bit of work to the elements, to make all the relative links correctly point back to MSDN (for the images, related articles, links into the SDK, etc...) and then output html into a placeholder on my own page.&lt;/p&gt;

&lt;p&gt;Given a URL like &lt;a href=&quot;http://msdn.microsoft.com/vbasic/using/columns/code4fun/default.aspx?pull=/library/en-us/dncodefun/html/code4fun12102003.asp&quot; target=&quot;_blank&quot;&gt;this&lt;/a&gt;, you can remove the pull syntax (used by our developer centers) to come up with the library URL of this article, &lt;a href=&quot;http://msdn.microsoft.com/library/en-us/dncodefun/html/code4fun12102003.asp&quot; target=&quot;_blank&quot;&gt;/library/en-us/dncodefun/html/code4fun12102003.asp&lt;/a&gt;, then apply a complex transform to produce the likely URL of the 'behind-the-scenes' XML file: &lt;a href=&quot;http://msdn.microsoft.com/library/en-us/dncodefun/html/code4fun12102003.xml&quot; target=&quot;_blank&quot;&gt;/library/en-us/dncodefun/html/code4fun12102003.xml&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It is possible that this XML file doesn't exist, so it is important to handle that possibility in your code. In my case, if I can't find the XML I just redirect to the original MSDN url. If the original URL doesn't appear to be well formed, I just give up completely and redirect to the home page of my own site.&lt;p&gt;

&lt;p&gt;&lt;i&gt;more details and code to follow....&lt;/i&gt;&lt;/p&gt;

&lt;div class=&quot;media&quot;&gt;[Listening to: Last Chance - Jet - Get Born (01:52)]&lt;/div&gt;&lt;/p&gt;&lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/More-on-pulling-MSDN-content-into-my-site</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/More-on-pulling-MSDN-content-into-my-site</guid>
            <pubDate>Mon, 21 Mar 2005 13:48:00 GMT</pubDate>
            <category>Syndication</category>
            <category>MSDNDevelopment</category>
            <category>VisualBasic</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>Playing around with pulling my articles into my own site's chrome...</title>
            <description>&lt;p&gt;Check out my &lt;a href=&quot;http://www.duncanmackenzie.net/articles&quot; target=&quot;_blank&quot;&gt;articles page&lt;/a&gt;, which is built from &lt;a href=&quot;http://www.duncanmackenzie.net/articles/rss.xml&quot; target=&quot;_blank&quot;&gt;an RSS file&lt;/a&gt; by the way, and click on any of the &quot;Coding 4 Fun&quot; articles. You'll end up still in my site, but viewing the full MSDN article. Mostly I'm just playing around, but it seemed 'neat' enough to mention :)&lt;/p&gt;
&lt;p&gt;By the way, the jury is still out on whether or not I've opened myself to various new security risks through this code, so if you want to try and hack my site using this new &quot;pull&quot; concept, go for it... I'd really appreciate it if you'd let me know if you find anything though, in the interest of science that is :)&lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/Playing-around-with-pulling-my-articles-into-my-own-sites-chrome</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/Playing-around-with-pulling-my-articles-into-my-own-sites-chrome</guid>
            <pubDate>Sat, 19 Mar 2005 01:36:00 GMT</pubDate>
            <category>Syndication</category>
            <category>VisualC</category>
            <category>MSDNDevelopment</category>
            <category>VisualBasic</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>Another little .Text update...</title>
            <description>&lt;p&gt;Thanks to &lt;a href=&quot;http://developernotes.com/archive/2005/01/23/253.aspx&quot; target=&quot;_blank&quot;&gt;a post&lt;/a&gt; by &lt;a href=&quot;http://developernotes.com/&quot; target=&quot;_blank&quot;&gt;Nick Parker&lt;/a&gt;, I found out my blog site was not producing valid RSS... and now it is :)&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://feedvalidator.org/check.cgi?url=http://blogs.duncanmackenzie.net/duncanma/Rss.aspx&quot;&gt;&lt;img src=&quot;http://www.duncanmackenzie.net/blogs/images/valid-rss.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/Another-little-Text-update</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/Another-little-Text-update</guid>
            <pubDate>Thu, 27 Jan 2005 00:49:00 GMT</pubDate>
            <category>NET</category>
            <category>VisualC</category>
            <category>MSDNDevelopment</category>
            <category>VisualBasic</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>Lead Developer position available with MSDN</title>
            <description>&lt;p&gt;Just posted recently, there is a opening at MSDN for a &quot;Software Development Engineering Lead&quot;. This is within the same group that I have just joined and it looks like a great job for the right person. Here is a brief snippet from the &lt;a href=&quot;http://www.microsoft.com/careers/search/details.aspx?JobID=2e310b8d-a7ca-4105-b7bd-fcaf8eee5054&quot; target=&quot;_blank&quot;&gt;full job description&lt;/a&gt;....&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Come leverage state-of-the-art technology! The MSDN/TechNet development team is looking for you to help us innovate in many exciting areas for our Development and IT Professional communities.&lt;/p&gt;

&lt;p&gt;We are looking for seasoned Development Lead that can deliver and strategize our tooling for Content Management, Personalization, Rendering and Publishing efforts. This is highly collaborative position and you will be working closely with the teams that we depend on (for example the Assistance Platform and the Microsoft.com Platform teams) to integrate and couple our tools to a variety of backend systems and aggregating data sources.&lt;/p&gt;

&lt;p&gt;We have a broad charter for content publishing, tooling and workflow applications for our core audiences and the broader areas of Microsoft.com and for all of our worldwide subsidiaries. We will highly value your expertise in areas of locale specific publishing, site personalization and content targeting. We want to improve the relevance of our content and site experiences for our customers by providing personalized and targeted content. Familiarity and experience with RSS, meta-data and taxonomies in relationship to application development will be important to this role.&lt;/p&gt;

&lt;/blockquote&gt;

&lt;p&gt;For the full details and/or to submit a resume, follow &lt;a href=&quot;http://www.microsoft.com/careers/search/details.aspx?JobID=2e310b8d-a7ca-4105-b7bd-fcaf8eee5054&quot; target=&quot;_blank&quot;&gt;this link&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Based on the response to past job postings, I'd like to be clear about one thing... &lt;b&gt;do not submit your resume to me, do not post it in the comments to this blog entry&lt;/b&gt; ... either approach will basically be ignored (unless you are someone who knows me well enough that you are looking for a reference).&lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/Lead-Developer-position-available-with-MSDN</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/Lead-Developer-position-available-with-MSDN</guid>
            <pubDate>Mon, 13 Dec 2004 09:29:00 GMT</pubDate>
            <category>VisualC</category>
            <category>MSDNDevelopment</category>
            <category>VisualBasic</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>HTML to XHTML</title>
            <description>&lt;p&gt;I have been pondering the best approach for ensuring &lt;em&gt;user supplied&lt;/em&gt; HTML is XHTML... and while it actually isn't hard to validate whether or not a given block of HTML is valid XHTML, what I really wanted was something that would fix up some of the more basic errors. Well, MSDN Magazine to the rescue... &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://msdn.microsoft.com/msdnmag/issues/04/11/WebQA/default.aspx&quot; target=&quot;_blank&quot;&gt;Web Q&amp;A: ADO.NET Joins, HTML to XHTML, ASP.NET ViewState, and More&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
ADO.NET Joins, HTML to XHTML, ASP.NET ViewState, and More&lt;br /&gt;
&lt;strong&gt;Author:&lt;/strong&gt; Edited by Nancy Michell&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That article showed me a variety of components that would really help in this situation, including &lt;a href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ipsdk/html/ipsdkUsingTheHTMLToXHTMLTool.asp&quot; target=&quot;_blank&quot;&gt;one from the InfoPath SDK&lt;/a&gt; and &lt;a href=&quot;http://perso.wanadoo.fr/ablavier/TidyCOM/&quot; target=&quot;_blank&quot;&gt;a COM component&lt;/a&gt; that wraps &lt;a href=&quot;http://www.w3.org/People/Raggett/tidy/&quot; target=&quot;_blank&quot;&gt;Tidy&lt;/a&gt;... very cool stuff.&lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/HTML-to-XHTML</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/HTML-to-XHTML</guid>
            <pubDate>Tue, 02 Nov 2004 00:16:00 GMT</pubDate>
            <category>MSDNDevelopment</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>Supporting LiveBookmarks in FireFox 1.0</title>
            <description>&lt;p&gt;When we originally added RSS feeds to the various developer centers on MSDN, we included a line (shown below) in the HTML of those pages that let browsers and other software know that there was a RSS feed available that was related to the content of the page.&lt;/p&gt;

&lt;p&gt;&lt;font face=&quot;'Courier New',Courier,monospace&quot;&gt;	&amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;application/rss+xml&amp;quot; title=&amp;quot;Visual Basic Developer Center&amp;quot; href=&amp;quot;rss.xml&amp;quot; /&amp;gt;&lt;/font&gt;&lt;/p&gt;

Later, quite awhile after that initial launch, someone (ok, it was me) decided to create a set of page templates for all of the pages in use in the Developer Centers, and when they did that work, they inadvertently removed this line of HTML from the Developer Center home pages. No one seemed to notice. Auto-discovery in RSS Bandit and a few other programs should have ceased to work against these pages, but this was not a widely used feature. The recent release of FireFox 1.0 has made this omission slightly more visible, as FireFox now includes a feature called &lt;a href=&quot;http://www.mozilla.org/products/firefox/live-bookmarks.html&quot; target=&quot;_blank&quot;&gt;&quot;Live Bookmarks&quot;&lt;/a&gt;, which uses this HTML tag (if it finds one in your page) to display items from your RSS feed right in the bookmarks menu.
&lt;p&gt;&lt;img src=&quot;http://www.duncanmackenzie.net/images/livebookmarks.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;When someone emailed me recently to ask why our pages did not support the &quot;Live Bookmarks&quot; feature, I realized that I had accidently removed support for this feature months ago. I've added it back in now (as a start, just to the &lt;a href=&quot;http://msdn.microsoft.com/vbasic&quot; target=&quot;_blank&quot;&gt;Visual Basic developer center home page&lt;/a&gt;  but more will follow) and I hope that will be useful to anyone who is using FireFox as their browser.&lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/Supporting-LiveBookmarks-in-FireFox-10</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/Supporting-LiveBookmarks-in-FireFox-10</guid>
            <pubDate>Mon, 18 Oct 2004 00:26:00 GMT</pubDate>
            <category>MSDNDevelopment</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>I'm leaving the MSDN Content Team...</title>
            <description>&lt;p&gt;Recently I transitioned the C# Content Strategist role over to &lt;a href=&quot;http://blogs.msdn.com/frankred&quot; target=&quot;_blank&quot;&gt;Frank Redmond&lt;/a&gt;, but that was only the first of several changes for me at MSDN. Today, &lt;a href=&quot;http://weblogs.asp.net/mpowell/archive/2004/10/13/241982.aspx&quot; target=&quot;_blank&quot;&gt;my boss made the rest of the changes public&lt;/a&gt;, so now I can talk about it :)&lt;/p&gt;

&lt;p&gt;I'm going to be leaving the Content Strategy team completely and joining the development group within MSDN, focusing on the tools and infrastructure that MSDN runs on, instead of the content that it publishes. This is a pretty major change for me, after 3 years on the content side of MSDN, but it seems that this is the time for change. Anyway, Matt is looking for a replacement for me, someone who can fill the shoes of a Content Strategist for Visual Basic. Check out &lt;a href=&quot;http://weblogs.asp.net/mpowell/archive/2004/10/13/241982.aspx&quot; target=&quot;_blank&quot;&gt;his blog entry&lt;/a&gt; for a full job description and information on how to contact him if you are interested and you think that you are what he is looking for.&lt;/p&gt;

&lt;blockquote&gt;
&lt;h4&gt;&lt;a href=&quot;http://weblogs.asp.net/mpowell/archive/2004/10/13/241982.aspx&quot; target=&quot;_blank&quot;&gt;Wanted: VB Content Strategist&lt;/a&gt;&lt;/h4&gt; 
&lt;p&gt;Congratulations to Duncan for &lt;a href=&quot;http://blogs.duncanmackenzie.net/duncanma/archive/2004/10/13/777.aspx&quot;&gt;the life-changing event&lt;/a&gt;.&#160; But Duncan has decided to make another change as well and will be moving into a full-time development position here within MSDN (although I believe we will still be hearing from him in the way of articles and blog entries).&#160; This means that I am looking for someone to replace him.&lt;/p&gt; &lt;p&gt;But before you send me your resume, let me tell you what I am looking for.&#160; First of all, the job entails technical writing, so if you don't have some writing experience, you will probably be on my &quot;review later&quot; pile.&#160; Second, I want someone who knows VB, C# and even C++ but is passionate about what Visual Basic has to offer. I’m not looking for someone to lead the language-war battles, but just someone who understands the VB audience and what this awesome product offers them. Also, while VB will be the initial and probably biggest focus, at some point in the future you will be dealing with at least one other technology.&lt;br /&gt;&lt;div align=&quot;right&quot;&gt;&lt;i&gt;&lt;a href=&quot;http://weblogs.asp.net/mpowell/archive/2004/10/13/241982.aspx&quot; target=&quot;_blank&quot;&gt;(check out the full post for more)&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/Im-leaving-the-MSDN-Content-Team</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/Im-leaving-the-MSDN-Content-Team</guid>
            <pubDate>Thu, 14 Oct 2004 00:55:00 GMT</pubDate>
            <category>NET</category>
            <category>VisualC</category>
            <category>MSDNDevelopment</category>
            <category>VisualBasic</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>New MSDN RSS feeds are live...</title>
            <description>&lt;p&gt;In &lt;a href=&quot;http://blogs.duncanmackenzie.net/duncanma/archive/2004/09/26/708.aspx&quot; target=&quot;_blank&quot;&gt;an earlier post&lt;/a&gt;, I mentioned that I had written a new system for producing &lt;a href=&quot;http://msdn.microsoft.com/aboutmsdn/rss&quot; target=&quot;_blank&quot;&gt;MSDN's RSS feeds&lt;/a&gt;, and those feeds are now live at the same URLs as the previous versions. You might get some duplicates in your aggregators, (since these are new feeds but with some overlap of items from the old feeds) but that should be temporary. Anyway, check them out (&lt;a href=&quot;http://msdn.microsoft.com/vbasic/rss.xml&quot; target=&quot;_blank&quot;&gt;here is the one for VB&lt;/a&gt;) and let me know what you think.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Some people have asked why I haven't gone into a lot of detail about &lt;b&gt;how&lt;/b&gt; we generate these feeds. Basically, I haven't talked about it because it isn't all that difficult to write out a RSS file... the trick is usually how you obtain the data that you wish to write out and that part of the system isn't interesting (IMHO) to the general public as it is just SQL queries against our database full of content... the process that generates these feeds runs daily, and then static xml is posted to the site... all in all, not that exciting :)&lt;/i&gt;&lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/New-MSDN-RSS-feeds-are-live</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/New-MSDN-RSS-feeds-are-live</guid>
            <pubDate>Tue, 05 Oct 2004 23:56:00 GMT</pubDate>
            <category>Syndication</category>
            <category>XML</category>
            <category>NET</category>
            <category>VisualC</category>
            <category>MSDNDevelopment</category>
            <category>VisualBasic</category>
        </item>
        <item>
            <dc:creator>Duncan</dc:creator>
            <title>I've been working on a new RSS generation system for MSDN for the past little while</title>
            <description>&lt;p&gt;... and it is almost ready to ship.... &lt;/p&gt;
&lt;p&gt;The new system will result in a few changes to &lt;a href=&quot;http://msdn.microsoft.com/aboutmsdn/rss&quot; target=&quot;_blank&quot;&gt;the MSDN feeds&lt;/a&gt;, the most notable of which is that our feeds will no longer reflect a certain time span (they currently contain all of the appropiately attributed items from the past 30 days), but will instead contain a certain # of items. They also have a bit more data in them, including the author of the article (in the dc:creator element) and a collection of category elements containing all of the attribution that we have applied to that article in our back end system.&lt;/p&gt;
&lt;p&gt;If you check out a sample feed, &lt;a href=&quot;http://www.duncanmackenzie.net/vbrss.xml&quot; target=&quot;_blank&quot;&gt;available here&lt;/a&gt;, you'll see the changes described above along with one other new 'feature'. We will have a stylesheet added to the top of the feeds, which is primarily targetted at folks who do not already use RSS feeds. When people in the past have seen our RSS buttons on the various MSDN sites, clicking on that button showed them the raw XML... with no real context or explanation of what they were being shown. This new format, using the style sheet, should help improve the experience for those customers.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Please let me know what you think about these changes (feel free to post your thoughts in the feedback section of this post), they aren't released yet so this is the time when I need to hear any and all feedback you have!!&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;red&quot;&gt;&lt;b&gt;Update:&lt;/b&gt; Luc Cluitmans noticed that the feed was not displaying correctly in Firefox... but I believe I've fixed that problem now, please let me know if you still notice problems with the display. I get only text in Opera, but I think that is due to the fact that XSLT is not supported by Opera... let me know if I'm wrong on that one...&lt;/font&gt;&lt;/p&gt;</description>
            <link>http://www.duncanmackenzie.net/Blog/Ive-been-working-on-a-new-RSS-generation-system-for-MSDN-for-the-past-little-while</link>
            <guid isPermaLink="true">http://www.duncanmackenzie.net/Blog/Ive-been-working-on-a-new-RSS-generation-system-for-MSDN-for-the-past-little-while</guid>
            <pubDate>Sun, 26 Sep 2004 23:19:00 GMT</pubDate>
            <category>Blogging</category>
            <category>Syndication</category>
            <category>XML</category>
            <category>NET</category>
            <category>VisualC</category>
            <category>MSDNDevelopment</category>
            <category>PersonalMusings</category>
            <category>VisualBasic</category>
        </item>
    </channel>
</rss>
