<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>Mad about .NET</title><link>http://blogs.clearscreen.com/jfbonnin/</link><description>&lt;div class='cita'&gt;A man is able to do whatever he tries if he tries hard enough, the problem is that normally tries to do too many things.&lt;/div&gt;&lt;br&gt;&lt;div class='nombre'&gt;A .NET blog from Jose Francisco Bonnin&lt;/div&gt;</description><managingEditor>Jose Fco. Bonnin</managingEditor><dc:language>en-US</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Jose Fco. Bonnin</dc:creator><title>Farewell</title><link>http://blogs.clearscreen.com/jfbonnin/archive/2008/07/23/13263.aspx</link><pubDate>Wed, 23 Jul 2008 06:37:00 GMT</pubDate><guid>http://blogs.clearscreen.com/jfbonnin/archive/2008/07/23/13263.aspx</guid><wfw:comment>http://blogs.clearscreen.com/jfbonnin/comments/13263.aspx</wfw:comment><comments>http://blogs.clearscreen.com/jfbonnin/archive/2008/07/23/13263.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.clearscreen.com/jfbonnin/comments/commentRss/13263.aspx</wfw:commentRss><trackback:ping>http://blogs.clearscreen.com/jfbonnin/services/trackbacks/13263.aspx</trackback:ping><description>&lt;p&gt;After some time blogging at Clearscreen I've decided to stop writing (and not writing) here and,  following the current trend, start a new adventure on my own at &lt;a href="http://www.josefcobonnin.com"&gt;www.josefcobonnin.com&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;I would like to think the new Mad about .NET will be a much more interesting place where I will not repeat some of the mistakes done here, unfortunately the blogger will be the same, therefore I guess I will need to continue learning along the way :)&lt;/p&gt;
&lt;p&gt;I want to thank Clearscreen and Miguel Jimenez for his support and patience during my time here.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Jose.&lt;/p&gt;&lt;img src ="http://blogs.clearscreen.com/jfbonnin/aggbug/13263.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>After some time blogging at Clearscreen I've decided to stop writing (and not writing) here and,  following the current trend, start a new adventure on my own at <a href="http://www.josefcobonnin.com">www.josefcobonnin.com</a>. </p>
<p>I would like to think the new Mad about .NET will be a much more interesting place where I will not repeat some of the mistakes done here, unfortunately the blogger will be the same, therefore I guess I will need to continue learning along the way :)</p>
<p>I want to thank Clearscreen and Miguel Jimenez for his support and patience during my time here.</p>
<p>Regards,</p>
<p>Jose.</p><img src ="http://blogs.clearscreen.com/jfbonnin/aggbug/13263.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Jose Fco. Bonnin</dc:creator><title>Comando Tomate</title><link>http://blogs.clearscreen.com/jfbonnin/archive/2008/04/02/11817.aspx</link><pubDate>Wed, 02 Apr 2008 12:32:00 GMT</pubDate><guid>http://blogs.clearscreen.com/jfbonnin/archive/2008/04/02/11817.aspx</guid><wfw:comment>http://blogs.clearscreen.com/jfbonnin/comments/11817.aspx</wfw:comment><comments>http://blogs.clearscreen.com/jfbonnin/archive/2008/04/02/11817.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.clearscreen.com/jfbonnin/comments/commentRss/11817.aspx</wfw:commentRss><trackback:ping>http://blogs.clearscreen.com/jfbonnin/services/trackbacks/11817.aspx</trackback:ping><description>&lt;p&gt;Around one month ago the &lt;a href="http://comandotomate.com" target="_blank"&gt;Comando Tomate&lt;/a&gt; interviewed me at the Microsoft facilities "La Finca", thanks to this interview I was able to explain what the projects of &lt;a href="http://www.baleareson.net/" target="_blank"&gt;Baleares on .NET&lt;/a&gt; are and what I do at &lt;a href="http://europe.ineta.org/Countries/Spain/Home/tabid/235/Default.aspx" target="_blank"&gt;Ineta Spain&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;If you want to know more just take a look (Spanish).&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;iframe src="http://silverlight.services.live.com/invoke/34206/Bonnin/iframe.html" frameborder="0" width="500" scrolling="no" height="400" mce_src="http://silverlight.services.live.com/invoke/34206/xEncoderApp0/iframe.html"&gt;&lt;/iframe&gt;&lt;img src ="http://blogs.clearscreen.com/jfbonnin/aggbug/11817.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>Around one month ago the <a href="http://comandotomate.com" target="_blank">Comando Tomate</a> interviewed me at the Microsoft facilities "La Finca", thanks to this interview I was able to explain what the projects of <a href="http://www.baleareson.net/" target="_blank">Baleares on .NET</a> are and what I do at <a href="http://europe.ineta.org/Countries/Spain/Home/tabid/235/Default.aspx" target="_blank">Ineta Spain</a>.</p> <p>If you want to know more just take a look (Spanish).</p> <p> </p><iframe src="http://silverlight.services.live.com/invoke/34206/Bonnin/iframe.html" frameborder="0" width="500" scrolling="no" height="400" mce_src="http://silverlight.services.live.com/invoke/34206/xEncoderApp0/iframe.html"></iframe><img src ="http://blogs.clearscreen.com/jfbonnin/aggbug/11817.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Jose Fco. Bonnin</dc:creator><title>Baleares on .NET - Heroes Community Launch</title><link>http://blogs.clearscreen.com/jfbonnin/archive/2008/04/02/11816.aspx</link><pubDate>Wed, 02 Apr 2008 11:42:00 GMT</pubDate><guid>http://blogs.clearscreen.com/jfbonnin/archive/2008/04/02/11816.aspx</guid><wfw:comment>http://blogs.clearscreen.com/jfbonnin/comments/11816.aspx</wfw:comment><comments>http://blogs.clearscreen.com/jfbonnin/archive/2008/04/02/11816.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.clearscreen.com/jfbonnin/comments/commentRss/11816.aspx</wfw:commentRss><trackback:ping>http://blogs.clearscreen.com/jfbonnin/services/trackbacks/11816.aspx</trackback:ping><description>&lt;p&gt;March, 28th we celebrated the &lt;a href="http://www.baleareson.net/communitylaunch" target="_blank"&gt;anniversary&lt;/a&gt; of &lt;a href="http://www.baleareson.net" target="_blank"&gt;Baleares on .NET&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;I would really like to thank all the speakers for coming to such important event for us &lt;a href="http://blogs.solidq.com/es/elRinconDelDBA" target="_blank"&gt;Eladio Rincón&lt;/a&gt;, &lt;a href="http://iremote.blogspot.com/" target="_blank"&gt;Juan Manuel Servera&lt;/a&gt;, &lt;a href="http://geeks.ms/blogs/rcorral" target="_blank"&gt;Rodrigo Corral&lt;/a&gt;, &lt;a href="http://blogs.technet.com/davidcervigon/" target="_blank"&gt;David Cervigón&lt;/a&gt;, &lt;a href="http://twitter.com/migs212" target="_blank"&gt;Miguel Jiménez&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/davidsalgado/" target="_blank"&gt;David Salgado&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;All of them made possible to host what at the end was an incredible day, I hope they enjoyed as much as I did and that they come to visit us again in a near future.&lt;/p&gt; &lt;p&gt;You can see some of the photos we took &lt;a href="http://www.facebook.com/album.php?aid=45188&amp;amp;l=73321&amp;amp;id=597496250" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src ="http://blogs.clearscreen.com/jfbonnin/aggbug/11816.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>March, 28th we celebrated the <a href="http://www.baleareson.net/communitylaunch" target="_blank">anniversary</a> of <a href="http://www.baleareson.net" target="_blank">Baleares on .NET</a>.</p> <p>I would really like to thank all the speakers for coming to such important event for us <a href="http://blogs.solidq.com/es/elRinconDelDBA" target="_blank">Eladio Rincón</a>, <a href="http://iremote.blogspot.com/" target="_blank">Juan Manuel Servera</a>, <a href="http://geeks.ms/blogs/rcorral" target="_blank">Rodrigo Corral</a>, <a href="http://blogs.technet.com/davidcervigon/" target="_blank">David Cervigón</a>, <a href="http://twitter.com/migs212" target="_blank">Miguel Jiménez</a> and <a href="http://blogs.msdn.com/davidsalgado/" target="_blank">David Salgado</a>. </p> <p>All of them made possible to host what at the end was an incredible day, I hope they enjoyed as much as I did and that they come to visit us again in a near future.</p> <p>You can see some of the photos we took <a href="http://www.facebook.com/album.php?aid=45188&amp;l=73321&amp;id=597496250" target="_blank">here</a>.</p><img src ="http://blogs.clearscreen.com/jfbonnin/aggbug/11816.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Jose Fco. Bonnin</dc:creator><title>Baleares on .NET - Heroes Community Launch</title><link>http://blogs.clearscreen.com/jfbonnin/archive/2008/03/01/11666.aspx</link><pubDate>Sat, 01 Mar 2008 17:57:00 GMT</pubDate><guid>http://blogs.clearscreen.com/jfbonnin/archive/2008/03/01/11666.aspx</guid><wfw:comment>http://blogs.clearscreen.com/jfbonnin/comments/11666.aspx</wfw:comment><comments>http://blogs.clearscreen.com/jfbonnin/archive/2008/03/01/11666.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.clearscreen.com/jfbonnin/comments/commentRss/11666.aspx</wfw:commentRss><trackback:ping>http://blogs.clearscreen.com/jfbonnin/services/trackbacks/11666.aspx</trackback:ping><description>&lt;p&gt;The 28th, March the .NUG &lt;a href="http://www.baleareson.net/"&gt;Baleares on .NET&lt;/a&gt; celebrates its first anniversary doing a big launch event. You can see the agenda below:&lt;/p&gt; &lt;p&gt;&lt;b&gt;09:00 - 09:30 &lt;/b&gt;&lt;b&gt;Register&lt;/b&gt; &lt;/p&gt;&lt;p&gt;&lt;b&gt;09:30 - 10:00 &lt;/b&gt;Presentation &lt;/p&gt;&lt;p&gt;&lt;b&gt;10:00 - 11:00 &lt;/b&gt; Windows Server 2008 - David Cervigón, Microsoft. &lt;/p&gt;&lt;p&gt;&lt;b&gt;11:00 - 12:00 &lt;/b&gt; Agile Methodologies with TFS 2008 - Rodrigo Corral, PlainConcepts. &lt;/p&gt;&lt;p&gt;&lt;b&gt;12:00 - 12:30 &lt;/b&gt;&lt;b&gt;Coffee Break&lt;/b&gt; &lt;/p&gt;&lt;p&gt;&lt;b&gt;12:30 - 13:30 &lt;/b&gt; SQL Server 2008 - Eladio Rincón, SolidQuality Mentors. &lt;/p&gt;&lt;p&gt;&lt;b&gt;13:30 - 14:30 &lt;/b&gt; ADO.NET Framework Entity - Jose Fco Bonnin, Payvision. &lt;/p&gt;&lt;p&gt;&lt;b&gt;14:30 - 15:30 &lt;/b&gt;&lt;b&gt;Free time to Lunch&lt;/b&gt; &lt;/p&gt;&lt;p&gt;&lt;b&gt;15:30 - 16:30 &lt;/b&gt; ADO.NET Data Services - Juan Manuel Servera, Babtec. &lt;/p&gt;&lt;p&gt;&lt;b&gt;16:30 - 17:30 &lt;/b&gt; Emotional Design and Advanced User Experiences with Silverlight y WPF - Miguel Jiménez, Ilitia. &lt;/p&gt;&lt;p&gt;&lt;b&gt;17:30 - 18:30 &lt;/b&gt; Advanced Debugging - David Salgado, Microsoft. &lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;Visit &lt;a href="http://www.baleareson.net/communitylaunch"&gt;http://www.baleareson.net/communitylaunch&lt;/a&gt; for more information. &lt;/p&gt;&lt;img src ="http://blogs.clearscreen.com/jfbonnin/aggbug/11666.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>The 28th, March the .NUG <a href="http://www.baleareson.net/">Baleares on .NET</a> celebrates its first anniversary doing a big launch event. You can see the agenda below:</p> <p><b>09:00 - 09:30 </b><b>Register</b> </p><p><b>09:30 - 10:00 </b>Presentation </p><p><b>10:00 - 11:00 </b> Windows Server 2008 - David Cervigón, Microsoft. </p><p><b>11:00 - 12:00 </b> Agile Methodologies with TFS 2008 - Rodrigo Corral, PlainConcepts. </p><p><b>12:00 - 12:30 </b><b>Coffee Break</b> </p><p><b>12:30 - 13:30 </b> SQL Server 2008 - Eladio Rincón, SolidQuality Mentors. </p><p><b>13:30 - 14:30 </b> ADO.NET Framework Entity - Jose Fco Bonnin, Payvision. </p><p><b>14:30 - 15:30 </b><b>Free time to Lunch</b> </p><p><b>15:30 - 16:30 </b> ADO.NET Data Services - Juan Manuel Servera, Babtec. </p><p><b>16:30 - 17:30 </b> Emotional Design and Advanced User Experiences with Silverlight y WPF - Miguel Jiménez, Ilitia. </p><p><b>17:30 - 18:30 </b> Advanced Debugging - David Salgado, Microsoft. </p><p>  </p><p>Visit <a href="http://www.baleareson.net/communitylaunch">http://www.baleareson.net/communitylaunch</a> for more information. </p><img src ="http://blogs.clearscreen.com/jfbonnin/aggbug/11666.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Jose Fco. Bonnin</dc:creator><title>TechDays Madrid</title><link>http://blogs.clearscreen.com/jfbonnin/archive/2008/02/25/11634.aspx</link><pubDate>Mon, 25 Feb 2008 21:13:00 GMT</pubDate><guid>http://blogs.clearscreen.com/jfbonnin/archive/2008/02/25/11634.aspx</guid><wfw:comment>http://blogs.clearscreen.com/jfbonnin/comments/11634.aspx</wfw:comment><comments>http://blogs.clearscreen.com/jfbonnin/archive/2008/02/25/11634.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.clearscreen.com/jfbonnin/comments/commentRss/11634.aspx</wfw:commentRss><trackback:ping>http://blogs.clearscreen.com/jfbonnin/services/trackbacks/11634.aspx</trackback:ping><description>&lt;p&gt;Finally, it seems I will be able to attend to several sessions of the TechDays in Madrid. If you want to join me, you will be more than welcome.&lt;/p&gt; &lt;p&gt;Here is my agenda.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Agenda: 26/02&lt;br /&gt;-----------------------------&lt;br /&gt;14:00 - 14:30 (Sala Mónaco): Hands-On Lab. Visual Studio: Práctica de Desarrollo Dirigido por Pruebas (TDD, Test-Driven Development). Colabora: Danysoft&lt;br /&gt;15:00 - 15:45 (Sala Madrid): Entity Framework a fondo&lt;br /&gt;16:25 - 16:55 (Auditorio EXPO): Optimización de rendimiento en SQL Server 2008&lt;br /&gt;16:45 - 17:30 (Sala Amsterdam): Hands-On Lab. SQL Server 2008: novedades para Desarrolladores de Bases de Datos &lt;br /&gt;17:30 - 18:15 (Sala Amsterdam): Hands-On Lab. SQL Server 2008: novedades de Business Intelligence&lt;br /&gt;18:00 - 19:00 (Sala París): WCF a fondo&lt;br /&gt;Agenda: 27/02&lt;br /&gt;-----------------------------&lt;br /&gt;09:45 - 11:00 (Sala Roma): SQL Server 2008: Aplicaciones de Misión Crítica sobre Plataformas de Datos fiables.&lt;br /&gt;12:30 - 13:15 (Area Visual Studio): Pregunta al Experto: 10 Errores más comunes al usar Team Foundation Server&lt;br /&gt;15:40 - 16:20 (Sala Berlín): ALM: Scrum y Team Sytem en la vida real. Presenta: Rodrigo Corral. Plain Concepts&lt;br /&gt;16:30 - 18:00 (Auditorio A): Sesión plenaria&lt;br /&gt;Gran Final The Evolution {Game}, con Inma del Moral&lt;br /&gt;20 Años de Innovación, con Rosa Garcia, Presidenta Microsoft Iberica&lt;br /&gt;Mesa redonda con líderes del Sector &lt;br /&gt;18:00 - 19:00 (Auditorio A): Steve Ballmer en directo desde Los Angeles (California, EE.UU)&lt;br /&gt;19:00 - 24:00 (Auditorio A): {The Evolution Party}.Gran Fiesta de celebración del 20 Aniversario de Microsoft en España. &lt;/p&gt;&lt;img src ="http://blogs.clearscreen.com/jfbonnin/aggbug/11634.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>Finally, it seems I will be able to attend to several sessions of the TechDays in Madrid. If you want to join me, you will be more than welcome.</p> <p>Here is my agenda.</p> <p> </p> <p>Agenda: 26/02<br />-----------------------------<br />14:00 - 14:30 (Sala Mónaco): Hands-On Lab. Visual Studio: Práctica de Desarrollo Dirigido por Pruebas (TDD, Test-Driven Development). Colabora: Danysoft<br />15:00 - 15:45 (Sala Madrid): Entity Framework a fondo<br />16:25 - 16:55 (Auditorio EXPO): Optimización de rendimiento en SQL Server 2008<br />16:45 - 17:30 (Sala Amsterdam): Hands-On Lab. SQL Server 2008: novedades para Desarrolladores de Bases de Datos <br />17:30 - 18:15 (Sala Amsterdam): Hands-On Lab. SQL Server 2008: novedades de Business Intelligence<br />18:00 - 19:00 (Sala París): WCF a fondo<br />Agenda: 27/02<br />-----------------------------<br />09:45 - 11:00 (Sala Roma): SQL Server 2008: Aplicaciones de Misión Crítica sobre Plataformas de Datos fiables.<br />12:30 - 13:15 (Area Visual Studio): Pregunta al Experto: 10 Errores más comunes al usar Team Foundation Server<br />15:40 - 16:20 (Sala Berlín): ALM: Scrum y Team Sytem en la vida real. Presenta: Rodrigo Corral. Plain Concepts<br />16:30 - 18:00 (Auditorio A): Sesión plenaria<br />Gran Final The Evolution {Game}, con Inma del Moral<br />20 Años de Innovación, con Rosa Garcia, Presidenta Microsoft Iberica<br />Mesa redonda con líderes del Sector <br />18:00 - 19:00 (Auditorio A): Steve Ballmer en directo desde Los Angeles (California, EE.UU)<br />19:00 - 24:00 (Auditorio A): {The Evolution Party}.Gran Fiesta de celebración del 20 Aniversario de Microsoft en España. </p><img src ="http://blogs.clearscreen.com/jfbonnin/aggbug/11634.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Jose Fco. Bonnin</dc:creator><title>Hiring people</title><link>http://blogs.clearscreen.com/jfbonnin/archive/2008/01/21/11350.aspx</link><pubDate>Mon, 21 Jan 2008 14:58:00 GMT</pubDate><guid>http://blogs.clearscreen.com/jfbonnin/archive/2008/01/21/11350.aspx</guid><wfw:comment>http://blogs.clearscreen.com/jfbonnin/comments/11350.aspx</wfw:comment><comments>http://blogs.clearscreen.com/jfbonnin/archive/2008/01/21/11350.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.clearscreen.com/jfbonnin/comments/commentRss/11350.aspx</wfw:commentRss><trackback:ping>http://blogs.clearscreen.com/jfbonnin/services/trackbacks/11350.aspx</trackback:ping><description>&lt;p&gt;My last post was related to the answers we received to basic questions we do when somebody applies for a job in our company.&lt;/p&gt;
&lt;p&gt;I shared a couple of them I've found funny or curious, obviously I never would reveal the author of the answers.&lt;/p&gt;
&lt;p&gt;My intention was just to show the weird answers you can receive, like one who answered to "what is Managed Execution?" saying he only works as freelance and specifying the price per hour.&lt;/p&gt;
&lt;p&gt;I never intended to laugh about the people itself, I know how hard can be to look for a job, but just about the rarity of the answers. The prove of this is that among the answers provided, there was one of a current employee and he didn't see any problem I published on the web.&lt;/p&gt;
&lt;p&gt;Our company is a bit special for this kind of things, we are very self-critics and we apply the humor to our daily work with things like hanging with full name the most stupid errors in our intranet, forcing the ones who break more often the builds to bring a handmade dessert, etc.&lt;/p&gt;
&lt;p&gt;The thing is that I received one comment saying the post was not very ethical. In my opinion it was totally misinterpreted, but if one person thought that, it's possible there is more people thinking in the same way, as I said this was far away from my intention. &lt;/p&gt;
&lt;p&gt;Therefore I decided to simply delete the post.&lt;/p&gt;&lt;img src ="http://blogs.clearscreen.com/jfbonnin/aggbug/11350.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>My last post was related to the answers we received to basic questions we do when somebody applies for a job in our company.</p>
<p>I shared a couple of them I've found funny or curious, obviously I never would reveal the author of the answers.</p>
<p>My intention was just to show the weird answers you can receive, like one who answered to "what is Managed Execution?" saying he only works as freelance and specifying the price per hour.</p>
<p>I never intended to laugh about the people itself, I know how hard can be to look for a job, but just about the rarity of the answers. The prove of this is that among the answers provided, there was one of a current employee and he didn't see any problem I published on the web.</p>
<p>Our company is a bit special for this kind of things, we are very self-critics and we apply the humor to our daily work with things like hanging with full name the most stupid errors in our intranet, forcing the ones who break more often the builds to bring a handmade dessert, etc.</p>
<p>The thing is that I received one comment saying the post was not very ethical. In my opinion it was totally misinterpreted, but if one person thought that, it's possible there is more people thinking in the same way, as I said this was far away from my intention. </p>
<p>Therefore I decided to simply delete the post.</p><img src ="http://blogs.clearscreen.com/jfbonnin/aggbug/11350.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Jose Fco. Bonnin</dc:creator><title>2007 Blog Summary</title><link>http://blogs.clearscreen.com/jfbonnin/archive/2008/01/07/11227.aspx</link><pubDate>Mon, 07 Jan 2008 20:06:00 GMT</pubDate><guid>http://blogs.clearscreen.com/jfbonnin/archive/2008/01/07/11227.aspx</guid><wfw:comment>http://blogs.clearscreen.com/jfbonnin/comments/11227.aspx</wfw:comment><comments>http://blogs.clearscreen.com/jfbonnin/archive/2008/01/07/11227.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.clearscreen.com/jfbonnin/comments/commentRss/11227.aspx</wfw:commentRss><trackback:ping>http://blogs.clearscreen.com/jfbonnin/services/trackbacks/11227.aspx</trackback:ping><description>&lt;p&gt;I initiated this blog one year ago with the intention to write basically about .NET. I started very enthusiastic and having clear that I didn't want to write just about which products come out or what other blogger said before. But reviewing the posts of this past year I've figured out that I've not been as prolific as I would like and that some of my posts really suck. I mean, I already knew it but when you see the numbers is when you face the truth (I only reached an average of 3 posts per month). I guess that sometimes one does not have time enough and/or just does not find the right inspiration, in any case below you can see my top 10 list of posts based on the web visits received. Obviously the "post competition" is not fair, since the oldest the post is the more possibilities has to be visited, but doesn't really matter.&lt;/p&gt;
&lt;p&gt;By the way, I don't understand why the number one received this amazing amount of web visits, who knows what people expected to find when searching how to hook a keyboard and mouse ;)&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" width="687" border="2"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="148"&gt;&lt;strong&gt;&lt;font size="2"&gt;Position&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td valign="top" width="359"&gt;&lt;strong&gt;&lt;font size="2"&gt;Post&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td valign="top" width="89"&gt;&lt;strong&gt;&lt;font size="2"&gt;Web Visits&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td valign="top" width="87"&gt;&lt;strong&gt;&lt;font size="2"&gt;Agg Visits&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="148"&gt;&lt;font size="2"&gt;1&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="356"&gt;&lt;a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/06/20/6494.aspx"&gt;&lt;font size="2"&gt;Hook Keyboard and Mouse&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="89"&gt;&lt;font size="2"&gt;8263&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="87"&gt;&lt;font size="2"&gt;341&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="148"&gt;&lt;font size="2"&gt;2&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="354"&gt;&lt;a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/04/09/6275.aspx"&gt;&lt;font size="2"&gt;C# 3.0 - Object and Collection Initializers&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="89"&gt;&lt;font size="2"&gt;1954&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="87"&gt;&lt;font size="2"&gt;208&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="146"&gt;&lt;font size="2"&gt;3&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="352"&gt;&lt;a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/04/16/6298.aspx"&gt;&lt;font size="2"&gt;Artificial Intelligence, bot and Live Messenger Add-In&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="89"&gt;&lt;font size="2"&gt;1737&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="87"&gt;&lt;font size="2"&gt;444&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="146"&gt;&lt;font size="2"&gt;4&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="350"&gt;&lt;a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/04/12/6287.aspx"&gt;&lt;font size="2"&gt;C# 3.0 - Lambda Expressions&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="89"&gt;&lt;font size="2"&gt;1700&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="87"&gt;&lt;font size="2"&gt;395&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="145"&gt;&lt;font size="2"&gt;5&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="349"&gt;&lt;a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/07/08/6579.aspx"&gt;&lt;font size="2"&gt;Google Safe Browsing API with Internet Explorer&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="89"&gt;&lt;font size="2"&gt;1164&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="87"&gt;&lt;font size="2"&gt;330&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="147"&gt;&lt;font size="2"&gt;6&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="348"&gt;&lt;a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/04/08/6271.aspx"&gt;&lt;font size="2"&gt;C# 3.0 - Automatic Properties&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="89"&gt;&lt;font size="2"&gt;1114&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="87"&gt;&lt;font size="2"&gt;378&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="146"&gt;&lt;font size="2"&gt;7&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="347"&gt;&lt;a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/04/04/6265.aspx"&gt;&lt;font size="2"&gt;C# 3.0 - Extension Methods&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="89"&gt;&lt;font size="2"&gt;915&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="87"&gt;&lt;font size="2"&gt;385&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="146"&gt;&lt;font size="2"&gt;8&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="346"&gt;&lt;a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/03/23/6235.aspx"&gt;&lt;font size="2"&gt;Building ActiveX with .NET&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="89"&gt;&lt;font size="2"&gt;886&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="87"&gt;&lt;font size="2"&gt;491&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="145"&gt;&lt;font size="2"&gt;9&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="346"&gt;&lt;a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/04/27/6327.aspx"&gt;&lt;font size="2"&gt;Community Server 2007 - Captcha Control&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="89"&gt;&lt;font size="2"&gt;788&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="87"&gt;&lt;font size="2"&gt;555&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="145"&gt;&lt;font size="2"&gt;10&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="345"&gt;&lt;a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/04/03/6262.aspx"&gt;&lt;font size="2"&gt;C# 3.0 - Implicitly typed local variables&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="89"&gt;&lt;font size="2"&gt;688&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="87"&gt;&lt;font size="2"&gt;379&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Let's see what comes out in 2008.&lt;/p&gt;&lt;img src ="http://blogs.clearscreen.com/jfbonnin/aggbug/11227.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>I initiated this blog one year ago with the intention to write basically about .NET. I started very enthusiastic and having clear that I didn't want to write just about which products come out or what other blogger said before. But reviewing the posts of this past year I've figured out that I've not been as prolific as I would like and that some of my posts really suck. I mean, I already knew it but when you see the numbers is when you face the truth (I only reached an average of 3 posts per month). I guess that sometimes one does not have time enough and/or just does not find the right inspiration, in any case below you can see my top 10 list of posts based on the web visits received. Obviously the "post competition" is not fair, since the oldest the post is the more possibilities has to be visited, but doesn't really matter.</p>
<p>By the way, I don't understand why the number one received this amazing amount of web visits, who knows what people expected to find when searching how to hook a keyboard and mouse ;)</p>
<table cellspacing="0" cellpadding="2" width="687" border="2">
<tbody>
<tr>
<td valign="top" width="148"><strong><font size="2">Position</font></strong></td>
<td valign="top" width="359"><strong><font size="2">Post</font></strong></td>
<td valign="top" width="89"><strong><font size="2">Web Visits</font></strong></td>
<td valign="top" width="87"><strong><font size="2">Agg Visits</font></strong></td></tr>
<tr>
<td valign="top" width="148"><font size="2">1</font></td>
<td valign="top" width="356"><a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/06/20/6494.aspx"><font size="2">Hook Keyboard and Mouse</font></a></td>
<td valign="top" width="89"><font size="2">8263</font></td>
<td valign="top" width="87"><font size="2">341</font></td></tr>
<tr>
<td valign="top" width="148"><font size="2">2</font></td>
<td valign="top" width="354"><a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/04/09/6275.aspx"><font size="2">C# 3.0 - Object and Collection Initializers</font></a></td>
<td valign="top" width="89"><font size="2">1954</font></td>
<td valign="top" width="87"><font size="2">208</font></td></tr>
<tr>
<td valign="top" width="146"><font size="2">3</font></td>
<td valign="top" width="352"><a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/04/16/6298.aspx"><font size="2">Artificial Intelligence, bot and Live Messenger Add-In</font></a></td>
<td valign="top" width="89"><font size="2">1737</font></td>
<td valign="top" width="87"><font size="2">444</font></td></tr>
<tr>
<td valign="top" width="146"><font size="2">4</font></td>
<td valign="top" width="350"><a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/04/12/6287.aspx"><font size="2">C# 3.0 - Lambda Expressions</font></a></td>
<td valign="top" width="89"><font size="2">1700</font></td>
<td valign="top" width="87"><font size="2">395</font></td></tr>
<tr>
<td valign="top" width="145"><font size="2">5</font></td>
<td valign="top" width="349"><a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/07/08/6579.aspx"><font size="2">Google Safe Browsing API with Internet Explorer</font></a></td>
<td valign="top" width="89"><font size="2">1164</font></td>
<td valign="top" width="87"><font size="2">330</font></td></tr>
<tr>
<td valign="top" width="147"><font size="2">6</font></td>
<td valign="top" width="348"><a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/04/08/6271.aspx"><font size="2">C# 3.0 - Automatic Properties</font></a></td>
<td valign="top" width="89"><font size="2">1114</font></td>
<td valign="top" width="87"><font size="2">378</font></td></tr>
<tr>
<td valign="top" width="146"><font size="2">7</font></td>
<td valign="top" width="347"><a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/04/04/6265.aspx"><font size="2">C# 3.0 - Extension Methods</font></a></td>
<td valign="top" width="89"><font size="2">915</font></td>
<td valign="top" width="87"><font size="2">385</font></td></tr>
<tr>
<td valign="top" width="146"><font size="2">8</font></td>
<td valign="top" width="346"><a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/03/23/6235.aspx"><font size="2">Building ActiveX with .NET</font></a></td>
<td valign="top" width="89"><font size="2">886</font></td>
<td valign="top" width="87"><font size="2">491</font></td></tr>
<tr>
<td valign="top" width="145"><font size="2">9</font></td>
<td valign="top" width="346"><a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/04/27/6327.aspx"><font size="2">Community Server 2007 - Captcha Control</font></a></td>
<td valign="top" width="89"><font size="2">788</font></td>
<td valign="top" width="87"><font size="2">555</font></td></tr>
<tr>
<td valign="top" width="145"><font size="2">10</font></td>
<td valign="top" width="345"><a href="http://blogs.clearscreen.com/jfbonnin/archive/2007/04/03/6262.aspx"><font size="2">C# 3.0 - Implicitly typed local variables</font></a></td>
<td valign="top" width="89"><font size="2">688</font></td>
<td valign="top" width="87"><font size="2">379</font></td></tr></tbody></table>
<p>Let's see what comes out in 2008.</p><img src ="http://blogs.clearscreen.com/jfbonnin/aggbug/11227.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Jose Fco. Bonnin</dc:creator><title>Here Comes Another Bubble!</title><link>http://blogs.clearscreen.com/jfbonnin/archive/2007/12/06/10425.aspx</link><pubDate>Thu, 06 Dec 2007 19:24:00 GMT</pubDate><guid>http://blogs.clearscreen.com/jfbonnin/archive/2007/12/06/10425.aspx</guid><wfw:comment>http://blogs.clearscreen.com/jfbonnin/comments/10425.aspx</wfw:comment><comments>http://blogs.clearscreen.com/jfbonnin/archive/2007/12/06/10425.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.clearscreen.com/jfbonnin/comments/commentRss/10425.aspx</wfw:commentRss><trackback:ping>http://blogs.clearscreen.com/jfbonnin/services/trackbacks/10425.aspx</trackback:ping><description>&lt;p&gt;Today I was reading a few articles about the Web 2.0 and I don't know how, I've found this funny song and after listen it I could not avoid blogging about it&lt;br /&gt;&lt;embed src="http://www.youtube.com/v/fi4fzvQ6I-o&amp;amp;rel=1&amp;amp;border=0" width="425" height="355" type="application/x-shockwave-flash" wmode="transparent"&gt;&lt;/embed&gt;&lt;/p&gt; &lt;p&gt;Sometimes it's impressing the amount of time I can waste in Internet while I try to do other things I don't like ...&lt;/p&gt;&lt;img src ="http://blogs.clearscreen.com/jfbonnin/aggbug/10425.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>Today I was reading a few articles about the Web 2.0 and I don't know how, I've found this funny song and after listen it I could not avoid blogging about it<br /><embed src="http://www.youtube.com/v/fi4fzvQ6I-o&amp;rel=1&amp;border=0" width="425" height="355" type="application/x-shockwave-flash" wmode="transparent"></embed></p> <p>Sometimes it's impressing the amount of time I can waste in Internet while I try to do other things I don't like ...</p><img src ="http://blogs.clearscreen.com/jfbonnin/aggbug/10425.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Jose Fco. Bonnin</dc:creator><title>Community Server, RSS and MSDN-ES Forums</title><link>http://blogs.clearscreen.com/jfbonnin/archive/2007/12/04/10384.aspx</link><pubDate>Tue, 04 Dec 2007 20:09:00 GMT</pubDate><guid>http://blogs.clearscreen.com/jfbonnin/archive/2007/12/04/10384.aspx</guid><wfw:comment>http://blogs.clearscreen.com/jfbonnin/comments/10384.aspx</wfw:comment><comments>http://blogs.clearscreen.com/jfbonnin/archive/2007/12/04/10384.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.clearscreen.com/jfbonnin/comments/commentRss/10384.aspx</wfw:commentRss><trackback:ping>http://blogs.clearscreen.com/jfbonnin/services/trackbacks/10384.aspx</trackback:ping><description>&lt;p&gt;In the last TTT we had a session to discuss about several things regarding the .NET User Groups and one of the subjects was the &lt;a href="http://forums.microsoft.com/MSDN-ES/default.aspx" target="_blank"&gt;MSDN forums&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Microsoft told us that they were investing some efforts to improve the Spanish MSDN forums and immediately after that we talked about the local forums each .NUG has in their sites. The idea proposed was to remove the local forums and to support the MSDN forums, this would benefit the developer community since instead of having microsites we can sum our efforts to have a centralized help site.&lt;/p&gt;
&lt;p&gt;In &lt;a href="http://www.baleareson.net" target="_blank"&gt;Baleares on .NET&lt;/a&gt; we thought that the best was to have our own forums in order to provide better assistance to our community, we wanted to be sure that the .NET developers of Baleares had answers to their questions. Because of that some "volunteers" are monitoring the forums to provide solutions, but as the community grows we can give less support and the idea to post the questions to bigger communities does not seem to be a bad idea. &lt;/p&gt;
&lt;p&gt;I must say that I'm not 100% convinced yet that this is best solution for our community, since I trust the "closeness" concept we tried to offer and that had good results until now.&lt;/p&gt;
&lt;p&gt;Anyway I've decided to give a try and to introduce progressively some of the MSDN forums in order our users know them. I wanted not only to insert a simple link to the MSDN forums, but to display some of the posts in our website in line with the current appearance.  &lt;/p&gt;
&lt;p&gt;To do it, we can save lot of time taking profit of the &lt;a href="http://communityserver.org" target="_blank"&gt;Community Server&lt;/a&gt; platform to add the latest posts in our home page in the same way the Recent Post List appears. If we take a look about how CS displays the recent posts, we can see that it uses the control IndexPostList, which basically consists of display the results of a search done when the page inits. Below you can see the code the guys from CS use:&lt;/p&gt;
&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4"&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; List&amp;lt;IndexPost&amp;gt; recentPosts = CSCache.Get(&lt;span style="color: #006080"&gt;"HomePageSearch-"&lt;/span&gt; + CurrentCSContext.User.RoleKey) &lt;span style="color: #0000ff"&gt;as&lt;/span&gt; List&amp;lt;IndexPost&amp;gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (recentPosts == &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;     SearchQuery query = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SearchQuery();&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt;     query.StartDate = DateTime.Now.AddDays(-10);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt;     query.EndDate = DateTime.Now.AddDays(1);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   7:&lt;/span&gt;     query.PageSize = 5;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   8:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   9:&lt;/span&gt;     recentPosts = CSSearch.Search(query).Posts;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  10:&lt;/span&gt;     CSCache.Insert(&lt;span style="color: #006080"&gt;"HomePageSearch-"&lt;/span&gt; + CurrentCSContext.User.RoleKey, recentPosts, CSCache.MinuteFactor * 5);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  11:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  12:&lt;/span&gt; RecentPostList.DataSource = recentPosts;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;It doesn't seem too complicated, basically we need to introduce a new IndexPostList control in the main page and set the DataSource property with our own List of IndexPost. All the MSDN ES forums allow to syndicate the content, this means that we can access it via RSS. The easiest way to do this with .NET is to use a XmlTextReader and read the contents inside a DataSet. &lt;/p&gt;
&lt;p&gt;As you can see in the code below we also make use of the XslCompiledTransform, this is done because the feeds contain two comments elements, even if they have different namespaces the ReadXml method of the dataset will throw an exception, since it will consider both of them as the same column. I got the idea to use to Transform from the next &lt;a href="http://idunno.org/archive/2005/06/24/207.aspx" target="_blank"&gt;post&lt;/a&gt;, where the author got into the same troubles when loading two "comments" elements from the feed.&lt;/p&gt;
&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4"&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; XslCompiledTransform rssTransform = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XslCompiledTransform();&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; rssTransform.Load(xsltPath);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (XmlTextReader xmlTextReader = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XmlTextReader(feeds[i].Url))&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   7:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (StringWriter stringWriter = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; StringWriter())&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   8:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   9:&lt;/span&gt;         XPathDocument rssXPath = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; System.Xml.XPath.XPathDocument(xmlTextReader);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  10:&lt;/span&gt;         rssTransform.Transform(rssXPath, &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;, stringWriter);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  11:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  12:&lt;/span&gt;         DataSet ds = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; DataSet();&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  13:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (System.IO.StringReader reader = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; System.IO.StringReader(stringWriter.ToString()))&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  14:&lt;/span&gt;         {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  15:&lt;/span&gt;             ds.ReadXml(reader);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  16:&lt;/span&gt;         }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  17:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  18:&lt;/span&gt;         DataTable dt = ds.Tables[&lt;span style="color: #006080"&gt;"item"&lt;/span&gt;];&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  19:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; maxItems = feeds[i].MaxItems;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  20:&lt;/span&gt;         DateTime maxDate = DateTime.Now.AddDays(feeds[i].MaxDays * -1);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  21:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;for&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; idx = 0; idx &amp;lt; maxItems &amp;amp;&amp;amp; idx &amp;lt; dt.Rows.Count; idx++)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  22:&lt;/span&gt;         {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  23:&lt;/span&gt;             DateTime postDate = DateTime.Parse((&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;)dt.Rows[idx][&lt;span style="color: #006080"&gt;"date"&lt;/span&gt;]);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  24:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  25:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (postDate &amp;gt;= maxDate)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  26:&lt;/span&gt;             {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  27:&lt;/span&gt;                 IndexPost post = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; IndexPost();&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  28:&lt;/span&gt;                 post.ApplicationKey = feeds[i].Name;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  29:&lt;/span&gt;                 post.ApplicationType = ApplicationType.Forum;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  30:&lt;/span&gt;                 post.ApplicationUrl = feeds[i].Url;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  31:&lt;/span&gt;                 post.FormattedBody = (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;)dt.Rows[idx][&lt;span style="color: #006080"&gt;"description"&lt;/span&gt;];&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  32:&lt;/span&gt;                 post.PostDate = postDate;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  33:&lt;/span&gt;                 post.SectionName = feeds[i].Name;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  34:&lt;/span&gt;                 post.Title = (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;)dt.Rows[idx][&lt;span style="color: #006080"&gt;"title"&lt;/span&gt;];&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  35:&lt;/span&gt;                 post.Url = (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;)dt.Rows[idx][&lt;span style="color: #006080"&gt;"link"&lt;/span&gt;];&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  36:&lt;/span&gt;                 post.UserName = (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;)dt.Rows[idx][&lt;span style="color: #006080"&gt;"creator"&lt;/span&gt;];&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  37:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  38:&lt;/span&gt;                 items.Add(post);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  39:&lt;/span&gt;             }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  40:&lt;/span&gt;         }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  41:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  42:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  43:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;From lines 27 to 36 we initialize the class IndexPost with the values obtained from the feed, this values are then used by the IndexPostList control and allow some interaction with them like providing links to the post and forum URLs.&lt;/p&gt;
&lt;p&gt;Aside loading the XML you will see that I added some extra features to be able to configure a few parameters regarding the posts we will display. This is done via a custom section I added to the web.config that is handled by the classes SectionHandler, FeedConfigurationCollection and FeedConfiguration. These classes will allow us configuring the feeds from which we will get the posts, the maximum number of posts to display per feed and the oldness of them. You can download the source code to see the full implementation. Do not forget to place the new assembly in the bin folder of CS and to set the configuration in the web.config.&lt;/p&gt;
&lt;p&gt;Now that we can configure the feeds and to obtain the desired posts we need to modify the page home.aspx for each of the themes supported on our CS. First of all is to add our IndexPostList control with the information to show.&lt;/p&gt;
&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4"&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CSControl:IndexPostList&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ShowHeaderFooterOnNone&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="false"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="RecentMsdnPostList"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;HeaderTemplate&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;p&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;h2&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="CommonTitle"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CSControl:ResourceControl&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ResourceName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="default_homepage_msdnrecentposts"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;h2&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="CommonContent"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ul&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="CommonSearchResultList"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   7:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;HeaderTemplate&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   8:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   9:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  10:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CSControl:IndexPostData&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="ApplicationType"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="&amp;amp;lt;div class=&amp;amp;quot;CommonSearchResultArea Msdn&amp;amp;quot;&amp;amp;gt;"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  11:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CSControl:IndexPostData&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Title"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;LinkTo&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Post"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Tag&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="h4"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;CssClass&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="CommonSearchResultName"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  12:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="CommonSearchResult"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  13:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CSControl:IndexPostData&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="FormattedBody"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;TruncateAt&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="350"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  14:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  15:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="CommonSearchResultDetails"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  16:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CSControl:ResourceControl&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ResourceName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="SearchResults_PostTo"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  17:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CSControl:IndexPostData&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="SectionName"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;LinkTo&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Section"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  18:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CSControl:IndexPostData&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="ApplicationType"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;LinkTo&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Application"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="({0})"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  19:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CSControl:ResourceControl&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ResourceName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="SearchResults_By"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  20:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CSControl:IndexPostData&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="UserName"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;LinkTo&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Nothing"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  21:&lt;/span&gt;                 &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  22:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CSControl:IndexPostData&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="PostDate"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  23:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  24:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  25:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  26:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  27:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FooterTemplate&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  28:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ul&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  29:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  30:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FooterTemplate&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  31:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;NoneTemplate&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;NoneTemplate&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  32:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CSControl:IndexPostList&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The main things to have in consideration is that we added the a new resource default_homepage_msdnrecentposts (file resources.xml of each language) to support several languages and a new css style CommonSearchResultArea.Msdn (file common.css of each theme), with this style we will modify the background image that appears left to the post. &lt;/p&gt;
&lt;p&gt;The next step is to load the feeds and to bind the list of posts retrieved to the control, this is done in the OnInit event of the home page.&lt;/p&gt;
&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4"&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; List&amp;lt;IndexPost&amp;gt; msdnPosts = CSCache.Get(&lt;span style="color: #006080"&gt;"HomePageMsdn-"&lt;/span&gt; + CurrentCSContext.User.RoleKey) &lt;span style="color: #0000ff"&gt;as&lt;/span&gt; List&amp;lt;IndexPost&amp;gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (msdnPosts == &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;     BalearesOnNet.Rss.FeedHelper helper = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; BalearesOnNet.Rss.FeedHelper();&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt;     msdnPosts = helper.LoadFeeds(Request.PhysicalApplicationPath + &lt;span style="color: #006080"&gt;"rssToDataSet.xslt"&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (msdnPosts.Count &amp;gt; 0)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   7:&lt;/span&gt;         CSCache.Insert(&lt;span style="color: #006080"&gt;"HomePageMsdn-"&lt;/span&gt; + CurrentCSContext.User.RoleKey, msdnPosts, CSCache.HourFactor);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   8:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   9:&lt;/span&gt; RecentMsdnPostList.DataSource = msdnPosts;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;As you can see we also add the retrieved posts to the cache to avoid loading them from MSDN forums each time a user connects to the page, you can play with several factors to find which one fits better with your site.&lt;/p&gt;
&lt;p&gt;Below you can see a screenshot of how the posts are displayed or even better just go to &lt;a href="http://www.baleareson.net/"&gt;Baleares on .NET&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="/jfbonnin/files/MsdnForums.png" /&gt; &lt;/p&gt;
&lt;p&gt;That's all I hope you liked it.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.clearscreen.com/jfbonnin/files/BalearesOnNetRss.zip"&gt;Download source code.&lt;/a&gt;&lt;/p&gt;&lt;img src ="http://blogs.clearscreen.com/jfbonnin/aggbug/10384.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>In the last TTT we had a session to discuss about several things regarding the .NET User Groups and one of the subjects was the <a href="http://forums.microsoft.com/MSDN-ES/default.aspx" target="_blank">MSDN forums</a>. </p>
<p>Microsoft told us that they were investing some efforts to improve the Spanish MSDN forums and immediately after that we talked about the local forums each .NUG has in their sites. The idea proposed was to remove the local forums and to support the MSDN forums, this would benefit the developer community since instead of having microsites we can sum our efforts to have a centralized help site.</p>
<p>In <a href="http://www.baleareson.net" target="_blank">Baleares on .NET</a> we thought that the best was to have our own forums in order to provide better assistance to our community, we wanted to be sure that the .NET developers of Baleares had answers to their questions. Because of that some "volunteers" are monitoring the forums to provide solutions, but as the community grows we can give less support and the idea to post the questions to bigger communities does not seem to be a bad idea. </p>
<p>I must say that I'm not 100% convinced yet that this is best solution for our community, since I trust the "closeness" concept we tried to offer and that had good results until now.</p>
<p>Anyway I've decided to give a try and to introduce progressively some of the MSDN forums in order our users know them. I wanted not only to insert a simple link to the MSDN forums, but to display some of the posts in our website in line with the current appearance.  </p>
<p>To do it, we can save lot of time taking profit of the <a href="http://communityserver.org" target="_blank">Community Server</a> platform to add the latest posts in our home page in the same way the Recent Post List appears. If we take a look about how CS displays the recent posts, we can see that it uses the control IndexPostList, which basically consists of display the results of a search done when the page inits. Below you can see the code the guys from CS use:</p>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4">
<div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   1:</span> List&lt;IndexPost&gt; recentPosts = CSCache.Get(<span style="color: #006080">"HomePageSearch-"</span> + CurrentCSContext.User.RoleKey) <span style="color: #0000ff">as</span> List&lt;IndexPost&gt;;</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   2:</span> <span style="color: #0000ff">if</span> (recentPosts == <span style="color: #0000ff">null</span>)</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   3:</span> {</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   4:</span>     SearchQuery query = <span style="color: #0000ff">new</span> SearchQuery();</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   5:</span>     query.StartDate = DateTime.Now.AddDays(-10);</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   6:</span>     query.EndDate = DateTime.Now.AddDays(1);</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   7:</span>     query.PageSize = 5;</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   8:</span>  </pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   9:</span>     recentPosts = CSSearch.Search(query).Posts;</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  10:</span>     CSCache.Insert(<span style="color: #006080">"HomePageSearch-"</span> + CurrentCSContext.User.RoleKey, recentPosts, CSCache.MinuteFactor * 5);</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  11:</span> }</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  12:</span> RecentPostList.DataSource = recentPosts;</pre></div></div>
<p>It doesn't seem too complicated, basically we need to introduce a new IndexPostList control in the main page and set the DataSource property with our own List of IndexPost. All the MSDN ES forums allow to syndicate the content, this means that we can access it via RSS. The easiest way to do this with .NET is to use a XmlTextReader and read the contents inside a DataSet. </p>
<p>As you can see in the code below we also make use of the XslCompiledTransform, this is done because the feeds contain two comments elements, even if they have different namespaces the ReadXml method of the dataset will throw an exception, since it will consider both of them as the same column. I got the idea to use to Transform from the next <a href="http://idunno.org/archive/2005/06/24/207.aspx" target="_blank">post</a>, where the author got into the same troubles when loading two "comments" elements from the feed.</p>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4">
<div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   1:</span> XslCompiledTransform rssTransform = <span style="color: #0000ff">new</span> XslCompiledTransform();</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   2:</span> rssTransform.Load(xsltPath);</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   3:</span>  </pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   4:</span>  </pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   5:</span> <span style="color: #0000ff">using</span> (XmlTextReader xmlTextReader = <span style="color: #0000ff">new</span> XmlTextReader(feeds[i].Url))</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   6:</span> {</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   7:</span>     <span style="color: #0000ff">using</span> (StringWriter stringWriter = <span style="color: #0000ff">new</span> StringWriter())</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   8:</span>     {</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   9:</span>         XPathDocument rssXPath = <span style="color: #0000ff">new</span> System.Xml.XPath.XPathDocument(xmlTextReader);</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  10:</span>         rssTransform.Transform(rssXPath, <span style="color: #0000ff">null</span>, stringWriter);</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  11:</span>  </pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  12:</span>         DataSet ds = <span style="color: #0000ff">new</span> DataSet();</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  13:</span>         <span style="color: #0000ff">using</span> (System.IO.StringReader reader = <span style="color: #0000ff">new</span> System.IO.StringReader(stringWriter.ToString()))</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  14:</span>         {</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  15:</span>             ds.ReadXml(reader);</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  16:</span>         }</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  17:</span>  </pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  18:</span>         DataTable dt = ds.Tables[<span style="color: #006080">"item"</span>];</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  19:</span>         <span style="color: #0000ff">int</span> maxItems = feeds[i].MaxItems;</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  20:</span>         DateTime maxDate = DateTime.Now.AddDays(feeds[i].MaxDays * -1);</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  21:</span>         <span style="color: #0000ff">for</span> (<span style="color: #0000ff">int</span> idx = 0; idx &lt; maxItems &amp;&amp; idx &lt; dt.Rows.Count; idx++)</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  22:</span>         {</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  23:</span>             DateTime postDate = DateTime.Parse((<span style="color: #0000ff">string</span>)dt.Rows[idx][<span style="color: #006080">"date"</span>]);</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  24:</span>  </pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  25:</span>             <span style="color: #0000ff">if</span> (postDate &gt;= maxDate)</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  26:</span>             {</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  27:</span>                 IndexPost post = <span style="color: #0000ff">new</span> IndexPost();</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  28:</span>                 post.ApplicationKey = feeds[i].Name;</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  29:</span>                 post.ApplicationType = ApplicationType.Forum;</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  30:</span>                 post.ApplicationUrl = feeds[i].Url;</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  31:</span>                 post.FormattedBody = (<span style="color: #0000ff">string</span>)dt.Rows[idx][<span style="color: #006080">"description"</span>];</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  32:</span>                 post.PostDate = postDate;</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  33:</span>                 post.SectionName = feeds[i].Name;</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  34:</span>                 post.Title = (<span style="color: #0000ff">string</span>)dt.Rows[idx][<span style="color: #006080">"title"</span>];</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  35:</span>                 post.Url = (<span style="color: #0000ff">string</span>)dt.Rows[idx][<span style="color: #006080">"link"</span>];</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  36:</span>                 post.UserName = (<span style="color: #0000ff">string</span>)dt.Rows[idx][<span style="color: #006080">"creator"</span>];</pre><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="