<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Ralf Herbrich's WebLog on Machine Learning and (Computer) Games</title><link>http://blogs.msdn.com/rherb/default.aspx</link><description /><dc:language>en-GB</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>F# IEnumerators for Unified Data Read</title><link>http://blogs.msdn.com/rherb/archive/2006/06/11/626145.aspx</link><pubDate>Sun, 11 Jun 2006 13:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:626145</guid><dc:creator>rherb</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/rherb/comments/626145.aspx</comments><wfw:commentRss>http://blogs.msdn.com/rherb/commentrss.aspx?PostID=626145</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://blogs.msdn.com/dsyme/"&gt;Don Syme&lt;/A&gt; has been telling me again and again to make my experiences with F# more widely available by putting it on my blog; here is my first attempt at "being a better boy".&lt;/P&gt;
&lt;P&gt;I am a big fan of &lt;A href="http://research.microsoft.com/fsharp/fsharp.aspx"&gt;F#&lt;/A&gt;&amp;nbsp;and I have recently &lt;A href="http://cs.hubfs.net/forums/permalink/326/335/ShowThread.aspx#335"&gt;posted&lt;/A&gt; an on hubFS a piece of source code for reading from a SQL stream by using the IEnumerable class. However, the code there had&amp;nbsp;two problems:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;You could not reset the&amp;nbsp;connection.&amp;nbsp;That means that even if you output the value of the IEnumerable (for debug purposes, let's say) you started to digest the results of the read and never got them back unless you re-created the IEnumerable.&lt;/LI&gt;
&lt;LI&gt;You could not make sure that the reader is properly closed unless all results are digested (in which case you do close the reader).&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;We have both looked into the issue and rewrote the actual implementation of IEnumerable.unfold to remedy the issues. Here is the new code that allows to specifcy not only the compute function but also the initialisation and closing function.&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;module&lt;/FONT&gt;&lt;FONT size=2&gt; IEnumerable = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;begin&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;open&lt;/FONT&gt;&lt;FONT size=2&gt; System.Collections&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;open&lt;/FONT&gt;&lt;FONT size=2&gt; System.Collections.Generic&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;///The new IEnumerator with a specific open, compute and close function.&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;module&lt;/FONT&gt;&lt;FONT size=2&gt; IEnumerator = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;let&lt;/FONT&gt;&lt;FONT size=2&gt; end_of_stream() =&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;raise(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; System.ArgumentException(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"An attempt was made to move past the end of an IEnumerator"&lt;/FONT&gt;&lt;FONT size=2&gt;))&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;let&lt;/FONT&gt;&lt;FONT size=2&gt; unfolds openf compute closef =&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;let&lt;/FONT&gt;&lt;FONT size=2&gt; curr = ref None &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;in&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;let&lt;/FONT&gt;&lt;FONT size=2&gt; state = ref (openf()) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;in&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;let&lt;/FONT&gt;&lt;FONT size=2&gt; getCurr() = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;match&lt;/FONT&gt;&lt;FONT size=2&gt; !curr &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;with&lt;/FONT&gt;&lt;FONT size=2&gt; None &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;-&amp;gt;&lt;/FONT&gt;&lt;FONT size=2&gt; end_of_stream() | Some x &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;-&amp;gt;&lt;/FONT&gt;&lt;FONT size=2&gt; x &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;in&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT size=2&gt;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; IEnumerator&amp;lt;'b&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;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;with&lt;/FONT&gt;&lt;FONT size=2&gt; get_Current() = getCurr()&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;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;interface&lt;/FONT&gt;&lt;FONT size=2&gt; IEnumerator&amp;nbsp;&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;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;with&lt;/FONT&gt;&lt;FONT size=2&gt; get_Current() = box (getCurr())&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&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;&amp;nbsp;and&lt;/FONT&gt;&lt;FONT size=2&gt; MoveNext() =&amp;nbsp;&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;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;let&lt;/FONT&gt;&lt;FONT size=2&gt; s = !state &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;in&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;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;match&lt;/FONT&gt;&lt;FONT size=2&gt; compute s &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;with&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp;&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;&amp;nbsp;| None &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;-&amp;gt;&lt;/FONT&gt;&lt;FONT size=2&gt; (closef s; curr := None; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;false&lt;/FONT&gt;&lt;FONT size=2&gt;)&amp;nbsp;&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;&amp;nbsp;| Some(r,s) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;-&amp;gt;&lt;/FONT&gt;&lt;FONT size=2&gt; curr := Some r; state := s; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;true&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;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;and&lt;/FONT&gt;&lt;FONT size=2&gt; Reset() = (closef !state; state := openf(); curr := None)&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;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;interface&lt;/FONT&gt;&lt;FONT size=2&gt; System.IDisposable&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;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;with&lt;/FONT&gt;&lt;FONT size=2&gt; Dispose() = ()&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;///The new ways to create an IEnumerable from a IEnumerator&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&lt;/FONT&gt;&lt;FONT size=2&gt; mk_IEnumerable f =&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; IEnumerable&amp;lt;'b&amp;gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;with&lt;/FONT&gt;&lt;FONT size=2&gt; GetEnumerator() = f()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;interface&lt;/FONT&gt;&lt;FONT size=2&gt; IEnumerable &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;with&lt;/FONT&gt;&lt;FONT size=2&gt; GetEnumerator() = (f() :&amp;gt; IEnumerator) }&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;///The new way to create an IEnumerable via the unfolds function.&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&lt;/FONT&gt;&lt;FONT size=2&gt; unfolds openf compute closef = mk_IEnumerable (&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;fun&lt;/FONT&gt;&lt;FONT size=2&gt; () &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;-&amp;gt;&lt;/FONT&gt;&lt;FONT size=2&gt; IEnumerator.unfolds openf compute closef) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;end&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT color=#0000ff&gt;&lt;FONT color=#000000 size=3&gt;Now it is clear how to give the SQL reader via IEnumerables back the functionality that was missing,&amp;nbsp; isn't it?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=626145" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/rherb/archive/tags/F_2300_/default.aspx">F#</category></item><item><title>PGR 3 Online Carreer Waiting Times Explained</title><link>http://blogs.msdn.com/rherb/archive/2006/06/11/626126.aspx</link><pubDate>Sun, 11 Jun 2006 13:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:626126</guid><dc:creator>rherb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/rherb/comments/626126.aspx</comments><wfw:commentRss>http://blogs.msdn.com/rherb/commentrss.aspx?PostID=626126</wfw:commentRss><description>&lt;P&gt;I am an active reader of the &lt;A href="http://www.bizarreonline.net/"&gt;Bizarre Creations forums&lt;/A&gt; and I really enjoy the disucssions that go on about PGR 3. Recently, there was an &lt;A href="http://www.bizarreonline.net/forum/viewtopic.php?p=208734#208734"&gt;interesting post&lt;/A&gt; by &lt;A href="http://www.bizarreonline.net/forum/profile.php?mode=viewprofile&amp;amp;u=4690"&gt;jetjaguar&lt;/A&gt; with a long explanation of the waiting times for some people in Online Carreer. I could not agree more with his technical arguments. In fact, the whole &lt;A href="http://www.bizarreonline.net/forum/viewtopic.php?t=11990&amp;amp;postdays=0&amp;amp;postorder=asc&amp;amp;start=0"&gt;thread&lt;/A&gt; is worth a read!&lt;/P&gt;
&lt;P&gt;A little while earlier, I did a &lt;A href="http://www.bizarreonline.net/forum/viewtopic.php?p=201385#201385"&gt;back-on-the-envelope&lt;/A&gt; calculation on the minimal number of PGR 3 Online Carreer players necessary for short waiting times. The number&amp;nbsp;that came out was 12,000 people at the same time playing OLC!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=626126" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/rherb/archive/tags/Games/default.aspx">Games</category></item><item><title>TrueSkill technical report released</title><link>http://blogs.msdn.com/rherb/archive/2006/06/11/626118.aspx</link><pubDate>Sun, 11 Jun 2006 13:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:626118</guid><dc:creator>rherb</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/rherb/comments/626118.aspx</comments><wfw:commentRss>http://blogs.msdn.com/rherb/commentrss.aspx?PostID=626118</wfw:commentRss><description>&lt;P&gt;Today, we released the &lt;A href="ftp://ftp.research.microsoft.com/pub/tr/TR-2006-80.pdf"&gt;technical report&lt;/A&gt; about the &lt;A href="http://www.research.microsoft.com/mlp/trueskill"&gt;TrueSkill&lt;/A&gt; ranking and matchmaking algorithm. It is filled with lots more math than the official &lt;A href="http://research.microsoft.com/mlp/trueskill/Details.aspx"&gt;TrueSkill details&lt;/A&gt; page but it should answer any technical question left.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In fact, in this report we present an analysis of the &lt;A href="http://research.microsoft.com/mlp/apg/downloads.htm"&gt;logged games&lt;/A&gt; of the &lt;A href="http://www.bungie.net/games/Halo2/"&gt;Halo 2&lt;/A&gt; Beta testing (July 2004 - September 2004). This dataset has now been made publically available for research purposes.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=626118" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/rherb/archive/tags/Games/default.aspx">Games</category><category domain="http://blogs.msdn.com/rherb/archive/tags/Machine+Learning/default.aspx">Machine Learning</category></item><item><title>Machine Learning Blog</title><link>http://blogs.msdn.com/rherb/archive/2006/05/09/593477.aspx</link><pubDate>Tue, 09 May 2006 11:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:593477</guid><dc:creator>rherb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/rherb/comments/593477.aspx</comments><wfw:commentRss>http://blogs.msdn.com/rherb/commentrss.aspx?PostID=593477</wfw:commentRss><description>&lt;P&gt;I have recently come across &lt;A href="http://www.hunch.net/"&gt;John Langford's Machine Learning Theory Blog&lt;/A&gt;. I immediately spent several hours&amp;nbsp;reading through the posts and comments and I can only highly recommend this page to anyone interested in machine learning research subjects.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=593477" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/rherb/archive/tags/Machine+Learning/default.aspx">Machine Learning</category></item><item><title>Welcome!</title><link>http://blogs.msdn.com/rherb/archive/2006/05/09/593401.aspx</link><pubDate>Tue, 09 May 2006 08:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:593401</guid><dc:creator>rherb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/rherb/comments/593401.aspx</comments><wfw:commentRss>http://blogs.msdn.com/rherb/commentrss.aspx?PostID=593401</wfw:commentRss><description>&lt;P&gt;This is my first blog; so far, most information about me and my work could be found at &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.research.microsoft.com/~rherb"&gt;My home page&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.research.microsoft.com/mlp/trueskill"&gt;TrueSkill(TM) homepage&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.drivatar.com"&gt;Drivatar(TM) homepage&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Ok, let's get started.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=593401" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/rherb/archive/tags/Miscellaneous/default.aspx">Miscellaneous</category></item></channel></rss>