<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sam Beauvois &#187; Development</title>
	<atom:link href="http://www.sambeauvois.be/blog/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sambeauvois.be/blog</link>
	<description>general dev, .net and other stuff</description>
	<lastBuildDate>Tue, 31 Jan 2012 13:38:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>25+ Podcast sources for your ears</title>
		<link>http://www.sambeauvois.be/blog/2010/10/25-podcast-sources-for-your-ears/</link>
		<comments>http://www.sambeauvois.be/blog/2010/10/25-podcast-sources-for-your-ears/#comments</comments>
		<pubDate>Thu, 28 Oct 2010 07:47:15 +0000</pubDate>
		<dc:creator>Sam Beauvois</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Resources]]></category>

		<guid isPermaLink="false">http://www.sambeauvois.be/blog/?p=672</guid>
		<description><![CDATA[A free and easy source for information. Podcasts are easy to find, you can sometimes listen to them online or you simply download them and listen later. Put them on your &#8220;walkman&#8221; when you go out for a walk or when you take the public transports, at work when you are in an environment with [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>A free and easy source for information.</p></blockquote>
<p>Podcasts are easy to find, you can sometimes listen to them online or you simply download them and listen later.</p>
<p>Put them on your &#8220;walkman&#8221; when you go out for a walk or when you take the public transports, at work when you are in an environment with multiple noise sources (it reduce them to a single source), when you are in a meeting for which you have no interest , or even in a family meal while your stepmother is talking about her last haircut.</p>
<p>You can also take it in your car when driving work or to home. It&#8217;s the option I take because I spend 4 hours a day in the car. I simply copy them on an usb stick and plug it to the radio. (you can also burn it on a cd, depends of your car radio system).</p>
<p>Do it your way !</p>
<p>Podcasts are a great idea, they allow you to listen to a show you missed, to be informed of the latest buzz and so on.</p>
<p>Listening to posdcasts is a good thing because even if you aren&#8217;t really attentive to what is said, your subconscient is smart enough to make you listen at important parts, so you if you heard of a subject after listening to a relative podcast, you know a little of the subject and you seem less dumb that you are.</p>
<p>Plus, il like me you listen to podcasts in a foreign language, you can significantly improve your knowlege by simply semi-listening to conversations in that language.</p>
<p>Like I early said : Podcasts are cool, so listen to them !</p>
<p>Here is my list of podcasts&#8217;s sources for developers : share it and enjoy it !</p>

<!-- Beginning of Link Library Output -->

<div id='linklist4' class='linklist'>
<div class="">
	<table class='linklisttable'>
<p style='display:table;width:100%;'><a href="http://www.dotnetrocks.com/archives.aspx" id="107" class="track_this_link"  title="The internet audio talk show for .NET Developers." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://www.dotnetrocks.com/archives.aspx" alt=".NET Rocks !" title="The internet audio talk show for .NET Developers." class="alignleft" /></a> <a href="http://www.dotnetrocks.com/archives.aspx" id="107" class="track_this_link"  title="The internet audio talk show for .NET Developers." target="_blank">.NET Rocks !</a>
<br/>The internet audio talk show for .NET Developers.</p><br/>
<p style='display:table;width:100%;'><a href="http://www.dotnetshow.be/" id="121" class="track_this_link"  title=".NET Show is the first Belgian podcast for .NET developers. In this podcast, Gill Cleeren and Katrien De Graeve interview community members about what they are doing with .NET. The topics will vary from general development to Silverlight to TFS" target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://www.dotnetshow.be/" alt=".NET Show | The Belgian podcast for .net developers" title=".NET Show is the first Belgian podcast for .NET developers. In this podcast, Gill Cleeren and Katrien De Graeve interview community members about what they are doing with .NET. The topics will vary from general development to Silverlight to TFS" class="alignleft" /></a> <a href="http://www.dotnetshow.be/" id="121" class="track_this_link"  title=".NET Show is the first Belgian podcast for .NET developers. In this podcast, Gill Cleeren and Katrien De Graeve interview community members about what they are doing with .NET. The topics will vary from general development to Silverlight to TFS" target="_blank">.NET Show | The Belgian podcast for .net developers</a>
<br/>.NET Show is the first Belgian podcast for .NET developers. In this podcast, Gill Cleeren and Katrien De Graeve interview community members about what they are doing with .NET. The topics will vary from general development to Silverlight to TFS</p><br/>
<p style='display:table;width:100%;'><a href="http://codingqa.com/" id="133" class="track_this_link"  title="Matthew Osborn and Federico Silva Armas share their thoughts on everything." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://codingqa.com/" alt="Coding QA Podcast" title="Matthew Osborn and Federico Silva Armas share their thoughts on everything." class="alignleft" /></a> <a href="http://codingqa.com/" id="133" class="track_this_link"  title="Matthew Osborn and Federico Silva Armas share their thoughts on everything." target="_blank">Coding QA Podcast</a>
<br/>Matthew Osborn and Federico Silva Armas share their thoughts on everything.</p><br/>
<p style='display:table;width:100%;'><a href="http://www.connectedshow.com" id="125" class="track_this_link"  title="The Connected Show is a podcast on New Microsoft Technology for the developer community, produced independently by Dmitry Lyalin (Microsoft MCS) and Peter Laudati (Microsoft DPE)." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://www.connectedshow.com" alt="Connected show" title="The Connected Show is a podcast on New Microsoft Technology for the developer community, produced independently by Dmitry Lyalin (Microsoft MCS) and Peter Laudati (Microsoft DPE)." class="alignleft" /></a> <a href="http://www.connectedshow.com" id="125" class="track_this_link"  title="The Connected Show is a podcast on New Microsoft Technology for the developer community, produced independently by Dmitry Lyalin (Microsoft MCS) and Peter Laudati (Microsoft DPE)." target="_blank">Connected show</a>
<br/>The Connected Show is a podcast on New Microsoft Technology for the developer community, produced independently by Dmitry Lyalin (Microsoft MCS) and Peter Laudati (Microsoft DPE).</p><br/>
<p style='display:table;width:100%;'><a href="http://deepfriedbytes.com/" id="140" class="track_this_link"  title="Deep Fried Bytes is an audio talk show with a Southern flavor hosted by technologists and developers Keith Elder and Chris Woodruff. The show discusses a wide range of topics including application development, operating systems and technology in general. " target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://deepfriedbytes.com/" alt="Deep Fried Bytes" title="Deep Fried Bytes is an audio talk show with a Southern flavor hosted by technologists and developers Keith Elder and Chris Woodruff. The show discusses a wide range of topics including application development, operating systems and technology in general. " class="alignleft" /></a> <a href="http://deepfriedbytes.com/" id="140" class="track_this_link"  title="Deep Fried Bytes is an audio talk show with a Southern flavor hosted by technologists and developers Keith Elder and Chris Woodruff. The show discusses a wide range of topics including application development, operating systems and technology in general. " target="_blank">Deep Fried Bytes</a>
<br/>Deep Fried Bytes is an audio talk show with a Southern flavor hosted by technologists and developers Keith Elder and Chris Woodruff. The show discusses a wide range of topics including application development, operating systems and technology in general. </p><br/>
<p style='display:table;width:100%;'><a href="http://dotnetshoutout.com/Category/Podcast" id="124" class="track_this_link"  title="DotNetShoutout is a place where you can find the latest Microsoft .NET stories to increase your skills and share your opinions." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://dotnetshoutout.com/Category/Podcast" alt="Dotnetshoutout podcasts" title="DotNetShoutout is a place where you can find the latest Microsoft .NET stories to increase your skills and share your opinions." class="alignleft" /></a> <a href="http://dotnetshoutout.com/Category/Podcast" id="124" class="track_this_link"  title="DotNetShoutout is a place where you can find the latest Microsoft .NET stories to increase your skills and share your opinions." target="_blank">Dotnetshoutout podcasts</a>
<br/>DotNetShoutout is a place where you can find the latest Microsoft .NET stories to increase your skills and share your opinions.</p><br/>
<p style='display:table;width:100%;'><a href="http://www.noisetosignal.com.au/franklyspeaking/" id="142" class="track_this_link"  title="Frankly Speaking, a weekly update on the tech goings in the world with a special focus on Australia and Microsoft. Presented by Michael Kordahi and Andrew Coates from Microsoft Australia." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://www.noisetosignal.com.au/franklyspeaking/" alt="FranklySpeaking" title="Frankly Speaking, a weekly update on the tech goings in the world with a special focus on Australia and Microsoft. Presented by Michael Kordahi and Andrew Coates from Microsoft Australia." class="alignleft" /></a> <a href="http://www.noisetosignal.com.au/franklyspeaking/" id="142" class="track_this_link"  title="Frankly Speaking, a weekly update on the tech goings in the world with a special focus on Australia and Microsoft. Presented by Michael Kordahi and Andrew Coates from Microsoft Australia." target="_blank">FranklySpeaking</a>
<br/>Frankly Speaking, a weekly update on the tech goings in the world with a special focus on Australia and Microsoft. Presented by Michael Kordahi and Andrew Coates from Microsoft Australia.</p><br/>
<p style='display:table;width:100%;'><a href="http://getitdone.quickanddirtytips.com/" id="141" class="track_this_link"  title="Get time management tips to help you organize your life and get more done in less time." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://getitdone.quickanddirtytips.com/" alt="Get-It-Done Guy" title="Get time management tips to help you organize your life and get more done in less time." class="alignleft" /></a> <a href="http://getitdone.quickanddirtytips.com/" id="141" class="track_this_link"  title="Get time management tips to help you organize your life and get more done in less time." target="_blank">Get-It-Done Guy</a>
<br/>Get time management tips to help you organize your life and get more done in less time.</p><br/>
<p style='display:table;width:100%;'><a href="http://www.hanselminutes.com/archives.aspx" id="106" class="track_this_link"  title="Hanselminutes is a weekly audio talk show with noted web developer and technologist Scott Hanselman and hosted by Carl Franklin. Scott discusses utilities and tools, gives practical how-to advice, and discusses ASP.NET or Windows issues and workarounds." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://www.hanselminutes.com/archives.aspx" alt="Hanselminutes" title="Hanselminutes is a weekly audio talk show with noted web developer and technologist Scott Hanselman and hosted by Carl Franklin. Scott discusses utilities and tools, gives practical how-to advice, and discusses ASP.NET or Windows issues and workarounds." class="alignleft" /></a> <a href="http://www.hanselminutes.com/archives.aspx" id="106" class="track_this_link"  title="Hanselminutes is a weekly audio talk show with noted web developer and technologist Scott Hanselman and hosted by Carl Franklin. Scott discusses utilities and tools, gives practical how-to advice, and discusses ASP.NET or Windows issues and workarounds." target="_blank">Hanselminutes</a>
<br/>Hanselminutes is a weekly audio talk show with noted web developer and technologist Scott Hanselman and hosted by Carl Franklin. Scott discusses utilities and tools, gives practical how-to advice, and discusses ASP.NET or Windows issues and workarounds.</p><br/>
<p style='display:table;width:100%;'><a href="http://hearablog.com/" id="120" class="track_this_link"  title="We convert blog posts to audio with an actual person&#039;s voice, so you can hear your favorite blogs while you are commuting, jogging, or on the go." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://hearablog.com/" alt="Hear a blog : giving blogs a human voice" title="We convert blog posts to audio with an actual person&#039;s voice, so you can hear your favorite blogs while you are commuting, jogging, or on the go." class="alignleft" /></a> <a href="http://hearablog.com/" id="120" class="track_this_link"  title="We convert blog posts to audio with an actual person&#039;s voice, so you can hear your favorite blogs while you are commuting, jogging, or on the go." target="_blank">Hear a blog : giving blogs a human voice</a>
<br/>We convert blog posts to audio with an actual person&#039;s voice, so you can hear your favorite blogs while you are commuting, jogging, or on the go.</p><br/>
<p style='display:table;width:100%;'><a href="http://herdingcode.com/" id="130" class="track_this_link"  title="Herding Code is a weekly podcast with K. Scott Allen, Kevin Dente, Scott Koon, and Jon Galloway." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://herdingcode.com/" alt="Herding Code" title="Herding Code is a weekly podcast with K. Scott Allen, Kevin Dente, Scott Koon, and Jon Galloway." class="alignleft" /></a> <a href="http://herdingcode.com/" id="130" class="track_this_link"  title="Herding Code is a weekly podcast with K. Scott Allen, Kevin Dente, Scott Koon, and Jon Galloway." target="_blank">Herding Code</a>
<br/>Herding Code is a weekly podcast with K. Scott Allen, Kevin Dente, Scott Koon, and Jon Galloway.</p><br/>
<p style='display:table;width:100%;'><a href="http://itc.conversationsnetwork.org/" id="111" class="track_this_link"  title="IT Conversations publishes a new audio program nearly every day, from the most important tech conferences to our unique programs. Not just IT, it&#039;s everything tech and beyond. " target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://itc.conversationsnetwork.org/" alt="IT Conversations" title="IT Conversations publishes a new audio program nearly every day, from the most important tech conferences to our unique programs. Not just IT, it&#039;s everything tech and beyond. " class="alignleft" /></a> <a href="http://itc.conversationsnetwork.org/" id="111" class="track_this_link"  title="IT Conversations publishes a new audio program nearly every day, from the most important tech conferences to our unique programs. Not just IT, it&#039;s everything tech and beyond. " target="_blank">IT Conversations</a>
<br/>IT Conversations publishes a new audio program nearly every day, from the most important tech conferences to our unique programs. Not just IT, it&#039;s everything tech and beyond. </p><br/>
<p style='display:table;width:100%;'><a href="http://www.itauthor.com/podcastarchive/" id="165" class="track_this_link"  title="This is a technical writing podcast, aimed at technical communicators or anyone interested in software documentation." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://www.itauthor.com/podcastarchive/" alt="ITauthor" title="This is a technical writing podcast, aimed at technical communicators or anyone interested in software documentation." class="alignleft" /></a> <a href="http://www.itauthor.com/podcastarchive/" id="165" class="track_this_link"  title="This is a technical writing podcast, aimed at technical communicators or anyone interested in software documentation." target="_blank">ITauthor</a>
<br/>This is a technical writing podcast, aimed at technical communicators or anyone interested in software documentation.</p><br/>
<p style='display:table;width:100%;'><a href="http://www.microsoft.com/events/podcasts/" id="105" class="track_this_link"  title="Listen to Microsoft webcast and media content whenever and wherever you want. You can stream or download these audio podcasts on your favorite podcast software or mobile device, and quickly and easily access content with RSS feeds. " target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://www.microsoft.com/events/podcasts/" alt="Microsoft Podcasts" title="Listen to Microsoft webcast and media content whenever and wherever you want. You can stream or download these audio podcasts on your favorite podcast software or mobile device, and quickly and easily access content with RSS feeds. " class="alignleft" /></a> <a href="http://www.microsoft.com/events/podcasts/" id="105" class="track_this_link"  title="Listen to Microsoft webcast and media content whenever and wherever you want. You can stream or download these audio podcasts on your favorite podcast software or mobile device, and quickly and easily access content with RSS feeds. " target="_blank">Microsoft Podcasts</a>
<br/>Listen to Microsoft webcast and media content whenever and wherever you want. You can stream or download these audio podcasts on your favorite podcast software or mobile device, and quickly and easily access content with RSS feeds. </p><br/>
<p style='display:table;width:100%;'><a href="http://www.msjoe.com/category/podcast/" id="192" class="track_this_link"  title="MS-Joe (Joe Stagner)  Microsoft&#039;s Opinionated Misfit Geek ! " target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://www.msjoe.com/category/podcast/" alt="MSJoe Podcast" title="MS-Joe (Joe Stagner)  Microsoft&#039;s Opinionated Misfit Geek ! " class="alignleft" /></a> <a href="http://www.msjoe.com/category/podcast/" id="192" class="track_this_link"  title="MS-Joe (Joe Stagner)  Microsoft&#039;s Opinionated Misfit Geek ! " target="_blank">MSJoe Podcast</a>
<br/>MS-Joe (Joe Stagner)  Microsoft&#039;s Opinionated Misfit Geek ! </p><br/>
<p style='display:table;width:100%;'><a href="http://boagworld.com/category/podcast/" id="115" class="track_this_link"  title="Boagworld is the blog of web strategist Paul Boag who lives in the heart of rural Dorset (hence the cows). He produces a weekly podcast with UX consultant Marcus Lillington on building and running websites. They also run the web design agency Headscape." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://boagworld.com/category/podcast/" alt="Podcats for those who build websites" title="Boagworld is the blog of web strategist Paul Boag who lives in the heart of rural Dorset (hence the cows). He produces a weekly podcast with UX consultant Marcus Lillington on building and running websites. They also run the web design agency Headscape." class="alignleft" /></a> <a href="http://boagworld.com/category/podcast/" id="115" class="track_this_link"  title="Boagworld is the blog of web strategist Paul Boag who lives in the heart of rural Dorset (hence the cows). He produces a weekly podcast with UX consultant Marcus Lillington on building and running websites. They also run the web design agency Headscape." target="_blank">Podcats for those who build websites</a>
<br/>Boagworld is the blog of web strategist Paul Boag who lives in the heart of rural Dorset (hence the cows). He produces a weekly podcast with UX consultant Marcus Lillington on building and running websites. They also run the web design agency Headscape.</p><br/>
<p style='display:table;width:100%;'><a href="http://polymorphicpodcast.com/shows/" id="139" class="track_this_link"  title="Craig Shoemaker is a software developer, podcaster, blogger and New-Media Evangelist for Infragistics. As host of the Polymorphic Podcast and Pixel8, Craig does what he loves most - making contributions to the community and drawing the best out of industr" target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://polymorphicpodcast.com/shows/" alt="Polymorphic Podcast" title="Craig Shoemaker is a software developer, podcaster, blogger and New-Media Evangelist for Infragistics. As host of the Polymorphic Podcast and Pixel8, Craig does what he loves most - making contributions to the community and drawing the best out of industr" class="alignleft" /></a> <a href="http://polymorphicpodcast.com/shows/" id="139" class="track_this_link"  title="Craig Shoemaker is a software developer, podcaster, blogger and New-Media Evangelist for Infragistics. As host of the Polymorphic Podcast and Pixel8, Craig does what he loves most - making contributions to the community and drawing the best out of industr" target="_blank">Polymorphic Podcast</a>
<br/>Craig Shoemaker is a software developer, podcaster, blogger and New-Media Evangelist for Infragistics. As host of the Polymorphic Podcast and Pixel8, Craig does what he loves most - making contributions to the community and drawing the best out of industr</p><br/>
<p style='display:table;width:100%;'><a href="http://blogs.sitepoint.com/category/podcast/" id="135" class="track_this_link"  title="SitePoint is a community of people devoted to helping you build a better web site." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://blogs.sitepoint.com/category/podcast/" alt="Sitepoint podcasts" title="SitePoint is a community of people devoted to helping you build a better web site." class="alignleft" /></a> <a href="http://blogs.sitepoint.com/category/podcast/" id="135" class="track_this_link"  title="SitePoint is a community of people devoted to helping you build a better web site." target="_blank">Sitepoint podcasts</a>
<br/>SitePoint is a community of people devoted to helping you build a better web site.</p><br/>
<p style='display:table;width:100%;'><a href="http://www.se-radio.net/" id="128" class="track_this_link"  title="Software Engineering Radio is a podcast targeted at the professional software developer. The goal is to be a lasting educational resource, not a newscast. Every ten days, a new episode is published that covers all topics software engineering. Episodes are" target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://www.se-radio.net/" alt="Software Engineering Radio" title="Software Engineering Radio is a podcast targeted at the professional software developer. The goal is to be a lasting educational resource, not a newscast. Every ten days, a new episode is published that covers all topics software engineering. Episodes are" class="alignleft" /></a> <a href="http://www.se-radio.net/" id="128" class="track_this_link"  title="Software Engineering Radio is a podcast targeted at the professional software developer. The goal is to be a lasting educational resource, not a newscast. Every ten days, a new episode is published that covers all topics software engineering. Episodes are" target="_blank">Software Engineering Radio</a>
<br/>Software Engineering Radio is a podcast targeted at the professional software developer. The goal is to be a lasting educational resource, not a newscast. Every ten days, a new episode is published that covers all topics software engineering. Episodes are</p><br/>
<p style='display:table;width:100%;'><a href="http://feeds2.feedburner.com/SpaghettiCodePodcasts" id="194" class="track_this_link"  title="Collection of video/screencasts by Jeff Brand. There are three main components to Spaghetti Code : ScreenCasts, Interviews and &quot;Almost Live&quot;" target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://feeds2.feedburner.com/SpaghettiCodePodcasts" alt="Spaghetti Code Podcasts" title="Collection of video/screencasts by Jeff Brand. There are three main components to Spaghetti Code : ScreenCasts, Interviews and &quot;Almost Live&quot;" class="alignleft" /></a> <a href="http://feeds2.feedburner.com/SpaghettiCodePodcasts" id="194" class="track_this_link"  title="Collection of video/screencasts by Jeff Brand. There are three main components to Spaghetti Code : ScreenCasts, Interviews and &quot;Almost Live&quot;" target="_blank">Spaghetti Code Podcasts</a>
<br/>Collection of video/screencasts by Jeff Brand. There are three main components to Spaghetti Code : ScreenCasts, Interviews and &quot;Almost Live&quot;</p><br/>
<p style='display:table;width:100%;'><a href="http://www.spokenword.org/" id="127" class="track_this_link"  title="SpokenWord.org is a free non-profit service that helps you find, manage and share audio and video spoken-word recordings. All of the recordings are found elsewhere on the Web and submitted to our database by members like you." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://www.spokenword.org/" alt="SpokenWord" title="SpokenWord.org is a free non-profit service that helps you find, manage and share audio and video spoken-word recordings. All of the recordings are found elsewhere on the Web and submitted to our database by members like you." class="alignleft" /></a> <a href="http://www.spokenword.org/" id="127" class="track_this_link"  title="SpokenWord.org is a free non-profit service that helps you find, manage and share audio and video spoken-word recordings. All of the recordings are found elsewhere on the Web and submitted to our database by members like you." target="_blank">SpokenWord</a>
<br/>SpokenWord.org is a free non-profit service that helps you find, manage and share audio and video spoken-word recordings. All of the recordings are found elsewhere on the Web and submitted to our database by members like you.</p><br/>
<p style='display:table;width:100%;'><a href="http://aspnetpodcast.com/" id="131" class="track_this_link"  title="The ASP.NET Podcast brings a technology focus to the area of podcasts.  This podcast is geared towards developers with applications that scale to a large amount of data and users." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://aspnetpodcast.com/" alt="The ASP.NET Podcast" title="The ASP.NET Podcast brings a technology focus to the area of podcasts.  This podcast is geared towards developers with applications that scale to a large amount of data and users." class="alignleft" /></a> <a href="http://aspnetpodcast.com/" id="131" class="track_this_link"  title="The ASP.NET Podcast brings a technology focus to the area of podcasts.  This podcast is geared towards developers with applications that scale to a large amount of data and users." target="_blank">The ASP.NET Podcast</a>
<br/>The ASP.NET Podcast brings a technology focus to the area of podcasts.  This podcast is geared towards developers with applications that scale to a large amount of data and users.</p><br/>
<p style='display:table;width:100%;'><a href="http://5by5.tv/bigwebshow" id="137" class="track_this_link"  title="The Big Web Show features special guests and topics like web publishing, art direction, content strategy, typography, web technology, and more. It&#039;s everything web that matters." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://5by5.tv/bigwebshow" alt="The Big Web Show" title="The Big Web Show features special guests and topics like web publishing, art direction, content strategy, typography, web technology, and more. It&#039;s everything web that matters." class="alignleft" /></a> <a href="http://5by5.tv/bigwebshow" id="137" class="track_this_link"  title="The Big Web Show features special guests and topics like web publishing, art direction, content strategy, typography, web technology, and more. It&#039;s everything web that matters." target="_blank">The Big Web Show</a>
<br/>The Big Web Show features special guests and topics like web publishing, art direction, content strategy, typography, web technology, and more. It&#039;s everything web that matters.</p><br/>
<p style='display:table;width:100%;'><a href="http://5by5.tv/devshow" id="136" class="track_this_link"  title="The Dev Show brings you news and discussion about the latest topics in the software development community, focused on Ruby, PHP, Java, JavaScript, and more. " target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://5by5.tv/devshow" alt="The Dev Show" title="The Dev Show brings you news and discussion about the latest topics in the software development community, focused on Ruby, PHP, Java, JavaScript, and more. " class="alignleft" /></a> <a href="http://5by5.tv/devshow" id="136" class="track_this_link"  title="The Dev Show brings you news and discussion about the latest topics in the software development community, focused on Ruby, PHP, Java, JavaScript, and more. " target="_blank">The Dev Show</a>
<br/>The Dev Show brings you news and discussion about the latest topics in the software development community, focused on Ruby, PHP, Java, JavaScript, and more. </p><br/>
<p style='display:table;width:100%;'><a href="http://podcast.jquery.com/" id="122" class="track_this_link"  title="The Official jQuery Podcast" target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://podcast.jquery.com/" alt="The Official jQuery Podcast" title="The Official jQuery Podcast" class="alignleft" /></a> <a href="http://podcast.jquery.com/" id="122" class="track_this_link"  title="The Official jQuery Podcast" target="_blank">The Official jQuery Podcast</a>
<br/>The Official jQuery Podcast</p><br/>
<p style='display:table;width:100%;'><a href="http://www.sparklingclient.com/" id="126" class="track_this_link"  title="Sparkling client is a podcast about Silverlight and other RIA technologies. If you&#039;re interested in learning how to write great websites that use Silverlight, ASP.NET AJAX, and others, give us a listen." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://www.sparklingclient.com/" alt="The Silverlight Podcast" title="Sparkling client is a podcast about Silverlight and other RIA technologies. If you&#039;re interested in learning how to write great websites that use Silverlight, ASP.NET AJAX, and others, give us a listen." class="alignleft" /></a> <a href="http://www.sparklingclient.com/" id="126" class="track_this_link"  title="Sparkling client is a podcast about Silverlight and other RIA technologies. If you&#039;re interested in learning how to write great websites that use Silverlight, ASP.NET AJAX, and others, give us a listen." target="_blank">The Silverlight Podcast</a>
<br/>Sparkling client is a podcast about Silverlight and other RIA technologies. If you&#039;re interested in learning how to write great websites that use Silverlight, ASP.NET AJAX, and others, give us a listen.</p><br/>
<p style='display:table;width:100%;'><a href="http://thirstydeveloper.com/" id="132" class="track_this_link"  title="A podcast with Microsoft Developer Evangelist, Dave Bost and Clark Sell" target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://thirstydeveloper.com/" alt="The Thirsty Developer" title="A podcast with Microsoft Developer Evangelist, Dave Bost and Clark Sell" class="alignleft" /></a> <a href="http://thirstydeveloper.com/" id="132" class="track_this_link"  title="A podcast with Microsoft Developer Evangelist, Dave Bost and Clark Sell" target="_blank">The Thirsty Developer</a>
<br/>A podcast with Microsoft Developer Evangelist, Dave Bost and Clark Sell</p><br/>
<p style='display:table;width:100%;'><a href="http://thisdeveloperslife.com/" id="129" class="track_this_link"  title="Rob Conery and Scott Hanselman tell stories avout things technical and not so technical." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://thisdeveloperslife.com/" alt="This Developer&#039;s Life" title="Rob Conery and Scott Hanselman tell stories avout things technical and not so technical." class="alignleft" /></a> <a href="http://thisdeveloperslife.com/" id="129" class="track_this_link"  title="Rob Conery and Scott Hanselman tell stories avout things technical and not so technical." target="_blank">This Developer&#039;s Life</a>
<br/>Rob Conery and Scott Hanselman tell stories avout things technical and not so technical.</p><br/>
<p style='display:table;width:100%;'><a href="http://www.uie.com/brainsparks/topics/podcasts/" id="138" class="track_this_link"  title="User Interface Engineering is a leading research, training, and consulting firm specializing in web site and product usability. They empower development teams to create usable web sites that increase customer satisfaction and loyalty. " target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://www.uie.com/brainsparks/topics/podcasts/" alt="User interface engineering podcasts" title="User Interface Engineering is a leading research, training, and consulting firm specializing in web site and product usability. They empower development teams to create usable web sites that increase customer satisfaction and loyalty. " class="alignleft" /></a> <a href="http://www.uie.com/brainsparks/topics/podcasts/" id="138" class="track_this_link"  title="User Interface Engineering is a leading research, training, and consulting firm specializing in web site and product usability. They empower development teams to create usable web sites that increase customer satisfaction and loyalty. " target="_blank">User interface engineering podcasts</a>
<br/>User Interface Engineering is a leading research, training, and consulting firm specializing in web site and product usability. They empower development teams to create usable web sites that increase customer satisfaction and loyalty. </p><br/>
<p style='display:table;width:100%;'><a href="http://webdevradio.com/" id="134" class="track_this_link"  title="Podcast series on all topics relating to web development." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://webdevradio.com/" alt="Web dev radio" title="Podcast series on all topics relating to web development." class="alignleft" /></a> <a href="http://webdevradio.com/" id="134" class="track_this_link"  title="Podcast series on all topics relating to web development." target="_blank">Web dev radio</a>
<br/>Podcast series on all topics relating to web development.</p><br/>
<p style='display:table;width:100%;'><a href="http://jesseliberty.com/podcast/" id="143" class="track_this_link"  title="Focused on Windows Phone 7, Silverlight, And Best Practices  A weekly podcast; updated every Wednesday." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://jesseliberty.com/podcast/" alt="Yet Another Podcast" title="Focused on Windows Phone 7, Silverlight, And Best Practices  A weekly podcast; updated every Wednesday." class="alignleft" /></a> <a href="http://jesseliberty.com/podcast/" id="143" class="track_this_link"  title="Focused on Windows Phone 7, Silverlight, And Best Practices  A weekly podcast; updated every Wednesday." target="_blank">Yet Another Podcast</a>
<br/>Focused on Windows Phone 7, Silverlight, And Best Practices  A weekly podcast; updated every Wednesday.</p><br/>
	</table>
</div><script type='text/javascript'>
jQuery(document).ready(function()
{
jQuery('a.track_this_link').click(function() {
jQuery.post('http://www.sambeauvois.be/blog/wp-content/plugins/link-library/tracker.php', {id:this.id});
return true;
});
});
</script></div>

<!-- End of Link Library Output -->


]]></content:encoded>
			<wfw:commentRss>http://www.sambeauvois.be/blog/2010/10/25-podcast-sources-for-your-ears/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Use DropBox as version control system for a single person project</title>
		<link>http://www.sambeauvois.be/blog/2010/10/use-dropbox-as-version-control-system-for-a-single-person-project/</link>
		<comments>http://www.sambeauvois.be/blog/2010/10/use-dropbox-as-version-control-system-for-a-single-person-project/#comments</comments>
		<pubDate>Tue, 12 Oct 2010 20:24:57 +0000</pubDate>
		<dc:creator>Sam Beauvois</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.sambeauvois.be/blog/?p=530</guid>
		<description><![CDATA[If you are a single person working on a personal project, you maybe have encountered some backup and versioning issues. Let&#8217;s examine a few solutions&#8230; Manual backups So you can do manual backups, naming them by date or by functionality and saving them on different supports but this can quickly become a real hell to [...]]]></description>
			<content:encoded><![CDATA[<p>If you are a single person working on a personal project, you maybe have encountered some backup and versioning issues.</p>
<h3>Let&#8217;s examine a few solutions&#8230;</h3>
<h4>Manual backups</h4>
<p>So you can do manual backups, naming them by date or by functionality and saving them on different supports but this can quickly become a real hell to maintain.</p>
<p><img class="alignnone size-full wp-image-568" title="manual_backups_zoom" src="http://www.sambeauvois.be/blog/wp-content/uploads/2010/09/manual_backups_zoom.png" alt="manual_backups_zoom" width="266" height="277" /></p>
<h4>SVN</h4>
<p>You can also us a svn tool, which is really nice : backups are usually on a remote server but you have to remind to do a &#8220;sumbit&#8221; when you want your sources to be saved.</p>
<p><img class="alignnone size-full wp-image-564" title="subversion" src="http://www.sambeauvois.be/blog/wp-content/uploads/2010/09/subversion.png" alt="subversion" width="384" height="332" /></p>
<p>There are some really good and free svn hosting (such as xpdev.com) but usually with annoying advertisements and limitations. Furthermore, for a single person project, it&#8217;s maybe be taking the bazooka to kill the fly&#8230;</p>
<h4>Other source control solutions</h4>
<p>There are plenty other solutions like git, cvs, or Microsoft team server but once again it&#8217;s maybe unneccesary for a single person project.</p>
<h4>My current solution</h4>
<p>The solution I use for my personal projects is &#8220;DropBox&#8221;.</p>
<p><a href="http://www.dropbox.com/referrals/NTYzODQ5OTE5" target="_blank"><img class="alignnone size-full wp-image-566" title="dropbox" src="http://www.sambeauvois.be/blog/wp-content/uploads/2010/09/dropbox.jpg" alt="dropbox" width="450" height="311" /></a></p>
<h4>What is DropBox ?</h4>
<p>Here is the description on the <a href="http://www.dropbox.com/referrals/NTYzODQ5OTE5" target="_blank">website</a></p>
<p>Dropbox is software that syncs your files online and across your computers.</p>
<p>Put your files into your Dropbox on one computer, and they&#8217;ll be instantly available on any of your other computers that also have Dropbox installed (Windows, Mac, and Linux too!). Because copies of your files are stored on Dropbox&#8217;s secure servers, you can also access them from any computer or mobile device using the Dropbox website.</p>
<h4>How to use it like I do ?</h4>
<p>First <a href="http://www.dropbox.com/referrals/NTYzODQ5OTE5" target="_blank">register </a>at DropBox then install it.</p>
<p>Create your project directory</p>
<p>Put your project files there.</p>
<p>That&#8217;s it !</p>
<p>Now you have an automatic backup and versioning system for your files.</p>
<p>Look at the versioning system : it&#8217;s great !</p>
<p><img class="alignnone size-medium wp-image-659" title="_versioning1" src="http://www.sambeauvois.be/blog/wp-content/uploads/2010/09/_versioning1.png" alt="" width="480" height="324" /></p>
<p><img class="alignnone size-medium wp-image-659" title="_versioning1" src="http://www.sambeauvois.be/blog/wp-content/uploads/2010/09/versioning_2.png" alt="" width="480" height="324" /><br />
Now if you want to develop with other persons, DropBox is certainly not the solution.</p>
<p>You can use it but you will have to be sure that the different persons aren&#8217;t working on the same files !</p>
<p>There is no merge system !</p>
<p>If your are about to create a new account, please use <a href="http://www.dropbox.com/referrals/NTYzODQ5OTE5" target="_blank">this link</a> : I will earn extra storage space.</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1154px; width: 1px; height: 1px; overflow: hidden;">
<h1>Dropbox is software that syncs your files online and across your  computers.</h1>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.sambeauvois.be/blog/2010/10/use-dropbox-as-version-control-system-for-a-single-person-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A few online books</title>
		<link>http://www.sambeauvois.be/blog/2010/09/a-few-online-books/</link>
		<comments>http://www.sambeauvois.be/blog/2010/09/a-few-online-books/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 06:09:33 +0000</pubDate>
		<dc:creator>Sam Beauvois</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://www.sambeauvois.be/blog/?p=554</guid>
		<description><![CDATA[There are terrific books you can find on the web for free : If you have some links, please add them in the comments]]></description>
			<content:encoded><![CDATA[<p>There are terrific books you can find on the web for free :</p>

<!-- Beginning of Link Library Output -->

<div id='linklist3' class='linklist'>
<div class=""><div id="online-books"><div class="linklistcatname">Online books</div></div>
	<ul>
<p style='display:table;width:100%;'><a href="http://designingfortheweb.co.uk/book/" id="98" class="track_this_link"  target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://designingfortheweb.co.uk/book/" alt="Designing for the Web" class="alignleft" /></a> <a href="http://designingfortheweb.co.uk/book/" id="98" class="track_this_link"  target="_blank">Designing for the Web</a>
<br/></p><br/>
<p style='display:table;width:100%;'><a href="http://diveintohtml5.org/" id="95" class="track_this_link"  title="Dive Into HTML5 seeks to elaborate on a hand-picked Selection of features from the HTML5  specification and other fine Standards. The final manuscript has been published on paper by O’Reilly, under the Google Press imprint" target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://diveintohtml5.org/" alt="Dive Into HTML5" title="Dive Into HTML5 seeks to elaborate on a hand-picked Selection of features from the HTML5  specification and other fine Standards. The final manuscript has been published on paper by O’Reilly, under the Google Press imprint" class="alignleft" /></a> <a href="http://diveintohtml5.org/" id="95" class="track_this_link"  title="Dive Into HTML5 seeks to elaborate on a hand-picked Selection of features from the HTML5  specification and other fine Standards. The final manuscript has been published on paper by O’Reilly, under the Google Press imprint" target="_blank">Dive Into HTML5</a>
<br/>Dive Into HTML5 seeks to elaborate on a hand-picked Selection of features from the HTML5  specification and other fine Standards. The final manuscript has been published on paper by O’Reilly, under the Google Press imprint</p><br/>
<p style='display:table;width:100%;'><a href="http://gettingreal.37signals.com/toc.php" id="163" class="track_this_link"  title="A book by 37signals. Here are the 16 chapters and 91 essays that make up the book." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://gettingreal.37signals.com/toc.php" alt="Getting real. The smarter faster easier way to build a successful web application" title="A book by 37signals. Here are the 16 chapters and 91 essays that make up the book." class="alignleft" /></a> <a href="http://gettingreal.37signals.com/toc.php" id="163" class="track_this_link"  title="A book by 37signals. Here are the 16 chapters and 91 essays that make up the book." target="_blank">Getting real. The smarter faster easier way to build a successful web application</a>
<br/>A book by 37signals. Here are the 16 chapters and 91 essays that make up the book.</p><br/>
<p style='display:table;width:100%;'><a href="http://jqfundamentals.com/book/book.html" id="97" class="track_this_link"  target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://jqfundamentals.com/book/book.html" alt="jQuery Fundamentals" class="alignleft" /></a> <a href="http://jqfundamentals.com/book/book.html" id="97" class="track_this_link"  target="_blank">jQuery Fundamentals</a>
<br/></p><br/>
<p style='display:table;width:100%;'><a href="http://msdn.microsoft.com/en-us/library/dd673617.aspx" id="18" class="track_this_link"  title="Microsoft Application Architecture Guide online book" target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://msdn.microsoft.com/en-us/library/dd673617.aspx" alt="Microsoft Application Architecture Guide, 2nd Edition" title="Microsoft Application Architecture Guide online book" class="alignleft" /></a> <a href="http://msdn.microsoft.com/en-us/library/dd673617.aspx" id="18" class="track_this_link"  title="Microsoft Application Architecture Guide online book" target="_blank">Microsoft Application Architecture Guide, 2nd Edition</a>
<br/>Microsoft Application Architecture Guide online book</p><br/>
<p style='display:table;width:100%;'><a href="http://msdn.microsoft.com/en-us/library/ff953181%28PandP.50%29.aspx" id="94" class="track_this_link"  target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://msdn.microsoft.com/en-us/library/ff953181%28PandP.50%29.aspx" alt="Microsoft Enterprise Library 5.0 - Developer Guide" class="alignleft" /></a> <a href="http://msdn.microsoft.com/en-us/library/ff953181%28PandP.50%29.aspx" id="94" class="track_this_link"  target="_blank">Microsoft Enterprise Library 5.0 - Developer Guide</a>
<br/></p><br/>
<p style='display:table;width:100%;'><a href="http://msdn.microsoft.com/en-us/magazine/default.aspx" id="170" class="track_this_link"  title="10 years of MSDN Magazine is now easier than ever to explore! The new Silverlight Pivot Viewer allows you to filter through hundreds of articles and retrieve what you need in seconds." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://msdn.microsoft.com/en-us/magazine/default.aspx" alt="MSDN Magazine" title="10 years of MSDN Magazine is now easier than ever to explore! The new Silverlight Pivot Viewer allows you to filter through hundreds of articles and retrieve what you need in seconds." class="alignleft" /></a> <a href="http://msdn.microsoft.com/en-us/magazine/default.aspx" id="170" class="track_this_link"  title="10 years of MSDN Magazine is now easier than ever to explore! The new Silverlight Pivot Viewer allows you to filter through hundreds of articles and retrieve what you need in seconds." target="_blank">MSDN Magazine</a>
<br/>10 years of MSDN Magazine is now easier than ever to explore! The new Silverlight Pivot Viewer allows you to filter through hundreds of articles and retrieve what you need in seconds.</p><br/>
<p style='display:table;width:100%;'><a href="http://wp7guide.codeplex.com/" id="104" class="track_this_link"  target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://wp7guide.codeplex.com/" alt="patterns &amp; practices - Windows Phone 7 Developer Guide" class="alignleft" /></a> <a href="http://wp7guide.codeplex.com/" id="104" class="track_this_link"  target="_blank">patterns &amp; practices - Windows Phone 7 Developer Guide</a>
<br/></p><br/>
<p style='display:table;width:100%;'><a href="http://speckyboy.com/2010/03/19/12-must-have-free-downloadable-web-design-books/" id="100" class="track_this_link"  target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://speckyboy.com/2010/03/19/12-must-have-free-downloadable-web-design-books/" alt="speckyboy.com : 12 Useful and Free Downloadable Web Design Books" class="alignleft" /></a> <a href="http://speckyboy.com/2010/03/19/12-must-have-free-downloadable-web-design-books/" id="100" class="track_this_link"  target="_blank">speckyboy.com : 12 Useful and Free Downloadable Web Design Books</a>
<br/></p><br/>
<p style='display:table;width:100%;'><a href="http://speckyboy.com/2010/09/02/20-useful-free-pdf-ebooks-for-designers-and-bloggers/" id="99" class="track_this_link"  target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://speckyboy.com/2010/09/02/20-useful-free-pdf-ebooks-for-designers-and-bloggers/" alt="speckyboy.com : 20 Useful Free PDF ebooks for Designers and Bloggers" class="alignleft" /></a> <a href="http://speckyboy.com/2010/09/02/20-useful-free-pdf-ebooks-for-designers-and-bloggers/" id="99" class="track_this_link"  target="_blank">speckyboy.com : 20 Useful Free PDF ebooks for Designers and Bloggers</a>
<br/></p><br/>
<p style='display:table;width:100%;'><a href="http://speckyboy.com/2010/07/13/9-more-useful-and-free-downloadable-web-design-books/" id="101" class="track_this_link"  target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://speckyboy.com/2010/07/13/9-more-useful-and-free-downloadable-web-design-books/" alt="speckyboy.com : 9 More Useful and Free Downloadable Web Design Books" class="alignleft" /></a> <a href="http://speckyboy.com/2010/07/13/9-more-useful-and-free-downloadable-web-design-books/" id="101" class="track_this_link"  target="_blank">speckyboy.com : 9 More Useful and Free Downloadable Web Design Books</a>
<br/></p><br/>
<p style='display:table;width:100%;'><a href="http://stackoverflow.com/questions/194812/list-of-freely-available-programming-books" id="80" class="track_this_link"  target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://stackoverflow.com/questions/194812/list-of-freely-available-programming-books" alt="stackoverflow.com : List of freely available programming books" class="alignleft" /></a> <a href="http://stackoverflow.com/questions/194812/list-of-freely-available-programming-books" id="80" class="track_this_link"  target="_blank">stackoverflow.com : List of freely available programming books</a>
<br/></p><br/>
<p style='display:table;width:100%;'><a href="http://www.the-web-book.com/browse/index.html" id="96" class="track_this_link"  title="The Web Book is a free 350-page book that tells you everything you need to know in order to create a home or business Web site from scratch. It covers everything from registering a domain name and renting some hosting space, to creating your first HTML pa" target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://www.the-web-book.com/browse/index.html" alt="The Web Book" title="The Web Book is a free 350-page book that tells you everything you need to know in order to create a home or business Web site from scratch. It covers everything from registering a domain name and renting some hosting space, to creating your first HTML pa" class="alignleft" /></a> <a href="http://www.the-web-book.com/browse/index.html" id="96" class="track_this_link"  title="The Web Book is a free 350-page book that tells you everything you need to know in order to create a home or business Web site from scratch. It covers everything from registering a domain name and renting some hosting space, to creating your first HTML pa" target="_blank">The Web Book</a>
<br/>The Web Book is a free 350-page book that tells you everything you need to know in order to create a home or business Web site from scratch. It covers everything from registering a domain name and renting some hosting space, to creating your first HTML pa</p><br/>
<p style='display:table;width:100%;'><a href="http://www.wikibooks.org/" id="196" class="track_this_link"  title="The open-content textbooks collection that anyone can edit." target="_blank"><img src="http://open.thumbshots.org/image.aspx?url=http://www.wikibooks.org/" alt="WikiBooks" title="The open-content textbooks collection that anyone can edit." class="alignleft" /></a> <a href="http://www.wikibooks.org/" id="196" class="track_this_link"  title="The open-content textbooks collection that anyone can edit." target="_blank">WikiBooks</a>
<br/>The open-content textbooks collection that anyone can edit.</p><br/>
	</ul>
</div><script type='text/javascript'>
jQuery(document).ready(function()
{
jQuery('a.track_this_link').click(function() {
jQuery.post('http://www.sambeauvois.be/blog/wp-content/plugins/link-library/tracker.php', {id:this.id});
return true;
});
});
</script></div>

<!-- End of Link Library Output -->


<h4>If you have some links, please add them in the comments</h4>
]]></content:encoded>
			<wfw:commentRss>http://www.sambeauvois.be/blog/2010/09/a-few-online-books/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Debugging ADO.NET Datatables</title>
		<link>http://www.sambeauvois.be/blog/2010/05/debugging-ado-net-datatables/</link>
		<comments>http://www.sambeauvois.be/blog/2010/05/debugging-ado-net-datatables/#comments</comments>
		<pubDate>Fri, 14 May 2010 13:32:54 +0000</pubDate>
		<dc:creator>Sam Beauvois</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ADO.NET]]></category>
		<category><![CDATA[Debug]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.sambeauvois.be/blog/?p=246</guid>
		<description><![CDATA[Do you ever had the famous error message : &#8220;Failed to enable constraints. One or more rows  contain values violating non-null, unique, or foreign-key  constraints.&#8221; when using ADO.NET Datasets ? Tthis is an incredibly useful message isn&#8217;t it ? So what can you do to spare you some headaches ? Retrieve a more useful message [...]]]></description>
			<content:encoded><![CDATA[<p>Do you ever had the famous error message :</p>
<blockquote><p>&#8220;Failed to enable constraints. One or more rows  contain values violating non-null, unique, or foreign-key  constraints.&#8221;</p></blockquote>
<p>when using ADO.NET Datasets ?</p>
<p>Tthis is an incredibly useful message isn&#8217;t it ?</p>
<p>So what can you do to spare you some headaches ? Retrieve a more useful message sure !</p>
<p>You have to know that a Datatable object have a &#8220;HasError&#8221; property, this property allows you to know if the datatable has one ore more rows in error.</p>
<p>When HasError is true, you can retrieve the rows havin an error with the DataTable&#8217;s &#8220;GetErrors()&#8221; method wich return an array with all datarow having an error.</p>
<p>The &#8220;in errror&#8221; rows can inform you about errors with the &#8220;RowError&#8221; property.</p>
<p>Here is a simple helper class which can be used to debug a single DataTable or an entire DataSet:</p>
<pre class="brush: csharp; title: ;">
using System;
using System.Data;

public class DataSetErrorRevealer
{

   /// &lt;summary&gt;
   /// Get errors on rows of a DataTable
   /// &lt;/summary&gt;
   /// &lt;param name=&quot;errorDataTable&quot;&gt;The DataTable to be checked&lt;/param&gt;
   public static void RevealTableErrors(DataTable errorDataTable)
   {
      if (errorDataTable == null)
      {
         Console.WriteLine(&quot;The provided DataTable object is null&quot;);
         return;
      }

      if (errorDataTable.HasErrors)
      {
         DataRow[] rowsInError = errorDataTable.GetErrors();
         if (rowsInError.Length &lt;= 0)
         {
            Console.WriteLine(&quot;There is no problem with table {0}&quot;, errorDataTable.TableName);
         }
         else
         {
            foreach (DataRow errorRow in rowsInError)
            {
               Console.WriteLine(errorRow.RowError);
            }
         }
      }
   }

   /// &lt;summary&gt;
   /// Get errors on row for all tables of a DataSet
   /// &lt;/summary&gt;
   /// &lt;param name=&quot;errorDataSet&quot;&gt;The Dataset to be checked&lt;/param&gt;
   public static void RevealDataSetErrors(DataSet errorDataSet)
   {
         if (errorDataSet == null)
         {
            Console.WriteLine(&quot;The provided DataSet is null&quot;);
            return;
         }

         foreach (DataTable errorTable in errorDataSet.Tables)
         {
            RevealTableErrors(errorTable);
         }
      }
   }
</pre>
<p>Use it this way :</p>
<pre class="brush: csharp; title: ;">

   TestDataSet dataset = new TestDataSet();
   try
   {
      using (SqlConnection sqlCon = new SqlConnection(&quot;MyConnectionString&quot;))
      {
         SqlCommand sqlComm = sqlCon.CreateCommand();
         sqlComm.CommandType = CommandType.StoredProcedure;
         sqlComm.CommandText = &quot;Select Stored procedure&quot;;
         SqlDataAdapter sqlDa = new SqlDataAdapter(sqlComm);
         sqlDa.Fill(dataset);
      }
   }
   catch (Exception ex)
   {
   // Will provide the error message :
   // &quot;Failed to enable constraints. One or more rows
   // contain values violating non-null, unique,
   // or foreign-key  constraints.&quot;
   Console.WriteLine(&quot;Error : {0}&quot;, ex);

   // will provide a more helpful message
   DataSetErrorRevealer.RevealDataSetErrors(dataset);
   }
</pre>
<p>If you prefer, you can use an extension method :</p>
<pre class="brush: csharp; title: ;">

using System.Data;
using System;

public static class DataSetExtensions
{
   public static void RevealErrors(this DataSet errorDataSet)
   {
      if (errorDataSet == null)
      {
         Console.WriteLine(&quot;The provided DataSet is null&quot;);
         return;
      }

      foreach (DataTable errorTable in errorDataSet.Tables)
      {
         errorTable.RevealErrors();
      }
   }

   public static void RevealErrors(this DataTable errorDataTable)
   {
      if (errorDataTable == null)
      {
         Console.WriteLine(&quot;The provided DataTable object is null&quot;);
         return;
      }

      if (errorDataTable.HasErrors)
      {
         DataRow[] rowsInError = errorDataTable.GetErrors();
         if (rowsInError.Length &lt;= 0)
         {
            Console.WriteLine(&quot;There is no problem with table {0}&quot;, errorDataTable.TableName);
         }
         else
         {
            foreach (DataRow errorRow in rowsInError)
            {
               Console.WriteLine(errorRow.RowError);
            }
         }
      }
   }
}
</pre>
<p>use :</p>
<pre class="brush: csharp; title: ;">

catch (Exception ex)
{
   // will provide an helpful message
   dataset.RevealErrors();
}
</pre>
<p>Hope this helps !</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 211px; width: 1px; height: 1px; overflow: hidden;">using System;<br />
using System.Data;public class DataSetErrorRevealer<br />
{</p>
<p>/// &lt;summary&gt;<br />
/// Get errors on rows of a DataTable<br />
/// &lt;/summary&gt;<br />
/// &lt;param name=&#8221;errorDataTable&#8221;&gt;The DataTable to be checked&lt;/param&gt;<br />
public static void RevealTableErrors(DataTable errorDataTable)<br />
{<br />
if (errorDataTable == null)<br />
{<br />
Console.WriteLine(&#8220;The provided DataTable object is null&#8221;);<br />
return;<br />
}</p>
<p>if (errorDataTable.HasErrors)<br />
{<br />
DataRow[] rowsInError = errorDataTable.GetErrors();<br />
if (rowsInError.Length &lt;= 0)<br />
{<br />
Console.WriteLine(&#8220;There is no problem with table {0}&#8221;, errorDataTable.TableName);<br />
}<br />
else<br />
{<br />
foreach (DataRow errorRow in rowsInError)<br />
{<br />
Console.WriteLine(errorRow.RowError);<br />
}<br />
}<br />
}<br />
}</p>
<p>/// &lt;summary&gt;<br />
/// Get errors on row for all tables of a DataSet<br />
/// &lt;/summary&gt;<br />
/// &lt;param name=&#8221;errorDataSet&#8221;&gt;The Dataset to be checked&lt;/param&gt;<br />
public static void RevealDataSetErrors(DataSet errorDataSet)<br />
{<br />
if (errorDataSet == null)<br />
{<br />
Console.WriteLine(&#8220;The provided DataSet is null&#8221;);<br />
return;<br />
}</p>
<p>foreach (DataTable errorTable in errorDataSet.Tables)<br />
{<br />
RevealTableErrors(errorTable);<br />
}<br />
}<br />
}</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.sambeauvois.be/blog/2010/05/debugging-ado-net-datatables/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Use ASP.NET Validators with the SharePoint:DateTimeControl</title>
		<link>http://www.sambeauvois.be/blog/2010/03/use-asp-net-validators-with-the-sharepointdatetimecontrol/</link>
		<comments>http://www.sambeauvois.be/blog/2010/03/use-asp-net-validators-with-the-sharepointdatetimecontrol/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 09:54:21 +0000</pubDate>
		<dc:creator>Sam Beauvois</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Sharepoint]]></category>

		<guid isPermaLink="false">http://www.sambeauvois.be/blog/?p=222</guid>
		<description><![CDATA[If you want to use asp.net validation system with the SharePoint’s DateTimeControl, the first thing you need to know is that this control is “just” a wrapper around simple ASP.NET controls (textbox, dropdownlist). If you want to set the ControlToValidate property of an ASP.NET validator to the DateTimeControl’s ID, it will throw an error! As [...]]]></description>
			<content:encoded><![CDATA[<p>If you want to use asp.net validation system with the SharePoint’s DateTimeControl, the first thing you need to know is that this control is “just” a wrapper around simple ASP.NET controls (textbox, dropdownlist).</p>
<p>If you want to set the ControlToValidate property of an ASP.NET validator to the DateTimeControl’s ID, it will throw an error!<br />
As you can guess, you have to target the controls inside the DateTimeControl.</p>
<p>Since the DateTimeControl set the name of the controls programmatically, you can retrieve the id of the control:</p>
<ul>
<li>Textbox date: DateTimeControl.ID +”Date”</li>
<li>Dropdownlist hours: DateTimeControl.ID +”DateHours”</li>
<li>Dropdownlist minutes: DateTimeControl.ID +”DateMinutes”</li>
</ul>
<h3>Example:</h3>
<p>If you use the SharePoint:DateTimeControl with the TimeOnly property set to “true”</p>
<pre class="brush: xml; title: ;">

&lt;SharePoint:DateTimeControl runat=&quot;server&quot; ID=&quot;TheTime&quot; TimeOnly=&quot;true&quot;/&gt;
</pre>
<p>You’ll have two dropdownlists, one for the hours and one for the minutes<br />
The DateTimeControl set the name:</p>
<p>Dropdownlist hours: DateTimeControl.ID +”DateHours”</p>
<p>Html will be:</p>
<pre class="brush: xml; title: ;">
&lt;select name=&quot;ctl00$PlaceHolderMain$ctl07$ctl02$TheTime$TheTimeDateHours&quot; id=&quot;ctl00_PlaceHolderMain_ctl07_ctl02_TheTime_TheTimeDateHours&quot; dir=&quot;ltr&quot;&gt;
 &lt;option value=&quot;00:&quot;&gt;00:&lt;/option&gt;
 &lt;option value=&quot;01:&quot;&gt;01:&lt;/option&gt;
 &lt;option value=&quot;02:&quot;&gt;02:&lt;/option&gt;
 &lt;option value=&quot;03:&quot;&gt;03:&lt;/option&gt;
 &lt;option value=&quot;04:&quot;&gt;04:&lt;/option&gt;
 &lt;option value=&quot;05:&quot;&gt;05:&lt;/option&gt;
 &lt;option value=&quot;06:&quot;&gt;06:&lt;/option&gt;
 &lt;option value=&quot;07:&quot;&gt;07:&lt;/option&gt;
 &lt;option value=&quot;08:&quot;&gt;08:&lt;/option&gt;
 &lt;option value=&quot;09:&quot;&gt;09:&lt;/option&gt;
 &lt;option value=&quot;10:&quot;&gt;10:&lt;/option&gt;
 &lt;option value=&quot;11:&quot;&gt;11:&lt;/option&gt;
 &lt;option value=&quot;12:&quot;&gt;12:&lt;/option&gt;
 &lt;option value=&quot;13:&quot;&gt;13:&lt;/option&gt;
 &lt;option value=&quot;14:&quot;&gt;14:&lt;/option&gt;
 &lt;option value=&quot;15:&quot;&gt;15:&lt;/option&gt;
 &lt;option value=&quot;16:&quot;&gt;16:&lt;/option&gt;
 &lt;option value=&quot;17:&quot;&gt;17:&lt;/option&gt;
 &lt;option value=&quot;18:&quot;&gt;18:&lt;/option&gt;
 &lt;option value=&quot;19:&quot;&gt;19:&lt;/option&gt;
 &lt;option value=&quot;20:&quot;&gt;20:&lt;/option&gt;
 &lt;option value=&quot;21:&quot;&gt;21:&lt;/option&gt;
 &lt;option value=&quot;22:&quot;&gt;22:&lt;/option&gt;
 &lt;option value=&quot;23:&quot;&gt;23:&lt;/option&gt;
&lt;/select&gt;
</pre>
<p>Dropdownlist minutes: DateTimeControl.ID +”DateMinutes”<br />
Html will be:</p>
<pre class="brush: xml; title: ;">
&lt;select name=&quot;ctl00$PlaceHolderMain$ctl07$ctl02$TheTime$TheTimeDateMinutes&quot; id=&quot;ctl00_PlaceHolderMain_ctl07_ctl02_TheTime_TheTimeDateMinutes&quot; dir=&quot;ltr&quot;&gt;
 &lt;option value=&quot;00&quot;&gt;00&lt;/option&gt;
 &lt;option value=&quot;05&quot;&gt;05&lt;/option&gt;
 &lt;option value=&quot;10&quot;&gt;10&lt;/option&gt;
 &lt;option value=&quot;15&quot;&gt;15&lt;/option&gt;
 &lt;option value=&quot;20&quot;&gt;20&lt;/option&gt;
 &lt;option value=&quot;25&quot;&gt;25&lt;/option&gt;
 &lt;option value=&quot;30&quot;&gt;30&lt;/option&gt;
 &lt;option value=&quot;35&quot;&gt;35&lt;/option&gt;
 &lt;option value=&quot;40&quot;&gt;40&lt;/option&gt;
 &lt;option value=&quot;45&quot;&gt;45&lt;/option&gt;
 &lt;option value=&quot;50&quot;&gt;50&lt;/option&gt;
 &lt;option value=&quot;55&quot;&gt;55&lt;/option&gt;
&lt;/select&gt;
</pre>
<p><strong>So you can retrieve the ASP.NET controls by using :</strong></p>
<ul>
<li>For the date: TheTime$TheTimeDate</li>
<li>For the hours: TheTime$TheTimeDateHours</li>
<li>For the minutes: TheTime$TheTimeDateMinutes</li>
</ul>
<h3>Real case example:</h3>
<p>I have two DateTimeControl, one named TheStartTime and one other named TheEndTime,</p>
<p>I want to validate that the end time is not before the start time.</p>
<p>So I’ll use the ASP.NET comparevalidator validator to compare the hours:</p>
<pre class="brush: xml; title: ;">
&lt;asp:CompareValidator id=&quot;valDate&quot; runat=&quot;server&quot; ControlToValidate=&quot;TheEndTime$TheEndTimeDateHours&quot; ControlToCompare=&quot;TheStartTime$TheStartTimeDateHours&quot;
 Type=&quot;Integer&quot;
 Operator=&quot;GreaterThanEqual&quot;
 ErrorMessage=&quot;The end time must be greater than the start time&quot;&gt;
 &lt;/asp:CompareValidator &gt;
</pre>
<p>Now, if you want to validate both hours and minutes, one option is to add an “asp:CustomValidator” and check conditions server side :<br />
Markup:</p>
<pre class="brush: xml; title: ;">
&lt;asp:CustomValidator runat=&quot;server&quot; ID=&quot;EndTimeMustBeLaterThanStartTimeCustomValidator&quot;
EnableClientScript=&quot;false&quot; ErrorMessage=&quot;Start time must be before end time&quot;/&gt;
</pre>
<p>Before the action, validate:</p>
<pre class="brush: csharp; title: ;">
if (!IsEndTimeLaterThanStartTime())
{
 EndTimeMustBeLaterThanStartTimeCustomValidator.IsValid = false;
 return;
}
</pre>
<p>Validation method:</p>
<pre class="brush: csharp; title: ;">

private bool IsEndTimeLaterThanStartTime()
{
 // retrieve the DropDownList
 DropDownList startHours = TheStartTime.FindControl(&quot;TheStartTimeDateHours&quot;) as DropDownList;
 DropDownList endHours = TheEndTime.FindControl(&quot;TheEndTimeDateHours&quot;) as DropDownList;

 // prevent from errors
 if (startHours == null ||
 endHours == null ||
 string.IsNullOrEmpty(startHours.SelectedValue) ||
 string.IsNullOrEmpty(endHours.SelectedValue))
 {
 return; // dont' do anything
 }

// the hour value is &quot;00:&quot;
 int startHour = Convert.ToInt32(startHours.SelectedValue.Replace(&quot;:&quot;,&quot;&quot;));
 int endHour = Convert.ToInt32(endHours.SelectedValue.Replace(&quot;:&quot;, &quot;&quot;));
 if (endHour &lt; startHour)
 {
 args.IsValid = false;
 }
 else
 {

 if (endHour == startHour)
 {
 // check the minutes
 DropDownList startMinutes = TheStartTime.FindControl(&quot;TheStartTimeDateMinutes&quot;) as DropDownList;
 DropDownList endMinutes = TheEndTime.FindControl(&quot;TheEndTimeDateMinutes&quot;) as DropDownList;
 // prevent from errors
 if (startMinutes == null ||
 endMinutes == null ||
 string.IsNullOrEmpty(startMinutes.SelectedValue) ||
 string.IsNullOrEmpty(endMinutes.SelectedValue))
 {
 return; // dont' do anything
 }

 int startMinute = Convert.ToInt32(startMinutes.SelectedValue);
 int endMinute = Convert.ToInt32(endMinutes.SelectedValue);

 if (endHour &lt;= startMinute)
 args.IsValid = false;

 }
 }

 args.IsValid = true;

 }
</pre>
<p>You can also validate the Date himself if you choose to display it,<br />
you can make a client side validation if you know javascript,<br />
you can do everything like in “classic” ASP.NET.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sambeauvois.be/blog/2010/03/use-asp-net-validators-with-the-sharepointdatetimecontrol/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A few lists &#8230;</title>
		<link>http://www.sambeauvois.be/blog/2010/01/a-few-lists/</link>
		<comments>http://www.sambeauvois.be/blog/2010/01/a-few-lists/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 10:08:29 +0000</pubDate>
		<dc:creator>Sam Beauvois</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[MyProjects]]></category>

		<guid isPermaLink="false">http://www.sambeauvois.be/blog/?p=159</guid>
		<description><![CDATA[The Joel Test: 12 Steps to Better Code Top 10 Things That Annoy Programmers 10 Programming proverbs every developer should know 101 Ways To Know Your Software Project Is Doomed Top 100 Blogs for Developers &#8211;&#62; Pragmatic Software Development Tips]]></description>
			<content:encoded><![CDATA[<p><a title="The Joel Test: 12 Steps to Better Code" href="http://www.joelonsoftware.com/articles/fog0000000043.html" target="_blank">The Joel Test: 12 Steps to Better Code</a></p>
<p><a title="Top 10 Things That Annoy Programmers" href="http://www.kevinwilliampang.com/post/Top-10-Things-That-Annoy-Programmers.aspx" target="_blank">Top 10 Things That Annoy Programmers</a></p>
<p><a title="10 Programming proverbs every developer should know" href="http://www.kevinwilliampang.com/post/Programming-Proverbs.aspx" target="_blank">10 Programming proverbs every developer should know</a></p>
<p><a title="101 Ways To Know Your Software Project Is Doomed" href="http://delimitdesign.com/inspirational/101-ways-to-know-your-software-project-management-is-doomed/" target="_blank">101 Ways To Know Your Software Project Is Doomed</a></p>
<p><a title="Top 100 Blogs for Developers" href="http://www.sambeauvois.be/blog/wp-admin/post-new.php" target="_blank">Top 100 Blogs for Developers</a></p>
<p>&#8211;&gt; <a title="Pragmatic Software Development Tips" href="http://pragprog.com/the-pragmatic-programmer/extracts/tips" target="_blank">Pragmatic Software Development Tips</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sambeauvois.be/blog/2010/01/a-few-lists/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C#, check if a string is null or empty</title>
		<link>http://www.sambeauvois.be/blog/2009/12/c-check-if-a-string-is-null-or-empty/</link>
		<comments>http://www.sambeauvois.be/blog/2009/12/c-check-if-a-string-is-null-or-empty/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 22:08:21 +0000</pubDate>
		<dc:creator>Sam Beauvois</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Tips and Tricks]]></category>

		<guid isPermaLink="false">http://www.sambeauvois.be/blog/?p=120</guid>
		<description><![CDATA[In C# you can check if a string is null or empty in many ways : string String1 = &#34;testString&#34;; if (String1== null &#124;&#124; String1 == &#34;&#34;) { // ... } else { // ... } string String1 = &#34;testString&#34;; if (String1 == null &#124;&#124; String1.Length==0) { // ... } else { // ... } [...]]]></description>
			<content:encoded><![CDATA[<p>In C# you can check if a string is null or empty in many ways :</p>
<pre class="brush: csharp; title: ;">
string String1 = &quot;testString&quot;;
if (String1== null || String1 == &quot;&quot;)
{
// ...
}
else
{
// ...
}
</pre>
<pre class="brush: csharp; title: ;">

string String1 = &quot;testString&quot;;
 if (String1 == null || String1.Length==0)
 {
 // ...
 }
 else
 {
 // ...
 }
</pre>
<pre class="brush: csharp; title: ;">
 string String1 = &quot;testString&quot;;
 if (string.IsNullOrEmpty(String1))
 {
 // ...
 }
 else
 {
 // ...
 }
</pre>
<p>The last one is more readable.</p>
<p>But what about performances ?</p>
<p>Check this code :</p>
<pre class="brush: csharp; title: ;">
private void CheckForNullOrEmpty()
 {
 int maxIterations = 9999999;

 Console.WriteLine(&quot;if (string.IsNullOrEmpty(String1))&quot;);
 Stopwatch watch = Stopwatch.StartNew();
 for (int i = 0; i &lt; maxIterations; i++)
 {
 string String1 = &quot;testString&quot;;
 if (string.IsNullOrEmpty(String1))
 {
 // ...
 }
 else
 {
 // ...
 }
 }

 watch.Stop();
 Console.WriteLine(&quot;\tTime : &quot; + watch.Elapsed.TotalMilliseconds);
 Console.WriteLine(Environment.NewLine);

 Console.WriteLine(&quot;if (String1== null || String1 == \&quot;\&quot;&quot;);
 watch = Stopwatch.StartNew();
 for (int i = 0; i &lt; maxIterations; i++)
 {
 string String1 = &quot;testString&quot;;
 if (String1 == null || String1 == &quot;&quot;)
 {
 // ...
 }
 else
 {
 // ...
 }
 }

 watch.Stop();
 Console.WriteLine(&quot;\tTime : &quot; + watch.Elapsed.TotalMilliseconds);
 Console.WriteLine(Environment.NewLine);

 Console.WriteLine(&quot;if (String1 == null || String1.Length==0)&quot;);
 watch = Stopwatch.StartNew();
 for (int i = 0; i &lt; maxIterations; i++)
 {
 string String1 = &quot;testString&quot;;
 if (String1 == null || String1.Length == 0)
 {
 // ...
 }
 else
 {
 // ...
 }
 }

 watch.Stop();
 Console.WriteLine(&quot;\tTime : &quot; + watch.Elapsed.TotalMilliseconds);
 Console.WriteLine(Environment.NewLine);

 Console.WriteLine(Environment.NewLine);
 Console.WriteLine(&quot;Press any key to continue&quot;);
 Console.ReadLine();
 }
</pre>
<p>Output is :</p>
<p><a href="http://www.sambeauvois.be/blog/wp-content/uploads/2009/12/CheckStringForNullOrEmptyOutput.png"><img class="aligncenter size-full wp-image-122" src="http://www.sambeauvois.be/blog/wp-content/uploads/2009/12/CheckStringForNullOrEmptyOutput.png" alt="CheckStringForNullOrEmptyOutput" width="677" height="342" /></a></p>
<p>The difference between<strong> &#8220;String.IsNullOrEmpty&#8221;</strong> and <strong>&#8220;check for null then for lenght</strong>&#8221; is minimal, so prefer the String.IsNullOrEmpty() wich is more readable.</p>
<p>As you can guess, IsNullOrEmpty performs a check for null, then a check for lenght :</p>
<p>If you use Reflector to inspect the <a href="http://msdn.microsoft.com/en-us/library/system.string.aspx" target="_blank">String</a> class in the mscorlib, you can see that String.IsNullOrEmpty do the same thing we do in our test :</p>
<pre class="brush: csharp; title: ;">
public static bool IsNullOrEmpty(string value)
{
if (value != null)
{
return (value.Length == 0);
}
return true;
}
</pre>
<p>the &#8220;extra&#8221; time comes from the method call</pre>
<p>Note : In .Net Framework 4.0: string.IsNullOrWhiteSpace() method appears, but I've not tested yet (<a href="http://weblogs.asp.net/gunnarpeipman/archive/2009/10/25/net-framework-4-0-string-isnullorwhitespace-method.aspx" target="_blank">link</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sambeauvois.be/blog/2009/12/c-check-if-a-string-is-null-or-empty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How long need a portion of code to be executed ?</title>
		<link>http://www.sambeauvois.be/blog/2009/12/how-long-need-a-portion-of-code-to-be-executed/</link>
		<comments>http://www.sambeauvois.be/blog/2009/12/how-long-need-a-portion-of-code-to-be-executed/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 08:44:07 +0000</pubDate>
		<dc:creator>Sam Beauvois</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Source Code]]></category>
		<category><![CDATA[Tips and Tricks]]></category>

		<guid isPermaLink="false">http://www.sambeauvois.be/blog/?p=106</guid>
		<description><![CDATA[Use the Stopwatch object ! using System.Diagnostics; // ... Stopwatch myStopWatch = Stopwatch.StartNew(); // some code myStopWatch.Stop(); Console.WriteLine(&#34;{0} ms - {1} ticks&#34;, myStopWatch.Elapsed.TotalMilliseconds, myStopWatch.ElapsedTicks); // ...]]></description>
			<content:encoded><![CDATA[<p>Use the Stopwatch object !</p>
<pre class="brush: csharp; title: ;">
using System.Diagnostics;

// ...

Stopwatch myStopWatch = Stopwatch.StartNew();

// some code

myStopWatch.Stop();

Console.WriteLine(&quot;{0} ms - {1} ticks&quot;, myStopWatch.Elapsed.TotalMilliseconds, myStopWatch.ElapsedTicks);

// ...
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.sambeauvois.be/blog/2009/12/how-long-need-a-portion-of-code-to-be-executed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

