<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Content tagged with [syndication] on 

DuncanMackenzie.net</title><description> notSet</description><link>/blog/tags/syndication/default.aspx</link><language>en-us</language><pubDate>Tue, 07 Oct 2008 00:44:35 GMT</pubDate><generator>Oxite</generator><item><title>Tracking RSS Feed Statistics</title><description>&lt;p&gt;A few of my friends and co-workers have jumped on the FeedBurner bandwagon, and I've been pretty impressed with &lt;a href="http://duncanmackenzie.net/blog/cool-gadget-using-sparklines-to-show-your-rss-stats-from-feedburner/" target="_blank"&gt;the stats they've been gathering&lt;/a&gt;. I'm not willing to send my readers off to someone else's service though (even though &lt;a href="http://www.burningdoor.com/eric/archives/001284.html" target="_blank"&gt;there are some reasonably safe ways to do that&lt;/a&gt;), so I started to think about how best to gather similar info myself. One idea would be to ship the IIS logs from my site back to my PC on a regular basis and run them through a LogParser script that would figure out all the stats for me... but that seems like a rather manual (or difficult to automate) and data transfer intensive method.&lt;/p&gt; &lt;p&gt;Instead, what I decided to do was to log every feed requests into a table on my SQL Server (actual SQL updates occur at regular intervals, not on every feed request). I log the feed URL being requested, the user agent of the requester, the IP Address of the requester, &lt;a href="http://factory-h.com/articles/View.aspx?articleId=27" target="_blank"&gt;the number of subscribers represented by the user agent string (Google's feed reader, amongst others, indicates the # of subscribers in the user agent string)&lt;/a&gt;&amp;nbsp;and the date/time they made the request.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.duncanmackenzie.net/images/4d36def4-6ccb-423d-b2d8-8a551b85fb4a.png" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="83" alt="Feed Reader Stats" src="http://www.duncanmackenzie.net/images/96de7c4d-f772-4143-91b3-ac049a5fdcb0.png" width="350" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;What happens next is currently a manual process, but I'm working on making it automatic... &lt;/p&gt; &lt;p&gt;For a given 24-hour period:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;I sum up the number of requests by user agent/IP address combo  &lt;li&gt;I filter down to user agent/IP address combos that made more than one request to the same feed during that time period... this is intended to distinguish between a manual user visit and an RSS aggregator. (of course, if an RSS aggregator is set to be very polite and only hit my site once per day, then this will cut those #s out of the list)  &lt;li&gt;I sum up the average subscriber # for all useragent/IP address combos ... to avoid counting any single aggregator user more than once and also to accommodate any fluctuation in web aggregator subscriber counts throughout the day.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;This produces a final # that I believe is roughly accurate... 792 (for the past 24 hours) across all of my feeds (mostly either the main feed or &lt;a href="http://duncanmackenzie.net/blog/tags/visual+basic/" target="_blank"&gt;the Visual Basic feed&lt;/a&gt;).&lt;/p&gt; &lt;p&gt;&lt;em&gt;About half of the requests (244 total) filtered out because they made only one request in 24 hours do appear to be aggregators (looking at user agent strings) so that would add 120 or so to this #, but in the interest of not inflating the&amp;nbsp;numbers, I think I'll stick with the calculations I've worked out so far. My other worry is that some of the web-based aggregators might be producing some duplicate values due to multiple source IP addresses, probably as a result of having aggregation code running on multiple nodes of a web farm.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Has anyone else tried to implement their own FeedBurner-style stats? Any thoughts on my logic so far?&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/tracking-rss-feed-statistics/default.aspx</comments><link>http://duncanmackenzie.net/blog/tracking-rss-feed-statistics/default.aspx</link><pubDate>Wed, 05 Sep 2007 07:58:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/tracking-rss-feed-statistics/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>1</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/937/trackback/default.aspx</trackback:ping><category>Blogging</category><category>EvNetDev</category><category>Syndication</category><category>Web Development</category></item><item><title>Cool gadget using sparklines to show your RSS stats from Feedburner</title><description>&lt;p&gt;A&amp;nbsp;friend of mine has written &lt;a href="http://leancode.com/2007/01/26/feedsparks-101/" target="_blank"&gt;this google gadget&lt;/a&gt; in true&amp;nbsp;mashup style...&amp;nbsp;it uses an API from Feedburner, a service to produce the graphics, and works async to update itself right in the browser ... and produces a sweet little graphic about your current # of subscribers.&lt;/p&gt; &lt;p&gt;&lt;a href="http://leancode.com/2007/01/26/feedsparks-101/" target="_new" atomicselection="true"&gt;&lt;img height="143" src="http://www.duncanmackenzie.net/images/6695078b-7242-47dd-bb7c-7c85eb77fa3a.png" width="240" border="0"&gt;&lt;/a&gt;&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/cool-gadget-using-sparklines-to-show-your-rss-stats-from-feedburner/default.aspx</comments><link>http://duncanmackenzie.net/blog/cool-gadget-using-sparklines-to-show-your-rss-stats-from-feedburner/default.aspx</link><pubDate>Mon, 07 May 2007 06:30:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/cool-gadget-using-sparklines-to-show-your-rss-stats-from-feedburner/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>0</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/909/trackback/default.aspx</trackback:ping><category>Blogging</category><category>Syndication</category><category>Web Development</category></item><item><title>Trackbacks and URL matching</title><description>&lt;p&gt;I recently noticed a bug in the trackback code&amp;nbsp;on Channel 10, some sites were failing to send us trackbacks, even though we were receiving trackbacks from other sources and those sites were happily trackbacking (I'm just annoying the spell checker today) other blogs.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Turns out the problem appears to be in our RDF block on our blog pages. On a page like &lt;a href="http://on10.net/blogs/tina/exclusive-video-first-look-at-the-xbox-elite/" target="_blank"&gt;this&lt;/a&gt;, the RDF block contains the following element:&lt;/p&gt;&lt;code&gt;dc:identifier="http://on10.net/Blogs/tina/exclusive-video-first-look-at-the-xbox-elite/"&lt;/code&gt;  &lt;p&gt;This uses the permalink URL that we provide for this page, but of course there are several other urls that work to get to the same resource including &lt;/p&gt; &lt;ul&gt; &lt;li&gt;http://on10.net/Blogs/tina/exclusive-video-first-look-at-the-xbox-elite/default.aspx,  &lt;li&gt;http://www.on10.net/Blogs/tina/exclusive-video-first-look-at-the-xbox-elite/&amp;nbsp;and  &lt;li&gt;http://www.on10.net/Blogs/tina/exclusive-video-first-look-at-the-xbox-elite/default.aspx &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;When a client, some other blog or blog posting software, goes to auto-discover our trackback URL they try to match the dc:identifier to whatever url they used in their post. So, if they didn't use the one we've chosen for our dc:identifier, then they don't find our trackback info, they don't send the trackback, and we don't get the trackback.&lt;/p&gt; &lt;p&gt;This sucks, but what is the right way to handle it? Add four distinct RDF blocks? Or is there some way to include all four URLs in the one RDF block?&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/trackbacks-and-url-matching/default.aspx</comments><link>http://duncanmackenzie.net/blog/trackbacks-and-url-matching/default.aspx</link><pubDate>Thu, 19 Apr 2007 20:35:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/trackbacks-and-url-matching/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>0</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/904/trackback/default.aspx</trackback:ping><category>10</category><category>Blogging</category><category>Syndication</category><category>XML</category></item><item><title>Check out the new Community Bar on on10.net</title><description>&lt;p&gt;One of my jobs over the past couple of weeks has been to build a javascript based 'toolbar' that could run across the top of on10.net and show folks headlines aggregated from a variety of Microsoft Community sites. So, along with a bunch of help from &lt;a href="http://www.adamkinney.com" target="_blank"&gt;Adam&lt;/a&gt; and &lt;a href="http://weblogs.asp.net/eporter/" target="_blank"&gt;Erik&lt;/a&gt;, I managed to get it finished and deployed today. &lt;a href="http://on10.net"&gt;You can see it on top of the page on 10&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://on10.net" target="_new" atomicselection="true"&gt;&lt;img height="207" src="http://www.duncanmackenzie.net/images/WindowsLiveWriter/CheckoutthenewCommunityBaronon10.net_214/CommunityBar%5B4%5D.png" width="340" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;If it overlaps with the logo for you, try forcing a refresh using ctrl+f5 in IE... or just picking reload/refresh in whatever browser you use... the css had to change to accomodate this new content and the old css often sticks in the cache longer than it should.&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/check-out-the-new-community-bar-on-on10net/default.aspx</comments><link>http://duncanmackenzie.net/blog/check-out-the-new-community-bar-on-on10net/default.aspx</link><pubDate>Wed, 29 Nov 2006 08:15:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/check-out-the-new-community-bar-on-on10net/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>2</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/862/trackback/default.aspx</trackback:ping><category>.NET</category><category>10</category><category>Channel 9</category><category>Syndication</category><category>Visual C#</category><category>Web Development</category></item><item><title>Categories vs. Tags in Blogs and Blog Editors</title><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;I've been pondering categories vs. tags in blogs, in my sites (such as &lt;a href="http://on10.net)"&gt;http://on10.net)&lt;/a&gt; we've completely done away with the concept of categories as distinct entities from tags, which works fine on the site but is causing me a bit of a headache when I look at blog editing and blog editing APIs.  &lt;p&gt;I've enabled the &lt;a href="http://www.xmlrpc.com/metaWeblogApi" target="_blank"&gt;metaweblogapi&lt;/a&gt; on my sites so that standard blog editing tools like performancing, windows live writer, etc... can be used by our staff to post entries, and I've used the 'categories' area of that API to represent tags.  &lt;p&gt;This has caused me two issues:  &lt;p&gt;First, there are many more tags on most sites than there would be categories, so editing tools don't always provide the most useful UI for selecting tags.  &lt;p&gt;Second, categories are fairly static, but tags are continually being added... and most blogging software doesn't provide a mechanism for adding to your list of categories.  &lt;p&gt;I'm looking for thoughts, ideas, arguments... anything to help me figure out what the best way is to handle this move from categories to tags while still supporting the standard API mechanisms.&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/categories-vs-tags-in-blogs-and-blog-editors/default.aspx</comments><link>http://duncanmackenzie.net/blog/categories-vs-tags-in-blogs-and-blog-editors/default.aspx</link><pubDate>Wed, 27 Sep 2006 15:48:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/categories-vs-tags-in-blogs-and-blog-editors/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>6</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/820/trackback/default.aspx</trackback:ping><category>10</category><category>Blogging</category><category>Syndication</category><category>XML</category></item><item><title>The on10/Channel 9 Dev team have another dev focused video up</title><description>&lt;p&gt;I even got to be the 'preview' image! &lt;a href="http://channel9.msdn.com/showpost.aspx?postid=226369" target="_blank"&gt;Check this out&lt;/a&gt; to hear a bit more about our design and implementation of on10.net, and for some more info on our plans around on10.net going forward and for moving Channel 9 on to this new code base.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/showpost.aspx?postid=226369"&gt;&lt;img src="http://channel9.msdn.com/Photos/226369.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/The-on10-Channel-9-Dev-team-have-another-dev-focused-video-up/default.aspx</comments><link>http://duncanmackenzie.net/blog/The-on10-Channel-9-Dev-team-have-another-dev-focused-video-up/default.aspx</link><pubDate>Wed, 16 Aug 2006 16:38:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/The-on10-Channel-9-Dev-team-have-another-dev-focused-video-up/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>0</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/785/trackback/default.aspx</trackback:ping><category>.NET</category><category>10</category><category>Blogging</category><category>Syndication</category><category>Web Development</category></item><item><title>Windows Live Writer</title><description>&lt;p&gt;on10.net has &lt;a href="http://on10.net/Blogs/TheShow/4891/"&gt;a good interview up about the new blogging tool from the Windows Live team&lt;/a&gt;. What's cool about this app? For a developer, there is tons to be excited about, including a very easy to use &lt;a href="http://download.microsoft.com/download/f/9/a/f9a19f2d-cec4-4a25-9b0b-eb9655ea7561/Windows%20Live%20Writer%20SDK%20(Beta).msi" target="_blank"&gt;SDK&lt;/a&gt; (wrote some plug-in code last night, super easy) and it ships with&amp;nbsp;a bunch of .NET assemblies that I'm about to go spelunking through...&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Windows-Live-Writer/default.aspx</comments><link>http://duncanmackenzie.net/blog/Windows-Live-Writer/default.aspx</link><pubDate>Wed, 16 Aug 2006 15:30:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Windows-Live-Writer/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>0</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/784/trackback/default.aspx</trackback:ping><category>10</category><category>Blogging</category><category>Coding4Fun</category><category>Syndication</category></item><item><title>on10.net's tagging gets a little bit more 'connected'</title><description>&lt;p&gt;Erik extended our tag pages on on10.net a bit, &lt;a href="http://on10.net/Blogs/News/2013/" target="_blank"&gt;check out the full details here as part of our on10.net news blog&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/on10nets-tagging-gets-a-little-bit-more-connected/default.aspx</comments><link>http://duncanmackenzie.net/blog/on10nets-tagging-gets-a-little-bit-more-connected/default.aspx</link><pubDate>Thu, 06 Apr 2006 23:48:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/on10nets-tagging-gets-a-little-bit-more-connected/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>0</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/721/trackback/default.aspx</trackback:ping><category>10</category><category>Blogging</category><category>Syndication</category><category>Web Development</category></item><item><title>Found some pre-existing source code to send test pingbacks</title><description>&lt;p&gt;I wrote my own for Trackbacks, which I used to incorporate trackbacks into &lt;a href="http://on10.net" target="_blank"&gt;http://on10.net&lt;/a&gt;, but &lt;a href="http://www.opinionatedgeek.com/Blog/blogentry=000037/Blog.aspx" target="_blank"&gt;Geoff provides one on his blog &lt;/a&gt;(that doesn't appear to support comments, but does support trackbacks, so I thought I had better blog about it to thank him) that does both.&lt;/p&gt;
&lt;p&gt;Silly me, I hadn't built pingback support into on10.net, thinking that Trackbacks would handle most cases... but it turns out that many sites (including wordpress) only send pingbacks... oh well, at least it will be there after our next sprint.&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Found-some-pre-existing-source-code-to-send-test-pingbacks/default.aspx</comments><link>http://duncanmackenzie.net/blog/Found-some-pre-existing-source-code-to-send-test-pingbacks/default.aspx</link><pubDate>Wed, 05 Apr 2006 15:56:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Found-some-pre-existing-source-code-to-send-test-pingbacks/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>0</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/719/trackback/default.aspx</trackback:ping><category>Blogging</category><category>Syndication</category><category>Web Development</category></item><item><title>Learn a bit about how on10.net was made</title><description>&lt;p&gt;
				&lt;a href="http://channel9.msdn.com/showpost.aspx?postid=171265" target="_blank"&gt;Interview with the dev team&lt;/a&gt; (including me) is up on Channel 9&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Learn-a-bit-about-how-on10net-was-made/default.aspx</comments><link>http://duncanmackenzie.net/blog/Learn-a-bit-about-how-on10net-was-made/default.aspx</link><pubDate>Mon, 13 Mar 2006 17:11:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Learn-a-bit-about-how-on10net-was-made/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>0</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/708/trackback/default.aspx</trackback:ping><category>.NET</category><category>10</category><category>Blogging</category><category>Coding4Fun</category><category>Personal Musings</category><category>Syndication</category><category>Web Development</category><category>XML</category></item><item><title>Odd Language element in MSN Spaces feeds?</title><description>&lt;p&gt;
				&lt;img src="http://www.duncanmackenzie.net/images/JapaneseLanguageFeeds.png" align="right" /&gt;Perhaps a little bug left over from when they first launched in Japan, but the MSN Spaces feeds seem to specify a language code for at least one english language feed (&lt;a href="http://www.bufferoverrun.net" target="_blank"&gt;Brian's&lt;/a&gt;)... but it does return en-US for some others. Hmm... it also seems to specify en-US for &lt;a href="http://spaces.msn.com/godpapa123/" target="_blank"&gt;some feeds&lt;/a&gt; that are quite obviously not... perhaps choosing your language is a per-blog setting that people aren't aware of? I'm not sure if it matters all that much, other than to blog indexers, if the character set and encoding is correct, the lanugage element isn't really important to aggregators or browsers, but since it changes from feed to feed it must be based on some sort of per-blog or per-user setting.&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Odd-Language-element-in-MSN-Spaces-feeds/default.aspx</comments><link>http://duncanmackenzie.net/blog/Odd-Language-element-in-MSN-Spaces-feeds/default.aspx</link><pubDate>Mon, 06 Feb 2006 07:37:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Odd-Language-element-in-MSN-Spaces-feeds/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>0</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/694/trackback/default.aspx</trackback:ping><category>Blogging</category><category>Syndication</category></item><item><title>Ah the web, it can change so quickly...</title><description>Yesterday &lt;a href="http://blogs.duncanmackenzie.net/duncanma/archive/2006/01/16/3548.aspx" target="_blank"&gt;I posted about the use of the feed icon&lt;/a&gt; on &lt;a href="http://blog.mediacentersandbox.com/" title="Media Center Sandbox" target="_blank"&gt;Media Center Sandbox&lt;/a&gt; and suggested a few changes. Last night, I get an email from &lt;a href="http://blog.retrosight.com/" target="_blank"&gt;Charlie Owen&lt;/a&gt;, one of the principals of the sandbox site, and the site is completely updated. Now, I don't know if I caused any change or if the change was just in the works anyway.... but regardless, I like the new look and the &lt;a href="http://www.feedicons.com" title="Site about the feed icon" target="_blank"&gt;icons&lt;/a&gt; look great!</description><comments>http://duncanmackenzie.net/blog/Ah-the-web-it-can-change-so-quickly/default.aspx</comments><link>http://duncanmackenzie.net/blog/Ah-the-web-it-can-change-so-quickly/default.aspx</link><pubDate>Tue, 17 Jan 2006 14:44:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Ah-the-web-it-can-change-so-quickly/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>0</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/683/trackback/default.aspx</trackback:ping><category>Syndication</category></item><item><title>Nice to see other folks using the firefox/IE7 feed icon on their sites...</title><description>&lt;p&gt;Found the &lt;a href="http://blog.mediacentersandbox.com/PermaLink,guid,817c2b05-2a9e-47ac-80c9-1c4db5b26c18.aspx" target="_blank"&gt;Media Center Sandbox&lt;/a&gt; today, via &lt;a href="http://weblogs.asp.net/eporter" target="_blank"&gt;Erik Porter&lt;/a&gt;, and it is nice to see them using &lt;a href="http://blogs.duncanmackenzie.net/duncanma/archive/2005/12/30/3447.aspx" target="_blank"&gt;the newly blessed icon&lt;/a&gt;. I'd suggest they use a smaller one though, and update the feed icon next to their blogroll to be consistent... but otherwise its great :)&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Nice-to-see-other-folks-using-the-firefox-IE7-feed-icon-on-their-sites/default.aspx</comments><link>http://duncanmackenzie.net/blog/Nice-to-see-other-folks-using-the-firefox-IE7-feed-icon-on-their-sites/default.aspx</link><pubDate>Mon, 16 Jan 2006 15:53:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Nice-to-see-other-folks-using-the-firefox-IE7-feed-icon-on-their-sites/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>0</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/682/trackback/default.aspx</trackback:ping><category>Syndication</category></item><item><title>Implicit relationship between search crawler and content providers...</title><description>&lt;p&gt;A discussion at work today, along with my earlier post about &lt;a href="http://blogs.duncanmackenzie.net/duncanma/archive/2006/01/09/3517.aspx" target="_blank"&gt;Phil's issues with Google and MSN&lt;/a&gt;, had me searching like crazy for this comment:&lt;/p&gt;
&lt;blockquote&gt;
"I think they're also vulnerable to being locked out of sites because they've missed the implicit bargain for search engines that my site being crawled results in listing for me. Without any public facing services how do I find out what value I am getting from allowing WebFountain to crawl my site ?" --- &lt;a href="http://battellemedia.com/archives/000428.php#comment_598" target="_blank"&gt;Matthew Walker's comment on a Searchblog piece about WebFountain&lt;/a&gt;
&lt;/blockquote&gt;

&lt;p&gt;At what point do you block a search crawler? If you don't recognize it? If you don't like the results provided by the search engine it is crawling for?&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Implicit-relationship-between-search-crawler-and-content-providers/default.aspx</comments><link>http://duncanmackenzie.net/blog/Implicit-relationship-between-search-crawler-and-content-providers/default.aspx</link><pubDate>Thu, 12 Jan 2006 03:47:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Implicit-relationship-between-search-crawler-and-content-providers/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>1</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/678/trackback/default.aspx</trackback:ping><category>Syndication</category></item><item><title>Term Extraction</title><description>&lt;p&gt;I was playing around with Yahoo's term extraction service, as a possible path to tagging (this is the same service used behind &lt;a href="http://www.tagcloud.com"&gt;TagCloud.com&lt;/a&gt;, for example), and I created this C# class libary with a sample app written in Windows Forms.&lt;/p&gt; &lt;p&gt;&lt;img alt="Term Extraction Sample" src="http://www.duncanmackenzie.net/images/termextraction.png" border="0" /&gt;&lt;/p&gt; &lt;p&gt;Code is available for download here: &lt;a title="link to sample download" href="http://www.duncanmackenzie.net/samples/TermExtraction.zip"&gt;Term Extraction (ZIP)&lt;/a&gt;.&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Term-Extraction/default.aspx</comments><link>http://duncanmackenzie.net/blog/Term-Extraction/default.aspx</link><pubDate>Tue, 10 Jan 2006 13:51:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Term-Extraction/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>3</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/677/trackback/default.aspx</trackback:ping><category>Blogging</category><category>Coding4Fun</category><category>Syndication</category><category>Visual C#</category></item><item><title>Have you tried my RSS editor? Comments?</title><description>&lt;p&gt;Ok, so I'm fishing for comments... not compliments at least, but I'm still fishing... I've seen a fair bit of traffic to &lt;a href="http://blogs.duncanmackenzie.net/duncanma/archive/2005/12/07/3360.aspx" target="_blank"&gt;the install point &lt;/a&gt;but not a single email or blog comment about this app... go ahead fire away (and yes, I know that it doesn't do Atom feeds... yet).&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Have-you-tried-my-RSS-editor-Comments/default.aspx</comments><link>http://duncanmackenzie.net/blog/Have-you-tried-my-RSS-editor-Comments/default.aspx</link><pubDate>Thu, 05 Jan 2006 05:50:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Have-you-tried-my-RSS-editor-Comments/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>1</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/670/trackback/default.aspx</trackback:ping><category>.NET</category><category>Blogging</category><category>Syndication</category><category>Visual C#</category><category>XML</category></item><item><title>Updated my personal site to use the Firefox/IE7 feed icons...</title><description>&lt;p&gt;As per the blog entry "&lt;a href="http://blogs.msdn.com/justsean/archive/2005/12/30/508181.aspx" title="Microsoft WebBlogs"&gt;Feed icons&lt;/a&gt;" and using icons pulled from the new &lt;a href="http://www.feedicons.com" target="_blank"&gt;feedicons&lt;/a&gt; site. Hopefully &lt;a href="http://msdn.microsoft.com" target="_blank"&gt;MSDN&lt;/a&gt; will follow suit as well, which would probably be pretty easy... it looks like they are mostly linking every instance of the 'old' RSS icon to the same graphic. I'll suggest it and we'll see what happens.&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Updated-my-personal-site-to-use-the-Firefox-IE7-feed-icons/default.aspx</comments><link>http://duncanmackenzie.net/blog/Updated-my-personal-site-to-use-the-Firefox-IE7-feed-icons/default.aspx</link><pubDate>Sat, 31 Dec 2005 03:14:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Updated-my-personal-site-to-use-the-Firefox-IE7-feed-icons/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>0</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/668/trackback/default.aspx</trackback:ping><category>Blogging</category><category>Syndication</category><category>XML</category></item><item><title>Added some additional info to each post from my blog, a "bookmark this with Del.icio.us" link and the oh-so-trendy 'tags'</title><description>&lt;p&gt;Check out a &lt;a href="http://blogs.duncanmackenzie.net/duncanma/archive/2005/12/12/3380.aspx" target="_blank"&gt;single entry view&lt;/a&gt; on my site to see the new additions&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Added-some-additional-info-to-each-post-from-my-blog-a-bookmark-this-with-Delicious-link-and-the-oh-so-trendy-tags/default.aspx</comments><link>http://duncanmackenzie.net/blog/Added-some-additional-info-to-each-post-from-my-blog-a-bookmark-this-with-Delicious-link-and-the-oh-so-trendy-tags/default.aspx</link><pubDate>Wed, 21 Dec 2005 17:13:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Added-some-additional-info-to-each-post-from-my-blog-a-bookmark-this-with-Delicious-link-and-the-oh-so-trendy-tags/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>2</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/664/trackback/default.aspx</trackback:ping><category>Blogging</category><category>Syndication</category></item><item><title>Immediate Action Feeds</title><description>&lt;p&gt;
				&lt;a href="http://www.acmebinary.com/blogs/kent" target="_blank"&gt;Kent&lt;/a&gt; pointed me to &lt;a href="http://www.xml.com/pub/a/2005/12/14/putting-rss-to-work-immediate-action-feeds.html" target="_blank"&gt;this article on xml.com&lt;/a&gt;, talking about the benefits of having direct actions available as links in your feeds. This is a good idea, but it is a good idea for any HTML content. If you are going to have a link at the bottom of a MSDN page saying "give us feedback", it would be best to either make sure that link takes the user directly to a form to enter feedback or instead to let them enter their feedback right there on the page. Good stuff all around, but in the context of feeds I have a problem with the way it is implemented.&lt;/p&gt; &lt;p&gt;The suggestion in the article, and it works just fine, is to just add these immediate action links into the body of your feed item. This will seem like a meaningless distinction to some, but to me that is not the best way to go. The links are about the content of the post; they themselves are not the content, so &lt;strong&gt;they don't belong in the content&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;Having them in the markup of the post means that every feed producer will put their 'actions' wherever they want them, and you can bet it won't be in any consistent fashion. Instead, what I would like to see is a list of 'actions' as a separate part of the feed item. Then the software that is displaying the feed could implement a common method of displaying the list of actions associated with a specific item. In one application this might be a right-click menu option, while in another it could be a sidebar along side the post.... but because the actions are clearly separated from the content it opens up the possibility of displaying them in whatever fashion the application author believes will be most usable.&lt;/p&gt; &lt;p&gt;So, instead of this&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;lt;item&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;New Album out by GreenDay&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;description&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;Cool new album hits stores today....&amp;lt;br /&amp;gt;&amp;lt;a href="..."&amp;gt;buy it&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/description&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link&amp;gt;http://www.musicsite.com/newalbumout.aspx&amp;lt;/link&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;guid isPermaLink="true"&amp;gt;http://www.musicsite.com/newalbumout.aspx&amp;lt;/guid&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;pubDate&amp;gt;Tue, 25 Oct 2005 22:54:16 GMT&amp;lt;/pubDate&amp;gt;&lt;br /&gt;&amp;lt;/item&amp;gt;&lt;/p&gt; &lt;p&gt;We would have this...&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;lt;item&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;New Album out by GreenDay&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;description&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;Cool new album hits stores today....&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/description&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link&amp;gt;http://www.musicsite.com/newalbumout.aspx&amp;lt;/link&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;&amp;lt;ia:actions&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ia:action name="Buy It"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; http://www.musicsite.com/buy.aspx?id=greenday&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ia:action&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ia:actions&amp;gt;&lt;/strong&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;guid isPermaLink="true"&amp;gt;http://www.musicsite.com/newalbumout.aspx&amp;lt;/guid&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;pubDate&amp;gt;Tue, 25 Oct 2005 22:54:16 GMT&amp;lt;/pubDate&amp;gt;&lt;br /&gt;&amp;lt;/item&amp;gt;&lt;/p&gt; &lt;p&gt;Now it is easy to add additional actions without any change to the content&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ia:actions&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ia:action name="Buy It"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; http://www.musicsite.com/buy.aspx?id=greenday&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ia:action&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;&amp;lt;ia:action name="Email this Post"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; http://www.musicsite.com/email.aspx?id=greenday&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ia:action&amp;gt;&lt;/strong&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ia:actions&amp;gt;&lt;br /&gt;&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Immediate-Action-Feeds/default.aspx</comments><link>http://duncanmackenzie.net/blog/Immediate-Action-Feeds/default.aspx</link><pubDate>Sat, 17 Dec 2005 08:27:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Immediate-Action-Feeds/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>1</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/663/trackback/default.aspx</trackback:ping><category>Blogging</category><category>Syndication</category><category>XML</category></item><item><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="http://msdn2.microsoft.com" target="_blank"&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="http://www.intertwingly.net/blog/1766.html" target="_blank"&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="http://blogs.law.harvard.edu/crimson1/2004/05/06#a1519" target="_blank"&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="http://msdn.microsoft.com/rss.xml" target="_blank"&gt;main MSDN feed&lt;/a&gt; is application/xml&lt;/li&gt;
&lt;li&gt;while the &lt;a href="http://msdn.microsoft.com/msdnmag/rss/rss.aspx?Sub=Service Station" target="_blank"&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="http://www.intertwingly.net/blog/index.rss2" target="_blank"&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 "application/xml" 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="alternate" type="application/rss+xml" title="blah" href="rss.xml"  /&amp;gt; .... perhaps they should be just "application/xml" as well?&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/application-rss+xml-vs-text-xml/default.aspx</comments><link>http://duncanmackenzie.net/blog/application-rss+xml-vs-text-xml/default.aspx</link><pubDate>Mon, 12 Dec 2005 16:03:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/application-rss+xml-vs-text-xml/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>11</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/659/trackback/default.aspx</trackback:ping><category>Blogging</category><category>MSDN Development</category><category>Syndication</category><category>Web Development</category><category>XML</category></item><item><title>More on that RSS editor...</title><description>&lt;p&gt;In the end, MSDN didn't end up needing &lt;a href="http://blogs.duncanmackenzie.net/duncanma/archive/2005/11/01/3184.aspx" target="_blank"&gt;the RSS editor I wrote&lt;/a&gt;, so I've stripped out the features and content specific to their needs and started turning it into a more generic RSS creation tool. If you'd like to see it, as it is, you can run it from &lt;a href="http://www.duncanmackenzie.net/FeedWriter/default.aspx" target="_blank"&gt;a ClickOnce install point here on my site&lt;/a&gt;. There are more features coming, and I'm revamping the style and behavior of the category system.... but you can try it out against copies of your own feeds or click File | New Feed to make new ones. Check out the Validate option on the menu, it will send whatever feed you have open to a web service enabled version of the &lt;a href="http://www.feedvalidator.org"&gt;feedvalidator.org &lt;/a&gt;system (coded up by &lt;a href="http://www.acmebinary.com/blogs/kent/default.aspx"&gt;Kent Sharkey&lt;/a&gt;), allowing you to check the validatity of your RSS &lt;b&gt;without&lt;/b&gt; having to publish the file anywhere.&lt;/p&gt; &lt;p&gt;Note: If you have Beta 2 of the .NET Framework installed, the Click Once application will not install or run correctly. In this case, you need to run the VS remove tool (available from &lt;a href="http://msdn.microsoft.com/vstudio/support/uninstall/default.aspx" target="_blank"&gt;here&lt;/a&gt;)&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/More-on-that-RSS-editor/default.aspx</comments><link>http://duncanmackenzie.net/blog/More-on-that-RSS-editor/default.aspx</link><pubDate>Thu, 08 Dec 2005 05:28:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/More-on-that-RSS-editor/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>10</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/656/trackback/default.aspx</trackback:ping><category>Blogging</category><category>Coding4Fun</category><category>Syndication</category><category>Visual C#</category><category>XML</category></item><item><title>Added category elements to my RSS feed, since I wasn't playing Xbox 360</title><description>&lt;p&gt;About a year or so back I added &amp;lt;category&amp;gt; elements to the MSDN RSS feeds, which seemed like an obvious addition, but it wasn't until recently that I noticed that my own feeds (coming out of my .Text 0.95 based blogging engine) didn't have categories specified in them at all. Not in &lt;a href="http://blogs.duncanmackenzie.net/MainFeed.aspx" target="_blank"&gt;the main feed&lt;/a&gt; or in the &lt;a href="http://blogs.duncanmackenzie.net/duncanma/rss.aspx" target="_blank"&gt;per-blog feeds&lt;/a&gt;... &lt;/p&gt; &lt;p&gt;This seemed really odd to me, since much of the UI of the .Text posting page, editing page, and even the blog skins themselves is dedicated to the listing and selecting of categories. Obviously, categories are seen as important information about blog entries, so why not include them in the RSS feeds? Oh well, there is little point in wondering about these sorts of things, not when you have the source, so I added category elements to my main and individual feeds. I haven't added them to the per-category feeds yet, or to the ATOM feeds, but I'll get to those in the near future.&lt;/p&gt; &lt;p&gt;If you haven't looked at the .Text source yourself, you might be wondering why adding these elements to one feed wouldn't have added them to all of the feeds, because all RSS feeds are probably running through the same code path. While this is mostly true, they are running through the same ASP.NET handler and through the same feed generation code, the category-based feeds use a different stored procedure to retrieve their entries than the feeds that I have updated, and I had to make a change to the database query to return the list of categories along with each item. What I ended up doing, (and I'm not sure about the performance of this code but it is so highly cached that I'm not particularly worried about it for this use), was using a Function to retrieve the list of categories as a semi-colon deliminated string given a PostID (note that if you host multiple blogs on your .Text instance that this function should take both a BlogID &lt;strong&gt;and&lt;/strong&gt; a PostID... I'll have to update this for the multi-blog case).&lt;/p&gt;&lt;pre&gt; &lt;br /&gt; &lt;span class="TSql_ReservedKeyword"&gt;CREATE&lt;/span&gt; &lt;span class="TSql_ReservedKeyword"&gt;FUNCTION&lt;/span&gt; blog_GetCategoryTitles (@PostID &lt;span class="TSql_DataType"&gt;int&lt;/span&gt;) RETURNS &lt;span class="TSql_DataType"&gt;nvarchar&lt;/span&gt;(4000)&lt;br /&gt; &lt;span class="TSql_ReservedKeyword"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span class="TSql_ReservedKeyword"&gt;DECLARE&lt;/span&gt; @CategoryList &lt;span class="TSql_DataType"&gt;nvarchar&lt;/span&gt;(4000)&lt;br /&gt; &lt;span class="TSql_ReservedKeyword"&gt;SELECT&lt;/span&gt; @CategoryList = &lt;span class="TSql_Function"&gt;COALESCE&lt;/span&gt;&lt;br /&gt;(@CategoryList + &lt;span class="TSql_String"&gt;';'&lt;/span&gt;, &lt;span class="TSql_String"&gt;''&lt;/span&gt;) +&lt;br /&gt; blog_LinkCategories.Title&lt;br /&gt; &lt;span class="TSql_ReservedKeyword"&gt;FROM&lt;/span&gt; blog_Content&lt;br /&gt; &lt;span class="TSql_Function"&gt;LEFT&lt;/span&gt; &lt;span class="TSql_Operator"&gt;OUTER&lt;/span&gt; &lt;span class="TSql_Operator"&gt;JOIN&lt;/span&gt; blog_Links &lt;br /&gt; &lt;span class="TSql_ReservedKeyword"&gt;on&lt;/span&gt; blog_Links.PostID = blog_Content.ID&lt;br /&gt; &lt;span class="TSql_Function"&gt;LEFT&lt;/span&gt; &lt;span class="TSql_Operator"&gt;OUTER&lt;/span&gt; &lt;span class="TSql_Operator"&gt;JOIN&lt;/span&gt; blog_LinkCategories&lt;br /&gt; &lt;span class="TSql_ReservedKeyword"&gt;on&lt;/span&gt; blog_Links.CategoryID = blog_LinkCategories.CategoryID&lt;br /&gt; &lt;span class="TSql_ReservedKeyword"&gt;WHERE&lt;/span&gt; blog_Content.ID=@PostID &lt;span class="TSql_Operator"&gt;AND&lt;/span&gt;&lt;br /&gt; blog_Content.BlogID = blog_Links.BlogID &lt;span class="TSql_Operator"&gt;AND&lt;/span&gt;&lt;br /&gt; blog_LinkCategories.Title != &lt;span class="TSql_String"&gt;''&lt;/span&gt;&lt;br /&gt; &lt;span class="TSql_ReservedKeyword"&gt;RETURN&lt;/span&gt; @CategoryList&lt;br /&gt; &lt;span class="TSql_ReservedKeyword"&gt;END&lt;/span&gt;&lt;br /&gt; &lt;/pre&gt; &lt;p&gt;&lt;i&gt;thanks to &lt;a href="http://www.sqlteam.com/item.asp?ItemID=2368" target="_blank"&gt;Garth's 2001 article from SQLTeam.com for showing me COALESCE being used for this purpose...&lt;/a&gt;&lt;/i&gt;&lt;/p&gt; &lt;p&gt;and then modifying the queries that retrieved entries to also return blog_GetCategoryTitles(&amp;lt;PostID&amp;gt;), and then modify the RSS writer to output the categories if any were returned.&lt;/p&gt; &lt;p&gt;Interesting note, I figured the omission of category data from the feeds in .Text was a simple error and that it would have been added along the way to Community Server, but I noticed that the feeds on &lt;a href="http://blogs.msdn.com/alexbarn/rss.aspx" target="_blank"&gt;blogs.msdn.com&lt;/a&gt; don't appear to have category data either... is category information not considered useful in feeds?&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Added-category-elements-to-my-RSS-feed-since-I-wasnt-playing-Xbox-360/default.aspx</comments><link>http://duncanmackenzie.net/blog/Added-category-elements-to-my-RSS-feed-since-I-wasnt-playing-Xbox-360/default.aspx</link><pubDate>Sat, 26 Nov 2005 09:03:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Added-category-elements-to-my-RSS-feed-since-I-wasnt-playing-Xbox-360/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>1</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/652/trackback/default.aspx</trackback:ping><category>Blogging</category><category>Syndication</category><category>XML</category></item><item><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="http://msdn.microsoft.com/aboutmsdn/rss"&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="http://www.duncanmackenzie.net/images/FeedWriter.png"&gt;&lt;img src="http://www.duncanmackenzie.net/images/FeedWriter_small.png" border="0" /&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 "Type" and "HeadlineImage" 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><comments>http://duncanmackenzie.net/blog/RSS-feed-authoring-for-those-without-blog-software-or-an-enjoyment-of-typing-angle-brackets/default.aspx</comments><link>http://duncanmackenzie.net/blog/RSS-feed-authoring-for-those-without-blog-software-or-an-enjoyment-of-typing-angle-brackets/default.aspx</link><pubDate>Wed, 02 Nov 2005 04:56:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/RSS-feed-authoring-for-those-without-blog-software-or-an-enjoyment-of-typing-angle-brackets/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>1</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/642/trackback/default.aspx</trackback:ping><category>.NET</category><category>Blogging</category><category>MSDN Development</category><category>Syndication</category><category>Visual C#</category><category>XML</category></item><item><title>Moved my .Text blog from Atom 0.3 to Atom 1.0</title><description>&lt;p&gt;I only recently noticed that my blog software (.Text 0.95) had &lt;a href="http://blogs.duncanmackenzie.net/duncanma/atom.aspx" target="_blank"&gt;atom support&lt;/a&gt; built in, so I added a button to &lt;a href="http://blogs.duncanmackenzie.net/duncanma/" target="_blank"&gt;my main page&lt;/a&gt;, and then I noticed it was Atom 0.3. Since 0.3 was &lt;a href="http://www.feedvalidator.org/news/archives/2005/09/15/atom_03_deprecated.html" target="_blank"&gt;recently deprecated&lt;/a&gt;, I updated the Atom generating code to output 1.0 instead and voila;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.feedvalidator.org/check.cgi?url=http://blogs.duncanmackenzie.net/duncanma/atom.aspx"&gt;&lt;img title="Validate my Atom 1.0 feed" alt="[Valid Atom 1.0]" src="/images/valid-atom.png" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Much thanks to rakaz's &lt;a href="http://www.rakaz.nl/nucleus/item/103" target="_blank"&gt;great guide on moving from 0.3 to 1.0&lt;/a&gt;, which enabled me to update my code with almost no knowledge of Atom 0.3 or 1.0 :)&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Moved-my-Text-blog-from-Atom-03-to-Atom-10/default.aspx</comments><link>http://duncanmackenzie.net/blog/Moved-my-Text-blog-from-Atom-03-to-Atom-10/default.aspx</link><pubDate>Wed, 02 Nov 2005 04:11:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Moved-my-Text-blog-from-Atom-03-to-Atom-10/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>1</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/641/trackback/default.aspx</trackback:ping><category>.NET</category><category>Blogging</category><category>Personal Musings</category><category>Syndication</category><category>Visual C#</category><category>XML</category></item><item><title>Have you heard about SoloSub?</title><description>&lt;p&gt;I was considering adding one (or more) of the many aggregator-buttons (subscribe to this feed in newsgator, add this feed to your MSN start page, etc.) when I found this, one button that handles all of the most popular aggregators through a single link.&lt;/p&gt; &lt;p&gt;&lt;a title="Subscribe to this Feed" href="http://solosub.com/sub/http://blogs.duncanmackenzie.net/duncanma/rss.aspx"&gt;&lt;img alt="subscribe to this feed" src="http://images.solosub.com/feed_button.gif" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Check out &lt;a href="http://solosub.com" target="_blank"&gt;http://solosub.com&lt;/a&gt; for more info...&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Have-you-heard-about-SoloSub/default.aspx</comments><link>http://duncanmackenzie.net/blog/Have-you-heard-about-SoloSub/default.aspx</link><pubDate>Wed, 26 Oct 2005 02:57:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Have-you-heard-about-SoloSub/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>1</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/634/trackback/default.aspx</trackback:ping><category>Blogging</category><category>Personal Musings</category><category>Syndication</category><category>XML</category></item><item><title>Added Atom support to the FlairMaker... my version at least</title><description>&lt;p&gt;Nick, from "&lt;a href="http://thecodingmonkey.blogspot.com" target="_blank"&gt;The Coding Monkey&lt;/a&gt;" mentioned that he would like to see Atom support in the &lt;a href="http://blogs.duncanmackenzie.net/duncanma/archive/2005/10/15/3101.aspx" target="_blank"&gt;FlairMaker&lt;/a&gt;, so ... having no real reason not to, and having an extra 15 minutes after the kids went to sleep before I started cleaning up the house, I added it...&lt;/p&gt; &lt;p&gt;&lt;a href="http://thecodingmonkey.blogspot.com"&gt;&lt;img src="http://eris1109.si-xios.info/FlairMaker.ashx?atom=http://thecodingmonkey.blogspot.com/atom.xml" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Of course, I've just added this to my forked version of &lt;a href="http://www.acmebinary.com/blogs/kent/archive/2005/10/07/273.aspx" target="_blank"&gt;Kent's original code&lt;/a&gt;... so any feature I add that he likes will need to manually added into his version... bad software development practice, but hey we're just playing around here so you should be expecting too much.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Update: &lt;/strong&gt;I also modified the code to pull the blog's title from the feed (Atom or RSS) and stick it at the bottom. Not that useful of a feature for the Coding 4 Fun version, since it is always pointing at the same feed... but useful for mine if people want to use it for their own feeds&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Added-Atom-support-to-the-FlairMaker-my-version-at-least/default.aspx</comments><link>http://duncanmackenzie.net/blog/Added-Atom-support-to-the-FlairMaker-my-version-at-least/default.aspx</link><pubDate>Sun, 23 Oct 2005 05:19:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Added-Atom-support-to-the-FlairMaker-my-version-at-least/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>1</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/632/trackback/default.aspx</trackback:ping><category>.NET</category><category>Blogging</category><category>Coding4Fun</category><category>Syndication</category><category>Visual Basic</category><category>Visual C#</category><category>XML</category></item><item><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="http://blogs.duncanmackenzie.net/duncanma/archive/2005/09/26/2940.aspx" target="_blank"&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="http://sourceforge.net/mailarchive/forum.php?thread_id=8314757&amp;forum_id=37467" target="_blank"&gt;the listserv for FeedValidator.org&lt;/a&gt;. Sam mentioned it &lt;a href="http://www.intertwingly.net/blog/2005/09/27/Enclosure-type-parameters" target="_blank"&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="http://www.feedvalidator.org/check.cgi?url=http%3A%2F%2Fmsdn.microsoft.com%2Frss.xml" target="_blank"&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><comments>http://duncanmackenzie.net/blog/After-some-discussions-with-Sam-Ruby-and-others-on-the-FeedValidator-mailing-list-the-MSDN-RSS-feed-validates-as-is/default.aspx</comments><link>http://duncanmackenzie.net/blog/After-some-discussions-with-Sam-Ruby-and-others-on-the-FeedValidator-mailing-list-the-MSDN-RSS-feed-validates-as-is/default.aspx</link><pubDate>Wed, 28 Sep 2005 02:39:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/After-some-discussions-with-Sam-Ruby-and-others-on-the-FeedValidator-mailing-list-the-MSDN-RSS-feed-validates-as-is/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>0</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/619/trackback/default.aspx</trackback:ping><category>.NET</category><category>Blogging</category><category>MSDN Development</category><category>Syndication</category><category>Visual Basic</category><category>Visual C#</category><category>XML</category></item><item><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="http://msdn.microsoft.com/rss.xml" target="_blank"&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="background-color: #FFFF00"&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="http://rss.scripting.com/?url=http%3A%2F%2Fmsdn.microsoft.com%2Frss.xml" target="_blank"&gt;here&lt;/a&gt; and &lt;a href="http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fmsdn.microsoft.com%2Frss.xml" target="_blank"&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="http://www.ietf.org/rfc/rfc2854.txt" target="_blank"&gt;the RFC(s)&lt;/a&gt; (see 4.1.2 of &lt;a href="http://www.rfc-editor.org/rfc/rfc2046.txt" target="_blank"&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><comments>http://duncanmackenzie.net/blog/A-bug-in-my-RSS-generator-but-is-it-really-invalid/default.aspx</comments><link>http://duncanmackenzie.net/blog/A-bug-in-my-RSS-generator-but-is-it-really-invalid/default.aspx</link><pubDate>Tue, 27 Sep 2005 04:36:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/A-bug-in-my-RSS-generator-but-is-it-really-invalid/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>2</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/618/trackback/default.aspx</trackback:ping><category>Blogging</category><category>MSDN Development</category><category>Syndication</category><category>XML</category></item><item><title>Long overdue, but here is the source for the "blog copier"</title><description>&lt;p&gt;In &lt;a href="http://blogs.duncanmackenzie.net/duncanma/archive/2004/08/25/589.aspx" target="_blank"&gt;my first post on this site&lt;/a&gt;, I mentioned an application that I wrote to copy blog posts from one .Text server to another. Overall, I didn't think the application had any real use after the web service I used was removed from the weblogs.asp.net servers, but I'm posting it anyway for anyone who might find it useful.&lt;/p&gt;

&lt;p&gt;Source here: &lt;a href="http://www.duncanmackenzie.net/Samples/#blogcopy" target="_blank"&gt;http://www.duncanmackenzie.net/Samples/#blogcopy&lt;/a&gt;&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Long-overdue-but-here-is-the-source-for-the-blog-copier/default.aspx</comments><link>http://duncanmackenzie.net/blog/Long-overdue-but-here-is-the-source-for-the-blog-copier/default.aspx</link><pubDate>Sat, 02 Apr 2005 06:32:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Long-overdue-but-here-is-the-source-for-the-blog-copier/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>0</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/574/trackback/default.aspx</trackback:ping><category>Blogging</category><category>Syndication</category><category>XML</category></item><item><title>More on "pulling" MSDN content into my site...</title><description>&lt;p&gt;In &lt;a href="http://blogs.duncanmackenzie.net/duncanma/archive/2005/03/19/1243.aspx" target="_blank"&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="http://msdn.microsoft.com/vbasic/using/columns/code4fun/default.aspx?pull=/library/en-us/dncodefun/html/code4fun12102003.asp" target="_blank"&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="http://msdn.microsoft.com/vbasic/using/columns/code4fun/default.aspx?pull=/library/en-us/dncodefun/html/code4fun12102003.asp" target="_blank"&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="http://msdn.microsoft.com/library/en-us/dncodefun/html/code4fun12102003.asp" target="_blank"&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="http://msdn.microsoft.com/library/en-us/dncodefun/html/code4fun12102003.xml" target="_blank"&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="media"&gt;[Listening to: Last Chance - Jet - Get Born (01:52)]&lt;/div&gt;&lt;/p&gt;&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/More-on-pulling-MSDN-content-into-my-site/default.aspx</comments><link>http://duncanmackenzie.net/blog/More-on-pulling-MSDN-content-into-my-site/default.aspx</link><pubDate>Mon, 21 Mar 2005 18:48:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/More-on-pulling-MSDN-content-into-my-site/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>0</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/568/trackback/default.aspx</trackback:ping><category>MSDN Development</category><category>Syndication</category><category>Visual Basic</category></item><item><title>Playing around with pulling my articles into my own site's chrome...</title><description>&lt;p&gt;Check out my &lt;a href="http://www.duncanmackenzie.net/articles" target="_blank"&gt;articles page&lt;/a&gt;, which is built from &lt;a href="http://www.duncanmackenzie.net/articles/rss.xml" target="_blank"&gt;an RSS file&lt;/a&gt; by the way, and click on any of the "Coding 4 Fun" 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 "pull" 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><comments>http://duncanmackenzie.net/blog/Playing-around-with-pulling-my-articles-into-my-own-sites-chrome/default.aspx</comments><link>http://duncanmackenzie.net/blog/Playing-around-with-pulling-my-articles-into-my-own-sites-chrome/default.aspx</link><pubDate>Sat, 19 Mar 2005 06:36:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Playing-around-with-pulling-my-articles-into-my-own-sites-chrome/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>0</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/567/trackback/default.aspx</trackback:ping><category>MSDN Development</category><category>Syndication</category><category>Visual Basic</category><category>Visual C#</category></item><item><title>Just pulled down the CS 1.0 source... now to start working on a migration plan</title><description>&lt;p&gt;Currently I'm running .Text .94 + a bunch of private modifications and some version of CS:Forums + a bunch of private modifications... so &lt;a href="http://weblogs.asp.net/rhoward/archive/2005/02/25/380444.aspx" target="_blank"&gt;now that CS 1.0's source is out&lt;/a&gt;, I want to incorporate my mods into the combined package and then migrate my data and get my site up and running on the new stuff. As cool as that is, and while I'm sure it has excellent tools/scripts for upgrading, I'm not looking forward to it. It was hard enough to get my site set up now, with blogs.duncanmackenzie.net running as its own app domain and then trying to make the Forums code work when the application started at the root not at /Forums. Anyway, suffice it to say I don't expect to upgrade right away, but maybe I'll have a copy of the site upgraded and sitting on my dev box within the next week.... &lt;/p&gt;
&lt;p&gt;Anyone else gone through the upgrade/migration and have any thoughts or comments?&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Just-pulled-down-the-CS-10-source-now-to-start-working-on-a-migration-plan/default.aspx</comments><link>http://duncanmackenzie.net/blog/Just-pulled-down-the-CS-10-source-now-to-start-working-on-a-migration-plan/default.aspx</link><pubDate>Sun, 27 Feb 2005 03:38:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Just-pulled-down-the-CS-10-source-now-to-start-working-on-a-migration-plan/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>2</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/557/trackback/default.aspx</trackback:ping><category>.NET</category><category>Blogging</category><category>Syndication</category><category>Visual Basic</category><category>Visual C#</category><category>XML</category></item><item><title>Halo 2 Stats via RSS... an interesting idea that I think could be improved </title><description>&lt;p&gt;I like that Bungie is exposing your stats as RSS (&lt;a href="http://www.duncanmackenzie.net/halo2.aspx" target="_blank"&gt;see mine here&lt;/a&gt;), but it would be cooler if they had added some additional elements and attributes to the feed to describe the games in a more usable format, rather than just in HTML... instead of;&lt;/p&gt;
		&lt;pre&gt;
				&lt;font color="#ffa500"&gt;
						&lt;font color="#000080"&gt;&amp;lt;item&amp;gt;&lt;/font&gt;
						&lt;br /&gt;
				&lt;/font&gt; &lt;font color="#000080"&gt;&amp;lt;title&amp;gt;&lt;/font&gt;Rumble Pit: Oddball on Ascension&lt;font color="#000080"&gt;&amp;lt;/title&amp;gt;&lt;/font&gt;&lt;br /&gt; &lt;font color="#000080"&gt;&amp;lt;link&amp;gt;&lt;/font&gt;http://www.bungie.net/stats/gamestats.aspx?gameid=8132172&amp;amp;player=Festive Turkey&lt;font color="#000080"&gt;&amp;lt;/link&amp;gt;&lt;/font&gt;&lt;br /&gt; &lt;font color="#000080"&gt;&amp;lt;pubDate&amp;gt;&lt;/font&gt;Fri, 19 Nov 2004 07:45:07 GMT&lt;font color="#000080"&gt;&amp;lt;/pubDate&amp;gt;&lt;/font&gt;&lt;br /&gt; &lt;font color="#000080"&gt;&amp;lt;guid&amp;gt;&lt;/font&gt;http://www.bungie.net/stats/gamestats.aspx?gameid=8132172&amp;amp;player=Festive Turkey&lt;font color="#000080"&gt;&amp;lt;/guid&amp;gt;&lt;/font&gt;&lt;br /&gt; &lt;font color="#000080"&gt;&amp;lt;description&amp;gt;&lt;/font&gt;&lt;br /&gt; Game played at Fri, 19 Nov 2004 07:45:07 GMT&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Playlist: Rumble Pit&amp;lt;br/&amp;gt;Oddball on Ascension&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; &lt;br /&gt; &amp;lt;b&amp;gt;Gamertag (Team): Score, Kills, Deaths, Assists&amp;lt;/b&amp;gt; &lt;br /&gt; &amp;lt;br/&amp;gt;l obvious l (1): 59, 14, 9, 5&amp;lt;br/&amp;gt;ScottyAK (0): 52, 16, 10, 6&amp;lt;br/&amp;gt;&lt;br /&gt; BK Assassin (2): 29, 6, 9, 1&amp;lt;br/&amp;gt;MAXODeeZ (3): 18, 7, 12, 4&amp;lt;br/&amp;gt;&lt;br /&gt; BattlingWheel (4): 15, 10, 13, 5&amp;lt;br/&amp;gt;Festive Turkey (5): 6, 5, 11, 5&amp;lt;br/&amp;gt;&lt;br /&gt; snackasaurus (6): 0, 6, 7, 6&amp;lt;br/&amp;gt;LionWrath716 (7): 0, 1, 0, 0&amp;lt;br/&amp;gt; &lt;br /&gt; &lt;font color="#000080"&gt;&amp;lt;/description&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000080"&gt;&amp;lt;/item&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;they could add a namespace reference for Halo or Bungie.... and end up with...&lt;/p&gt;&lt;pre&gt;&lt;font color="#000080"&gt;&amp;lt;item&amp;gt;&lt;/font&gt;&lt;br /&gt; &lt;font color="#000080"&gt;&amp;lt;title&amp;gt;&lt;/font&gt;Rumble Pit: Oddball on Ascension&lt;font color="#000080"&gt;&amp;lt;/title&amp;gt;&lt;/font&gt;&lt;br /&gt; &lt;font color="#000080"&gt;&amp;lt;link&amp;gt;&lt;/font&gt;http://www.bungie.net/stats/gamestats.aspx?gameid=8132172&amp;amp;player=Festive Turkey&lt;font color="#000080"&gt;&amp;lt;/link&amp;gt;&lt;/font&gt;&lt;br /&gt; &lt;font color="#000080"&gt;&amp;lt;pubDate&amp;gt;&lt;/font&gt;Fri, 19 Nov 2004 07:45:07 GMT&lt;font color="#000080"&gt;&amp;lt;/pubDate&amp;gt;&lt;/font&gt;&lt;br /&gt; &lt;font color="#000080"&gt;&amp;lt;guid&amp;gt;&lt;/font&gt;http://www.bungie.net/stats/gamestats.aspx?gameid=8132172&amp;amp;player=Festive Turkey&lt;font color="#000080"&gt;&amp;lt;/guid&amp;gt;&lt;/font&gt;&lt;br /&gt; &lt;font color="#000080"&gt;&amp;lt;description&amp;gt;&lt;/font&gt;&lt;br /&gt; Game played at Fri, 19 Nov 2004 07:45:07 GMT&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Playlist: Rumble Pit&amp;lt;br/&amp;gt;Oddball on Ascension&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; &lt;br /&gt; &amp;lt;b&amp;gt;Gamertag (Team): Score, Kills, Deaths, Assists&amp;lt;/b&amp;gt; &lt;br /&gt; &amp;lt;br/&amp;gt;l obvious l (1): 59, 14, 9, 5&amp;lt;br/&amp;gt;ScottyAK (0): 52, 16, 10, 6&amp;lt;br/&amp;gt;&lt;br /&gt; BK Assassin (2): 29, 6, 9, 1&amp;lt;br/&amp;gt;MAXODeeZ (3): 18, 7, 12, 4&amp;lt;br/&amp;gt;&lt;br /&gt; BattlingWheel (4): 15, 10, 13, 5&amp;lt;br/&amp;gt;Festive Turkey (5): 6, 5, 11, 5&amp;lt;br/&amp;gt;&lt;br /&gt; snackasaurus (6): 0, 6, 7, 6&amp;lt;br/&amp;gt;LionWrath716 (7): 0, 1, 0, 0&amp;lt;br/&amp;gt; &lt;br /&gt; &lt;font color="#000080"&gt;&amp;lt;/description&amp;gt;&lt;/font&gt;&lt;br /&gt; &lt;font color="#0000ff"&gt;&amp;lt;bungie:game&amp;gt;&lt;/font&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;&amp;lt;bungie:datePlayed&amp;gt;&lt;/font&gt;Fri, 19 Nov 2004 07:45:07 GMT&lt;font color="#0000ff"&gt;&amp;lt;/bungie:datePlayed&amp;gt;&lt;/font&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;&amp;lt;bungie:playlist&amp;gt;&lt;/font&gt;Playlist: Rumble Pit&lt;font color="#0000ff"&gt;&amp;lt;/bungieplaylist&amp;gt;&lt;/font&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;&amp;lt;bungie:variant&amp;gt;&lt;/font&gt;Oddball&lt;font color="#0000ff"&gt;&amp;lt;/bungie:variant&amp;gt;&lt;/font&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;&amp;lt;bungie:map&amp;gt;&lt;/font&gt;Ascension&lt;font color="#0000ff"&gt;&amp;lt;/bungie:map&amp;gt;&lt;/font&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;&amp;lt;bungie:players&amp;gt;&lt;/font&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;&amp;lt;bungie:player&amp;gt;&lt;/font&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;&amp;lt;bungie:gamertag&amp;gt;&lt;/font&gt;Festive Turkey&lt;font color="#0000ff"&gt;&amp;lt;/bungie:gamertag&amp;gt;&lt;/font&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;&amp;lt;bungie:score&amp;gt;&lt;/font&gt;6&lt;font color="#0000ff"&gt;&amp;lt;/bungie:score&amp;gt;&lt;/font&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;&amp;lt;bungie:kills&amp;gt;&lt;/font&gt;5&lt;font color="#0000ff"&gt;&amp;lt;/bungie:kills&amp;gt;&lt;/font&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;font color="#0000ff"&gt;bungie:deaths&amp;gt;&lt;/font&gt;11&lt;font color="#0000ff"&gt;&amp;lt;/bungie:deaths&amp;gt;&lt;/font&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;&amp;lt;bungie:assists&amp;gt;&lt;/font&gt;5&lt;font color="#0000ff"&gt;&amp;lt;/bungie:assists&amp;gt;&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;&amp;lt;/bungie:player&amp;gt;&lt;/font&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;&amp;lt;/bungie:players&amp;gt;&lt;/font&gt;&lt;br /&gt; &lt;font color="#0000ff"&gt;&amp;lt;/bungie:game&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#0000ff"&gt;&amp;lt;/item&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;still valid RSS 2.0, still works in aggregators, but suddenly useful to anyone wanting to consume this information for more than just directly viewing it...&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Halo-2-Stats-via-RSS-an-interesting-idea-that-I-think-could-be-improved/default.aspx</comments><link>http://duncanmackenzie.net/blog/Halo-2-Stats-via-RSS-an-interesting-idea-that-I-think-could-be-improved/default.aspx</link><pubDate>Tue, 23 Nov 2004 04:31:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Halo-2-Stats-via-RSS-an-interesting-idea-that-I-think-could-be-improved/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>7</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/511/trackback/default.aspx</trackback:ping><category>.NET</category><category>Blogging</category><category>Syndication</category><category>XBox</category><category>XML</category></item><item><title>Added an RSS feed to the site for my articles...</title><description>&lt;p&gt;I guess I could have just added a category to my blog, but this works... &lt;a href="http://www.duncanmackenzie.net/articles/rss.xml" target="_blank"&gt;http://www.duncanmackenzie.net/articles/rss.xml&lt;/a&gt;&lt;/p&gt;</description><comments>http://duncanmackenzie.net/blog/Added-an-RSS-feed-to-the-site-for-my-articles/default.aspx</comments><link>http://duncanmackenzie.net/blog/Added-an-RSS-feed-to-the-site-for-my-articles/default.aspx</link><pubDate>Mon, 18 Oct 2004 21:16:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Added-an-RSS-feed-to-the-site-for-my-articles/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>0</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/496/trackback/default.aspx</trackback:ping><category>Blogging</category><category>Syndication</category><category>XML</category></item><item><title>New MSDN RSS feeds are live...</title><description>&lt;p&gt;In &lt;a href="http://blogs.duncanmackenzie.net/duncanma/archive/2004/09/26/708.aspx" target="_blank"&gt;an earlier post&lt;/a&gt;, I mentioned that I had written a new system for producing &lt;a href="http://msdn.microsoft.com/aboutmsdn/rss" target="_blank"&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="http://msdn.microsoft.com/vbasic/rss.xml" target="_blank"&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><comments>http://duncanmackenzie.net/blog/New-MSDN-RSS-feeds-are-live/default.aspx</comments><link>http://duncanmackenzie.net/blog/New-MSDN-RSS-feeds-are-live/default.aspx</link><pubDate>Wed, 06 Oct 2004 04:56:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/New-MSDN-RSS-feeds-are-live/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>2</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/484/trackback/default.aspx</trackback:ping><category>.NET</category><category>MSDN Development</category><category>Syndication</category><category>Visual Basic</category><category>Visual C#</category><category>XML</category></item><item><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="http://msdn.microsoft.com/aboutmsdn/rss" target="_blank"&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="http://www.duncanmackenzie.net/vbrss.xml" target="_blank"&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="red"&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><comments>http://duncanmackenzie.net/blog/Ive-been-working-on-a-new-RSS-generation-system-for-MSDN-for-the-past-little-while/default.aspx</comments><link>http://duncanmackenzie.net/blog/Ive-been-working-on-a-new-RSS-generation-system-for-MSDN-for-the-past-little-while/default.aspx</link><pubDate>Mon, 27 Sep 2004 04:19:00 GMT</pubDate><guid isPermaLink="true">http://duncanmackenzie.net/blog/Ive-been-working-on-a-new-RSS-generation-system-for-MSDN-for-the-past-little-while/default.aspx</guid><dc:creator>Duncan Mackenzie</dc:creator><slash:comments>5</slash:comments><trackback:ping>http://duncanmackenzie.net/blog/477/trackback/default.aspx</trackback:ping><category>.NET</category><category>Blogging</category><category>MSDN Development</category><category>Personal Musings</category><category>Syndication</category><category>Visual Basic</category><category>Visual C#</category><category>XML</category></item></channel></rss>