<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
  <channel>
    <title>DotNetKicks.com - Stories tagged with software</title>
    <description>the latest stories tagged with 'software' from DotNetKicks.com</description>
    <link>http://www.dotnetkicks.com/</link>
    <language>en-us</language>
    <copyright>Atweb Publishing Ltd.</copyright>
    <docs>http://backend.userland.com/rss</docs>
    <generator>DotNetKicks.com - .NET links, community driven</generator>
    <ttl>30</ttl>
    <item>
      <title>Avoiding The Database Deployment Nightmare</title>
      <description>So, I have written before about how to put your database into version control using database projects in Visual Studio. Even while having the scripts in the solution, there can be times when you can't exactly remember what you changed and needs to go out with your project deployment to the production database. Deploying files is easy because of tools like WinMerge, however deploying things to a database can get quite complicated. You could script both schemas and use WinMerge to see the differences between the development database and the production database. But even doing that, you will still have to write a custom script to get the production database schema up to date. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fblog.reamped.net%2fpost%2f2009%2f06%2fAvoiding-The-Database-Deployment-Nightmare.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblog.reamped.net%2fpost%2f2009%2f06%2fAvoiding-The-Database-Deployment-Nightmare.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/database/Avoiding_The_Database_Deployment_Nightmare</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/database/Avoiding_The_Database_Deployment_Nightmare</guid>
      <pubDate>Fri, 19 Jun 2009 12:01:25 GMT</pubDate>
    </item>
    <item>
      <title>Software Engineering and Ethics</title>
      <description>Software is the core for any computer-based system, which affect all aspects of our life. Software development is a complex, expensive, and ethical engineering task which requires qualified SWE professionals. Ethical and professional principles for software engineering professionals were adopted by professional committees such as IEEE and ACM. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fprogramming360.blogspot.com%2f2009%2f04%2fsoftware-engineering-and-ethics.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fprogramming360.blogspot.com%2f2009%2f04%2fsoftware-engineering-and-ethics.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/other/Software_Engineering_and_Ethics</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/other/Software_Engineering_and_Ethics</guid>
      <pubDate>Sat, 25 Apr 2009 00:38:21 GMT</pubDate>
    </item>
    <item>
      <title>Business for geeks: Naming your software company</title>
      <description>A second post in the series about starting a software development tools company covering the process undertaken in picking the name of the company. Covers points to consider when picking a name for your own software brand. This isn't strictly code but might be interesting for entrepreneurial .net geeks out there. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.mindscape.co.nz%2fstaff%2fjohndaniel%2findex.php%2f2009%2f03%2fchoosing-a-business-name%2f"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.mindscape.co.nz%2fstaff%2fjohndaniel%2findex.php%2f2009%2f03%2fchoosing-a-business-name%2f" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/community/Business_for_geeks_Naming_your_software_company</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/community/Business_for_geeks_Naming_your_software_company</guid>
      <pubDate>Wed, 25 Mar 2009 02:31:03 GMT</pubDate>
    </item>
    <item>
      <title>Business for geeks: Naming your software company</title>
      <description>A second post in the series about starting a software development tools company covering the process undertaken in picking the name of the company. Covers points to consider when picking a name for your own software brand. This isn't strictly code but might be interesting for entrepreneurial .net geeks out there. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.mindscape.co.nz%2fstaff%2fjohndaniel%2findex.php%2f2009%2f03%2fchoosing-a-business-name%2f"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.mindscape.co.nz%2fstaff%2fjohndaniel%2findex.php%2f2009%2f03%2fchoosing-a-business-name%2f" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/community/Business_for_geeks_Naming_your_software_company</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/community/Business_for_geeks_Naming_your_software_company</guid>
      <pubDate>Wed, 25 Mar 2009 02:31:03 GMT</pubDate>
    </item>
    <item>
      <title>RadPop Free Caller ID and Web Monitor windows application</title>
      <description>RadPop is a free Caller ID monitor for on your windows computer.  Apparently no one dug a Web Monitor so I found a more practical use for a very cool pop-up.  I have added Caller ID monitoring to the RadPop application.  There are plenty of additionally things I can think to add to this application but the really cool thing was I deployed this with one click deploy.  So if anyone did install my application once they rerun the application the new revision will be installed automatically. 

 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdink.no-ip.info%2fBlog%2fpost%2fRadPop-Free-Caller-ID-and-Web-Monitor-windows-application.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdink.no-ip.info%2fBlog%2fpost%2fRadPop-Free-Caller-ID-and-Web-Monitor-windows-application.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/vbnet/RadPop_Free_Caller_ID_and_Web_Monitor_windows_application</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/vbnet/RadPop_Free_Caller_ID_and_Web_Monitor_windows_application</guid>
      <pubDate>Mon, 24 Nov 2008 10:48:01 GMT</pubDate>
    </item>
    <item>
      <title>Prototyping in Software Development - 4</title>
      <description>Who should be involved, how far you should go and when do you have to do Prototyping in a Software Development Project? &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.silicusblogs.com%2fkb%2fsoftware-development-practices%2fsoftware-development-prototyping%2fprototyping-in-software-development-4.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.silicusblogs.com%2fkb%2fsoftware-development-practices%2fsoftware-development-prototyping%2fprototyping-in-software-development-4.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/other/Prototyping_in_Software_Development_4</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/other/Prototyping_in_Software_Development_4</guid>
      <pubDate>Tue, 19 Aug 2008 17:21:34 GMT</pubDate>
    </item>
    <item>
      <title>Prototyping in Software Development - 3</title>
      <description>Tips and Techniques in User Interface Prototyping during Software Development &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.silicusblogs.com%2fkb%2fsoftware-development-practices%2fsoftware-development-prototyping%2fprototyping-in-software-development-3.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.silicusblogs.com%2fkb%2fsoftware-development-practices%2fsoftware-development-prototyping%2fprototyping-in-software-development-3.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/other/Prototyping_in_Software_Development_3</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/other/Prototyping_in_Software_Development_3</guid>
      <pubDate>Tue, 19 Aug 2008 17:20:54 GMT</pubDate>
    </item>
    <item>
      <title>Prototyping in Software Development - 2</title>
      <description>Tools and Technologies that can be used in Usability Engineering, prototyping during Software Development &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.silicusblogs.com%2fkb%2fsoftware-development-practices%2fsoftware-development-prototyping%2fprototyping-in-software-development-2.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.silicusblogs.com%2fkb%2fsoftware-development-practices%2fsoftware-development-prototyping%2fprototyping-in-software-development-2.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/other/Prototyping_in_Software_Development_2</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/other/Prototyping_in_Software_Development_2</guid>
      <pubDate>Tue, 19 Aug 2008 17:20:17 GMT</pubDate>
    </item>
    <item>
      <title>Prototyping in Software Development - 1</title>
      <description>This article addresses the needs of prototyping in Software Development , this will be the first part in the series of articles on Prototyping in Software Development. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.silicusblogs.com%2fkb%2fsoftware-development-practices%2fsoftware-development-prototyping%2fprototyping-in-software-development-1.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.silicusblogs.com%2fkb%2fsoftware-development-practices%2fsoftware-development-prototyping%2fprototyping-in-software-development-1.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/other/Prototyping_in_Software_Development_1</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/other/Prototyping_in_Software_Development_1</guid>
      <pubDate>Tue, 19 Aug 2008 17:19:39 GMT</pubDate>
    </item>
    <item>
      <title>Lean Software Development</title>
      <description>Very good article and some good steps on Lean Software Development &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fcodebetter.com%2fblogs%2fdarrell.norton%2fpages%2f50341.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fcodebetter.com%2fblogs%2fdarrell.norton%2fpages%2f50341.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/teamsystem/Lean_Software_Development</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/teamsystem/Lean_Software_Development</guid>
      <pubDate>Thu, 14 Aug 2008 19:40:16 GMT</pubDate>
    </item>
    <item>
      <title>Lean Software Development</title>
      <description>Very good article and some good steps on Lean Software Development &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fcodebetter.com%2fblogs%2fdarrell.norton%2fpages%2f50341.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fcodebetter.com%2fblogs%2fdarrell.norton%2fpages%2f50341.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/teamsystem/Lean_Software_Development</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/teamsystem/Lean_Software_Development</guid>
      <pubDate>Thu, 14 Aug 2008 19:40:16 GMT</pubDate>
    </item>
    <item>
      <title>Process Implementation and TFS(Team Foundation Server)- Part1</title>
      <description>I am going to focus this post to explore the process implementation capabilities and features of TFS. Let me start by sharing my understanding of a Process and then see how TFS can help me implement it. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.silicusblogs.com%2fkb%2fsoftware-development-practices%2fprocess-implementation-and-tfsteam-foundation-server.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.silicusblogs.com%2fkb%2fsoftware-development-practices%2fprocess-implementation-and-tfsteam-foundation-server.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/teamsystem/Process_Implementation_and_TFS_Team_Foundation_Server_Part1</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/teamsystem/Process_Implementation_and_TFS_Team_Foundation_Server_Part1</guid>
      <pubDate>Tue, 12 Aug 2008 20:28:26 GMT</pubDate>
    </item>
    <item>
      <title>WPF performance profiling tools</title>
      <description>The WPF Performance Suite is a set of performance profiling tools that allow you to analyze the runtime behavior of your WPF application. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdevintelligence.com%2fblogs%2fnetadventures%2farchive%2f2008%2f04%2f30%2fwpf-performance-profiling-tools.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdevintelligence.com%2fblogs%2fnetadventures%2farchive%2f2008%2f04%2f30%2fwpf-performance-profiling-tools.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/WPF_performance_profiling_tools</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/WPF_performance_profiling_tools</guid>
      <pubDate>Thu, 01 May 2008 04:46:10 GMT</pubDate>
    </item>
    <item>
      <title>Explore Silverlight project hierarchy with Silverlight Spy 2</title>
      <description>Silverlight Spy will automatically pick up any Silverlight application embedded in the page and display it in the XAML Explorer &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdevintelligence.com%2fblogs%2fnetadventures%2farchive%2f2008%2f04%2f23%2fexplore-silverlight-project-hierarchy-with-silverlight-spy-2.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdevintelligence.com%2fblogs%2fnetadventures%2farchive%2f2008%2f04%2f23%2fexplore-silverlight-project-hierarchy-with-silverlight-spy-2.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/silverlight/Explore_Silverlight_project_hierarchy_with_Silverlight_Spy_2</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/silverlight/Explore_Silverlight_project_hierarchy_with_Silverlight_Spy_2</guid>
      <pubDate>Fri, 25 Apr 2008 20:31:17 GMT</pubDate>
    </item>
    <item>
      <title>Reality-driven development</title>
      <description>A way to think about software development as evolution directed by users and technical quality. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fduartes.org%2fgustavo%2fblog%2fpost%2f2008%2f02%2f27%2fReality-Driven-Development.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fduartes.org%2fgustavo%2fblog%2fpost%2f2008%2f02%2f27%2fReality-Driven-Development.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/architecture/Reality_driven_development</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/architecture/Reality_driven_development</guid>
      <pubDate>Wed, 27 Feb 2008 23:48:24 GMT</pubDate>
    </item>
    <item>
      <title>Richard Feynman, the Challenger, and Software Engineering</title>
      <description>When Richard Feynman investigated the Challenger disaster, he issued a brilliant report with many insights into the nature of engineering. These apply directly to modern software development. Not sure if this one is on topic - it's about general software engineering. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fduartes.org%2fgustavo%2fblog%2fpost%2f2008%2f02%2f20%2fRichard-Feynman-Challenger-Disaster-Software-Engineering.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fduartes.org%2fgustavo%2fblog%2fpost%2f2008%2f02%2f20%2fRichard-Feynman-Challenger-Disaster-Software-Engineering.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/architecture/Richard_Feynman_the_Challenger_and_Software_Engineering</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/architecture/Richard_Feynman_the_Challenger_and_Software_Engineering</guid>
      <pubDate>Thu, 21 Feb 2008 00:16:04 GMT</pubDate>
    </item>
    <item>
      <title>Microsoft Gives Students Technical Software at No Charge</title>
      <description>DreamSpark offers millions of students access to professional-grade software developer and designer tools. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.microsoft.com%2fPresspass%2fpress%2f2008%2ffeb08%2f02-18GSDPR.mspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.microsoft.com%2fPresspass%2fpress%2f2008%2ffeb08%2f02-18GSDPR.mspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/visualstudio/Microsoft_Gives_Students_Technical_Software_at_No_Charge</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/visualstudio/Microsoft_Gives_Students_Technical_Software_at_No_Charge</guid>
      <pubDate>Wed, 20 Feb 2008 04:28:32 GMT</pubDate>
    </item>
    <item>
      <title>Microsoft DreamSpark - Free software for students!</title>
      <description>Microsoft DreamSpark enables students to download Microsoft developer and design tools at no charge.

Now, for the first time, Microsoft is giving its valuable software developer and design tools directly to students worldwide at no charge! 

Visual Studio 2008 Pro, Expression Studio, Windows Server 2003, XNA GameStudio... &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdownloads.channel8.msdn.com%2f"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdownloads.channel8.msdn.com%2f" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/products/Microsoft_DreamSpark_Free_software_for_students</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/products/Microsoft_DreamSpark_Free_software_for_students</guid>
      <pubDate>Tue, 19 Feb 2008 15:00:26 GMT</pubDate>
    </item>
    <item>
      <title>LINQ and Stored Procedures</title>
      <description>Just starting off with LINQ, I've already found a strange behavior. In my SP, I have to select some blank columns, that used to exist in the table. Now, they're only there to stop old apps from crashing:

Select '' as inst from footable

This made Linq return only a cryptic error message:
System.FormatException: String must be exactly one character long.
at System.Data.Linq.DBConvert.ChangeType(Object obj, Type type)

But when I replaced the '' in the SP with a ' ' (that is, added a blank space) - everything works. So it looks as if Linq is trying to type every column in the result, and if it's empty, it dies.

Oh, and if you have a variable named @@foo in your script - I don't know why it was called @@foo, it just was - Linq will not be able to run it! It presumes that all variables are named @foo, which probably is the correct SQL, by the way. But - the error message, again, is not so helpful: The procedure expects the parameter &amp;quot;foo&amp;quot;, which was not provided. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fsoftscenario.blogspot.com%2f2007%2f10%2flinq-and-stored-procedures.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fsoftscenario.blogspot.com%2f2007%2f10%2flinq-and-stored-procedures.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/linq/LINQ_and_Stored_Procedures</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/linq/LINQ_and_Stored_Procedures</guid>
      <pubDate>Thu, 14 Feb 2008 20:02:46 GMT</pubDate>
    </item>
    <item>
      <title>Using using</title>
      <description>When writing code that makes use of alot of unmanaged memory resources, all objects should be disposed of before exiting methods and such. The keyword using is often forgotten, and also sometimes seen as messy. example:

using (Bitmap bitmap1 = new Bitmap(100, 100))
{
Console.WriteLine(&amp;quot;Width:{0}, Height:{1}&amp;quot;, bitmap1.Width, bitmap1.Height);
}

should basically be the same as

Bitmap bitmap1 = new Bitmap(100, 100)
Console.WriteLine(&amp;quot;Width:{0}, Height:{1}&amp;quot;, bitmap1.Width, bitmap1.Height);
bitmap1.Dispose();

shouldn't it?
No, not really... The using-clause does a little more than this. Actually, my using-example is equivalent to the following block of code.

Bitmap bitmap1 = new Bitmap(100, 100);
try
{
Console.WriteLine(&amp;quot;Width:{0}, Height:{1}&amp;quot;, bitmap1.Width, Bitmap1.Height);
}
finally
{
if (bitmap1 != null)
{
bitmap1.Dispose();
}
}
Console.ReadLine();

Imagine writing nested using-clauses, and try writing the expanded code for that :)
Using using really cleans up your code, and your memory. So use it!


    Edit: Oh, as Stian commented. Using should be used for all objects that implements the IDisposable interface. But remember - if you plan on implementing this interface on your own classes, you need to make sure it fully implements all the necessary methods for cleaning up. Otherwise it will all be to waste :) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fsoftscenario.blogspot.com%2f2007%2f10%2fusing-using.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fsoftscenario.blogspot.com%2f2007%2f10%2fusing-using.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/Using_using</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/Using_using</guid>
      <pubDate>Thu, 14 Feb 2008 20:02:29 GMT</pubDate>
    </item>
    <item>
      <title>Session_End and SessionState mode=&amp;quot;SQLServer&amp;quot;</title>
      <description>A webapp I'm working on now needs to keep track of the number of logged in users at any time. We used to rely on Session_End for deleting sessions. However, this turned out to work only if the SessionState mode was set to InProc.  For other scenarios, Session_End is simply not called. Ever.

So we programmed a background service that polls the database now and then, and deletes from our table the rows that don't exist in the AspState-database (AspState obviously keeps track of timed out sessions and removes them from the table). Clean and simple solution. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fsoftscenario.blogspot.com%2f2007%2f10%2fsessionend-and-sessionstate.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fsoftscenario.blogspot.com%2f2007%2f10%2fsessionend-and-sessionstate.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/Session_End_and_SessionState_mode_SQLServer</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/Session_End_and_SessionState_mode_SQLServer</guid>
      <pubDate>Thu, 14 Feb 2008 20:01:52 GMT</pubDate>
    </item>
    <item>
      <title>Online MachineKey Generator</title>
      <description>Found this today, when creating MachineKey for a web farm on ASP.NET:
http://www.orcsweb.com/articles/aspnetmachinekey.aspx

Will save you some time when creating webapps that run in a web farm environment, and it does work. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fsoftscenario.blogspot.com%2f2007%2f10%2fonline-machinekey-generator.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fsoftscenario.blogspot.com%2f2007%2f10%2fonline-machinekey-generator.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/Online_MachineKey_Generator</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/Online_MachineKey_Generator</guid>
      <pubDate>Thu, 14 Feb 2008 20:01:42 GMT</pubDate>
    </item>
    <item>
      <title>IIS and .net 3.5 beta 2</title>
      <description>We installed .net 3.5 beta 2 on a web server this morning. It did not work. Even our 2.0 webs stopped working. So to save others the trouble...
Go ahead to
%WINDIR%\Microsoft.NET\Framework\v.2.0.something...\CONFIG\web.config

Go ahead and remove all instances of xmlns=&amp;quot;&amp;quot; and you're good to go!

Also worth mentioning, 3.5 and 3.0 does not appear in the ASP.NET tag on IIS, only 2.0 does. This is because 3.0 and 3.5 are extensions of the 2.0 framework. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fsoftscenario.blogspot.com%2f2007%2f11%2fiis-and-net-35-beta-2.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fsoftscenario.blogspot.com%2f2007%2f11%2fiis-and-net-35-beta-2.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/IIS_and_net_3_5_beta_2</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/IIS_and_net_3_5_beta_2</guid>
      <pubDate>Thu, 14 Feb 2008 20:01:21 GMT</pubDate>
    </item>
    <item>
      <title>Remote desktop stops working</title>
      <description>Suddenly my workstation wouldn't accept incoming remote desktop sessions. I first thought it was because I was connecting from a Vista computer, but as it turned out, I couldn't even connect from other 2003 servers. The event log only said this:

Application popup: : \SystemRoot\System32\RDPDD.dll failed to load

Which was not very helpful! After googling around quite a bit, I had tried reinstalling the RDP software's latest version and rebooted, when I found multiple people describing the same problem and fixing it by removing their ATI video drivers... As I have a nvidia card, I first thought it had nothing to do with this. However... there wasn't much else to try. I uninstalled the Asus Enhanced Video Driver and the nvidia drivers - and then it worked. Crazy. Worst part is, now I've reinstalled the video driver, and remote desktop still works. Huh.

So it could be that Asus Enhanced Video Driver is the culprit. I won't try and find out. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fsoftscenario.blogspot.com%2f2007%2f11%2fremote-desktop-stops-working.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fsoftscenario.blogspot.com%2f2007%2f11%2fremote-desktop-stops-working.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/Remote_desktop_stops_working</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/Remote_desktop_stops_working</guid>
      <pubDate>Thu, 14 Feb 2008 20:01:07 GMT</pubDate>
    </item>
    <item>
      <title>SQL 2005 Server Side Paging using CTE (Common Table Expression)</title>
      <description>When a application want to show the result from an SQL-query as a paged view, i.e. showing ten or fifteen result on first page, then have a &amp;quot;next&amp;quot; function to show the next page of results.

To minimize traffic over the network, it is best practice to do the paging on the SQL-server, so that only the results you want to show is sendt to the application.

With SQL Server 2005 this is quite easy using the new CTE capabilities and the new ROW_NUMBER() function.

(using the AdventureWorks example database for SQL-2005 http://codeplex.com/)

Consider the following T-SQL to select out all employees from Person.Contact:

SELECT [FirstName]
,[MiddleName]
,[LastName]
,[EmailAddress]
FROM [Person].[Contact]

This will result in 19972 rows returned, and the paging logic has to be done on the client application. not good.. so first we implement the ROW_NUMBER() function like this:

SELECT ROW_NUMBER() OVER (Order by [Person].[Contact].[LastName]) AS RowID,
[FirstName]
,[MiddleName]
,[LastName]
,[EmailAddress]
FROM [Person].[Contact]

This will create a unique RowID for each row in the result.

Now we need to wrap the result in a CTE using just the WITH [ctename] AS () statement:

WITH AllEmployees AS
(SELECT ROW_NUMBER() OVER (Order by [Person].[Contact].[LastName]) AS RowID,
[FirstName]
,[MiddleName]
,[LastName]
,[EmailAddress]
FROM [Person].[Contact])

Now we have all the Employees in a in-memory table called AllEmployees, and we can select from this table as any other table, with all the common clauses. Simplest term:

SELECT [FirstName]
,[MiddleName]
,[LastName]
,[EmailAddress]
FROM AllEmployees

Then, to use this for a Server-side paging solution, the simplest way we use the RowID to establish what rows to return, either by using DECLARE [varname] or by putting the whole code into a Parameterized StoredProcedure like this:

CREATE PROC GetPagedEmployees (@NumbersOnPage INT=25,@PageNumb INT = 1)
AS BEGIN

WITH AllEmployees AS
(SELECT ROW_NUMBER() OVER (Order by [Person].[Contact].[LastName]) AS RowID,
[FirstName],[MiddleName],[LastName],[EmailAddress] FROM [Person].[Contact])

SELECT [FirstName],[MiddleName],[LastName],[EmailAddress]
FROM AllEmployees WHERE RowID BETWEEN
((@PageNumb - 1) * @NumbersOnPage) + 1 AND @PageNumb * NumbersOnPage
ORDER BY RowID

END

The parameter for this procedure is used for the paging and when executed it will return a result based on how many results per page, and what page &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fsoftscenario.blogspot.com%2f2007%2f11%2fsql-2005-server-side-paging-using-cte.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fsoftscenario.blogspot.com%2f2007%2f11%2fsql-2005-server-side-paging-using-cte.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/SQL_2005_Server_Side_Paging_using_CTE_Common_Table_Expression</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/SQL_2005_Server_Side_Paging_using_CTE_Common_Table_Expression</guid>
      <pubDate>Thu, 14 Feb 2008 20:00:49 GMT</pubDate>
    </item>
  </channel>
</rss>