<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.chapleau.info/cs/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Frederick Chapleau weBlog on IT.</title><subtitle type="html">- &amp;quot;The worst about ideas is not to do them or not, it&amp;#39;s to forget them.&amp;quot;&lt;br /&gt;
&lt;i&gt;A small insider on Frederick Chapleau digital life, and Q&amp;amp;A that may help others&lt;/i&gt;</subtitle><id>http://www.chapleau.info/cs/blogs/fchapleau/atom.aspx</id><link rel="alternate" type="text/html" href="http://www.chapleau.info/cs/blogs/fchapleau/default.aspx" /><link rel="self" type="application/atom+xml" href="http://www.chapleau.info/cs/blogs/fchapleau/atom.aspx" /><generator uri="http://communityserver.org" version="3.1.20917.1142">Community Server</generator><updated>2008-09-08T15:43:59Z</updated><entry><title>MSVCR71.dll</title><link rel="alternate" type="text/html" href="http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/12/31/msvcr71-dll.aspx" /><id>http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/12/31/msvcr71-dll.aspx</id><published>2008-12-31T18:22:46Z</published><updated>2008-12-31T18:22:46Z</updated><content type="html">&lt;p&gt;If an error occured when running a program that is using the version 7.1 of the runtime, you must intall it to get it work.&lt;/p&gt; &lt;p&gt;But the problem is, where is the runtime?&lt;/p&gt; &lt;p&gt;Yes, it is only available/included with .NET 1.1! So get it, install it, and it should work. Also, guest what... it&amp;#39;s not installed by default in Windows Vista ;)&lt;/p&gt; &lt;p&gt;-f.&lt;/p&gt;&lt;img src="http://www.chapleau.info/cs/aggbug.aspx?PostID=589" width="1" height="1"&gt;</content><author><name>Frederick.Chapleau</name><uri>http://www.chapleau.info/cs/members/Frederick.Chapleau.aspx</uri></author><category term="Reviewing" scheme="http://www.chapleau.info/cs/blogs/fchapleau/archive/tags/Reviewing/default.aspx" /></entry><entry><title>Dundas Chart included in .NET 3.5</title><link rel="alternate" type="text/html" href="http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/12/09/dundas-chart-included-in-net-3-5.aspx" /><id>http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/12/09/dundas-chart-included-in-net-3-5.aspx</id><published>2008-12-09T18:10:03Z</published><updated>2008-12-09T18:10:03Z</updated><content type="html">&lt;p&gt;There was a great new on ScottGu&amp;#39; Blog, that was stating that a new, and free Charting component, based on the Dundas Charting Component, which was bought by Microsoft a few month ago.&lt;/p&gt; &lt;p&gt;This is a really great suite of charting component, that is already included in SQL Server 2008.&lt;/p&gt; &lt;p&gt;&lt;a title="http://weblogs.asp.net/scottgu/archive/2008/11/24/new-asp-net-charting-control-lt-asp-chart-runat-quot-server-quot-gt.aspx" href="http://weblogs.asp.net/scottgu/archive/2008/11/24/new-asp-net-charting-control-lt-asp-chart-runat-quot-server-quot-gt.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2008/11/24/new-asp-net-charting-control-lt-asp-chart-runat-quot-server-quot-gt.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;-f.&lt;/p&gt;&lt;img src="http://www.chapleau.info/cs/aggbug.aspx?PostID=584" width="1" height="1"&gt;</content><author><name>Frederick.Chapleau</name><uri>http://www.chapleau.info/cs/members/Frederick.Chapleau.aspx</uri></author><category term="Programming" scheme="http://www.chapleau.info/cs/blogs/fchapleau/archive/tags/Programming/default.aspx" /></entry><entry><title>Moving the Viewstate or a SEO technique</title><link rel="alternate" type="text/html" href="http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/12/09/moving-the-viewstate-or-a-seo-technique.aspx" /><id>http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/12/09/moving-the-viewstate-or-a-seo-technique.aspx</id><published>2008-12-09T17:06:25Z</published><updated>2008-12-09T17:06:25Z</updated><content type="html">&lt;p&gt;Viewstate is a core concept of ASP.Net, but it can be a waste of bytes, when we know that some search engines are only indexing the top of the pages.&lt;/p&gt; &lt;p&gt;This can be done easily, and Scott Hanselman did a really good test on how to do that better.&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.hanselman.com/blog/MovingViewStateToTheBottomOfThePage.aspx" href="http://www.hanselman.com/blog/MovingViewStateToTheBottomOfThePage.aspx"&gt;http://www.hanselman.com/blog/MovingViewStateToTheBottomOfThePage.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;-f.&lt;/p&gt;&lt;img src="http://www.chapleau.info/cs/aggbug.aspx?PostID=583" width="1" height="1"&gt;</content><author><name>Frederick.Chapleau</name><uri>http://www.chapleau.info/cs/members/Frederick.Chapleau.aspx</uri></author><category term="Programming" scheme="http://www.chapleau.info/cs/blogs/fchapleau/archive/tags/Programming/default.aspx" /></entry><entry><title>C.0.8.54 expected C.0.8.52</title><link rel="alternate" type="text/html" href="http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/11/19/c-0-8-54-expected-c-0-8-52.aspx" /><id>http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/11/19/c-0-8-54-expected-c-0-8-52.aspx</id><published>2008-11-19T22:20:58Z</published><updated>2008-11-19T22:20:58Z</updated><content type="html">&lt;p&gt;Another Google Catcher page catcher.&lt;/p&gt; &lt;p&gt;When Installing Report Server and applying the SP2, this may occurred when you restore a backup from another SQL 2005 RS SP2 database.&lt;/p&gt; &lt;p&gt;The answer: you installed the CTP2 of the RS 2005 SP2, check out the latest one, and install it, this should be solved.&lt;/p&gt; &lt;p&gt;-f.&lt;/p&gt;&lt;img src="http://www.chapleau.info/cs/aggbug.aspx?PostID=574" width="1" height="1"&gt;</content><author><name>Frederick.Chapleau</name><uri>http://www.chapleau.info/cs/members/Frederick.Chapleau.aspx</uri></author><category term="Networking" scheme="http://www.chapleau.info/cs/blogs/fchapleau/archive/tags/Networking/default.aspx" /></entry><entry><title>service reference reuse types in referenced assemblies</title><link rel="alternate" type="text/html" href="http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/11/09/service-reference-reuse-types-in-referenced-assemblies.aspx" /><id>http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/11/09/service-reference-reuse-types-in-referenced-assemblies.aspx</id><published>2008-11-09T16:25:50Z</published><updated>2008-11-09T16:25:50Z</updated><content type="html">&lt;p&gt;When developing using Web Service, you may want to reuse common components, so that adding a service reference do not generate Type proxy to common Types.&lt;/p&gt; &lt;p&gt;In .NET 3.5, WCF (windows communication framework) enable you to do that. But with a catch, you MUST use the 3.5 WCF Service to enable the &amp;quot;Reuse Types in References Assemblies&amp;quot;.&lt;/p&gt; &lt;p&gt;Only this type of Project/Service enable Service Contracts, that defines type mapping understandable by Visual Studio.&lt;/p&gt; &lt;p&gt;Here is a clear example on how to do that, from Jane Mattila a Senior Consultant at Microsoft Services in Finland.&lt;/p&gt; &lt;p&gt;&lt;a title="http://blogs.msdn.com/jannemattila/archive/2008/10/15/web-services-and-namespaces-or-wcf.aspx" href="http://blogs.msdn.com/jannemattila/archive/2008/10/15/web-services-and-namespaces-or-wcf.aspx"&gt;http://blogs.msdn.com/jannemattila/archive/2008/10/15/web-services-and-namespaces-or-wcf.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;-f.&lt;/p&gt;&lt;img src="http://www.chapleau.info/cs/aggbug.aspx?PostID=572" width="1" height="1"&gt;</content><author><name>Frederick.Chapleau</name><uri>http://www.chapleau.info/cs/members/Frederick.Chapleau.aspx</uri></author><category term="Architecturing" scheme="http://www.chapleau.info/cs/blogs/fchapleau/archive/tags/Architecturing/default.aspx" /></entry><entry><title>A quick Tutorial for Linq to SQL</title><link rel="alternate" type="text/html" href="http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/11/09/a-quick-tutorial-for-linq-to-sql.aspx" /><id>http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/11/09/a-quick-tutorial-for-linq-to-sql.aspx</id><published>2008-11-09T14:22:53Z</published><updated>2008-11-09T14:22:53Z</updated><content type="html">&lt;p&gt;In less than an hour, I&amp;#39;ve made a COMPLETE web application, from the UI, to the Database including simple CRUD.&lt;/p&gt; &lt;p&gt;I have used ASP.Net &amp;gt; WebServices &amp;gt; Linq &amp;gt; DBML &amp;gt; SQL &amp;gt; SQL Server.&lt;/p&gt; &lt;p&gt;This is the tutorial for the basic concept, and the rest was... intellisense :)&lt;/p&gt; &lt;p&gt;&lt;a title="http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx" href="http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;-f.&lt;/p&gt;&lt;img src="http://www.chapleau.info/cs/aggbug.aspx?PostID=571" width="1" height="1"&gt;</content><author><name>Frederick.Chapleau</name><uri>http://www.chapleau.info/cs/members/Frederick.Chapleau.aspx</uri></author><category term="Reviewing" scheme="http://www.chapleau.info/cs/blogs/fchapleau/archive/tags/Reviewing/default.aspx" /></entry><entry><title>My Slashdot-like RSS Date Converter</title><link rel="alternate" type="text/html" href="http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/11/06/my-slashdot-like-rss-date-converter.aspx" /><id>http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/11/06/my-slashdot-like-rss-date-converter.aspx</id><published>2008-11-06T12:57:35Z</published><updated>2008-11-06T12:57:35Z</updated><content type="html">&lt;p&gt;What is this crazy format, &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;1970-01-01T00:00+00:00&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;There is no way to format this using XSL. So my solution inside a XSL transformation template, was to call a C# function that convert it back to a DateTime object and after that that formatting this like...&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.chapleau.info/cs/blogs/fchapleau/WindowsLiveWriter/MySlashdotlikeRSSDateConverter_6EF7/image_2.png"&gt;&lt;img height="57" alt="image" src="http://www.chapleau.info/cs/blogs/fchapleau/WindowsLiveWriter/MySlashdotlikeRSSDateConverter_6EF7/image_thumb.png" width="347" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;My Solution :&lt;/p&gt; &lt;p&gt;To add&amp;nbsp; to the xsl:stylesheet tag&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot;&lt;br /&gt;xmlns:cy=&amp;quot;urn:my-scripts&amp;quot;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Include this function:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&amp;lt;msxsl:script implements-prefix=&amp;#39;cy&amp;#39; language=&amp;#39;CSharp&amp;#39;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;![CDATA[&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string Since(string abc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DateTime dt = DateTime.ParseExact(abc, &amp;quot;yyyy-MM-ddTHH:mm:sszzzz&amp;quot;, System.Globalization.CultureInfo.InvariantCulture);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TimeSpan sp = DateTime.Now - dt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string formattedDate = string.Empty;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(sp.TotalDays&amp;gt;=1) formattedDate += Math.Round(sp.TotalDays).ToString() + &amp;quot;d &amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(sp.Hours&amp;gt;0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; formattedDate += sp.Hours.ToString() + &amp;quot;h &amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(sp.Minutes&amp;gt;0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; formattedDate += sp.Minutes.ToString() + &amp;quot;m &amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; formattedDate += sp.Minutes.ToString() + &amp;quot;s&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return formattedDate;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ]]&amp;gt;&lt;br /&gt;&amp;lt;/msxsl:script&amp;gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;And call it like this: &lt;blockquote&gt; &lt;p&gt;&amp;lt;xsl:value-of select=&amp;quot;cy:Since(dc:date)&amp;quot;/&amp;gt; ago, at &amp;lt;xsl:value-of select=&amp;quot;dc:date&amp;quot;/&amp;gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;-f.&lt;/p&gt;&lt;img src="http://www.chapleau.info/cs/aggbug.aspx?PostID=570" width="1" height="1"&gt;</content><author><name>Frederick.Chapleau</name><uri>http://www.chapleau.info/cs/members/Frederick.Chapleau.aspx</uri></author><category term="Programming" scheme="http://www.chapleau.info/cs/blogs/fchapleau/archive/tags/Programming/default.aspx" /></entry><entry><title>TX1000 Windows XP Drivers</title><link rel="alternate" type="text/html" href="http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/11/04/tx1000-windows-xp-drivers.aspx" /><id>http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/11/04/tx1000-windows-xp-drivers.aspx</id><published>2008-11-04T13:45:03Z</published><updated>2008-11-04T13:45:03Z</updated><content type="html">&lt;p&gt;As requested my many people, here are the complete list of Windows XP drivers for my HP tx1218ca (tx1000).&lt;/p&gt; &lt;p&gt;Those are Windows XP x32 version of the drivers, hopping that they are compatible with the x64 version.&lt;/p&gt; &lt;p&gt;Audio&lt;br /&gt;HDAUDIO\FUNC_01&amp;amp;VEN_10EC&amp;amp;DEV_0862&amp;amp;SUBSYS_103C30BF&amp;amp;REV_1000\4&amp;amp;1AFC31B3&amp;amp;0&amp;amp;0001&lt;br /&gt;&lt;a href="http://h10025.www1.hp.com/ewfrf/wc/softwareDownloadIndex?softwareitem=ob-45958-1&amp;amp;lc=en&amp;amp;cc=us&amp;amp;lang=en&amp;amp;os=228&amp;amp;product=3177437&amp;amp;dlc=en"&gt;http://h10025.www1.hp.com/ewfrf/wc/softwareDownloadIndex?softwareitem=ob-45958-1&amp;amp;lc=en&amp;amp;cc=us&amp;amp;lang=en&amp;amp;os=228&amp;amp;product=3177437&amp;amp;dlc=en&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PFid=24&amp;amp;Level=4&amp;amp;Conn=3&amp;amp;DownTypeID=3"&gt;http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PFid=24&amp;amp;Level=4&amp;amp;Conn=3&amp;amp;DownTypeID=3&lt;/a&gt; &lt;p&gt;nForce Chipset&lt;br /&gt;PCI\VEN_10DE&amp;amp;DEV_026C&amp;amp;SUBSYS_30BF103C&amp;amp;REV_A2\3&amp;amp;13C0B0C5&amp;amp;0&amp;amp;81&lt;br /&gt;PCI\VEN_10DE&amp;amp;DEV_0264&amp;amp;SUBSYS_30BF103C&amp;amp;REV_A3\3&amp;amp;13C0B0C5&amp;amp;0&amp;amp;51&lt;br /&gt;PCI\VEN_10DE&amp;amp;DEV_0269&amp;amp;SUBSYS_30BF103C&amp;amp;REV_A3\3&amp;amp;13C0B0C5&amp;amp;0&amp;amp;A0&lt;br /&gt;&lt;a href="http://us.download.nvidia.com/Windows/nForce/standalone/430_410/8.26_11.09_nforce_winxp_english.exe"&gt;http://us.download.nvidia.com/Windows/nForce/standalone/430_410/8.26_11.09_nforce_winxp_english.exe&lt;/a&gt; &lt;p&gt;Coprocessor&lt;br /&gt;PCI\VEN_10DE&amp;amp;DEV_0271&amp;amp;SUBSYS_30BF103C&amp;amp;REV_A3\3&amp;amp;13C0B0C5&amp;amp;0&amp;amp;53&lt;br /&gt;Have disk, select System Devices and pick up the SMU directory under the extracted files, force the driver&lt;br /&gt;&lt;a&gt;ftp://ftp.hp.com/pub/softpaq/sp33001-33500/sp33411.exe&lt;/a&gt; &lt;p&gt;BlueTooth&lt;br /&gt;USB\VID_03F0&amp;amp;PID_171D\5&amp;amp;7630A81&amp;amp;0&amp;amp;7&lt;br /&gt;&lt;a href="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;amp;cc=us&amp;amp;prodTypeId=321957&amp;amp;prodSeriesId=1839144&amp;amp;prodNameId=1839169&amp;amp;swEnvOID=1093&amp;amp;swLang=8&amp;amp;mode=2&amp;amp;taskId=135&amp;amp;swItem=ob-41446-1"&gt;http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;amp;cc=us&amp;amp;prodTypeId=321957&amp;amp;prodSeriesId=1839144&amp;amp;prodNameId=1839169&amp;amp;swEnvOID=1093&amp;amp;swLang=8&amp;amp;mode=2&amp;amp;taskId=135&amp;amp;swItem=ob-41446-1&lt;/a&gt; &lt;p&gt;Modem&lt;br /&gt;HDAUDIO\FUNC_02&amp;amp;VEN_1057&amp;amp;DEV_3055&amp;amp;SUBSYS_103C30BF&amp;amp;REV_1007\4&amp;amp;1AFC31B3&amp;amp;0&amp;amp;0101&lt;br /&gt;&lt;a href="http://rapidshare.com/files/58969387/Motorola_SM56.rar.html"&gt;http://rapidshare.com/files/58969387/Motorola_SM56.rar.html&lt;/a&gt; &lt;p&gt;Authentec fingerprint&lt;br /&gt;USB\VID_08FF&amp;amp;PID_1600\6&amp;amp;2D7CB5BB&amp;amp;0&amp;amp;2&lt;br /&gt;&lt;a href="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;amp;cc=us&amp;amp;prodTypeId=321957&amp;amp;prodSeriesId=1839144&amp;amp;prodNameId=1839169&amp;amp;swEnvOID=1093&amp;amp;swLang=8&amp;amp;mode=2&amp;amp;taskId=135&amp;amp;swItem=ob-52313-1"&gt;http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;amp;cc=us&amp;amp;prodTypeId=321957&amp;amp;prodSeriesId=1839144&amp;amp;prodNameId=1839169&amp;amp;swEnvOID=1093&amp;amp;swLang=8&amp;amp;mode=2&amp;amp;taskId=135&amp;amp;swItem=ob-52313-1&lt;/a&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;-f.&lt;/p&gt;&lt;img src="http://www.chapleau.info/cs/aggbug.aspx?PostID=569" width="1" height="1"&gt;</content><author><name>Frederick.Chapleau</name><uri>http://www.chapleau.info/cs/members/Frederick.Chapleau.aspx</uri></author><category term="Networking" scheme="http://www.chapleau.info/cs/blogs/fchapleau/archive/tags/Networking/default.aspx" /></entry><entry><title>XML Serializer and the TimeSpan object</title><link rel="alternate" type="text/html" href="http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/10/25/xml-serializer-and-the-timespan-object.aspx" /><id>http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/10/25/xml-serializer-and-the-timespan-object.aspx</id><published>2008-10-25T16:02:42Z</published><updated>2008-10-25T16:02:42Z</updated><content type="html">&lt;p&gt;If you are looking at this, you probably did a Google to find out why the Timespan object is not serialize when you are using the XMLSerializer from the .NET platform.&lt;/p&gt; &lt;p&gt;Yes, it&amp;#39;s right. It is not serialize, and there is no way to serialize it. But there is many workaround. The more elegant one that I found is from Kenneth Xu.&lt;/p&gt; &lt;p&gt;&lt;a title="http://kennethxu.blogspot.com/2008/09/xmlserializer-doesn-serialize-timespan.html" href="http://kennethxu.blogspot.com/2008/09/xmlserializer-doesn-serialize-timespan.html"&gt;http://kennethxu.blogspot.com/2008/09/xmlserializer-doesn-serialize-timespan.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;It consist of (kinka) overriding the property by one that can be serialized.&lt;/p&gt; &lt;p&gt;-f.&lt;/p&gt;&lt;img src="http://www.chapleau.info/cs/aggbug.aspx?PostID=563" width="1" height="1"&gt;</content><author><name>Frederick.Chapleau</name><uri>http://www.chapleau.info/cs/members/Frederick.Chapleau.aspx</uri></author><category term="Programming" scheme="http://www.chapleau.info/cs/blogs/fchapleau/archive/tags/Programming/default.aspx" /></entry><entry><title>A simple way to add HTTP compression in an ASP.Net Application</title><link rel="alternate" type="text/html" href="http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/10/17/a-simple-way-to-add-http-compression-in-an-asp-net-application.aspx" /><id>http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/10/17/a-simple-way-to-add-http-compression-in-an-asp-net-application.aspx</id><published>2008-10-17T17:07:49Z</published><updated>2008-10-17T17:07:49Z</updated><content type="html">&lt;p&gt;Basically, add a HTTPModule that will add a filter on the Response Stream. A couple of lines and a web application 4 times faster.&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.microsoft.com/belux/msdn/nl/community/columns/desmet/compression.mspx" href="http://www.microsoft.com/belux/msdn/nl/community/columns/desmet/compression.mspx"&gt;http://www.microsoft.com/belux/msdn/nl/community/columns/desmet/compression.mspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;-f.&lt;/p&gt;&lt;img src="http://www.chapleau.info/cs/aggbug.aspx?PostID=559" width="1" height="1"&gt;</content><author><name>Frederick.Chapleau</name><uri>http://www.chapleau.info/cs/members/Frederick.Chapleau.aspx</uri></author><category term="Programming" scheme="http://www.chapleau.info/cs/blogs/fchapleau/archive/tags/Programming/default.aspx" /></entry><entry><title>A cross App Domain way to do things, or the basics of a Plugin Framework</title><link rel="alternate" type="text/html" href="http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/10/15/a-cross-app-domain-way-to-do-things-or-the-basics-of-a-plugin-framework.aspx" /><id>http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/10/15/a-cross-app-domain-way-to-do-things-or-the-basics-of-a-plugin-framework.aspx</id><published>2008-10-15T21:21:12Z</published><updated>2008-10-15T21:21:12Z</updated><content type="html">&lt;p&gt;The basic way to do a Plugin Framework, is to use a AppDomains, because you can Load &amp;amp; Unload AppDomains. But, how can you communicate easily between them?&lt;/p&gt; &lt;p&gt;Here is a generic way (a way that use generics...!)&amp;nbsp; to do it, using the singleton design pattern.&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.dolittle.com/blogs/einar/archive/2007/05/18/cross-appdomain-singleton.aspx" href="http://www.dolittle.com/blogs/einar/archive/2007/05/18/cross-appdomain-singleton.aspx"&gt;http://www.dolittle.com/blogs/einar/archive/2007/05/18/cross-appdomain-singleton.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;But, you might want to do more, like compile on demand, dynamic load, caching, calling without knowing what&amp;#39;s inside etc. On the &lt;em&gt;famous&lt;/em&gt; Code Project, Bob Amand wrote an excellent article on &lt;em&gt;how to use a plugin framework&lt;/em&gt;.&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.codeproject.com/KB/cs/dynamicpluginmanager.aspx" href="http://www.codeproject.com/KB/cs/dynamicpluginmanager.aspx"&gt;http://www.codeproject.com/KB/cs/dynamicpluginmanager.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;For sure, this is the way to do it...&lt;/p&gt; &lt;p&gt;-f.&lt;/p&gt;&lt;img src="http://www.chapleau.info/cs/aggbug.aspx?PostID=555" width="1" height="1"&gt;</content><author><name>Frederick.Chapleau</name><uri>http://www.chapleau.info/cs/members/Frederick.Chapleau.aspx</uri></author><category term="Programming" scheme="http://www.chapleau.info/cs/blogs/fchapleau/archive/tags/Programming/default.aspx" /></entry><entry><title>Truncating all databases at Once</title><link rel="alternate" type="text/html" href="http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/10/15/truncating-all-databases-at-once.aspx" /><id>http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/10/15/truncating-all-databases-at-once.aspx</id><published>2008-10-15T18:03:25Z</published><updated>2008-10-15T18:03:25Z</updated><content type="html">&lt;p&gt;I already posted a way to truncate log, so that they do not grow indefinitly.&lt;/p&gt; &lt;p&gt;Here a little routine found on the Mark Brown&amp;#39;s Blog. A generic way to truncate all the log files.&lt;/p&gt; &lt;p&gt;See the disclaimer it&amp;#39;s important.&lt;/p&gt; &lt;p&gt;&lt;a title="http://blogs.msdn.com/mab/archive/2008/01/26/how-to-backup-and-truncate-all-log-files-in-a-database.aspx" href="http://blogs.msdn.com/mab/archive/2008/01/26/how-to-backup-and-truncate-all-log-files-in-a-database.aspx"&gt;http://blogs.msdn.com/mab/archive/2008/01/26/how-to-backup-and-truncate-all-log-files-in-a-database.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;declare @sqlstring nvarchar(1024)&lt;br /&gt;SET @sqlstring=&amp;#39;use ?;DBCC SHRINKFILE (?, TRUNCATEONLY);DBCC SHRINKFILE (?_log, TRUNCATEONLY);BACKUP LOG ? WITH TRUNCATE_ONLY;DBCC SHRINKFILE (?_log, TRUNCATEONLY);&amp;#39;;&lt;br /&gt;SELECT @sqlstring;&lt;br /&gt;exec master.dbo.sp_MSforeachDB @command1=@sqlstring &lt;p&gt;-f.&lt;/p&gt;&lt;img src="http://www.chapleau.info/cs/aggbug.aspx?PostID=554" width="1" height="1"&gt;</content><author><name>Frederick.Chapleau</name><uri>http://www.chapleau.info/cs/members/Frederick.Chapleau.aspx</uri></author><category term="DBA" scheme="http://www.chapleau.info/cs/blogs/fchapleau/archive/tags/DBA/default.aspx" /></entry><entry><title>Clipboard Copy HTML</title><link rel="alternate" type="text/html" href="http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/10/04/clipboard-copy-html.aspx" /><id>http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/10/04/clipboard-copy-html.aspx</id><published>2008-10-04T13:38:00Z</published><updated>2008-10-04T13:38:00Z</updated><content type="html">&lt;p&gt;A simple Clipboard.SetData using the &lt;b&gt;Clipboard&lt;/b&gt;.SetDataObject(obj, true); method is not enough to copy HTML to the Clipboard using C#.&lt;/p&gt; &lt;p&gt;I found a method from &lt;a href="http://groups.google.com/group/microsoft.public.dotnet.framework/browse_thread/thread/b66ca7e6bb12ee06/e7c050ba4f8edc51?hl=en&amp;amp;lnk=st&amp;amp;q=clipboard+html+c%23#e7c050ba4f8edc51" target="_blank"&gt;Tommy Carlier&lt;/a&gt;, that is doing exactly what I want, but this trim the first letters/html tags. Why?&lt;/p&gt; &lt;p&gt;The HTML Fragment method used inside this function is using the encoding GetByteCount method. This method count every single character, so, a \r\n (Environment.NewLine) is a count of two, and ... guess what, when pasting that into the clipboard, Windows count it as a single character, but only for the HTML content part of the pasted text.&lt;/p&gt; &lt;p&gt;So, the resulting function is&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font face="Courier" size="1"&gt;Encoding lEncoding = Encoding.UTF8;&lt;br /&gt;string begin = &amp;quot;Version:0.9\r\nStartHTML:{0:000000}\r\nEndHTML:{1:000000}&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; + &amp;quot;\r\nStartFragment:{2:000000}\r\nEndFragment:{3:000000}\r\n&amp;quot;;&lt;br /&gt;string html_begin = &amp;quot;&amp;lt;html&amp;gt;\r\n&amp;lt;head&amp;gt;\r\n&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; + &amp;quot;&amp;lt;meta http-equiv=\&amp;quot;Content-Type\&amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; + &amp;quot; content=\&amp;quot;text/html; charset=&amp;quot; + lEncoding.WebName + &amp;quot;\&amp;quot;&amp;gt;\r\n&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; + &amp;quot;&amp;lt;title&amp;gt;HTML clipboard&amp;lt;/title&amp;gt;\r\n&amp;lt;/head&amp;gt;\r\n&amp;lt;body&amp;gt;\r\n&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; + &amp;quot;&amp;lt;!--StartFragment--&amp;gt;\r\n&amp;quot;;&lt;br /&gt;string html_end = &amp;quot;&amp;lt;!--EndFragment--&amp;gt;\r\n&amp;lt;/body&amp;gt;\r\n&amp;lt;/html&amp;gt;\r\n&amp;quot;; &lt;/font&gt; &lt;p&gt;&lt;font face="Courier" size="1"&gt;int count_begin = lEncoding.GetByteCount(begin);&lt;br /&gt;int count_html_begin = lEncoding.GetByteCount(html_begin);&lt;br /&gt;int count_html = lEncoding.GetByteCount(html);&lt;br /&gt;int count_html_end = lEncoding.GetByteCount(html_end); &lt;/font&gt; &lt;p&gt;&lt;font face="Courier" size="1"&gt;string html_total = String.Format(&lt;br /&gt;&amp;nbsp;&amp;nbsp; begin&lt;br /&gt;&amp;nbsp;&amp;nbsp; , count_begin&lt;br /&gt;&amp;nbsp;&amp;nbsp; , count_begin + count_html_begin + count_html + count_html_end&lt;br /&gt;&amp;nbsp;&amp;nbsp; , count_begin + count_html_begin - (html_begin.Split(Environment.NewLine.ToCharArray()).Length)&lt;br /&gt;&amp;nbsp;&amp;nbsp; , count_begin + count_html_begin - (html_begin.Split(Environment.NewLine.ToCharArray()).Length) + count_html - (html.Split(Environment.NewLine.ToCharArray()).Length)&lt;br /&gt;&amp;nbsp;&amp;nbsp; ) + html_begin + html + html_end; &lt;/font&gt; &lt;p&gt;&lt;font face="Courier" size="1"&gt;DataObject obj = new DataObject();&lt;br /&gt;obj.SetData(DataFormats.Html, new System.IO.MemoryStream(lEncoding.GetBytes(html_total)));&lt;br /&gt;Clipboard.SetDataObject(obj, true);&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;font size="2"&gt;-f.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://www.chapleau.info/cs/aggbug.aspx?PostID=550" width="1" height="1"&gt;</content><author><name>Frederick.Chapleau</name><uri>http://www.chapleau.info/cs/members/Frederick.Chapleau.aspx</uri></author><category term="Programming" scheme="http://www.chapleau.info/cs/blogs/fchapleau/archive/tags/Programming/default.aspx" /></entry><entry><title>Reverse DNS lookup with Timeout in c#</title><link rel="alternate" type="text/html" href="http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/09/09/reverse-dns-lookup-with-timeout-in-c.aspx" /><id>http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/09/09/reverse-dns-lookup-with-timeout-in-c.aspx</id><published>2008-09-09T10:50:22Z</published><updated>2008-09-09T10:50:22Z</updated><content type="html">&lt;p&gt;Everybody can use the method &lt;strong&gt;GetHostEntry&lt;/strong&gt;&amp;nbsp; of the DNS class inside .NET 2.0. But as far as I know, it does timeout only after 5 seconds, that is absolutely too much in an application context where you want to resolve multiple IP addresses.&lt;/p&gt; &lt;p&gt;Also, you might want to return the requested IP address instead of an exception.&lt;/p&gt; &lt;p&gt;That is why I build this little widget that is using asynchronous call to timeout the GetHostEntry method, and return the IP address in the case of a timeout.&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;private delegate IPHostEntry GetHostEntryHandler(string ip); &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;public string GetReverseDNS(string ip, int timeout)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetHostEntryHandler callback = new GetHostEntryHandler(Dns.GetHostEntry);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IAsyncResult result = callback.BeginInvoke(ip,null,null);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (result.AsyncWaitHandle.WaitOne(timeout, false))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return callback.EndInvoke(result).HostName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ip;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ip;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="ge" size="2"&gt;-f.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://www.chapleau.info/cs/aggbug.aspx?PostID=540" width="1" height="1"&gt;</content><author><name>Frederick.Chapleau</name><uri>http://www.chapleau.info/cs/members/Frederick.Chapleau.aspx</uri></author><category term="Programming" scheme="http://www.chapleau.info/cs/blogs/fchapleau/archive/tags/Programming/default.aspx" /></entry><entry><title>Changing the name of a SQL 2005 Server</title><link rel="alternate" type="text/html" href="http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/09/08/changing-the-name-of-a-sql-2005-server.aspx" /><id>http://www.chapleau.info/cs/blogs/fchapleau/archive/2008/09/08/changing-the-name-of-a-sql-2005-server.aspx</id><published>2008-09-08T19:43:59Z</published><updated>2008-09-08T19:43:59Z</updated><content type="html">&lt;p&gt;A good article on MSDN&lt;/p&gt; &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ms143799.aspx" href="http://msdn.microsoft.com/en-us/library/ms143799.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms143799.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Greatly improved since SQL 2000...&lt;/p&gt; &lt;p&gt;-f.&lt;/p&gt;&lt;img src="http://www.chapleau.info/cs/aggbug.aspx?PostID=538" width="1" height="1"&gt;</content><author><name>Frederick.Chapleau</name><uri>http://www.chapleau.info/cs/members/Frederick.Chapleau.aspx</uri></author><category term="Networking" scheme="http://www.chapleau.info/cs/blogs/fchapleau/archive/tags/Networking/default.aspx" /></entry></feed>