﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>Jani Järvinen's Personal Weblog</title>
    <link>http://www.saunalahti.fi/janij/blog/</link>
    <description>This is my personal weblog mostly about Windows software development. The views represented here are strictly my own, and do not necessarily reflect those of my employer.</description>
    <language>en-us</language>
    <pubDate>Thu, 31 Dec 2009 13:08:36 GMT</pubDate>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>1440</ttl>
    <item>
      <title>Happy New Year 2010! And remember...</title>
      <link>p</link>
      <description>&lt;p&gt;It's time to thank you for the year at end, and wish everybody Happy New Year 2010! As briefly mentioned last week, remember to update the URL of this blog if you are reading it through RSS/XML. The new URL is:&lt;/p&gt;

&lt;pre&gt;
http://www.saunalahti.fi/janij/blog/2010.xml&lt;/pre&gt;

&lt;p&gt;The URL will start to work in a couple of days. Until then, stay warm, and see you again next year!&lt;/p&gt;</description>
      <pubDate>Thu, 31 Dec 2009 12:51:18 GMT</pubDate>
      <guid isPermaLink="false">d9c3c990-4ac8-4a56-b414-3fda2f6936da</guid>
    </item>
    <item>
      <title>You can now follow newest MSDN downloads on Twitter</title>
      <link>http://twitter.com/MSDNDownloads</link>
      <description>&lt;p&gt;If you are interested in the latest MSDN downloads to play with, and you are using Twitter, then there's a new stream of tweets that you might interested in. The &lt;a href=""&gt;MSDNDownloads&lt;/a&gt; twitter account is something to follow on.&lt;/p&gt;

&lt;p&gt;You can also see the tweets as an RSS feed here:&lt;/p&gt;

&lt;pre&gt;
http://twitter.com/statuses/user_timeline/44571989.rss
&lt;/pre&gt;

&lt;p&gt;This way, you never miss a new download anymore!&lt;/p&gt;</description>
      <pubDate>Mon, 28 Dec 2009 15:10:03 GMT</pubDate>
      <guid isPermaLink="false">f53d47e7-451d-44b5-9453-abfb31e2d92f</guid>
    </item>
    <item>
      <title>Holiday reading: An Expression ezine</title>
      <link>http://www.netmag.co.uk/ezine/index.html</link>
      <description>&lt;p&gt;Some quick reading for the holiday season: if you are interested in Microsoft's Expression Studio 3, then check out the ezine (web magazine) sponsored by Microsoft UK: "&lt;a href="http://www.netmag.co.uk/ezine/index.html"&gt;Expression Studio 3: The Ultimate Guide&lt;/a&gt;". This 28 page magazine, delivered with Flash is nice, light reading.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <pubDate>Sat, 26 Dec 2009 08:42:21 GMT</pubDate>
      <guid isPermaLink="false">89f9f307-0c17-4542-a6a7-c5c80d15ab4e</guid>
    </item>
    <item>
      <title>Merry Christmas!</title>
      <link>http://www.planetmule.com/</link>
      <description>&lt;p&gt;Merry Christmas to everybody! Today's post will be short one, but the happier. The holiday season is a great time to chill out, and maybe play and old game or two. My personal favorites are those ol' games from the Commodore 64 era, and thus a &lt;a href="http://www.planetmule.com/"&gt;new version of M.U.L.E.&lt;/a&gt; is a welcome addition to the web.&lt;/p&gt;

&lt;p&gt;Also, you might wish to check out the games catalog of &lt;a href="http://www.gog.com/en/catalogue/"&gt;Good Old Games&lt;/a&gt;, you will surely find something to play from there.&lt;/p&gt;</description>
      <pubDate>Thu, 24 Dec 2009 10:08:55 GMT</pubDate>
      <guid isPermaLink="false">99d6dde1-66b4-45f8-af2a-4dcf27f6cd77</guid>
    </item>
    <item>
      <title>New article in Developer.com: Windows 7 Jump Lists</title>
      <link>http://www.developer.com/net/article.php/3850661/Creating-Windows-7-Jump-Lists-With-The-API-Code-Pack-and-Visual-Studio-2008.htm</link>
      <description>&lt;p&gt;Developer.com (now with a new owner, by the way) has recently published my latest article about &lt;a href="http://www.developer.com/net/article.php/3850661/Creating-Windows-7-Jump-Lists-With-The-API-Code-Pack-and-Visual-Studio-2008.htm"&gt;using Windows 7 jump lists&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The article is titled "Creating Windows 7 Jump Lists With The API Code Pack and Visual Studio 2008" and shows how you can use the free Windows API Code Pack to write applications for Windows 7 with Visual Studio 2008.&lt;/p&gt;

&lt;p&gt;I hope you like it!&lt;/p&gt;</description>
      <pubDate>Mon, 21 Dec 2009 20:38:41 GMT</pubDate>
      <guid isPermaLink="false">8de584a0-a28b-49ef-938b-6c2fe4174ef8</guid>
    </item>
    <item>
      <title>Visual Studio 2010 RC to be available in Feburary</title>
      <link></link>
      <description>&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 20 Dec 2009 10:32:13 GMT</pubDate>
      <guid isPermaLink="false">5210a9ff-ffd2-4240-b3e7-000347e58d65</guid>
    </item>
    <item>
      <title>Reminder: the URL of this blog is going to chance when New Year is here</title>
      <link>http://www.saunalahti.fi/janij/blog/</link>
      <description>&lt;p&gt;As the year is soon drawing to an end, a friednly reminder is in order: if you are reading this blog through the RSS feed, your feedreader is probably using an URL similar to this:&lt;/p&gt;

&lt;pre&gt;
http://www.saunalahti.fi/janij/blog/2009.xml
&lt;/pre&gt;

&lt;p&gt;As you can see, the RSS feed ends with the number of the current year. Next year, the URL should end with "2010.xml", so remember to change the URL accordingly to continue reading this blog.&lt;/p&gt;

&lt;p&gt;Thank you! (At this writing, the new URL does not yet exist, but don't worry, it will in a couple of weeks.)&lt;/p&gt;</description>
      <pubDate>Sat, 19 Dec 2009 07:44:25 GMT</pubDate>
      <guid isPermaLink="false">39ed257d-ed6f-41e3-aab7-eb045c5df637</guid>
    </item>
    <item>
      <title>What is the Visual Studio T4 text processor?</title>
      <link>http://msdn.microsoft.com/en-us/library/bb126445.aspx</link>
      <description>&lt;p&gt;Even if you have been using Visual Studio for a while, you might not have run into a Visual Studio feature called T4. T4, or TTTT, actually stands for &lt;a href="http://msdn.microsoft.com/en-us/library/bb126445.aspx"&gt;Text Template Transformation Toolkit&lt;/a&gt;. But what is this toolkit, and what is it used for?&lt;/p&gt;

&lt;p&gt;Let's take a concrete example from ASP.NET MVC. If you are creating a new view with the Add View command, Visual Studio creates a new .aspx page with ready-made HTML code. But where does this code come from? It comes from file-based templates.&lt;/p&gt;

&lt;p&gt;Where do these templates live? By default, Visual Studio installation creates a folder called "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE", which contains numerous subfolders for different template types, including those in the New Project/New Item dialog boxes. For ASP.NET MVC templates, there's a folder called "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC\CodeTemplates\AddView". This folder in turn contains template files with the .tt extension.&lt;/p&gt;

&lt;p&gt;These files contain simple scripts with the T4 is able to process, and then output text data based on the results of running the scripts, similar to processing the &lt;% and %&gt; tags in .aspx files.&lt;/p&gt;

&lt;p&gt;Sounds interesting, right? The good thing is that you can even utilize this engine in your own projects. For more details, see the &lt;a href="http://msdn.microsoft.com/en-us/library/bb126445.aspx"&gt;MSDN documentation&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Wed, 16 Dec 2009 19:04:02 GMT</pubDate>
      <guid isPermaLink="false">71374f0d-04c5-4608-b7ad-bd1232527b7a</guid>
    </item>
    <item>
      <title>SQL Server administration tip: check your database’s consistency</title>
      <link>http://msdn.microsoft.com/en-us/library/ms176064.aspx</link>
      <description>&lt;p&gt;If you are developing smaller applications that utilize an SQL Server database, chances are the you need to take part or at least give advice to your customers on how to administer and maintain the database.&lt;/p&gt;

&lt;p&gt;SQL Server is a dependable database, and for the most time, you don't need to maintain your database much. However, from time to time, problems might surface, and if this happens, your customer might contact you about what to do next.&lt;/p&gt;

&lt;p&gt;Today's tip is an SQL Server command to check database consistency. This can be done with the command &lt;a href="http://msdn.microsoft.com/en-us/library/ms176064.aspx"&gt;DBCC CHECKDB&lt;/a&gt;. This command "checks the logical and physical integrity of all the objects in the specified database" and gives you a simple report of its findings.&lt;/p&gt;

&lt;p&gt;Running this command periodically, say once every quarter, to check if everything is still okay. At best, this command can give you hints that something might go wrong in the future.&lt;/p&gt;</description>
      <pubDate>Mon, 14 Dec 2009 15:06:36 GMT</pubDate>
      <guid isPermaLink="false">dba19d80-096c-4370-81b8-49d6a15f968c</guid>
    </item>
    <item>
      <title>Get to know the All-In-One Code Framework</title>
      <link>http://cfx.codeplex.com/</link>
      <description>&lt;p&gt;Sometimes, you wander into a new area in the .NET framework that you might not know like the back of your hand. And if you are beginning to learn the Microsoft framework, then you might want to find a simple Visual Studio project, that would display a simple demo of a given feature, and then allow you to work on your own from there.&lt;/p&gt;

&lt;p&gt;Enter the &lt;a href="http://cfx.codeplex.com/"&gt;All-In-One Code Framework&lt;/a&gt;, i.e. CodeFx (CFX), which is a CodePlex project. This means that the CodeFx project (actually, a Visual Studio solution) that contains currently over 200 different technology demos in C# and C++.&lt;/p&gt;

&lt;p&gt;If you are in ready-made sample applications on many different .NET technologies, then All-In-One Code Framework is a good place to start. Remember that the ‘net is also full of code examples, but they tend to be isolated examples. If possible, CodeFx examples on the other hand try to build a set of demos that complement each other.&lt;/p&gt;</description>
      <pubDate>Fri, 11 Dec 2009 16:21:03 GMT</pubDate>
      <guid isPermaLink="false">b71feffa-81ea-41c3-9527-92fb0933bf5d</guid>
    </item>
    <item>
      <title>New article in Prosessori about Windows Mobile 6.5</title>
      <link>http://www.prosessori.fi/</link>
      <description>&lt;p&gt;The latest issue of the Finnish &lt;a href="http://www.prosessori.fi/"&gt;Prosessori magazine&lt;/a&gt; contains my latest Windows developer article, this time about Windows Mobile 6.5. The article is titled "Windows-kännykät ymmärtämään kosketusta". There's a small typo in the author's name, it says Jari instead of Jani, but nonetheless, the article itself should be fine.&lt;/p&gt;

&lt;p&gt;Happy reading, and remember to give feedback! Thank you!&lt;/p&gt;</description>
      <pubDate>Tue, 08 Dec 2009 18:21:30 GMT</pubDate>
      <guid isPermaLink="false">d1b5edbb-b7d8-4359-a0d6-35499c721535</guid>
    </item>
    <item>
      <title>Visual Studio 2010 and .NET Framework 4 training material</title>
      <link>http://channel9.msdn.com/learn/courses/VS2010/</link>
      <description>&lt;p&gt;MSDN's &lt;a href="http://channel9.msdn.com/"&gt;Channel 9&lt;/a&gt; contains already lots of material about the forthcoming Visual Studio 2010 and .NET Framework 4.&lt;/p&gt;

&lt;p&gt;Now, there's a &lt;a href="http://channel9.msdn.com/learn/courses/VS2010/"&gt;new site&lt;/a&gt; dedicated to this information. Be sure to check it out!&lt;/p&gt;

&lt;p&gt;PS. Happy birthday, Finland!&lt;/p&gt;</description>
      <pubDate>Sun, 06 Dec 2009 06:58:57 GMT</pubDate>
      <guid isPermaLink="false">7cc027f8-ac50-482f-ab1e-84df20ed18fc</guid>
    </item>
    <item>
      <title>In ASP.NET MVC view pages, extension methods must be public</title>
      <link>http://www.asp.net/mvc/</link>
      <description>&lt;p&gt;Another ASP.NET MVC tip. If you are using extension methods in your controller action methods (I find extension methods useful from time to time, even though they can be thought of as being "code smells"), you might also wish to use them in your view pages (the .aspx files in the Views folder).&lt;/p&gt;

&lt;p&gt;Personally, I usually write my classes and methods as being internal if they are designed only to be used from the same application/assembly. For instance, the code might something like this:&lt;/p&gt;

&lt;pre&gt;
internal static class Extensions
{
  internal static string ToShortTimeValue(this TimeSpan time)
  {
    return time.Hours + ":" +
      string.Format("{0:00}", time.Minutes);
  }
}
&lt;/pre&gt;

&lt;p&gt;However, if you are writing ASP.NET MVC applications and try to use these classes in your view pages, there's a catch. Try it, and you will get errors like this:&lt;/p&gt;

&lt;pre&gt;
c:\Documents\Visual Studio 2008\Projects\MvcApplication1\Views\Customers\Detail.aspx(32,33): error CS1061:
'System.TimeSpan' does not contain a definition for 'ToShortTimeValue' and no extension method
'ToShortTimeValue' accepting a first argument of type 'System.TimeSpan' could be found (are you missing
a using directive or an assembly reference?)
c:\Documents\Visual Studio 2008\Projects\MvcApplication1\Views\Customers\Detail.aspx(36,31): error CS1061:
'System.TimeSpan' does not contain a definition for 'ToShortTimeValue' and no extension method
'ToShortTimeValue' accepting a first argument of type 'System.TimeSpan' could be found (are you missing
a using directive or an assembly reference?)
&lt;/pre&gt;

&lt;p&gt;Why does this happen? The error message gives you a clue, as you will have to refresh in your mind the way ASP.NET applications are compiled. If you are using MVC, you might think that all code goes into a single assembly, but in the case of view pages, this is not true. Instead, the view page code goes into its own assembly, usually located somewhere under C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root. Because the view pages are in a different assembly, the "internal" access modifier will not be visible enough to the view page assembly.&lt;/p&gt;

&lt;p&gt;Of course, the remedy is very simple. Simply change the extension class and method(s) be public:&lt;/p&gt;

&lt;pre&gt;
public static class Extensions
{
  public static string ToShortTimeValue(this TimeSpan time)
  {
    return time.Hours + ":" +
      string.Format("{0:00}", time.Minutes);
  }
}
&lt;/pre&gt;

&lt;p&gt;Good luck!&lt;/p&gt;</description>
      <pubDate>Thu, 03 Dec 2009 16:03:42 GMT</pubDate>
      <guid isPermaLink="false">7179870f-af95-4d8a-8cb0-986330010157</guid>
    </item>
    <item>
      <title>An ASP.NET MVC error in Visual Studio 2008 and a solution</title>
      <link>http://www.asp.net/mvc/</link>
      <description>&lt;p&gt;Happy December! Recently, I've created multiple application with &lt;a href="http://www.asp.net/mvc/"&gt;ASP.NET MVC&lt;/a&gt;, and overall I really like the new technology. Of course, no technology isn't without its quirks, and ASP.NET MVC is not an exception. Yesterday, I ran into an interesting issue that I hadn't noticed before. When creating a view from a controller action method (right-click and then choose Add View), I got the following error:&lt;/p&gt;

&lt;pre&gt;
Template Processing resulted in 2 Errors
---------------------------
c:\Temp\bqqraxkg.0.cs(4,18) : error CS0234: Compiling
transformation: The type or namespace name 'Data' does
not exist in the namespace 'System' (are you missing
an assembly reference?)

c:\Temp\bqqraxkg.0.cs(5,18) : error CS0234: Compiling
transformation: The type or namespace name 'Data' does
not exist in the namespace 'System' (are you missing
an assembly reference?)
&lt;/pre&gt;

&lt;p&gt;This seemed only to happen when I added a Details type of view. Although I tried multiple times, this didn't help. Then, I though that maybe there were too many files in the C:\Temp directory. Clearing this directory solved the problem. So, if you run into a similar problem, check where your system environment variable %TEMP% points to, and delete all files from that directory. Then try again.&lt;/p&gt;

&lt;p&gt;Hope this helps!&lt;/p&gt;</description>
      <pubDate>Tue, 01 Dec 2009 19:03:18 GMT</pubDate>
      <guid isPermaLink="false">69f43764-6ade-42e7-ba72-9eb1d674a9e6</guid>
    </item>
    <item>
      <title>The new location for the Microsoft C# FAQ</title>
      <link>http://blogs.msdn.com/csharpfaq/</link>
      <description>&lt;p&gt;Since the earliest days of .NET, Microsoft has published a C# FAQ, created by Microsoft's own developers/engineers and related MVPs in the community. This FAQ answers common questions related to the language, the compiler, and the .NET Framework along the way. I also had the chance to contribute few entries to the list.&lt;/p&gt;

&lt;p&gt;Now, somewhat recently, the C# FAQ disappeared from it's old location, and relocated to a new one. This time, the format is a blog based one, and thus the logical place is under MSDN Blogs.&lt;/p&gt;

&lt;p&gt;To check out the new C# FAQ, visit &lt;a href="http://blogs.msdn.com/csharpfaq/"&gt;http://blogs.msdn.com/csharpfaq/&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Sun, 29 Nov 2009 08:18:19 GMT</pubDate>
      <guid isPermaLink="false">8cdd1196-0f51-4960-8ed3-19a2169b801a</guid>
    </item>
    <item>
      <title>Microsoft Technology Days in Kuopio and Jyväskylä</title>
      <link>http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032433554&amp;culture=fi-FI</link>
      <description>&lt;p&gt;I've had the pleasure to tour with local Microsoft Finland to different cities and talk about the Microsoft technology stack and Visual Studio and .NET development in particular. So far, we've visited Turku and Kuopio, and tomorrow Friday we'll visit Jyväskylä.&lt;/p&gt;

&lt;p&gt;The tour features a day-long seminar type of session about current development topics, and naturally demos of many different technologies on the web, desktop and cloud.&lt;/p&gt;

&lt;p&gt;If you are in Jyväskylä tomorrow, feel free to stop by! To join, visit &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032433554&amp;culture=fi-FI"&gt;the registration page&lt;/a&gt;. Welcome!&lt;/p&gt;</description>
      <pubDate>Thu, 26 Nov 2009 16:03:26 GMT</pubDate>
      <guid isPermaLink="false">9dce96ce-e011-4a92-b560-382c82ca1eca</guid>
    </item>
    <item>
      <title>Windows 7 and taskbar icon progress indicators</title>
      <link>http://code.msdn.microsoft.com/WindowsAPICodePack</link>
      <description>&lt;p&gt;Windows 7 is a popular topic among developers, and the improved taskbar is easily programmable. A common question seems to be: how do I create an application that can show a progress indication on its own taskbar icon? Luckily, the answer is very simple: by using the &lt;a href="http://code.msdn.microsoft.com/WindowsAPICodePack"&gt;Windows API Code Pack&lt;/a&gt;, you only need two lines of code. One line sets the state ("color") of the taskbar progress indicator (none, normal=green, error=red, etc.) and another the actual progress as a fraction.&lt;/p&gt;

&lt;p&gt;Here is a simple example:&lt;/p&gt;

&lt;pre&gt;
TaskbarManager.Instance.SetProgressState(
  TaskbarProgressBarState.Normal);
TaskbarManager.Instance.SetProgressValue(
  40, 100); // 40/100 = 40%
&lt;/pre&gt;

&lt;p&gt;That's all there is to it! The above code will naturally require Windows 7, and if you try to run the code in, say, Windows XP, you will get a PlatformNotSupportedException exception. However, it is very easy to check whether the taskbar features are supported: just check the TaskbarManager.IsPlatformSupported property. Then, the total code could be:&lt;/p&gt;

&lt;pre&gt;
if (TaskbarManager.IsPlatformSupported)
{
  TaskbarManager.Instance.SetProgressState(
    TaskbarProgressBarState.Normal);
  TaskbarManager.Instance.SetProgressValue(
    40, 100);
}
&lt;/pre&gt;

&lt;p&gt;PS. If you can read Finnish, I wrote a simple tips article about Windows 7 development with Windows API Code Pack. Check it out on the &lt;a href="http://www.codezone.fi/Homepage.Codezone"&gt;Finnish CodeZone&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Mon, 23 Nov 2009 17:34:57 GMT</pubDate>
      <guid isPermaLink="false">9389e3ab-1a39-4e88-a07c-bd702cbe4385</guid>
    </item>
    <item>
      <title>Say hello to Microsoft Help Viewer 1.0</title>
      <link>http://blogs.msdn.com/help3team/</link>
      <description>&lt;p&gt;Many Microsoft products use the Document Explorer alias Microsoft Help 2.0 to show documentation. Advancements are being made on that front as well, and Visual Studio 2010 will become available with a new, improved help system called Help 3.0, or more recently, Help Viewer 1.0.&lt;/p&gt;

&lt;p&gt;New features are, among others, XHTML support, ZIP-based file format, and the primary viewer the web browser. For more information about this new help system version, check out the &lt;a href="http://blogs.msdn.com/help3team/"&gt;Help 3.0 Team Blog&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Sat, 21 Nov 2009 12:23:33 GMT</pubDate>
      <guid isPermaLink="false">6f1ead6a-8d73-4760-a4e7-a80e975d61ce</guid>
    </item>
    <item>
      <title>From PDC 2009: Azure 1.0, new IE and Silverlight 4 plans</title>
      <link>http://microsoftpdc.com/</link>
      <description>&lt;p&gt;Microsoft's premier developer event, &lt;a href="http://microsoftpdc.com/"&gt;PDC&lt;/a&gt;, is about to end, and as could have been guessed, many new things were announced. The highlights are details about the next Internet Explorer version 9, Azure's 1.0 production version at the end of the year, and &lt;a href="http://silverlight.net/getstarted/silverlight-4-beta/"&gt;Silverlight 4 beta&lt;/a&gt;. Sounds cool!&lt;/p&gt;

&lt;p&gt;For the next few months, there's plenty of new stuff to learn and master. The PDC is always a burst of indepth technical information, and this year is not an exception. Details about the new technologies will surely be discussed here and on the web in general. And that's a good thing!&lt;/p&gt;</description>
      <pubDate>Thu, 19 Nov 2009 19:25:26 GMT</pubDate>
      <guid isPermaLink="false">9e847c1f-5e1a-43e9-9296-dc0e7f79e793</guid>
    </item>
    <item>
      <title>My wishlist for the Visual Studio's IDE</title>
      <link>https://connect.microsoft.com/visualstudio</link>
      <description>&lt;p&gt;While preparing for a migration course into Visual Studio development, I found myself thinking that while the loved Visual Studio is overall very good, there are some small things that could make the IDE even better. Currently, my personal wish list looks like the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Have a default, two-key keyboard shortcut to comment a line (or set of lines) if it is not commented yet, or uncomment it if it is currently commented (toggle). Currently, Ctrl+E,C and Ctrl+E,U work fine, but there could a single command to do it all.&lt;/li&gt;
&lt;li&gt;In the code editor, implement a "Sync Edit" feature like &lt;a href="http://edn.embarcadero.com/article/33278#6SyncEdit"&gt;in Delphi&lt;/a&gt;. Sort of a mini-refactoring, if you will.&lt;/li&gt;
&lt;li&gt;The toolbox should have a search box, to which you could type in few characters, and filter the components based on matching component names. And heck, implement on to the Properties window as well!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Do you have ideas that ought to make it to the Visual Studio IDE? Send me an e-mail, or better yet, report your ideas to the &lt;a href="https://connect.microsoft.com/visualstudio"&gt;Connect&lt;/a&gt; web site (login required)! I'd be glad to hear your feedback.&lt;/p&gt;</description>
      <pubDate>Sun, 15 Nov 2009 14:14:48 GMT</pubDate>
      <guid isPermaLink="false">a530b0fa-1710-425e-9c6a-bb48bdd56389</guid>
    </item>
    <item>
      <title>Custom file based logging in ASP.NET MVC</title>
      <link>http://www.asp.net/mvc/</link>
      <description>&lt;p&gt;If you are developing ASP.NET MVC applications, then especially in the beginning, you might wish to know exactly which route your requests are handled with. Or, if you are using AJAX a lot, verifying the calls on the server side can be difficult unless you can attach Visual Studio to your application.&lt;/p&gt;

&lt;p&gt;Luckily, you can use so-called action filters in your MVC applications. Actions filters are attributes that implement the &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.mvc.iactionfilter.aspx"&gt;IActionFilter interface&lt;/a&gt; and descend from the &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.mvc.actionfilterattribute.aspx"&gt;ActionFilterAttribute class&lt;/a&gt;. This interface supports two methods, one of which is suitable for logging all the calls that come to a certain action method or a controller as a whole.&lt;/p&gt;

&lt;p&gt;Here is a simple code example of a class that is able to implement file based logging:&lt;/p&gt;

&lt;pre&gt;
using System.IO;
using System.Web.Routing;
...
public class LogCallAttribute : ActionFilterAttribute
{
    private void LogMessageToFile(string msg)
    {
        const string LogFileName =
            @"C:\Temp\MyMvcApp.log";
        File.AppendAllText(LogFileName,
            DateTime.Now.ToLocalTime() + ": "
            + msg + ".\r\n");
    } 

    public override void OnActionExecuting(
        ActionExecutingContext filterContext)
    {
        RouteValueDictionary route =
            filterContext.RouteData.Values;
        string location =
            route["controller"] + "/" +
            route["action"];
        LogMessageToFile("In action " + location);
    }
} 
&lt;/pre&gt;

&lt;p&gt;With this class in your MVC project, you can then utilize the attribute in two ways, at the controller level or the action method level like this:&lt;/p&gt;

&lt;pre&gt;
[LogCall]
public class HomeController : Controller
...
[LogCall]
public ActionResult About()
{
    return View();
}
&lt;/pre&gt;

&lt;p&gt;Sounds simple? It is!&lt;/p&gt;</description>
      <pubDate>Thu, 12 Nov 2009 16:15:14 GMT</pubDate>
      <guid isPermaLink="false">5dfc9636-b93a-479c-9d80-257d92f77e63</guid>
    </item>
    <item>
      <title>From TechEd Europe: Microsoft purchases Teamprise from SourceGear</title>
      <link>http://www.microsoft.com/presspass/press/2009/nov09/11-09teamprisepr.mspx</link>
      <description>&lt;p&gt;Microsoft's annual &lt;a href="http://www.microsoft.com/europe/teched/"&gt;TechEd Europe&lt;/a&gt; is currently underway, and news are starting to flow. So far, I believe the most important bit of news is that &lt;a href="http://www.microsoft.com/presspass/press/2009/nov09/11-09teamprisepr.mspx"&gt;Microsoft has qcquired Teamprise from SourceGear&lt;/a&gt;. Teamprice "enable[s] developers using the Eclipse IDE or operating on multiple operating systems, including Unix, Linux and Mac OS X, to build applications with Microsoft Visual Studio Team Foundation Server."&lt;/p&gt;

&lt;p&gt;More news to follow, I'm sure!&lt;/p&gt;</description>
      <pubDate>Mon, 09 Nov 2009 16:14:25 GMT</pubDate>
      <guid isPermaLink="false">c12325dd-c608-462c-9246-9d113200be36</guid>
    </item>
    <item>
      <title>Visual Studio 2010 Beta 2 Training Kit (+ Windows 7 Kit)</title>
      <link>http://www.microsoft.com/downloads/details.aspx?FamilyID=752CB725-969B-4732-A383-ED5740F02E93&amp;displaylang=en</link>
      <description>&lt;p&gt;Are you using Visual Studio 2010 Beta 2 already? If you are, why not take the best out of this new beta? The 'net has numerous resources available, but personally I like distilled packages of information. Frequently, the Training Kits are just what I'm after, and the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=752CB725-969B-4732-A383-ED5740F02E93&amp;displaylang=en"&gt;Visual Studio 2010 and .NET Framework 4 Training Kit&lt;/a&gt; from late October is no exception. Recommended downloading.&lt;/p&gt;

&lt;p&gt;Also, in case you are interested in Windows 7 development, check out the recent &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=1C333F06-FADB-4D93-9C80-402621C600E7&amp;displaylang=en"&gt;Windows 7 Training Kit For Developers&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Mon, 09 Nov 2009 16:00:25 GMT</pubDate>
      <guid isPermaLink="false">b162f312-9149-4388-9d5b-b607bdb76fab</guid>
    </item>
    <item>
      <title>Spec Explorer helps you detect problems in your specifications</title>
      <link>http://msdn.microsoft.com/en-us/devlabs/ee692301.aspx</link>
      <description>&lt;p&gt;Microsoft has recently announces a new MSDN Labs project: &lt;a href="http://msdn.microsoft.com/en-us/devlabs/ee692301.aspx"&gt;Spec Explorer 2010&lt;/a&gt;. According to Microsoft, Spec Explorer is a "tool that extends Visual Studio for modeling software behavior, analyzing that behavior by graphical visualization, model checking; and generating standalone test code from models."&lt;/p&gt;

&lt;p&gt;Thus, the tool can analyze your visual specifications (think for instance state machines)and point out problems in them. Also, testing code can be generated automatically.&lt;/p&gt;

&lt;p&gt;Actually, Spec Explorer is not new, it has been around since 2004. But, this new 2010 version has been greatly improved, and thus worth the first look, or if you are already familiar with the tool from old days, a definite second look.&lt;/p&gt;

&lt;p&gt;Check out the introductory video on &lt;a href="http://channel9.msdn.com/posts/Peli/SpecExplorer-Model-Based-Testing-made-practicable/"&gt;Channel 9&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Sun, 08 Nov 2009 08:28:04 GMT</pubDate>
      <guid isPermaLink="false">cf86668c-6d69-4b55-89e5-92f298350117</guid>
    </item>
    <item>
      <title>Two articles to read: security in .NET 4.0 and SQL Server disaster recovery</title>
      <link>http://msdn.microsoft.com/en-us/magazine/ee677170.aspx</link>
      <description>&lt;p&gt;The recent issues of MSDN Magazine and Technet Magazine feature two interesting articles for the techinal/developer audience. First, there's an article about the &lt;a href="http://msdn.microsoft.com/en-us/magazine/ee677170.aspx"&gt;new security features in .NET Framework 4.0&lt;/a&gt;, and then there is an article about how to &lt;a href="http://technet.microsoft.com/en-us/magazine/ee677581.aspx"&gt;recover SQL Server data after a disaster&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Recommended reading!&lt;/p&gt;</description>
      <pubDate>Thu, 05 Nov 2009 15:23:26 GMT</pubDate>
      <guid isPermaLink="false">357ed033-1535-4976-89d3-025b4651c1ed</guid>
    </item>
    <item>
      <title>What is the Visual Studio 2010 Lab Management feature?</title>
      <link>http://blogs.msdn.com/lab_management/archive/2009/10/20/announcing-visual-studio-team-lab-management-2010-beta2.aspx</link>
      <description>&lt;p&gt;Hello, November! If you have already downloaded and started using &lt;a href="http://msdn.microsoft.com/en-us/vstudio/ee712698.aspx"&gt;Visual Studio 2010 Beta 2&lt;/a&gt;, you are probably enjoying the new and improved features. In the Team System (or should we say, Team Foundation Server from now on) there is a completely new feature called &lt;a href="http://blogs.msdn.com/lab_management/archive/2009/10/20/announcing-visual-studio-team-lab-management-2010-beta2.aspx"&gt;Lab Management&lt;/a&gt;, which I haven't seen implemented in other Windows development tools before.&lt;/p&gt;

&lt;p&gt;The idea of Lab Management is to help developers and testers test their applications automatically in virtual machines. Lab Management uses virtual machine provisioning with the help of System Center Virtual Machine Manager (SCVMM), and can launch and tear down virtual machines automatically and run your tests in them as you prefer.&lt;/p&gt;

&lt;p&gt;This can bring tremendeous time savings in testing, as you don't anymore need to manually set up testing machines, either physical or virtual. Instead, you can use Lab Management to automatically run tests on say, Windows XP, Vista and Windows 7. Or, on multiple IIS web server versions, if that's what you need.&lt;/p&gt;

&lt;p&gt;Sounds like a novel implementation to me, though the idea of virtual machine automation is not &lt;a href="http://www.developer.com/net/csharp/article.php/3785891/Automating-Software-Testing-with-Microsoft-Hyper-V.htm"&gt;completely new&lt;/a&gt;, as demonstrated by my article from November, 2008.&lt;/p&gt;</description>
      <pubDate>Mon, 02 Nov 2009 15:42:42 GMT</pubDate>
      <guid isPermaLink="false">b6a4d2a9-2587-4622-bca0-58669a6e92a1</guid>
    </item>
    <item>
      <title>Have you already used VS2010 Beta 2? Complete the survey!</title>
      <link>https://mscuillume.smdisp.net/Collector/Survey.ashx?Name=D10G1</link>
      <description>&lt;p&gt;If you are already using Visual Studio 2010 Beta 2 and .NET Framework 4.0 Beta 2, then it's time to send in your feedback. Of course, for bugs and suggestions, Microsoft Connect is still the best place, but for overall impressions, you might want to complete a separate &lt;a href="https://mscuillume.smdisp.net/Collector/Survey.ashx?Name=D10G1"&gt;survey&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The survey is quite short, and asks your opinion about using the product, compatibility with your applications, and so on.&lt;/p&gt;

&lt;p&gt;If you have around three minutes of time, go ahead and complete the survey.&lt;/p&gt;</description>
      <pubDate>Fri, 30 Oct 2009 13:37:14 GMT</pubDate>
      <guid isPermaLink="false">291ee957-0c4d-4ca9-b20a-352a44ab643e</guid>
    </item>
    <item>
      <title>What's new in WPF 4.0?</title>
      <link>http://weblogs.asp.net/scottgu/archive/2009/10/26/wpf-4-vs-2010-and-net-4-0-series.aspx</link>
      <description>&lt;p&gt;Next spring, Visual Studio 2010 and .NET 4.0 will be here, which also brings us the latest incarnation of WPF, called WPF 4.0. If you are interested in this new version of WPF, you are surely interested in what's planned for the forth-coming release.&lt;/p&gt;

&lt;p&gt;Scott Guthrie has again written a nice &lt;a href="http://weblogs.asp.net/scottgu/archive/2009/10/26/wpf-4-vs-2010-and-net-4-0-series.aspx"&gt;overview of the topic&lt;/a&gt;, and to summarize, the most prominent new features are the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lots of Windows 7 features: a Ribbon control, multitouch support, shell integration and new taskbar support, etc.&lt;/li&gt;
&lt;li&gt;New text rendering support for better clarity and more control&lt;/li&gt;
&lt;li&gt;Pixel Shader 3 support&lt;/li&gt;
&lt;li&gt;Animation Easing function for more sophisticated animations&lt;/li&gt;
&lt;li&gt;..and more!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sound cool indeed!&lt;/p&gt;</description>
      <pubDate>Mon, 26 Oct 2009 18:22:25 GMT</pubDate>
      <guid isPermaLink="false">23d9d620-2f53-4d1d-93f9-825749e48e4f</guid>
    </item>
    <item>
      <title>New article about Windows 7 in latest Prosessori magazine</title>
      <link>http://www.prosessori.fi/</link>
      <description>&lt;p&gt;The Finnish &lt;a href="http://www.prosessori.fi/"&gt;Prosessori&lt;/a&gt; magazine contains my latest development article in the October 2009 issue, titled "Windows 7 &amp;mdash; Mitä uutta kehittäjälle?".&lt;/p&gt;

&lt;p&gt;The new article talks about the brand new features such as touch support, energy efficiency and better graphics, among many other things.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <pubDate>Sat, 24 Oct 2009 13:44:54 GMT</pubDate>
      <guid isPermaLink="false">47943b6a-108e-4e70-9d5c-6a29ba7d2495</guid>
    </item>
    <item>
      <title>Visual Studio 2010 Team Foundation Server 2010</title>
      <link>http://www.microsoft.com/downloads/details.aspx?FamilyID=6c70fd8f-615e-4203-a028-acb2c2b8b88f&amp;displaylang=en</link>
      <description>&lt;p&gt;Now that Visual Studio 2010 Beta 2 is out, Team System users are surely interestd in the latest features. To test these, you will also need the Team Foundation Server (TFS), which has also been updated to Beta 2. You can directly download the ISO image &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=6c70fd8f-615e-4203-a028-acb2c2b8b88f&amp;displaylang=en"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The server can be installed on Windows Vista, Windows 7 and Windows Server 2003 and 2008 operating systems. Shortly put, anything above Windows NT 6.0. :-)&lt;/p&gt;

&lt;p&gt;Happy hacking!&lt;/p&gt;</description>
      <pubDate>Fri, 23 Oct 2009 15:53:51 GMT</pubDate>
      <guid isPermaLink="false">1e69bcb1-5e7e-4463-b79c-f81061fa5f1f</guid>
    </item>
    <item>
      <title>Visual Studio 2010 Beta 2 and new product editions</title>
      <link>http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx</link>
      <description>&lt;p&gt;On the same date as Windows 7 became available, Microsoft announced &lt;a href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx"&gt;Visual Studio 2010 Beta 2&lt;/a&gt;. You can download the latest beta here or from MSDN, as you see fit.&lt;/p&gt;

&lt;p&gt;In addition to many technical features that I can't wait to get my hands on, the product editions we've learned to use a changing. In the next release of Visual Studio, there will be three product editions: Professional, Premium and Ultimate. Team Editions will disappear, though you can say that those features that were previously in Team Editions, can now be found from the Premium and Ultimate editions.&lt;/p&gt;

&lt;p&gt;Microsoft has already published quite extensive information about the new editions on the &lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx"&gt;product information pages&lt;/a&gt;, so if you wish to find more information, visit this page first.&lt;/p&gt;

&lt;p&gt;And of course, remember to &lt;a href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx"&gt;download&lt;/a&gt; and install the Beta 2 as well. It now comes with a "Go Live" license, which allows you to create production code already with the beta.&lt;/p&gt;

&lt;p&gt;Next, I'm planning to blog about what's new in Beta 2. Stay tuned.&lt;/p&gt;</description>
      <pubDate>Thu, 22 Oct 2009 15:39:39 GMT</pubDate>
      <guid isPermaLink="false">1bc1542f-3969-4036-ab91-641d3c0c99b5</guid>
    </item>
    <item>
      <title>Windows 7 is now globally available</title>
      <link>http://www.microsoft.com/windows/windows-7/default.aspx</link>
      <description>&lt;p&gt;As you might already know, today (22nd of October, 2009) is the global availability (GA) date for Windows 7. This means that starting today (if not earlier), every user is able to buy &lt;a href="http://www.microsoft.com/windows/windows-7/default.aspx"&gt;Windows 7&lt;/a&gt; from their favorite shop. After returning from my vacation, I today had the chance to install Windows 7 into one of my laptops. Looking good!&lt;/p&gt;</description>
      <pubDate>Thu, 22 Oct 2009 14:57:24 GMT</pubDate>
      <guid isPermaLink="false">e3eae63e-bdc3-44d7-b0b3-2a5f13c14197</guid>
    </item>
    <item>
      <title>Back from vacation</title>
      <link>http://en.wikipedia.org/wiki/Southeast_Asia</link>
      <description>&lt;p&gt;You might have noticed that for the past two weeks, there hasn't been much activity here. There's a reason: I spent two weeks on vacation in Southeastern Asia.&lt;/p&gt;

&lt;p&gt;I hope to get up to speed quickly, so stay tuned for more posts!&lt;/p&gt;</description>
      <pubDate>Wed, 21 Oct 2009 04:05:53 GMT</pubDate>
      <guid isPermaLink="false">ac2ae0f2-cd96-4f37-9c2e-fe83b6b96605</guid>
    </item>
    <item>
      <title>Learning Silverlight from videos</title>
      <link>http://silverlight.net/learn/videos/lyndacom-silverlight-essential-training/</link>
      <description>&lt;p&gt;Sometimes, people ask me a good source of screencasts (very popular nowadays) that would talk and teach about Silverlight basics. I usually point people to Silverlight.net web site, but since the site is large in itself, it can be somewhat difficult to find what you need.&lt;/p&gt;

&lt;p&gt;Thus, I give you a quick pointer to a nice page of "&lt;a href="http://silverlight.net/learn/videos/lyndacom-silverlight-essential-training/"&gt;Silverlight Essential Training&lt;/a&gt;", which I can recommend if you are interested in learning more about Silverlight. Of course, don't forget the basic tutorials at &lt;a href="http://silverlight.net/learn/videos/all/"&gt;Silverlight.net/learn/videos&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Good luck!&lt;/p&gt;</description>
      <pubDate>Mon, 05 Oct 2009 19:44:18 GMT</pubDate>
      <guid isPermaLink="false">88d3b07f-7a62-426e-a338-916ce6d7846e</guid>
    </item>
    <item>
      <title>The power of immediate response</title>
      <link>http://en.wikipedia.org/wiki/Patience</link>
      <description>&lt;p&gt;It's a well-known fact that in the Internet, customers can become impatient. Although I like to think of myself as quite a patient person, I still can appeciate swift responses.&lt;/p&gt;

&lt;p&gt;Lately, I've needed to form business relationshipts with new companies that I've not done business with before. In all the cases, I've went to the company's web site, filled in a form, and then waited for a response.&lt;/p&gt;

&lt;p&gt;Sometimes, I get a response e-mail back immediately saying, "Welcome!" or something similar to that extent -- even if you would still have to wait after that e-mail. In others, I just get nothing, but instead have to wait several business days to get feedback. Can you imagine which would be a better choice?&lt;/p&gt;

&lt;p&gt;This is again those situations when some little software development effort (sending an e-mail after completing a registration form) can significantly increase the satisfaction of a customer, especially a new one. Something to think about.&lt;/p&gt;</description>
      <pubDate>Sat, 03 Oct 2009 09:39:49 GMT</pubDate>
      <guid isPermaLink="false">20003cb9-c3b7-48d7-bde2-f76eb1606263</guid>
    </item>
    <item>
      <title>The new WebsiteSpark program</title>
      <link>http://www.microsoft.com/web/websitespark/</link>
      <description>&lt;p&gt;Just recently, Microsoft announced a new program to spice up the small business segment. The new program called &lt;a href="http://www.microsoft.com/web/websitespark/"&gt;WebsiteSpark&lt;/a&gt; is a continuation in the line of BizSpark and DreamSpark. Now, WebsiteSpark is, as the name suggests, aimed at web application developers and companies running them.&lt;/p&gt;

&lt;p&gt;The exact details are here, but the program basically gives approved members access to production use licenses of Windows Server and SQL Server, and allows you to run them to power Internet applications. Also, you will get a set of Visual Studio licenses to help you get your application developed.&lt;/p&gt;

&lt;p&gt;As with the other *Biz programs, WebsiteSpark is a free, three-year program. At the end of the program, an exit fee of USD $100 must be paid, so all in all, the price per year is a mere $33.33. Not much, indeed!&lt;/p&gt;</description>
      <pubDate>Wed, 30 Sep 2009 16:33:45 GMT</pubDate>
      <guid isPermaLink="false">55c30550-e8cb-41c1-8bc5-ca7487ac1e3b</guid>
    </item>
    <item>
      <title>How do application compatibility shims work?</title>
      <link>http://technet.microsoft.com/en-us/library/dd837644(WS.10).aspx</link>
      <description>&lt;p&gt;Since a new Windows operating system, Windows 7, is now here, application compatibility is again a issue in developer's and IT administrator's minds. From a management perspective, you might have run into the term &lt;a href="http://technet.microsoft.com/en-us/library/dd837644(WS.10).aspx"&gt;shim&lt;/a&gt;, which are ways to make application better compatible with the new Windows version.&lt;/p&gt;

&lt;p&gt;Shims can be created with utilities in the Application Compatibility Toolkit, but how do shims technically speaking work? The idea of using shims comes from the fact that application compatibility can be caused by applications not using Windows API functions exactly correctly, or behaving erratically if the APIs return something that is not expected, such as a new version number or flags with unaccounted-for bits set.&lt;/p&gt;

&lt;p&gt;Shims, then, are ways to force Windows API call results to be more in line with what the problematic applications expect. Yes, it's a problem on the application side, and not on Windows'. But sometimes, source code for an older but critical application might not be available anymore, or the vendor that originally created the application is no longer in business.&lt;/p&gt;

&lt;p&gt;When the operating system loads an executable into memory, Windows API function pointers are mapped by the OS loader. There is a memory table called the Address Table (IAT) that points to API function entry points, and then your application can simply jump to a correct memory location to call that API function. But when shims are present (administrative opt-in specifies this), Windows alters the function pointers so that instead of calling for example GetVersionEx function directly, a separate wrapper function is called instead.&lt;/p&gt;

&lt;p&gt;This wrapper does eventually call the original API function, but might chance the parameter values used in the call, or alternatively might change the results slightly before returning to the original caller, i.e. your application. This way, your (old) application can still be compatible and run with Windows 7, even though it wouldn't be exactly so just out of the box. This is what shims are for, and how they work.&lt;/p&gt;</description>
      <pubDate>Sun, 27 Sep 2009 07:02:27 GMT</pubDate>
      <guid isPermaLink="false">d8ab30a8-8c23-44b6-a48e-b07520a571ef</guid>
    </item>
    <item>
      <title>New SQL Server article published on Developer.com</title>
      <link>http://www.developer.com/net/article.php/3839056/Using-new-location-aware-data-types-in-SQL-Server-2008.htm</link>
      <description>&lt;p&gt;If you are looking to develop applications that need to store location based data and you are using Microsoft SQL Server, then you might wish to learn about SQL Server 2008's new database support for spatial and location based data.&lt;/p&gt;

&lt;p&gt;I've written an introductory article &lt;a href="http://www.developer.com/net/article.php/3839056/Using-new-location-aware-data-types-in-SQL-Server-2008.htm"&gt;about these new data types&lt;/a&gt; and how to use them from .NET/C# applications with Visual Studio. The article is titled "Using new location-aware data types in SQL Server 2008" and available on Developer.com.&lt;/p&gt;

&lt;p&gt;Happy reading, and remember to let me know if you use these new data types in your applications!&lt;/p&gt;</description>
      <pubDate>Fri, 25 Sep 2009 14:00:54 GMT</pubDate>
      <guid isPermaLink="false">bbfebb82-f728-4dbf-8d12-c357730aa18c</guid>
    </item>
    <item>
      <title>Commodore 64 article in Tietokone</title>
      <link>http://www.tietokone.fi/</link>
      <description>&lt;p&gt;The Finnish &lt;a href="http://www.tietokone.fi/"&gt;Tietokone magazine&lt;/a&gt; has published my latest article, this time titled simply "Paluu 80-luvulle" (Return to the 80s). This two-pager talks about Commodore 64 emulators on Windows, and reminds you of such legendary games like Last Ninja, Command, Skate or Die and Blue Max.&lt;/p&gt;

&lt;p&gt;Today, there are multiple emulators for different operating systems, and you can easily download them for example for Windows. There are also multiple sites available which distribute those games of the era. Today, many of these games appear to be so-called abandonware.&lt;/p&gt;

&lt;p&gt;Happy reading and above all, nostalgic gaming!&lt;/p&gt;</description>
      <pubDate>Tue, 22 Sep 2009 18:23:16 GMT</pubDate>
      <guid isPermaLink="false">e55e344d-9a42-4f37-8811-c656b3417a46</guid>
    </item>
    <item>
      <title>CodePlex backed now by a foundation</title>
      <link>http://www.codeplex.org/faq-mission.aspx</link>
      <description>&lt;p&gt;The popular, Microsoft-hosted open-source code sharing site CodePlex (running on Team Foundation Server, by the way) has gotten a new foundation to support the site. Just recently formed, the CodePlex Foundation will "enable the exchange of code and understanding among software companies and open source communities".&lt;/p&gt;

&lt;p&gt;The CodePlex open-source sharing site is available at &lt;a href="http://www.codeplex.com/"&gt;www.codeplex.com&lt;/a&gt;, and the CodePlex Foundation at &lt;a href="http://www.codeplex.org/"&gt;www.codeplex.org&lt;/a&gt;. Slightly misleading, but the nice FAQ gives you answers about the differences.&lt;/p&gt;</description>
      <pubDate>Mon, 21 Sep 2009 18:25:52 GMT</pubDate>
      <guid isPermaLink="false">ba581476-d28a-488f-8723-79b9a6743632</guid>
    </item>
    <item>
      <title>Two new guides for Windows 7 (hardware) developers</title>
      <link>http://www.microsoft.com/whdc/default.mspx</link>
      <description>&lt;p&gt;Microsoft WHDC center (Windows Hardware Developer Central) has delivered two new guides for developers: "&lt;a href="http://www.microsoft.com/whdc/system/hwdesign/MemSizingWin7.mspx"&gt;Memory Sizing Guidance for Windows 7&lt;/a&gt;" and "&lt;a href="http://www.microsoft.com/whdc/device/display/GraphicsGuideWin7.mspx"&gt;Graphics Guide for Windows 7&lt;/a&gt;". These Word documents talk about performance gains that bringing additional RAM to the system can bring, and also how new graphics APIs help deliver better graphics and usability.&lt;/p&gt;

&lt;p&gt;If you are interested in hardware design or developing close to the OS level, then don't forget the newly released &lt;a href="http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx"&gt;Windows Driver Kit (WDK) 7.0.0&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Sat, 19 Sep 2009 05:37:56 GMT</pubDate>
      <guid isPermaLink="false">01d28209-06ab-4555-a631-1967903ed145</guid>
    </item>
    <item>
      <title>Visual Studio 2010 and .NET 4.0 Training Kit</title>
      <link>http://www.microsoft.com/downloads/details.aspx?familyid=1C333F06-FADB-4D93-9C80-402621C600E7&amp;displaylang=en</link>
      <description>&lt;p&gt;Earlier, while Windows 7 was still in beta, I metnioned about a Windows 7 developer training kit. Now that Windows 7 is ready and the RTM version is available, you might find the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=1C333F06-FADB-4D93-9C80-402621C600E7&amp;displaylang=en"&gt;Windows 7 Training Kit For Developers&lt;/a&gt; available on Microsoft Download Center useful.&lt;/p&gt;

&lt;p&gt;Use &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=1C333F06-FADB-4D93-9C80-402621C600E7&amp;displaylang=en"&gt;this link&lt;/a&gt; to download the training kit, and then start developing!&lt;/p&gt;</description>
      <pubDate>Wed, 16 Sep 2009 20:37:18 GMT</pubDate>
      <guid isPermaLink="false">3817d885-e519-40a7-b9c7-6cd4c701c585</guid>
    </item>
    <item>
      <title>SQL Server 2008 backup compression not available in Standard Edition</title>
      <link>http://msdn.microsoft.com/en-us/library/ms187658.aspx</link>
      <description>&lt;p&gt;Backing up database data is very important no matter which database product (RDMS) you are using. Now, if you want to schedule backups in SQL Server 2008 (applies to earlier version as well), you would create a new &lt;a href="http://msdn.microsoft.com/en-us/library/ms187658.aspx"&gt;maintenance plan&lt;/a&gt;, select the database to back up, and then set a schedule. Simple enough.&lt;/p&gt;

&lt;p&gt;However, if you are using SQL Server 2008 Standard Edition (much more common than the more expensive Enterprise Edition), there's on small catch. The wizard dialog box offers the ability to allow backup compression.&lt;/p&gt;

&lt;p&gt;This sounds very useful because backup files usually take equal amounts of disk space than the original database .MDF files. Additionally, the backup files (and the original database files, by the way) compress well when you zip ("winzip") those files. So, even a little compression would come a long way in saving disk space.&lt;/p&gt;

&lt;p&gt;The catch is this: when you enable compression in SQL Server 2008 Standard Edition, the database maintenance plan can be created just fine. But when you run the plan, then you will get an error message saying:&lt;/p&gt;

&lt;pre&gt;
Status: Warning: One or more tasks failed.
...
Failed:(-1073548784) Executing the query
"BACKUP DATABASE [SomeDB] TO  DISK =
N'C:\\Backup\So..." failed with the following
error: "BACKUP DATABASE WITH COMPRESSION is
not supported on Standard Edition.
&lt;/pre&gt;

&lt;p&gt;It would be great if the wizard would warn about this beforehand, but it doesn't. So, stay careful when you schedule and set up maintenance plans for backups.&lt;/p&gt;</description>
      <pubDate>Mon, 14 Sep 2009 14:19:45 GMT</pubDate>
      <guid isPermaLink="false">ea012089-9f9d-4e53-98c2-3871dd46cadc</guid>
    </item>
    <item>
      <title>A quick reference guide for Visual Studio Team Test 2008</title>
      <link>http://vstt2008qrg.codeplex.com/</link>
      <description>&lt;p&gt;Are you using Visual Studio Team System 2008? Or more specifically Visual Studio Team Test (VSTT)? If yes, then you might find the newish &lt;a href="http://vstt2008qrg.codeplex.com/"&gt;VSTT 2008 Quick Reference Guide&lt;/a&gt;, available on CodePlex, valuable.&lt;/p&gt;

&lt;p&gt;To get this guide, visit the &lt;a href="http://vstt2008qrg.codeplex.com/"&gt;project site&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Sat, 12 Sep 2009 13:54:38 GMT</pubDate>
      <guid isPermaLink="false">4fc5fa81-4ec6-4e82-a624-881006ae361f</guid>
    </item>
    <item>
      <title>Speaking about ASP.NET MVC at ReMix09 Helsinki</title>
      <link>http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032424232&amp;culture=fi-FI</link>
      <description>&lt;p&gt;Microsoft Finland arranges on 30th September the Finnish version of the ReMix09 event in Helsinki. I have to speak at the event after the top-names, including Brad Abrams, Adam Kinney and August des los Reyes. This time, my topic is ASP.NET MVC, so if you are interested in user experiences, web application development, Expression products or development with these tools, this is the place to be.&lt;/p&gt;

&lt;p&gt;The event is held at Kinopalatsi, and starts at 9:30 am. Follow &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032424232&amp;culture=fi-FI"&gt;this link&lt;/a&gt; to register for the event.&lt;/p&gt;</description>
      <pubDate>Thu, 10 Sep 2009 14:17:27 GMT</pubDate>
      <guid isPermaLink="false">1f6a0745-6149-40dc-829a-24782a9f88cc</guid>
    </item>
    <item>
      <title>Doloto aims to improve performance on AJAX applications</title>
      <link>http://msdn.microsoft.com/en-us/devlabs/ee423534.aspx</link>
      <description>&lt;p&gt;On Friday, Somasegar announced on &lt;a href="http://blogs.msdn.com/somasegar/archive/2009/09/04/doloto-on-devlabs.aspx"&gt;his blog&lt;/a&gt; a new DevLabs project called Doloto. Doloto aims to optimize AJAX/JavaScript web applications by allowing more intelligent loading of the .js files that contain the browser-based scripts for the application's user interface.&lt;/p&gt;

&lt;p&gt;According to DevLabs, Doloto is "especially useful for large and complex Web 2.0 applications that contain a lot of code, such as Bing Maps, Hotmail, etc." They also show nice performance graphs, which indeed show impressive performance benefits. Of course, this project is still cooking, and results might improve. But so far, initial load times can improve in the range of 20 to 40 per cent easily, and even more.&lt;/p&gt;

&lt;p&gt;Sounds good! I'm looking forward to the progress of this project.&lt;/p&gt;</description>
      <pubDate>Sun, 06 Sep 2009 16:51:04 GMT</pubDate>
      <guid isPermaLink="false">4c140a58-cb83-477d-9cf1-306d24dc13d8</guid>
    </item>
    <item>
      <title>Comparing performance of different VHD implementations&lt;</title>
      <link>http://blogs.technet.com/virtualization/archive/2009/05/14/native-vhd-support-in-windows-7.aspx</link>
      <description>&lt;p&gt;One of the great little features in Windows 7 and Windows Server 2008 R2 is the ability to use virtual hard disks of VHD files in new creative ways. For instance, if you have an operating system installed in a VHD file, you can boot a physical computer/server from that file. Or, you can mount this VHD file as a regular hard disk drive, and so easily transfer your applications and files from one place into another.&lt;/p&gt;

&lt;p&gt;For IT people alone, this opens a wide range of possibilities. But developers can benefit as well. For instance, in the future a VHD file might become the standard of application delivery for local installations, but time will tell. Nonetheless, the technology is already there, and just need to be able to use it. Also, there's &lt;a href="http://msdn.microsoft.com/en-us/library/dd323684(VS.85).aspx"&gt;an API&lt;/a&gt; to help managing these files.&lt;/p&gt;

&lt;p&gt;However, finding information about things such as performance is presently difficult, as the technology is brand new. However, I've managed to find a nice blog post on Technet detailing about different VHD scenarios. For instance, it can make a big difference whether you create your VHD file fixed or dynamic in size. Read the details here, and scroll down until you see the performance graphs.&lt;/p&gt;</description>
      <pubDate>Fri, 04 Sep 2009 15:54:01 GMT</pubDate>
      <guid isPermaLink="false">195ad1b6-e9f0-495f-a02a-3816031d08d6</guid>
    </item>
    <item>
      <title>New screencast published about Windows Mobile development</title>
      <link>http://www.internet.com/player/index.php?bcpid=1534611832&amp;bclid=1433966034&amp;bctid=36528341001</link>
      <description>&lt;p&gt;Developer.com has just published my latest developer screencast about Windows Mobile development, and using SQL Server databases in those applications. The &lt;a href="http://www.internet.com/player/index.php?bcpid=1534611832&amp;bclid=1433966034&amp;bctid=36528341001"&gt;nine-minute screencast&lt;/a&gt; also contains information about how to setup a virtual, emulated network for 3G/GPRS data connections so that you can do all the necessary networking testing using the phone editors.&lt;/p&gt;

&lt;p&gt;The screencast is available on the &lt;a href="http://www.developer.com/video/"&gt;Videos section&lt;/a&gt;. Enjoy!&lt;/p&gt;</description>
      <pubDate>Wed, 02 Sep 2009 18:53:24 GMT</pubDate>
      <guid isPermaLink="false">095af502-ba2d-4e83-9880-c40cb022d4e6</guid>
    </item>
    <item>
      <title>Interview in Finnish Tietoviikko newspaper</title>
      <link>http://www.tietokone.fi/</link>
      <description>&lt;p&gt;The Finnish Tietoviikko weekly newspaper has a section about Windows 7 and one of the topics is the change that developers face when focusing on the new operating system. Tietoviikko chose to interview me and ask questions like, "What's new and significant for developers in Windows 7?" The title of the article is "Kehittäjä kiillottaa pintaa".&lt;/p&gt;

&lt;p&gt;You can read the full text in the paper dated 28th August, 2009 or online on Tietoviikko's web pages.&lt;/p&gt;</description>
      <pubDate>Mon, 31 Aug 2009 14:19:23 GMT</pubDate>
      <guid isPermaLink="false">009e9831-ec2f-4565-b5c3-cf118062c526</guid>
    </item>
    <item>
      <title>Article about .NET and concurrency in Prosessori magazine</title>
      <link>http://www.prosessori.fi/</link>
      <description>&lt;p&gt;The August issue of the Finnish &lt;a href="http://www.prosessori.fi/"&gt;Prosessori magazine&lt;/a&gt; includes my latest software development article about .NET development and more specifically .NET 4.0's new concurrency technologies Task Parallel Library (TPL) and Parallel LINQ (PLINQ). The article is titled "Parallel-kirjastoilla rinnakkaisuutta .NET-ohjelmointiin".&lt;/p&gt;

&lt;p&gt;Enjoy, and remember let me know what you think!&lt;/p&gt;</description>
      <pubDate>Thu, 27 Aug 2009 14:18:27 GMT</pubDate>
      <guid isPermaLink="false">d4cb68de-ecc7-4959-9117-e5620dde20d6</guid>
    </item>
    <item>
      <title>Adding geometry data to a SQL Server 2008 database with C#</title>
      <link>http://technet.microsoft.com/en-us/magazine/2008.04.datatypes.aspx</link>
      <description>&lt;p&gt;If you are already using SQL Server 2008, you might be aware that one of the new interesting features is the support for &lt;a href="http://technet.microsoft.com/en-us/magazine/2008.04.datatypes.aspx"&gt;spatial data&lt;/a&gt; and coordinates. More specifically, the database supports new data types called "geometry" and "geography", and you can also use these directly from C#. I've found that although the data types itself are nicely documented for instance on SQL Server Books Online (BOL) on MSDN, C# code examples are scarcely available.&lt;/p&gt;

&lt;p&gt;Thus, I wanted to briefly share a simple code example on how to add a single geometry point to a SQL Server 2008 database table, which contains a field called "point1" defined as a "geometry" type. In this case, the code that you could use would be:&lt;/p&gt;

&lt;pre&gt;
using Microsoft.SqlServer.Types;
...
int x = 12;
int y = 23;
SqlGeometry geom = SqlGeometry.Point(x, y, 0);
string sql = "INSERT INTO [mytable] " +
"([point1]) VALUES (@point1)";
SqlConnection conn = ...
SqlCommand cmd = new SqlCommand(sql, conn);
SqlParameter param = cmd.Parameters.
  AddWithValue("@point1", geom);
param.UdtTypeName = "geometry";
conn.Open();
int rows = cmd.ExecuteNonQuery();
&lt;/pre&gt;

&lt;p&gt;I'm presently preparing a longer article on the topic for Developer.com, so stay tuned. The article should be published around late September/early October.&lt;/p&gt;</description>
      <pubDate>Mon, 24 Aug 2009 18:02:16 GMT</pubDate>
      <guid isPermaLink="false">71b659a8-7398-454f-9406-7b564b6aca8f</guid>
    </item>
    <item>
      <title>Changing the database owner of SQL Server databases</title>
      <link>http://msdn.microsoft.com/en-us/library/aa259622(SQL.80).aspx</link>
      <description>&lt;p&gt;In SQL Server databases, the database owner, or dbo has special rights to the particular database. Sometimes however, it is necessary to change the database owner due to security rights, administrative convenience, and so on.&lt;/p&gt;

&lt;p&gt;Although it is easy to view the owner of the database (for example through SQL Server Management Studio, from the properties window of a database), it is not immediately apparent how to change that value.&lt;/p&gt;

&lt;p&gt;Luckily, SQL Server provides an easy stored procedure that you can use. This procedure is called &lt;a href="http://msdn.microsoft.com/en-us/library/aa259622(SQL.80).aspx"&gt;sp_changedbowner&lt;/a&gt;, and works at least from SQL Server 2000 SP3 onwards. Using the procedure is very easy. For example, say you have Windows Active Directory domain "COMP" and user "Joe" whom you would like to assign as the new database owner. You would then execute following command in the context of the database in question:&lt;/p&gt;

&lt;pre&gt;
EXEC sp_changedbowner 'COMP\Joe'
&lt;/pre&gt;

&lt;p&gt;Of course, you must have the appropriate rights to change the owner. Also note that from SQL Server 2005 and 2008 and onwards, you should consider using the &lt;a href="http://msdn.microsoft.com/en-us/library/ms187359.aspx"&gt;ALTER AUTHORIZATION&lt;/a&gt; command instead. The sp_changedbowner procedure will be deprecated in future versions of SQL Server.&lt;/p&gt;

&lt;p&gt;Keywords: HowTo&lt;/p&gt;</description>
      <pubDate>Fri, 21 Aug 2009 14:30:23 GMT</pubDate>
      <guid isPermaLink="false">c6d3c735-5251-4b59-b660-430a6e2721f0</guid>
    </item>
    <item>
      <title>Exchange 2010 Beta 1, and W2K8 R2 RTM</title>
      <link>http://www.microsoft.com/exchange/2010/en/us/try-it.aspx</link>
      <description>&lt;p&gt;Microsoft has just recently announced the availablity of Exchange Server 2010 Beta 1, which is now &lt;a href="http://www.microsoft.com/presspass/press/2009/apr09/04-15Exchange2010PR.mspx"&gt;&lt;/a&gt;publicly available. The product itself should be ready in second half of 2009, meaning probably something around October-November timeframe (my wild guess).&lt;/p&gt;

&lt;p&gt;The beta itself is available &lt;a href="http://www.microsoft.com/exchange/2010/en/us/try-it.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Also, Windows Server 2008 R2 is now available on &lt;a href="http://msdn.microsoft.com/"&gt;MSDN&lt;/a&gt;, so make sure you get the bits flowing. And as an additional bonus for today, there's now the final version of the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1c333f06-fadb-4d93-9c80-402621c600e7&amp;displaylang=en"&gt;Windows 7 Training Kit For Developers&lt;/a&gt; available.&lt;/p&gt;</description>
      <pubDate>Wed, 19 Aug 2009 15:06:41 GMT</pubDate>
      <guid isPermaLink="false">1118d92c-8bec-4402-8972-6a884b2cf47e</guid>
    </item>
    <item>
      <title>What is Dryad?</title>
      <link>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Michael-Isard-Inside-Dryad/</link>
      <description>&lt;p&gt;Are you interested in developing applications for High Performance Computing (HPC) or clusters? If so, then you might be interested in Microsoft's Dryad. &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Michael-Isard-Inside-Dryad/"&gt;Dryad&lt;/a&gt; is "an infrastructure which allows a programmer to use the resources of a computer cluster or a data center for running data-parallel programs."&lt;/p&gt;

&lt;p&gt;Sounds cool! Though I confess I don't have a computing clusted back home with which I could test this new technology, I'm sure the lessons learned with clusters will later on drop in the .NET Framework. It's easy to see that the number of cores in processors is getting up quickly (Intel's six-core processors (with Hyper Threading) will be here in early 2010), so in ten years you might have a nifty little cluster working inside every computer.&lt;/p&gt;

&lt;p&gt;It's about time we're finding solutions to make programming easier.&lt;/p&gt;</description>
      <pubDate>Tue, 18 Aug 2009 14:24:21 GMT</pubDate>
      <guid isPermaLink="false">80029fbf-7812-412f-a35d-fb4bc1c6f9d8</guid>
    </item>
    <item>
      <title>Future developer events in the U.S.</title>
      <link>http://www.microsoftpdc.com/</link>
      <description>&lt;p&gt;If you are interested in attending Microsoft's developer related events in the future, then here's a list of forthcoming events in the U.S.&lt;/p&gt;

&lt;p&gt;PDC, or &lt;a href="http://www.microsoftpdc.com/"&gt;Professional Developer Conference&lt;/a&gt; is the big and beautiful, solely developer-focused event. It is to be held Nov. 16 to 19 in Los Angeles. As you might know, PDC is only held if there is "enough" new technology content to show.&lt;/p&gt;

&lt;p&gt;Of course in addition to PDC, there is TechEd. TechEd 2010 will be held in New Orleans from June 7 to 11, 2010.&lt;/p&gt;

&lt;p&gt;And third, there's Microsoft Mix. This event is for designers and web developers interested especially in ASP.NET and Expression products. Mix 2010 will be held in Las Vegas on March 15 to 17, 2010. If I'm not mistaken, Mandalay Bay should be the hotel.&lt;/p&gt;</description>
      <pubDate>Sat, 15 Aug 2009 07:31:13 GMT</pubDate>
      <guid isPermaLink="false">8d95f0df-daaa-4b17-9540-3eb00f962958</guid>
    </item>
    <item>
      <title>New article in Tietokone about astronomy software</title>
      <link>http://www.worldwidetelescope.org/</link>
      <description>&lt;p&gt;The Finnish &lt;a href="http://www.tietokone.fi/"&gt;Tietokone magazine&lt;/a&gt; has published my latest software article, titled "Digitähdet loistavat pilvisenäkin yönä". The article talks about different astronomical software and web sites, such as &lt;a href="http://www.worldwidetelescope.org/"&gt;WorldWide Telescope&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <pubDate>Thu, 13 Aug 2009 14:30:50 GMT</pubDate>
      <guid isPermaLink="false">c4b4750b-8bf1-463f-a87b-32589ebf4c18</guid>
    </item>
    <item>
      <title>Installing and using Code Contracts</title>
      <link>http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx</link>
      <description>&lt;p&gt;Recently, I've received many questions regarding MSDN DevLabs' recent addition, &lt;a href="http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx"&gt;Code Contracts&lt;/a&gt;. The two most common questions were, do I need to install the DevLabs setup package for Visual Studio 2010 Beta 1 (#1), and secondly, why cannot I see the results of the static analysis anywhere (#2).&lt;/p&gt;

&lt;p&gt;Herewith quick answers to these questions. #1: Yes, you need to install the package. You can use the Contract class(es) without the installation in Visual Studio 2010, but the static analysis and project settings won't be available then. #2: The static analysis appear on the Error List window in Visual Studio IDE. But, they are created using an asynchronous process, which is launched after the C# compiler. Because of the asynchronous nature, the results cannot immediately be seen; you might need to wait more than a minute to see them. Be patient.&lt;/p&gt;

&lt;p&gt;Presently, I'm also working on a longer article on the topic, so stay tuned!&lt;/p&gt;</description>
      <pubDate>Wed, 12 Aug 2009 15:34:13 GMT</pubDate>
      <guid isPermaLink="false">0563cdbc-b5f9-49ab-bad0-2a4b0d8386c4</guid>
    </item>
    <item>
      <title>New problem solving tools from Microsoft Fix It</title>
      <link>http://www.microsoft.com/downloads/details.aspx?FamilyId=CEBF3C7C-7CA5-408F-88B7-F9C79B7306C0&amp;displaylang=en</link>
      <description>&lt;p&gt;Today, computers are such a commodity that most users don't know much about the specifics of their desktop and laptop computers. Any why should they? Even the cheapest PCs today can run almost any business desktop application with ease, excluding maybe those high-end design and graphics software.&lt;/p&gt;

&lt;p&gt;However, solving application problems often requires knowledge of the hardware, software and configuration done to the particular computer. Traditionally, this information has been asked directly from the user, but more often than not, the answer is: "I'm not sure".&lt;/p&gt;

&lt;p&gt;Luckily, the built-in tools in the operating system are getting better, and I've earlier talked about Windows System Information utility called MSINFO32.EXE, often residing on the path "C:\Program Files\Common Files\Microsoft Shared\MSInfo\msinfo32.exe". This tool can be run by the user, and the results can be exported to a file and shipped to the developer/support person.&lt;/p&gt;

&lt;p&gt;However, the information provided by this tool, although useful, is not always enough. Because of this, Microsoft has come up with a new utility, part of the Microsoft Fix It web site. This utility, officially called "&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=CEBF3C7C-7CA5-408F-88B7-F9C79B7306C0&amp;displaylang=en"&gt;Microsoft Product Support Reports&lt;/a&gt;" collects tons of information from the remote system, and thus can be very useful in solving customer problems. The tool can be run without installation, but the problem is that administrative rights are required. Also, depending on the amount of information selected to be collected, the tool runs for a good three to six minutes.&lt;/p&gt;

&lt;p&gt;Even so, the tool is invaluable, and hasn't been available for long. You can download it here. Separate versions are provided for 32-bit and 64-bit systems.&lt;/p&gt;

&lt;p&gt;Remember also, that Windows 7 will also contain new tools. My favorite is the Problem Steps Recorder tool or PSR.EXE. This tool can be used to show to the developer/support person how the application is actually being used before the error occurred.&lt;/p&gt;</description>
      <pubDate>Sun, 09 Aug 2009 15:53:41 GMT</pubDate>
      <guid isPermaLink="false">707f49e7-9848-4c5d-a674-8d21cf5aa2eb</guid>
    </item>
    <item>
      <title>Now it's here: Windows 7 RTM on MSDN</title>
      <link>https://msdn.microsoft.com/en-us/subscriptions/securedownloads/default.aspx</link>
      <description>&lt;p&gt;There it is now: Windows 7 RTM &lt;a href="https://msdn.microsoft.com/en-us/subscriptions/securedownloads/default.aspx"&gt;on MSDN&lt;/a&gt;. At least initially, the site appears responsive, so just maybe, I might be able to download my copy this evening.&lt;/p&gt;

&lt;p&gt;Meanwhile, be sure to download your copy while the bandwidth lasts. :-)&lt;/p&gt;

&lt;p&gt;Edit: Windows Server 2008 R2 RTM will follow soon.&lt;/p&gt;</description>
      <pubDate>Thu, 06 Aug 2009 17:50:18 GMT</pubDate>
      <guid isPermaLink="false">4a4cce51-fa7f-4b45-aa75-78d894c667f5</guid>
    </item>
    <item>
      <title>Transactional memory with .NET</title>
      <link>http://msdn.microsoft.com/en-us/devlabs/ee334183.aspx</link>
      <description>&lt;p&gt;Programming for concurrency and parallel applications is hard. Of course, this is partially because of the right tools, but nonetheless having the correct mindset to develop applications for the latest multi-core processors will continue to require extensive effort for at least five to ten year.&lt;/p&gt;

&lt;p&gt;Now, one of the biggest potential helpers to aid developers in writing concurrent applications is transactional memory http://en.wikipedia.org/wiki/Transactional_memory. If you've worked with almost any SQL databases, you are surely familiar with transactions. The basic idea of transactional memory is the same: you define which operations should be atomic, and the runtime (etc.) handles the rest.&lt;/p&gt;

&lt;p&gt;For C# and .NET developers, there's now something new and interesting. Called &lt;a href="http://msdn.microsoft.com/en-us/devlabs/ee334183.aspx"&gt;STM.NET&lt;/a&gt;, all C# coders can use this new preview library and set of tools to investigate the promise of  transactional memory. This package can be thought as of being an add-on to the current .NET 4.0 Beta 1. Says the STM.NET documentation:&lt;/p&gt;

&lt;p&gt;"Transactional memory is considered a promising technology by the academic community and is repeatedly brought up as a welcome technology for the upcoming wave of applications which scale on modern multi-core hardware."&lt;/p&gt;

&lt;p&gt;If this sounds interesting to you, be sure and go download the package today. It's available on MSDN DevLabs. Other interesting cookings at the DevLabs currently include Code Contracts (stay tuned for an intro later) and Axum, which is related to STM.NET.&lt;/p&gt;</description>
      <pubDate>Tue, 04 Aug 2009 14:46:30 GMT</pubDate>
      <guid isPermaLink="false">3b94cdb2-f58e-4dc9-8e11-9300bc65e6be</guid>
    </item>
    <item>
      <title>Emulating a phone network when developing applications for Windows Mobile</title>
      <link>http://msdn.microsoft.com/en-us/library/bb158495.aspx</link>
      <description>&lt;p&gt;Hello August! If you are interested in writing software for the Windows Mobile platform (WM, available on both smartphones and PDAs), then you have probably already heard of convenient software emulators that come with Visual Studio and/or the Windows Mobile development kits.&lt;/p&gt;

&lt;p&gt;These emulators allow you to test your applications using a piece of software that works and feels like a real phone. However, many phone applications are related to real phone calls, SMS messages and so on, and thus will not work as expected on the plain emulator.&lt;/p&gt;

&lt;p&gt;The good news is that I said "plain". Microsoft also provides another emulator called the Cellular Emulator, which can emulate a GSM/GPRS and/or UMTS network, and then the emulator can connect through it to a hard-coded set of phone numbers to make and receive calls and SMS messages and send data. All you need to do is fire up the Cellular Emulator, notice the used COM port on the left-bottom corner, configure the same port to the phone emulator, soft-reset the emulator, and then you will get a network like you were using a real phone (except you cannot make real phone calls, of course).&lt;/p&gt;

&lt;p&gt;Of course, even with the Cellular Emulator in place, an emulator is still just an emulator. Real and final application testing should be done with real phones, but especially with the Cellular Emulator, the Windows Mobile emulators are a great start.&lt;/p&gt;</description>
      <pubDate>Sun, 02 Aug 2009 16:08:43 GMT</pubDate>
      <guid isPermaLink="false">76e22094-2f99-4cac-9c61-c4d495aa54f1</guid>
    </item>
    <item>
      <title>ASP.NET MVC version 2 first preview available</title>
      <link>http://www.microsoft.com/downloads/details.aspx?FamilyID=d34f9eaa-fcbe-4e20-b2fd-a9a03de7d6dd&amp;displaylang=en</link>
      <description>&lt;p&gt;Continuing the topic of new summer releases: the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d34f9eaa-fcbe-4e20-b2fd-a9a03de7d6dd&amp;displaylang=en"&gt;ASP.NET MVC version 2 Preview 1&lt;/a&gt; is now here! As with many ASP.NET releases before, &lt;a href="http://weblogs.asp.net/scottgu/"&gt;ScottGu's blog&lt;/a&gt; is probably the best place to start learning. This time, he gives a &lt;a href="http://weblogs.asp.net/scottgu/archive/2009/07/31/asp-net-mvc-v2-preview-1-released.aspx"&gt;nice and through introduction&lt;/a&gt; to the new version.&lt;/p&gt;

&lt;p&gt;As you might guess, the new features planned to ASP.NET MVC 2 are many, and at this point the new attributes, area support (multiple ASP.NET projects in a single unified solution) and more efficient helpers sound the most interesting to my ear. Go and &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d34f9eaa-fcbe-4e20-b2fd-a9a03de7d6dd&amp;displaylang=en"&gt;download&lt;/a&gt; your preview copy today; it exists nicely along with ASP.NET MVC 1.0.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description>
      <pubDate>Fri, 31 Jul 2009 18:08:11 GMT</pubDate>
      <guid isPermaLink="false">4ed8b528-25a6-478a-bf30-3b896586c130</guid>
    </item>
    <item>
      <title>Windows Azure SDK updated</title>
      <link>http://www.microsoft.com/downloads/details.aspx?FamilyID=AA40F3E2-AFC5-484D-B4E9-6A5227E73590&amp;displaylang=en</link>
      <description>&lt;p&gt;If you are interested in cloud computing, development for these environments, and Windows Azure, then you are surely happy to learn that Microsoft just recently updated their Windows Azure SDK (Software Development Kit) with the July 2009 version.&lt;/p&gt;

&lt;p&gt;You can download the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=AA40F3E2-AFC5-484D-B4E9-6A5227E73590&amp;displaylang=en"&gt;new SDK kit&lt;/a&gt; here. One particularly interesting new piece is this: "the new PowershellRole sample hosts the Powershell runtime within a Windows Azure role."&lt;/p&gt;

&lt;p&gt;At around a 4 MB in size, this is one of those packages with a great weight-to-bits ratio.&lt;/p&gt;</description>
      <pubDate>Wed, 29 Jul 2009 19:27:14 GMT</pubDate>
      <guid isPermaLink="false">435737ab-5748-4ad4-9591-8ba895bf2a37</guid>
    </item>
    <item>
      <title>Where to find Windows 7 sample code?</title>
      <link>http://code.msdn.microsoft.com/WindowsAPICodePack</link>
      <description>&lt;p&gt;Some developers have contacted me and asked from where they could find examples on how to use the new Windows 7 features from code. Although MSDN contains tidbits of code (I'm sure more will follow in the future), some developers enjoy full example applications better.&lt;/p&gt;

&lt;p&gt;With that in mind, and especially so if you are using C# or .NET, I suggest downloading the &lt;a href="http://code.msdn.microsoft.com/WindowsAPICodePack"&gt;Windows API Code Pack for .NET&lt;/a&gt;, which contains first and foremost easy interfaces to Windows 7 (and Windows Server 2008 R2) features to managed code developers, but also a nice set of different sample applications.&lt;/p&gt;

&lt;p&gt;So, if you are looking for sample code in C#, go and download the Code Pack today. Good luck!&lt;/p&gt;</description>
      <pubDate>Sun, 26 Jul 2009 16:28:49 GMT</pubDate>
      <guid isPermaLink="false">bcaa6dd6-7e65-41af-8b90-9f2ab7f7121a</guid>
    </item>
    <item>
      <title>Windows 7 and Windows Server 2008 R2 are ready</title>
      <link>http://www.microsoft.com/Presspass/press/2009/jul09/07-22Windows7RTMPR.mspx</link>
      <description>&lt;p&gt;Microsoft announced yesterday that Windows 7 and Windows Server 2008 R2 have been &lt;a href="http://www.microsoft.com/Presspass/press/2009/jul09/07-22Windows7RTMPR.mspx"&gt;released to manufacturing&lt;/a&gt; (RTM). This means that the final bits are soon becoming available to MSDN and Technet subscribers, volume customers, and later on the general public. MSDN subscribers should get the bits in about two weeks, on August 6th, and the general public on October 22nd.
Sounds great to have the new versions of Windows ready!&lt;/p&gt;

&lt;p&gt;The difficult part now is to wait until the MSDN release. Luckily, the RC version still works, and time can also be spent for example on the new Thrive site, aimed at independent software vendors.&lt;/p&gt;

&lt;p&gt;Happy reading, the wait should soon be over!&lt;/p&gt;</description>
      <pubDate>Thu, 23 Jul 2009 14:41:20 GMT</pubDate>
      <guid isPermaLink="false">38aae289-9075-47b7-a7f6-766375d451d3</guid>
    </item>
    <item>
      <title>Password masking with stars, good or bad?</title>
      <link>http://www.useit.com/alertbox/passwords.html</link>
      <description>&lt;p&gt;Almost all users are aware of hiding password characters with stars or other such characters. But is this ubiquitos practice actually good? &lt;a href="http://www.useit.com/alertbox/passwords.html"&gt;Jakob Nielsen argues&lt;/a&gt; that it isn't (always).&lt;/p&gt;

&lt;p&gt;So as developers, which route should we choose: hide the password characters as always, or not hide them on the promise of better-quality passwords? Actually I believe the user should have a choice: let the user decide! From my day-to-day routine I can give one example: try WinZip's latest versions and try to encrypt or decrypt an archive. You are given the option. Maybe you should, too?&lt;/p&gt;</description>
      <pubDate>Wed, 22 Jul 2009 14:44:21 GMT</pubDate>
      <guid isPermaLink="false">dcab9183-4fcb-4025-8b1a-567a2f71351a</guid>
    </item>
    <item>
      <title>New from SysInternals: ProcDump</title>
      <link>http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx</link>
      <description>&lt;p&gt;Although mainly aimed at IT administrators, the free SysInternals tools are invaluable for developers as well. I've solved countless problems with tools like Process Monitor (ex FileMon/RegMon), TCPView and DebugView. From time to time, the fellows at SysInternals come up with new tools, and this time they've 
invented &lt;a href="http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx"&gt;ProcDump&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;With ProcDump, you can create a  dump from any running process that hogs the CPU. Says the documentation: "ProcDump is a command-line utility whose primary purpose is monitoring an application for CPU spikes and generating crash dumps during a spike that an administrator or developer can use to determine the cause of the spike."&lt;/p&gt;

&lt;p&gt;Of course, such dumps have been available for a long time, and especially if you are able to do just-in-time (JIT) debugging with your favorite development tool, then you won't need anything more. But usually, the problems occur at the production sites, which are always far away from the convenience of your own desktop and tools.&lt;/p&gt;

&lt;p&gt;In these sitations ProcDump can become very valuable. Be sure to check it out.&lt;/p&gt;</description>
      <pubDate>Sun, 19 Jul 2009 10:13:43 GMT</pubDate>
      <guid isPermaLink="false">b2d71680-bd3e-463c-917c-1455b936bc4f</guid>
    </item>
    <item>
      <title>My newest screencast about Live/Bing Maps programming with C# available</title>
      <link>http://www.internet.com/player/index.php?bcpid=1534611832&amp;bclid=1433966034&amp;bctid=28853986001</link>
      <description>&lt;p&gt;Developer.com has just recently published my latest screencast about Bing Maps (ex Live Maps) and programming them from ASP.NET/C# applications.&lt;/p&gt;

&lt;p&gt;The video is available &lt;a href="http://www.internet.com/player/index.php?bcpid=1534611832&amp;bclid=1433966034&amp;bctid=28853986001"&gt;here&lt;/a&gt; and runs for 6:06 minutes.&lt;/p&gt;

&lt;p&gt;Hope you like it!&lt;/p&gt;</description>
      <pubDate>Fri, 17 Jul 2009 14:54:50 GMT</pubDate>
      <guid isPermaLink="false">e8de5ffa-8799-460e-8772-cbd2ad7b15d1</guid>
    </item>
    <item>
      <title>Windows Azure prices revealed</title>
      <link>http://www.microsoft.com/azure/pricing.mspx</link>
      <description>&lt;p&gt;Just few days ago, Microsoft finally announced the pricing of its cloud computing platform, Azure. Personally, I've long waited for this information to become available, and now it is &lt;a href="http://www.microsoft.com/azure/pricing.mspx"&gt;finally online&lt;/a&gt;. Here is a quick summary of the pricing in USD:&lt;/p&gt;

&lt;p&gt;Windows Azure&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Computing time: $0.12 per hour&lt;/li&gt;
&lt;li&gt;Storage: $0.15 per GB per month&lt;/li&gt;
&lt;li&gt;Bandwidth: inbound $0.10 per GB, outbound $0.15 per GB&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;SQL Server databases&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web Edition, up to 1 GB database: $9.99 per month&lt;/li&gt;
&lt;li&gt;Business Edition, up to 10 GB database: $99.99 per month&lt;/li&gt;
&lt;li&gt;Bandwidth: inbound $0.10 per GB, outbound $0.15 per GB (same as in Azure)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At this point, I'm not sure how every thinkable scenario will be calculated. For instance, I'm not 100% certain how the computing time is calculated, but I assume that it's the time your Azure application is deployed and available, and not the number of hours the application(s) consume a hour's worth of CPU time.&lt;/p&gt;

&lt;p&gt;Even with these uncertainties, I wanted to have a quick idea of the price level. Let's assume a simple web application that needs to access a small SQL database, and that storage requirements are modest: in the range of 2-3 gigabytes, and that the 1 GB SQL database would be plenty. If the usage of the application is also light, say, 5 to 10 gigabytes of traffic per month (50% in, 50% out), and the SQL bandwidth would be 4 GB in total, the calculations reveal the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Azure computing time per month: 24*30 hours = $0.12 * 720 = $86.40&lt;/li&gt;
&lt;li&gt;Azure storage per month: 3 GB = $0.15 * 3 = $0.45&lt;/li&gt;
&lt;li&gt;Azure bandwidth per month: 5 GB in, 5 GB out = $0.10 * 5 + $0.15 * 5 = $1.25&lt;/li&gt;
&lt;li&gt;SQL Server database, Web Edition = $9.99&lt;/li&gt;
&lt;li&gt;SQL Server database, Web Edition = $9.99&lt;/li&gt;
&lt;li&gt;SQL bandwidth per month: 2 GB in, 2 GB out = $0.10 * 2 + $0.15 * 2 = $0.50&lt;/li&gt;
&lt;li&gt;Total per month: $98.59&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, for about $100 per month, you could have a hosted web application with an SQL server database and extensible computing power whenever you need it. If you compare Azure's pricing to certain web hosting providers, like DiscountASP.NET which I'm using for &lt;a href="http://www.nimacon.net"&gt;Nimacon&lt;/a&gt;, you can get a similarly specified site for around $15 per month.&lt;/p&gt;

&lt;p&gt;Time will tell what becomes of Azure, but if you need configurable computing power (something you cannot do with web hosts) and support for applications beyond simple ASP.NET web applications, then Azure might be your choice. I'm waiting till November to see how Azure picks up and what kind of applications are running there.&lt;/p&gt;</description>
      <pubDate>Wed, 15 Jul 2009 16:31:09 GMT</pubDate>
      <guid isPermaLink="false">066b3115-539f-4fae-8d7e-542418a2daba</guid>
    </item>
    <item>
      <title>Using Memory-Mapped Files in .NET 4.0</title>
      <link>http://www.developer.com/net/article.php/3828586</link>
      <description>&lt;p&gt;Developer.com has today published my newest .NET development article. This time, the focus is on .NET 4.0 and memory mapped files. The article, titled "Using Memory-Mapped Files in .NET 4.0" is available &lt;a href="http://www.developer.com/net/article.php/3828586"&gt;on the site&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <pubDate>Tue, 14 Jul 2009 14:54:23 GMT</pubDate>
      <guid isPermaLink="false">b6271cf8-23c4-4c42-8e57-6c98af8dea0b</guid>
    </item>
    <item>
      <title>Expression 3 and Silverlight 3</title>
      <link>http://www.microsoft.com/silverlight/seethelight/default.html</link>
      <description>&lt;p&gt;Yesterday, Microsoft announced the availability of both &lt;a href="http://silverlight.net/"&gt;Silverlight 3&lt;/a&gt; and &lt;a href="http://www.microsoft.com/expression/"&gt;Expression 3&lt;/a&gt; suite of products. Quickly put, Silverlight 3 brings us better HD video and hardware accelerated 3D features &lt;a href="http://weblogs.asp.net/scottgu/archive/2009/07/10/silverlight-3-released.aspx"&gt;among other things&lt;/a&gt;, and Expression 3 IntelliSense support for C# (cool!), Team Foundation Server (TFS) support for enterprise-scale development processes, and &lt;a href="http://www.microsoft.com/expression/products/Sketchflow_Overview.aspx"&gt;Sketchflow&lt;/a&gt;, a new rapid visualization tool. So a worthwhile release without doubt. I haven't yet checked whether these new bits are already available on MSDN, but they surely will soon.&lt;/p&gt;

&lt;p&gt;The main launch site is called &lt;a href="http://www.microsoft.com/silverlight/seethelight/default.html"&gt;See The Light&lt;/a&gt; which contained a nice countdown animation prior to the launch moment.&lt;/p&gt;</description>
      <pubDate>Sat, 11 Jul 2009 18:02:38 GMT</pubDate>
      <guid isPermaLink="false">d86daee7-250e-40f9-b1be-122db8bd2748</guid>
    </item>
    <item>
      <title>A code snippet to connect to SQL Server's Northwind sample database</title>
      <link>http://www.microsoft.com/downloads/details.aspx?FamilyID=06616212-0356-46A0-8DA2-EEBC53A68034&amp;displaylang=en</link>
      <description>&lt;p&gt;As I'm often running demos at seminars and customer meetings, I find myself writing the same and same snippets of code all over again. Although I've moved to ADO.NET Entities quite extensively for accessing SQL data, I still need quite often to demonstrate a quick data access to for example SQL Server, and just fetch a records or two from a sample database.&lt;/p&gt;

&lt;p&gt;Most often, I'm using the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06616212-0356-46A0-8DA2-EEBC53A68034&amp;displaylang=en"&gt;old Northwind sample database&lt;/a&gt; (which is more or less replaced by AdventureWorks, but I find Northwind to be simpler and easier to grasp for quick demos), which contains a basic sales model with customers and orders that everybody understands.&lt;/p&gt;

&lt;p&gt;Now, I quite often write code to take a customer ID, and fetch the company name based on the ID. This is trivial with SQLConnection and SQLCommand classes, but the work gets repetitive at best. In case you find yourself in a similar situation, then feel free to copy and paste the following C# code (tested with Visual Studio 2008):&lt;/p&gt;

&lt;pre&gt;
using System.Data.SqlClient;
...
public static string GetCustomerDetails(
  string customerId)
{
  string connStr = "Data Source=myserver;"+
    "Initial Catalog=Northwind;"+
    "Integrated Security=True";
  SqlConnection conn = new SqlConnection(
      connStr);
  try
  {
    conn.Open();
    string sql = "SELECT * " +
        "FROM [customers] " +
        "WHERE [customerid] = @custid";
    SqlCommand cmd = new SqlCommand(
        sql, conn);
    cmd.Parameters.AddWithValue(
        "@custid", customerId);
    try
    {
      SqlDataReader reader =
          cmd.ExecuteReader();
      try
      {
        if (reader.Read())
        {
          string company =
              reader.GetString(1);
          return company;
        }
      }
      finally
      {
          reader.Dispose();
      }
    }
    finally
    {
        cmd.Dispose();
    }
  }
  finally
  {
      conn.Dispose();
  }
  return null;
}
&lt;/pre&gt;

&lt;p&gt;As you can see, the code is very easy to follow, and basically all you need to do is change the connection string and make sure you have the Northwind sample database installed (I mostly create it using a custom SQL script that I've created by extracting it from an existing Northwind database). And true, the code could be made shorted for instance using C#'s &lt;em&gt;using&lt;/em&gt; statements, but the point here is to create quick code and not necessarily show the best practices.&lt;/p&gt;

&lt;p&gt;Hope this helps!&lt;/p&gt;</description>
      <pubDate>Tue, 07 Jul 2009 14:41:31 GMT</pubDate>
      <guid isPermaLink="false">9fa4fcf6-d9b4-440b-8421-0dc4765e9278</guid>
    </item>
    <item>
      <title>Finding the "Submit URL" link for Bing</title>
      <link>http://www.bing.com/docs/submit.aspx</link>
      <description>&lt;p&gt;If you've been following Microsoft's search engine battle against Google, then you surely have heard of Bing, the new name for Live Search. Recently, I needed to &lt;a href="http://www.nimacon.net/"&gt;submit a site&lt;/a&gt; for Bing, but it actually proved to be a bit difficult to add a new URL for Bing to crawl.&lt;/p&gt;

&lt;p&gt;Of course, the link was available once you found our way. In case you are faced with a similar situation, I thought I'd share the link I've found. So, to submit your site to Bing, use the following link:&lt;/p&gt;

&lt;pre&gt;
http://www.bing.com/docs/submit.aspx
&lt;/pre&gt;

&lt;p&gt;From there, you can easily add one of more sites to the decision engine. And as for reference, here are the similar links to Google and Yahoo! search:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.google.com/addurl/"&gt;Submit a URL&lt;/a&gt; to Google&lt;/li&gt;
&lt;li&gt;&lt;a href="http://search.yahoo.com/info/submit.html"&gt;Submit a URL&lt;/a&gt; to Yahoo! (requires signing in)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Good luck!&lt;/p&gt;</description>
      <pubDate>Sun, 05 Jul 2009 16:24:18 GMT</pubDate>
      <guid isPermaLink="false">43ed937a-8658-4532-b712-a5f456ca840d</guid>
    </item>
    <item>
      <title>New article published about TPL and PLINQ</title>
      <link>http://www.developer.com/design/article.php/3827326</link>
      <description>&lt;p&gt;Developer.com has published my latest article about the new parallel features in .NET 4.0: Task Parallel Library and PLINQ (Parallel LINQ). The article is titled "Going Parallel with the Task Parallel Library and PLINQ" and available &lt;a href="http://www.developer.com/design/article.php/3827326"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This article shows how you can use these new framework features in your own code, and also briefly discusses how Visual Studio 2010 will support there new features.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <pubDate>Fri, 03 Jul 2009 14:55:38 GMT</pubDate>
      <guid isPermaLink="false">ca003be6-8268-4dd6-a12c-7ba474110c02</guid>
    </item>
    <item>
      <title>Oracle support becomes deprecated in ADO.NET 4.0</title>
      <link>http://blogs.msdn.com/adonet/archive/2009/06/15/system-data-oracleclient-update.aspx</link>
      <description>&lt;p&gt;In the fortcoming .NET version 4.0, Microsoft has &lt;a href="http://blogs.msdn.com/adonet/archive/2009/06/15/system-data-oracleclient-update.aspx"&gt;decided to deprecate&lt;/a&gt; the ADO.NET classes to access Oracle databases. Shortly put, this means that you can continue to use the System.Data.OracleClient namespace and the classes there, but in a future .NET version (5.0?) they will become obsolete and not available.&lt;/p&gt;

&lt;p&gt;What Microsoft now recommends is that developers wanting to access Oracle databases would switch to third-party libraries. Of course, this will mean that you need to rewrite parts of your code; this is just a good refresher to us all: don't rely that certain libraries are there forever. Instead, make sure you isolate your database access to certain classes and/or write appropriate wrappers around them, so you don't need to rewrite your whole application.&lt;/p&gt;

&lt;p&gt;Although this a quite unfortunate decision, I'm not sure it was an easy one for Microsoft. More details can be found from the &lt;a href="http://blogs.msdn.com/adonet/archive/2009/06/15/system-data-oracleclient-update.aspx"&gt;ADO.NET team blog&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Wed, 01 Jul 2009 18:27:35 GMT</pubDate>
      <guid isPermaLink="false">3f80ff98-3b0d-442c-acf6-58c86294b9bd</guid>
    </item>
    <item>
      <title>A great list of Windows 7 tips</title>
      <link>http://gnoted.com/70-fantastic-windows-7-tips-tricks-for-better-functionality/</link>
      <description>&lt;p&gt;I found a nice Windows 7 tips page today: it list no less thatn 70 tips for the new operating system version.&lt;/p&gt;

&lt;p&gt;Go check the &lt;a href="http://gnoted.com/70-fantastic-windows-7-tips-tricks-for-better-functionality/"&gt;post out&lt;/a&gt; at gnoted.com.&lt;/p&gt;</description>
      <pubDate>Mon, 29 Jun 2009 15:58:15 GMT</pubDate>
      <guid isPermaLink="false">7bfcf620-d259-43c3-9426-d53405d5cd9a</guid>
    </item>
    <item>
      <title>Getting to the new Windows 7 APIs from .NET and C#</title>
      <link>http://code.msdn.microsoft.com/WindowsAPICodePack</link>
      <description>&lt;p&gt;October 22nd, the Windows 7 shelf availability date, is soon here. Unless you already haven't, now is a good time to start investigating the new APIs that are available to developers once Windows 7 hits the streets. For instance, Windows 7 has a completely new taskbar, and it also gives new options to developers. For instance, in the shell only, you can create custom jump lists, manipulate the recently opened list of files, and so on. A good overview of the available features can be found from the &lt;a href="http://code.msdn.microsoft.com/Win7DeveloperGuide"&gt;Windows 7 Developer Guide&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you are interested in the new APIs and are using C#/.NET, then you should learn about the Windows API Code Pack. This set of managed classes helps you access the new Windows 7 features from managed code. The &lt;a href="http://code.msdn.microsoft.com/WindowsAPICodePack"&gt;Windows API Code Pack&lt;/a&gt; is available from MSDN, and the latest version is from June 12th.&lt;/p&gt;

&lt;p&gt;If you are interested in taking the best out of Windows 7, then go and download the pack today!&lt;/p&gt;</description>
      <pubDate>Sat, 27 Jun 2009 14:54:29 GMT</pubDate>
      <guid isPermaLink="false">22d46185-223f-4606-98f9-e9e534bc9b89</guid>
    </item>
    <item>
      <title>Pipe character in FTP account user names in Expression Web 2</title>
      <link>http://blogs.iis.net/jaroslad/archive/2009/04/16/addressing-the-separator-problem-for-virtual-ftp-sites-ftp-7-5.aspx</link>
      <description>&lt;p&gt;If you are updating web sites with Expression Web 2 that run on a virtualized Windows Server 2008/IIS 7.0 systems. On these systems, it is possible to create FTP account names (usernames) which contain the pipe character |. Unfortunately, Expression Web 2 (EW2) gets confused with this character, and won't allow you to connect.&lt;/p&gt;

&lt;p&gt;On IIS.NET, there's a description of the problem on a &lt;a href="http://blogs.iis.net/jaroslad/archive/2009/04/16/addressing-the-separator-problem-for-virtual-ftp-sites-ftp-7-5.aspx"&gt;blog post&lt;/a&gt;. It suggests changing IIS settings with the "useDomainNameAsHostName" option in applicationhost.config. This option is available starting with FTP 7.5 extension to IIS.&lt;/p&gt;

&lt;p&gt;If you cannot get to this config file (your hosting provider might not let you change it), then the other workaround is to add another FTP user account, which doesn't contain the pipe character in the username.&lt;/p&gt;

&lt;p&gt;Finally, this problem should be fixes in forth-coming Expression Web 3.&lt;/p&gt;</description>
      <pubDate>Thu, 25 Jun 2009 10:51:43 GMT</pubDate>
      <guid isPermaLink="false">0e738e79-c49b-449b-bd63-8b666b79b516</guid>
    </item>
    <item>
      <title>New aid for developers and testers in Windows 7: Problem Steps Recorder</title>
      <link>http://technet.microsoft.com/en-us/windows/dd320286.aspx</link>
      <description>&lt;p&gt;The age-old problem of all developers and software developers is the "no-repro" problem, also known as "it works on my PC just fine". Well, end-users are not always very good at describing errors, or the steps required to reproduce them. Luckily, the situation is getting better once Windows 7 will become available: it will have a feature called &lt;a href="http://technet.microsoft.com/en-us/windows/dd320286.aspx"&gt;Problem Steps Recorder&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;With this tool, the user can start recording of his or her screen, then work through your application, and compile the results to an HTML file which you as a developer can then process. As a developer, you should learn how to use this tool, and also educate users of it's existence once they start to migrate to Windows 7. Remember, the tool is there to help solve issues. So use it.&lt;/p&gt;

&lt;p&gt;The screencast 
&lt;a href="http://technet.microsoft.com/en-us/windows/dd320286.aspx"&gt;available on TechNet&lt;/a&gt; is part of the Springboard series. Check it out!&lt;/p&gt;</description>
      <pubDate>Tue, 23 Jun 2009 14:19:29 GMT</pubDate>
      <guid isPermaLink="false">d1b93fdb-9b0a-4b05-a0d8-d67c61af2e00</guid>
    </item>
    <item>
      <title>Development resources on different Microsoft web sites</title>
      <link>http://www.msdev.com/</link>
      <description>&lt;p&gt;In addition to MSDN and its sub-sites, Microsoft has many different web sites that share developer information. In this blog post, I'm sharing some of the recently updated sites that have content about things such as Windows 7 and Windows Server 2008 R2.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MSDev.com: training for ISVs. Check out for instance "&lt;a href="http://www.msdev.com/Directory/SeriesDescription.aspx?CourseId=104"&gt;A Developer's First Look at Windows 7&lt;/a&gt;".&lt;/li&gt;
&lt;li&gt;DevReadiness.org: another nice &lt;a href="http://devreadiness.org/"&gt;site for ISVs&lt;/a&gt;. Contains links to relevant information, for example a link to &lt;a href="http://code.msdn.microsoft.com/Windows7AppQuality"&gt;Windows 7 and Windows Server 2008 R2 Application Quality Cookbook&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;TechNet Springboard Series, a new collection of material at the TechNet site. For instance, check out the &lt;a href="http://technet.microsoft.com/en-us/windows/dd320282.aspx"&gt;Windows 7 Feature Walkthroughs&lt;/a&gt;. The main page is &lt;a href="http://technet.microsoft.com/en-us/windows/default.aspx"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Ramp Up, a newish site for beginning developers, or developers new to .NET. For instance, it contains resources to help &lt;a href="http://msdn.microsoft.com/en-us/rampup/dd861547.aspx"&gt;classic ASP developers move to ASP.NET&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Although Microsoft doesn't very widely promote these sites, I suggest that you give them a regular visit. Some sites provide a convenient RSS feed, so be sure to check them out.&lt;/p&gt;</description>
      <pubDate>Sun, 21 Jun 2009 12:52:44 GMT</pubDate>
      <guid isPermaLink="false">c40b51c6-93ce-40b7-bcc2-887b38e81776</guid>
    </item>
    <item>
      <title>Allowing SQL Server Compact databases to work in ASP.NET applications</title>
      <link>http://msdn.microsoft.com/en-us/library/37z40s1c.aspx</link>
      <description>&lt;p&gt;Web applications are what most developers seem interested in, and this interest also raises the need to write single-person ASP.NET web applications. For instance, you might run your site on a service provider that doesn't include a full-blown SQL Server installation. But with SQL Server Compact, you can simply copy your database .SDF file to the server, some additional DLLs, and you are set.&lt;/p&gt;

&lt;p&gt;Except that if you try this, your ASP.NET application will fail with the following error message:&lt;/p&gt;

&lt;pre&gt;
System.NotSupportedException was unhandled
by user code
Message="SQL Server Compact is not intended for ASP.NET development."
Source="System.Data.SqlServerCe"
&lt;/pre&gt;

&lt;p&gt;Darn! What now? Luckily, there's a solution: add &lt;a href="http://msdn.microsoft.com/en-us/library/37z40s1c.aspx"&gt;some code&lt;/a&gt; to your application's Application_Start event handler in Global.asax.cs, and you can work with SQL Server Compact databases even in your web applications.&lt;/p&gt;

&lt;pre&gt;
void Application_Start(object sender, EventArgs e)
{
  AppDomain.CurrentDomain.SetData(
    "SQLServerCompactEditionUnderWebHosting", true);
}
&lt;/pre&gt;

&lt;p&gt;With this code, you won't see the error again. Of course, you should remember that SQL Server Compact was not designed for multi-user web applications, and thus the error message &lt;i&gt;is&lt;/i&gt; valid. But, if you are sure only a single user (you) will access the database at one time, then it's OK to work around the error.&lt;/p&gt;</description>
      <pubDate>Fri, 19 Jun 2009 16:25:47 GMT</pubDate>
      <guid isPermaLink="false">f3f012fc-9586-44e5-9794-1ccb408316f7</guid>
    </item>
    <item>
      <title>New screencast available about SQL Server tracing</title>
      <link>http://www.developer.com/video/</link>
      <description>&lt;p&gt;Developer.com has just published my latest screencast about &lt;a href="http://www.internet.com/player/index.php?bcpid=1534611832&amp;bclid=1433966034&amp;bctid=25950224001"&gt;using SQL Server's tracing features&lt;/a&gt; to log SQL statements and see how the database responds. Tracing is also useful for application developers, as the tracing features in SQL Server also calculate the duration of the operations. This can be used as a simple profiling utility both at production environments and at development time.&lt;/p&gt;

&lt;p&gt;The running length of the cast is about six minutes. Enjoy, and let me know what you think!&lt;/p&gt;</description>
      <pubDate>Tue, 16 Jun 2009 07:59:49 GMT</pubDate>
      <guid isPermaLink="false">6154e772-13b2-4d19-95f7-36388647b7f4</guid>
    </item>
    <item>
      <title>Windows 7 training kit for developers available</title>
      <link>http://www.microsoft.com/downloads/details.aspx?FamilyID=12100526-ed26-476b-8e20-69662b8546c1&amp;displaylang=en</link>
      <description>&lt;p&gt;Microsoft has just recently released a new Windows &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=12100526-ed26-476b-8e20-69662b8546c1&amp;displaylang=en"&gt;7 RC Training Kit for Developers&lt;/a&gt;. The kit "includes presentations, hands-on labs, and demos. This content is based on Windows 7 RC and provides an early peak to our final training".&lt;/p&gt;

&lt;p&gt;To install the kit, you will need Windows 7 and Visual Studio 2008, plus the Windows 7 SDK kit. The easiest place to download all these is from MSDN.&lt;/p&gt;</description>
      <pubDate>Sun, 14 Jun 2009 16:39:56 GMT</pubDate>
      <guid isPermaLink="false">5cfb8415-2b69-4b9a-a8cb-4f7dcb49ee6b</guid>
    </item>
    <item>
      <title>Learn Dynamic Data from Developer.com</title>
      <link>http://www.developer.com/net/article.php/3823551</link>
      <description>&lt;p&gt;Developer.com has published my latest article about ASP.NET development. This time, the article introduces you to ASP.NET Dynamic Data, which is part of .NET 3.5 SP1. The article is titled "&lt;a href="http://www.developer.com/net/article.php/3823551"&gt;Create Quick Database Interfaces with ASP.NET Dynamic Data&lt;/a&gt;".&lt;/p&gt;

&lt;p&gt;Of course, later once .NET 4.0 is here, we will also have a new version of ASP.NET Dynamic Data. If I have the chance, I might write another article to show what's new in ASP.NET DD 4.0.&lt;/p&gt;

&lt;p&gt;In the meantime, enjoy this article!&lt;/p&gt;</description>
      <pubDate>Wed, 10 Jun 2009 18:47:17 GMT</pubDate>
      <guid isPermaLink="false">c30847d5-b2bb-40a1-9689-e1deda420f0c</guid>
    </item>
    <item>
      <title>Creating a new SQL Server Compact database using Visual Studio</title>
      <link>http://www.microsoft.com/Sqlserver/2005/en/us/compact.aspx</link>
      <description>&lt;p&gt;If you are developing applications for, say, the desktop, you might occasionally need to create a new SQL Server Compact Edition database, i.e. the .SDF file to store you data into. Although there are many ways to do this, one easy way to do this is directly from Visual Studio 2008. Here’s how to do it.&lt;/p&gt;

&lt;p&gt;First, go to Visual Studio's Server Explorer window. Right-click the Data Connections node, and choose Add Connection from the popup menu. The Add Connection dialog box now opens. Next, unless the selection is already correct, click the Change button next to the data source field. Another dialog box opens, titled Change Data Source.&lt;/p&gt;

&lt;p&gt;From this dialog box, select the &lt;a href="http://www.microsoft.com/Sqlserver/2005/en/us/compact.aspx"&gt;Microsoft SQL Server Compact 3.5&lt;/a&gt; source (or whichever version you happen to have). Then click OK, and you will return to the previous Add Connection dialog box. The dialog box layout has changed slightly, and now contains a Create button in the Connection Properties section.&lt;/p&gt;

&lt;p&gt;Click the Create button, specify the necessary options, and finally click OK to create your .SDF file, and then start adding tables and data to it. Easy!&lt;/p&gt;</description>
      <pubDate>Sun, 07 Jun 2009 08:16:45 GMT</pubDate>
      <guid isPermaLink="false">add5be7e-634c-4911-b6c2-8bdda270776f</guid>
    </item>
    <item>
      <title>What's different between SQL Server Express and Compact?</title>
      <link>http://download.microsoft.com/download/A/4/7/A47B7B0E-976D-4F49-B15D-F02ADE638EBE/Compact_Express_Comparison.doc</link>
      <description>&lt;p&gt;Sometimes, developers as me what is different between SQL Server Compact 3.5 and SQL Server Express Edition. Shortly put, the idea with Compact is to be an embedded, application-managed database, while Express is meant to be a regular, but simple solution for generic SQL needs.&lt;/p&gt;

&lt;p&gt;Although the material covers SQL Server version 2005 only, Microsoft has written a &lt;a href="http://download.microsoft.com/download/A/4/7/A47B7B0E-976D-4F49-B15D-F02ADE638EBE/Compact_Express_Comparison.doc"&gt;nice paper&lt;/a&gt; in Word format about these differences, and also gives ideas on how to select the correct database for your needs. Recommended reading, if you are interested in SQL Server Compact edition. Coming up is a quick tip about this embedded database.&lt;/p&gt;</description>
      <pubDate>Fri, 05 Jun 2009 18:01:39 GMT</pubDate>
      <guid isPermaLink="false">c941ef41-972a-4444-8f4c-1b57932460d5</guid>
    </item>
    <item>
      <title>Expression Web SuperPreview</title>
      <link>http://www.microsoft.com/expression/features/Default.aspx?key=webpreview</link>
      <description>&lt;p&gt;Welcome June! If you are using Microsoft Expression Web to develop your web sites and find testing your site with different versions of Internet Explorer browser a bit problematic, then you might enjoy Expression Web SuperPreview. SuperPreview allows you to simulate two Intenet Explorer versions on a single computer.&lt;/p&gt;

&lt;p&gt;Specifically, you can preview your site in Internet Explorer 6 and either IE 7 or IE 8, depending which of these two latest versions you have installed.&lt;/p&gt;

&lt;p&gt;SuperPreview is a downloadbale add-on to Expression Web, and can be downloaded &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8e6ac106-525d-45d0-84db-dccff3fae677&amp;displaylang=en"&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Tue, 02 Jun 2009 16:50:53 GMT</pubDate>
      <guid isPermaLink="false">3de4800d-f867-4d46-97e2-5dcb9901b8ce</guid>
    </item>
    <item>
      <title>New article about ASP.NET MVC published on Developer.com</title>
      <link>http://www.developer.com/net/article.php/3820201</link>
      <description>&lt;p&gt;The Developer.com web site has published my latest article about &lt;a href="http://www.developer.com/net/article.php/3820201"&gt;ASP.NET MVC development&lt;/a&gt;. Previously, I already wrote an introductory article for them about the same subject; this time the focus is more advanced features like localization and unit testing.&lt;/p&gt;

&lt;p&gt;The article is available here. An article about ASP.NET Dynamic Data is also coming, so stay tuned and enjoy!&lt;/p&gt;</description>
      <pubDate>Sat, 30 May 2009 14:28:49 GMT</pubDate>
      <guid isPermaLink="false">4fd6e981-a0cd-4079-a645-c3af8c98ef60</guid>
    </item>
    <item>
      <title>Expression Studio 3 and Silverlight 3 will be here next month</title>
      <link>http://www.microsoft.com/expression/try-it/blendpreview.aspx</link>
      <description>&lt;p&gt;Microsoft has just recently announced that the next version of both Expression Studio and Silverlight &amp;mdash; &lt;a href="http://www.microsoft.com/expression/try-it/blendpreview.aspx"&gt;version 3&lt;/a&gt; &amp;mdash; will be available on July 10th. New features in these new versions include the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Import Adobe Photoshop (.psd) files&lt;/li&gt;
&lt;li&gt;Easier and more powerful gradients&lt;/li&gt;
&lt;li&gt;Silverlight Visual State Manager (VSM) support&lt;/li&gt;
&lt;li&gt;Modify C# code directly inside Blend&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It appears that seven plus three equals ten.&lt;/p&gt;</description>
      <pubDate>Wed, 27 May 2009 17:10:21 GMT</pubDate>
      <guid isPermaLink="false">3478dd1a-e064-4fbe-92d4-b85816101fed</guid>
    </item>
    <item>
      <title>Solving Visual Studio 2008 project creation/loading issues</title>
      <link>http://msdn.microsoft.com/en-us/vstudio/default.aspx</link>
      <description>&lt;p&gt;Today for some reason, Visual Studio 2008 SP1 in one of my virtual machines I use for testing stopped working. I still fail to understand why this actually happened, but it might be because of an incompatible application install, a Windows update, or something similar. The symptoms in Visual Studio were the following. When starting Visual Studio, I got the following error:&lt;/p&gt;

&lt;pre&gt;
---------------------------
Microsoft Visual Studio
---------------------------
Package Load Failure

Package 'Windows Forms Designer Hosting Package' has failed to load
properly ( GUID = {68939055-38E0-4D17-92CB-8909710D8178} ). Please contact
package vendor for assistance. Application restart is recommended, due to
possible environment corruption. Would you like to disable loading this
package in the future? You may use 'devenv /resetskippkgs' to re-enable
package loading.
---------------------------
Yes   No   
---------------------------
&lt;/pre&gt;

&lt;p&gt;When Visual Studio find a problematic package, it asks whether you want to disable it from that point on. Clicking Yes will move the package to a list of disabled packages, and thus when you re-launch Visual Studio, that package isn't loaded anymore. The re-enable loading of failes packages, run DevEnv.exe (the IDE loader) with the "/resetskippkgs" switch. DevEnv.exe by default sits in the directory "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE".&lt;/p&gt;

&lt;p&gt;Of course, I thought this would be a temporary problem, but it wasn't. I tried opening or creating new projects, and I always got the following error:&lt;/p&gt;

&lt;pre&gt;
---------------------------
Microsoft Visual Studio
---------------------------
Project 'ConsoleApplication1' could not be opened because the Microsoft
Visual C# 2008 compiler could not be created. QueryService for
'{74946829-37A0-11D2-A273-00C04F8EF4FF}' failed.
---------------------------
OK   
---------------------------
&lt;/pre&gt;

&lt;p&gt;Because even rebooting didn't help, I ended up uninstalling and then re-installing Visual Studio 2008. This actually didn't work, because the Web Authoring Components failed to uninstall properly.&lt;/p&gt;

&lt;p&gt;I ended up brutally deleting the offending folders from C:\Program Files, after which I did a new installation. Not very neat, but problem solved!&lt;/p&gt;</description>
      <pubDate>Mon, 25 May 2009 14:13:16 GMT</pubDate>
      <guid isPermaLink="false">f255193f-1df4-4415-bb92-8a32042232f0</guid>
    </item>
    <item>
      <title>A new managed API for developing Exchange applications</title>
      <link>http://msdn.microsoft.com/en-us/library/dd633649.aspx</link>
      <description>&lt;p&gt;Since Microsoft Exchange is the major messaging and collaboration platform I used from day to day, it’s good to know that you can also develop applications for this platform. Already years ago, I explored the possibilities of extending Exchange's features, and for example reading mail boxes and getting notifications of new e-mails. I shared the results in for example The Delphi Magazine in August, 2006, but back then, developing such applications was difficult, required the use of COM, and didn’t support managed code.&lt;/p&gt;

&lt;p&gt;But with Exchange 2007, this has changed, as the major interfaces are new web services. This means that it's quite easy to access these from, say, .NET and C#. But, I say "quite", as the web services has been far from easy or intuitive to use. Surely, they work, but to get wide-spread development, these interfaces should be easier to use.&lt;/p&gt;

&lt;p&gt;But now, Microsoft has released a managed wrapper around these interfaces, and that sounds great! One of the key design principles was to keep the interfaces easy to use, and this is exactly what I'd want to see.&lt;/p&gt;

&lt;p&gt;So, if you are interested in developing solutions or applications for Exchange 2007 (or, the forth-coming Exchange 2010), then be sure to check out the new &lt;a href="http://msdn.microsoft.com/en-us/library/dd633649.aspx"&gt;EWS Managed API&lt;/a&gt; (Exchange Web Services)!&lt;/p&gt;</description>
      <pubDate>Thu, 21 May 2009 17:06:44 GMT</pubDate>
      <guid isPermaLink="false">81257872-d6fd-4dee-9ef7-f2ed72874629</guid>
    </item>
    <item>
      <title>Visual Studio 2010 Beta 1 is here!</title>
      <link>http://msdn.microsoft.com/en-us/library/bb386063(VS.100).aspx</link>
      <description>&lt;p&gt;Today, Microsoft has released the first beta version of Visual Studio 2010 (and the .NET Framework 4.0 beta) on MSDN. Previosly, only a CTP version was available, but now a public Beta 1 version is available.&lt;/p&gt;

&lt;p&gt;Also, there are new &lt;a href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx"&gt;product pages&lt;/a&gt; available, they are also worth checking out.&lt;/p&gt;

&lt;p&gt;Download your copy today!&lt;/p&gt;</description>
      <pubDate>Tue, 19 May 2009 16:03:14 GMT</pubDate>
      <guid isPermaLink="false">dd542d9d-164a-4e10-b12c-ac35ebfbdb84</guid>
    </item>
    <item>
      <title>What’s cooking in for Team Foundation Server 2010?</title>
      <link>http://blogs.msdn.com/bharry/archive/2009/04/19/team-foundation-server-2010-key-concepts.aspx</link>
      <description>&lt;p&gt;Microsoft is busy tuning Visual Studio 2010 as I write. Part of the equation is the new version of Visual Studio Team System (VSTS) and the central Team Foundation Server 2010. On MSDN blogs, there’s a &lt;a href="http://blogs.msdn.com/bharry/archive/2009/04/19/team-foundation-server-2010-key-concepts.aspx"&gt;nice article&lt;/a&gt; about the new features planned for TFS 2010.&lt;/p&gt;

&lt;p&gt;For instance, the new version will bring team project collections, and ease the task of creating application server farms. To learn more, check out the blog post on MSDN.&lt;/p&gt;</description>
      <pubDate>Sat, 16 May 2009 14:27:10 GMT</pubDate>
      <guid isPermaLink="false">b3e4015e-0fa9-4388-aeba-97766cbc703b</guid>
    </item>
    <item>
      <title>Nice Windows 7 shortcut tips</title>
      <link>https://partner.microsoft.com/global/40101540</link>
      <description>&lt;p&gt;Microsoft's partner resources have released a set a nice tips about using the forth-coming Windows 7 more efficiently. The tips are distributed as &lt;a href="https://partner.microsoft.com/global/40101540"&gt;three PDF files&lt;/a&gt;, each having seven (you guessed it!) tips.&lt;/p&gt;

&lt;p&gt;If you want to take the best out of Windows 7, then these tips are worth checking out.&lt;/p&gt;</description>
      <pubDate>Thu, 14 May 2009 16:53:04 GMT</pubDate>
      <guid isPermaLink="false">2805bba5-b08d-441c-b922-1fa1bb95c6e4</guid>
    </item>
    <item>
      <title>For the reference: SQL Server 2008 version numbers</title>
      <link>http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=66ab3dbb-bf3e-4f46-9559-ccc6a4f9dc19</link>
      <description>&lt;p&gt;If you have been following SQL Server 2008's development, then you are probably available that SQL Server 2008's first service pack SP1 is &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=66ab3dbb-bf3e-4f46-9559-ccc6a4f9dc19"&gt;now available&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Although this service pack is first and foremost addressing usability issues, it also means that the version number of the product is changing. Programmatically, you might want to check whether this service pack has been installed. As you will surely recall, this can be done for instance with the @@VERSION function, as in "SELECT FROM @@VERSION". Executing this query returns a long string with version and operating system details, such as (here on multiple lines for readability):&lt;/p&gt;

&lt;pre&gt;
Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86)
Mar 29 2009 10:27:29   Copyright (c) 1988-2008 Microsoft
Corporation  Enterprise Edition on Windows NT 5.2 &lt;X86&gt;
(Build 3790: Service Pack 2)
&lt;/pre&gt;

&lt;p&gt;For the record, the version numbers for SQL Server 2008 RTM and SP1 are now:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SQL Server 2008 RTM: 10.0.1600.22&lt;/li&gt;
&lt;li&gt;SQL Server 2008 SP1: 10.0.2531.0&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This can prove to be valuable information, if you need to reference servers with or without the service pack.&lt;/p&gt;</description>
      <pubDate>Mon, 11 May 2009 19:11:58 GMT</pubDate>
      <guid isPermaLink="false">e3d7790e-5c2e-4e11-80cd-3a304d8b6e78</guid>
    </item>
    <item>
      <title>Visiting Lehmonkärki for the ITpro.fi spring meeting</title>
      <link>http://itpro.fi/</link>
      <description>&lt;p&gt;Two weekends ago, I had the change to meet people from our &lt;a href="http://itpro.fi/"&gt;ITpro.fi community&lt;/a&gt; at a seasonal spring meeting at Lehmonkärki, southern Finland. This time, the topics circles around Windows 7, Windows Server 2008 R2 and Exchange 2010. And of course, our team of five .NET developers, a.k.a. "The SoftBoys" also got together.&lt;/p&gt;

&lt;p&gt;Thanks again for the local Microsoft people and all ITpro.fi members for arranging and forming this fun and useful event!&lt;/p&gt;</description>
      <pubDate>Sat, 09 May 2009 07:40:19 GMT</pubDate>
      <guid isPermaLink="false">0dfd60e2-73aa-4c27-82db-a71c61fee248</guid>
    </item>
    <item>
      <title>Get ready to Windows 7 with the Windows 7 Developer Guide</title>
      <link>http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=Win7DeveloperGuide&amp;ReleaseId=1702</link>
      <description>&lt;p&gt;Now that &lt;a href="http://www.microsoft.com/windows/windows-7/download.aspx"&gt;Windows 7 RC 1&lt;/a&gt; is available for everyone (great!), it's a great time to start evaluating your applications on the new platform. To aid in this testing, you can download the &lt;a href="http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=Win7DeveloperGuide&amp;ReleaseId=1702"&gt;new Developer Guide&lt;/a&gt;, available from MSDN Code Gallery.&lt;/p&gt;

&lt;p&gt;Also, MSDN features a site for Windows 7 development. This site is named simply, &lt;a href="http://msdn.microsoft.com/en-us/windows/dd433113.aspx"&gt;Develop for Windows 7&lt;/a&gt;. Make sure you start testing your application and evaluating your code today, as the summer is soon here and the vacation period is starting.&lt;/p&gt;</description>
      <pubDate>Tue, 05 May 2009 14:54:03 GMT</pubDate>
      <guid isPermaLink="false">414b61ba-d8f1-4615-81b2-c02e9371f1fa</guid>
    </item>
    <item>
      <title>A Magic Quadrant for SCCM</title>
      <link>http://mediaproducts.gartner.com/reprints/microsoft/vol4/article9and10/article9and10.html</link>
      <description>&lt;p&gt;Gartner has released a new Magic Quadrant about Software Change and Configuration Management (SCCM). In this quadrant, software solution provides are ranged on a two-axis scale: vision and ability to execute. The latest report is &lt;a href="http://mediaproducts.gartner.com/reprints/microsoft/vol4/article9and10/article9and10.html"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Recommended reading.&lt;/p&gt;</description>
      <pubDate>Sun, 03 May 2009 14:36:13 GMT</pubDate>
      <guid isPermaLink="false">d52ffb11-2294-4810-970c-c791bb3a96df</guid>
    </item>
    <item>
      <title>New AJAX web application profiling tools available</title>
      <link>http://code.msdn.microsoft.com/AjaxView</link>
      <description>&lt;p&gt;Microsoft has released a new set of tools called the &lt;a href="http://code.msdn.microsoft.com/AjaxView"&gt;Visual Studio 2008 AJAX Profiling Extensions&lt;/a&gt;. These tools help in profiling your AJAX code in your ASP.NET web applications. So far, not that many tools have existed for profiling JavaScript code, but as AJAX becomes more mature and wide-spread, these tools have their place.&lt;/p&gt;

&lt;p&gt;The download is available on &lt;a href="http://code.msdn.microsoft.com/AjaxView"&gt;MSDN Code Gallery&lt;/a&gt;. Happy May Day!&lt;/p&gt;</description>
      <pubDate>Thu, 30 Apr 2009 18:08:32 GMT</pubDate>
      <guid isPermaLink="false">274fef1f-d447-4f4c-87e6-3186c9c0aad3</guid>
    </item>
    <item>
      <title>New article on Developer.com about software licensing</title>
      <link>http://www.developer.com/java/article.php/3817386</link>
      <description>&lt;p&gt;Sometimes, it's good to focus a little bit on the business-side of software development as well. With that in mind, Developer.com has published my latest article about software licensing, titled "&lt;a href="http://www.developer.com/java/article.php/3817386"&gt;Don't Forget About Software Licensing&lt;/a&gt;”.&lt;/p&gt;

&lt;p&gt;As Developer.com doesn't have a group named "Miscellaneous", my article went to the Java section of the site, but is nonetheless available from the front page (at least presently).&lt;/p&gt;

&lt;p&gt;The article talks about different software licensing models and also touches the topic of software activation and trial downloads and resellers.&lt;/p&gt;

&lt;p&gt;Let me know what you think!&lt;/p&gt;</description>
      <pubDate>Mon, 27 Apr 2009 18:38:58 GMT</pubDate>
      <guid isPermaLink="false">50a2c847-a800-4f4e-8a33-1cee0f8b17d9</guid>
    </item>
    <item>
      <title>Intel Software Conference 2009 in Salzburg</title>
      <link>http://www.intel.com/go/parallel/</link>
      <description>&lt;p&gt;This year, I again had the pleasure to attend the Intel Software Conference 2009, which was this time being help in Salzburg, Austria. A lovely country, and although I was a bit sceptic at first, a train-trip from Munich to Salzburg proved to be a very nice one indeed. What a lovely countryside this country has! You can see that from an airplane.&lt;/p&gt;

&lt;p&gt;Speaking of the conference, I enjoyed learning more about Intel Software's newest product, &lt;a href="http://www.intel.com/go/parallel/"&gt;Parallel Studio&lt;/a&gt;. Shortly put, if you are a C/C++ native code developer and using Visual Studio, then there isn’t a more suitable set of tools to help developing multi-threaded applications to squeeze the power out of the latest multicore processors.&lt;/p&gt;</description>
      <pubDate>Thu, 23 Apr 2009 17:14:39 GMT</pubDate>
      <guid isPermaLink="false">6ab8282e-94d5-479a-a692-e36ccc70dc78</guid>
    </item>
    <item>
      <title>New articles in Tietokone</title>
      <link>http://www.tietokone.fi/</link>
      <description>&lt;p&gt;Looks like a flood of new articles! For some reason, articles I prepared already a long time ago, seem to be all becoming published in April. But that's good, as the information needs to be flowing!&lt;/p&gt;

&lt;p&gt;This time, the Finnish Tietokone magazine has published two of my articles, titled "Näytä digikuvasi verkossa" and "Optimoi web-sivusi hakukoneita varten". Both can be read from the April issue of the magazine (Issue 4), or online if you have registered for an account.&lt;/p&gt;

&lt;p&gt;Happy reading!&lt;/p&gt;</description>
      <pubDate>Sun, 19 Apr 2009 18:30:41 GMT</pubDate>
      <guid isPermaLink="false">4d56011b-3179-4897-9103-e9c44726371e</guid>
    </item>
    <item>
      <title>New screencast about ASP.NET Dynamic Data</title>
      <link>http://www.developer.com/videos/</link>
      <description>&lt;p&gt;Earlier, I published a short screencast video about ASP.NET Dynamic Data. This time, the video is titled "Dynamic Data Application Structure", and is available as a direct link from &lt;a href="http://www.internet.com/player/index.php?bcpid=1534611832&amp;bclid=1433966034&amp;bctid=19557638001"&gt;here&lt;/a&gt;.

&lt;p&gt;Enjoy!&lt;/p&gt;

&lt;p&gt;PS. A similar video about ASP.NET MVC is also on the works. Stay tuned.&lt;/p&gt;</description>
      <pubDate>Thu, 16 Apr 2009 16:16:01 GMT</pubDate>
      <guid isPermaLink="false">320324af-577b-4ed2-b26e-4f8ec91972a9</guid>
    </item>
    <item>
      <title>New article about SQL Server Data Capture</title>
      <link>http://www.developer.com/db/article.php/3814631</link>
      <description>&lt;p&gt;Developer.com has published my latest article about SQL Server 2008 Enterprise Edition's Change Data features Change Tracking (CT) and Change Data Capture (CDC). The article talks about the basics and then dives into the SQL syntax details. A C# sample application to retrieve the changes is discussed.&lt;/p&gt;
&lt;p&gt;The article is available &lt;a href="http://www.developer.com/db/article.php/3814631"&gt;on Developer.com&lt;/a&gt;. Happy reading, and let me know if you use the technology in your own applications. Thanks!&lt;/p&gt;</description>
      <pubDate>Tue, 14 Apr 2009 17:56:45 GMT</pubDate>
      <guid isPermaLink="false">bb9a347c-0fbc-4d01-a0b8-a9a9ce7cdad8</guid>
    </item>
    <item>
      <title>Helping setting up development or testing machines: firewall confirmations with ease</title>
      <link>http://msdn.microsoft.com/en-us/library/cc646023.aspx</link>
      <description>&lt;p&gt;If you are writing code for the .NET platform with Visual Studio and SQL Server and are doing heavy testing on multiple (virtual) computers, then you might yourself repetitively configuring the Windows Vista, Windows 7 or Windows Server 2008 firewall to for instance allow communications to SQL Server.&lt;/p&gt;

&lt;p&gt;For instance, I'm often enabling PING (ICMP Echo Requests) on the testing virtual machines, as this helps to troubleshoot the occasional network and IP address problems. Secondly, you also need a quick way to allow the installed SQL Server instance to be contacted over the network. By default, all these Windows NT 6.x versions have firewall settings to hinder such communications.&lt;/p&gt;

&lt;p&gt;Of course, you can easily start the graphical advanced firewall configuration utility, and create two new inbound rules there. But, this gets a bit boring after settings up half-a-dozen virtual machines. Luckily, you can solve the problem with two (longish) command-line commands using NETSH.&lt;/p&gt;

&lt;p&gt;For instance, if you wanted to enable PING and SQL Server for the local subnet on TCP port 1433 (which I always use instead of dynamic ports), then you could execute the following commands on an elevated command prompt (command splitted into shorted lines for clarity):&lt;/p&gt;

&lt;pre&gt;
netsh advfirewall firewall add rule name="Allow PING" dir=in
action=allow enable=yes profile=any localip=any remoteip=any
protocol=icmpv4:8,any interfacetype=any

netsh advfirewall firewall add rule name="Allow SQL Server (TCP 1433)"
dir=in action=allow enable=yes profile=any localip=any
remoteip=localsubnet protocol=tcp localport=1433
&lt;/pre&gt;

&lt;p&gt;If you fail to run the command prompt with proper administrative rights, you will get an error message saying "The requested operation requires elevation". On the other hand, if these commands work as they should, then you will simply see "Ok." at the prompt. Terse, yes, but enough!&lt;/p&gt;</description>
      <pubDate>Sat, 11 Apr 2009 18:30:22 GMT</pubDate>
      <guid isPermaLink="false">e62519c6-db0e-4b4f-986f-aee58cc8d2e6</guid>
    </item>
    <item>
      <title>The forming of a Finnish Visual Studio Team System User Group</title>
      <link>http://www.microsoft.com/finland/subscribe/edirect/17032009_visual.html</link>
      <description>&lt;p&gt;Are you interested in Visual Studio Team System and living in Finland or speaking Finnish? Join us on 20th of April, 2009 to form a Visual Studio Team System User Group, of VSTS UG Finland for short.&lt;/p&gt;

&lt;p&gt;The aim of this user group is to gather together, share ideas and best practices in using Visual Studio Team System to the products fullest potential, and also to learn how application lifecycle can benefit software development teams, companies and customers. The event will be held at Tammasaarenkatu 1-5, Helsinki starting at 08:30 am. The event registration can be &lt;a href="http://www.microsoft.com/finland/subscribe/edirect/17032009_visual.html"&gt;done here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Welcome!&lt;/p&gt;</description>
      <pubDate>Wed, 08 Apr 2009 14:03:36 GMT</pubDate>
      <guid isPermaLink="false">71c5aef0-33ad-467f-9982-1391ec3be40b</guid>
    </item>
    <item>
      <title>SQL Server 2008 SP1 available</title>
      <link>http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=66ab3dbb-bf3e-4f46-9559-ccc6a4f9dc19</link>
      <description>&lt;p&gt;Microsoft SQL Server 2008 has today gotten its first service pack, SP1. You can &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=66ab3dbb-bf3e-4f46-9559-ccc6a4f9dc19"&gt;download it&lt;/a&gt; from Microsoft Downloads starting today.&lt;/p&gt;

&lt;p&gt;This service pack contains bug fixes and some new features like slipstream setup support, and the ability to deliver Report Builder 2.0 using ClickOnce.&lt;/p&gt;

&lt;p&gt;The release notes are available &lt;a href="http://download.microsoft.com/download/1/6/3/163A851B-D956-42E9-B426-F5C0EBE6B654/ReleaseNotes.htm"&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Tue, 07 Apr 2009 19:47:56 GMT</pubDate>
      <guid isPermaLink="false">734dff2c-41b8-43fd-9010-22692f07bea0</guid>
    </item>
    <item>
      <title>The location of SQL Server 2008's template files</title>
      <link>http://msdn.microsoft.com/en-us/library/ms174169.aspx</link>
      <description>&lt;p&gt;If you have used SQL Server 2008 Management Studio, you might have noticed the handy &lt;a href="http://msdn.microsoft.com/en-us/library/ms174169.aspx"&gt;Template Explorer&lt;/a&gt; feature. This allows you to quickly run T-SQL scripts by starting from ready-written templates, where you can &lt;/p&gt;

&lt;p&gt;In addition to the Template Explorer window, you can find the templates from a file system folder. For instance on a Windows Server 2003 system, the path would be:&lt;/p&gt;

&lt;pre&gt;
"C:\Documents and Settings\&amp;lt;user&amp;gt;\
Application Data\Microsoft\Microsoft SQL Server\
100\Tools\Shell\Templates\Sql"
&lt;/pre&gt;

&lt;p&gt;This location is handy, if you want to share templates or write your own.&lt;/p&gt;</description>
      <pubDate>Sun, 05 Apr 2009 16:57:38 GMT</pubDate>
      <guid isPermaLink="false">9f4b9d50-5c35-45f4-a80d-ae27f8be23e7</guid>
    </item>
    <item>
      <title>MVP award received for 2009</title>
      <link>http://mvp.support.microsoft.com/</link>
      <description>&lt;p&gt;It's the beginning of April again, and for me, it means both the end, and, hopefully, the beginning of a &lt;a href="http://mvp.support.microsoft.com/"&gt;Microsoft MVP&lt;/a&gt; award cycle.&lt;/p&gt;

&lt;p&gt;I'm happy to announce that Microsoft has awarded me once again for the prestigious MVP award for the year 2009.&lt;/p&gt;

&lt;p&gt;Thank you Microsoft, it's a pleasure to be on board for another year!&lt;/p&gt;</description>
      <pubDate>Thu, 02 Apr 2009 15:44:56 GMT</pubDate>
      <guid isPermaLink="false">d2e47831-10eb-48d8-b4d5-b0528aa1a544</guid>
    </item>
    <item>
      <title>New article about Live Services published</title>
      <link>http://www.developer.com/net/csharp/article.php/3812716</link>
      <description>&lt;p&gt;Developer.com has today published my &lt;a href="http://www.developer.com/net/csharp/article.php/3812716"&gt;latest article&lt;/a&gt; about Windows &lt;a href="http://dev.live.com/"&gt;Live Services&lt;/a&gt;, a set of web-based services accessible both interactively and from code with an HTTP (and sometimes SOAP) interface.&lt;/p&gt;

&lt;p&gt;The article shows how to use the Live Search using C# and the SOAP interface, then uses an interactive Virtual Earth map, and finally shows how to use the Presence Service.&lt;/p&gt;

&lt;p&gt;Enjoy reading!&lt;/p&gt;</description>
      <pubDate>Mon, 30 Mar 2009 16:02:47 GMT</pubDate>
      <guid isPermaLink="false">5a5d1ce2-cb69-404c-905c-cba80b386db0</guid>
    </item>
    <item>
      <title>Examples of IE8 Web Slices</title>
      <link>http://liveslices.com/Gallery.aspx</link>
      <description>&lt;p&gt;If you have studied the new features in &lt;a href="http://www.microsoft.com/windows/internet-explorer/"&gt;Internet Explorer 8&lt;/a&gt;, you know that one of them is &lt;a href="http://msdn.microsoft.com/en-us/library/cc196992.aspx"&gt;Web Slices&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Web Slices allow parts of a web site to marked as an updateable slice, which you can then add as a favorite to our IE8 browser. Whenever the slice updates on the origin server, IE8 catches that up, and shows it to the user. RSS, sort of.&lt;/p&gt;

&lt;p&gt;Now, despite the documentation on MSDN and elsewhere, it's actually quite hard to find real-world examples of the technology. Luckily, there's at least one such site, called &lt;a href="http://liveslices.com/Gallery.aspx"&gt;LiveSlices&lt;/a&gt;. Check it out.&lt;/p&gt;</description>
      <pubDate>Sun, 29 Mar 2009 09:44:38 GMT</pubDate>
      <guid isPermaLink="false">2a48e822-9c4d-48b4-a78a-588b0a9254a8</guid>
    </item>
    <item>
      <title>What is Microsoft Semblio?</title>
      <link>http://www.microsoft.com/learningspace/semblio/</link>
      <description>&lt;p&gt;Interested in learning and teaching in general? Microsoft has announced a new digital learning platform called &lt;a href="http://www.microsoft.com/learningspace/semblio/"&gt;Semblio&lt;/a&gt;. The idea is that you can use .NET and WPF technologies to author interactive learning material and share it with students.&lt;/p&gt;

&lt;p&gt;If this sounds interesting, be sure to check out the short video tutorial on the site, and then proceed to &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d22204fc-ab74-4d99-a5bd-bd56b32ff59f&amp;DisplayLang=en"&gt;download the SDK&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Thu, 26 Mar 2009 19:55:05 GMT</pubDate>
      <guid isPermaLink="false">24dd6c28-f650-4e57-bbea-cb9f9326fa9f</guid>
    </item>
    <item>
      <title>Changing the virtual folder where ASP.NET Dynamic Data templates are stored</title>
      <link>http://msdn.microsoft.com/en-us/library/cc837200.aspx</link>
      <description>&lt;p&gt;If you are building web applications with Visual Studio and ASP.NET Dynamic Data, you know that the default location for the page and field templates and content images is a virtual folder named "/DynamicData". This is good for simple web sites, but if you want to integrate your Dynamic Data application into an existing ASP.NET web application, you need to change this location.&lt;/p&gt;

&lt;p&gt;As you might guess, you cannot simple rename this folder as this wouldn't work. Instead, you have to set a property called DynamicDataFolderVirtualPath in Global.asax code-behind file, and then rename your folder. This property is part of the MetaModel object that is automatically created for you in the RegisterRoutes method, which is part of the template code. Here's an example:&lt;/p&gt;

&lt;pre&gt;
MetaModel model = new MetaModel();
model.RegisterContext(...);
model.DynamicDataFolderVirtualPath =
  "~/MyFolderName/DynamicData";
&lt;/pre&gt;

&lt;p&gt;MSDN also features a &lt;a href="http://msdn.microsoft.com/en-us/library/cc837200.aspx"&gt;howto article&lt;/a&gt; about this.&lt;/p&gt;</description>
      <pubDate>Tue, 24 Mar 2009 15:20:07 GMT</pubDate>
      <guid isPermaLink="false">f6b5fdb3-ea55-4cf0-b0e2-e43677ff7c80</guid>
    </item>
    <item>
      <title>How PLINQ changes your SQL queries</title>
      <link>http://blogs.msdn.com/pfxteam/</link>
      <description>&lt;p&gt;If you have used LINQ queries previously, you are probably happy to use the forthcoming &lt;a href="http://blogs.msdn.com/pfxteam/"&gt;Parallel LINQ or PLINQ&lt;/a&gt; that is part of Visual Studio 2010. It's great to have an "automatically" parallel version of your queries, so that you can maximize your use of the resources your multi-core desktop processor has. However, PLINQ isn't an automatic salvation to all your performance problems, simply because using PLINQ can transfer the work from the database server to your client.&lt;/p&gt;

&lt;p&gt;Of course, this all depends on what you are after. But let's have a concrete example. Assume you are using SQL Server as your database, to which you then execute the following LINQ query:&lt;/p&gt;

&lt;pre&gt;
NorthwindDataClassesDataContext cntx =
  new NorthwindDataClassesDataContext();
var cust = from c in cntx.Customers
           where c.Country == "USA"
           select c;
&lt;/pre&gt;

&lt;p&gt;As you can guess, this query fetches all the customer records that have the country value of "USA". Now, behind the scenes, LINQ to SQL executes the following SQL statement to get the records (easy to see using the SQL Server tracing utility):&lt;/p&gt;

&lt;pre&gt;
exec sp_executesql N'SELECT [t0].[CustomerID], [t0].[CompanyName],
[t0].[ContactName], [t0].[ContactTitle], [t0].[Address],
[t0].[City], [t0].[Region], [t0].[PostalCode], [t0].[Country],
[t0].[Phone], [t0].[Fax]
FROM [dbo].[Customers] AS [t0]
WHERE [t0].[Country] = @p0',
N'@p0 nvarchar(3)',@p0=N'USA'
&lt;/pre&gt;

&lt;p&gt;As you can see, the filtering for the customers occurs on the database server.&lt;/p&gt;

&lt;p&gt;Next, let's change the query to use PLINQ by simply adding the ".AsParallel()" method call after the customer table object in Visual Studio 2010:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.saunalahti.fi/janij/blog/images/2009_mar_visual_studio_2010_plinq.png" alt="Using PLINQ in Visual Studio 2010" /&gt;&lt;/p&gt;

&lt;p&gt;This is the new C# code for the PLINQ query:&lt;/p&gt;

&lt;pre&gt;
var cust = from c in cntx.Customers.AsParallel()
           where c.Country == "USA"
           select c;
&lt;/pre&gt;

&lt;p&gt;But how would you guess PLINQ would execute the SQL query if the aim is to enable the client computer to use multiple threads to process the results? Well, to solution is to do the country filtering on the client. In deed, this is reflected in the SQL statement, which now becomes:&lt;/p&gt;

&lt;pre&gt;
SELECT [t0].[CustomerID], [t0].[CompanyName], [t0].[ContactName],
[t0].[ContactTitle], [t0].[Address], [t0].[City], [t0].[Region],
[t0].[PostalCode], [t0].[Country], [t0].[Phone], [t0].[Fax]
FROM [dbo].[Customers] AS [t0]
&lt;/pre&gt;

&lt;p&gt;As you can see, the SQL query changes quite a bit. The results are naturally the same, but the processing (filtering) changes from the server to the client. If you have 100 records in the customers table, you won't probably see much difference in processing time, network utilization or memory usage. But if you had 1,000,000 records, things would change.&lt;/p&gt;

&lt;p&gt;This is not necessarily a bad thing, but you have to understand the consequences of using PLINQ. Using it should be decision you make after judging the effects.&lt;/p&gt;</description>
      <pubDate>Sun, 22 Mar 2009 20:09:56 GMT</pubDate>
      <guid isPermaLink="false">09461c4a-459d-4e77-b5b3-b468c9639115</guid>
    </item>
    <item>
      <title>ASP.NET MVC is now ready to download</title>
      <link>http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b&amp;displaylang=en</link>
      <description>&lt;p&gt;Earlier this week, Microsoft announced that the ASP.NET MVC framework is now ready. You can download the RTM version from &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b&amp;displaylang=en"&gt;Microsoft Downloads&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For more information about the MVC framework and how to use it, visit the &lt;a href="http://www.asp.net/mvc/"&gt;official ASP.NET MVC page.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy coding!&lt;/p&gt;</description>
      <pubDate>Fri, 20 Mar 2009 18:08:15 GMT</pubDate>
      <guid isPermaLink="false">d1f88004-c0c1-4105-8265-ddcfe9b112dd</guid>
    </item>
    <item>
      <title>Internet Explorer 8 is now available</title>
      <link>http://www.microsoft.com/ie8/</link>
      <description>&lt;p&gt;Microsoft today announced that Internet Explorer 8 (IE8) web browser is now &lt;a href="http://www.microsoft.com/presspass/press/2009/mar09/03-18IE8AvailablePR.mspx"&gt;ready and available&lt;/a&gt; from their downloads. The browser didn't spend a long time in the Release Candidate mode, meaning that the product was already quite finished at that time.&lt;/p&gt;

&lt;p&gt;New features include web accelerators (select text and see options pop up), web slices (automatically follow changes in different sites), compatibility with latest standards, and privacy enhancements among others.&lt;/p&gt;

&lt;p&gt;To get the latest version, visit the &lt;a href="http://www.microsoft.com/ie8/"&gt;dedicated IE8 page&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Thu, 19 Mar 2009 20:24:33 GMT</pubDate>
      <guid isPermaLink="false">9c3e5ffb-7a13-45ab-a13d-d39d7e4fed04</guid>
    </item>
    <item>
      <title>Microsoft Mix09 again in Las Vegas</title>
      <link>http://live.visitmix.com/</link>
      <description>&lt;p&gt;Microsoft's web-oriented developer conference, Mix09, is again &lt;a href="http://www.microsoft.com/presspass/press/2009/mar09/03-18MIX09PR.mspx"&gt;starting in Las Vegas&lt;/a&gt;. This year, the topics range from Silverlight 3 beta to Expression tools and everything between. Here's a quick highlight of things that are new:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Silverlight 3 brings in 3D support and new controls (enough said; three = three-D)&lt;/li&gt;
&lt;li&gt;Expression Web &lt;a href="http://www.microsoft.com/expression/try-it/superpreview/"&gt;SuperPreview&lt;/a&gt; for Internet Explorer: visual debugging for web pages&lt;/li&gt;
&lt;li&gt;Expression &lt;a href="http://www.microsoft.com/expression/try-it/blendpreview.aspx"&gt;Blend 3 Preview&lt;/a&gt;: a beta release of the fortcoming edition&lt;/li&gt;
&lt;li&gt;Windows Azure gets support for full trust applications and native code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To view the latest content, visit the &lt;a href="http://live.visitmix.com/"&gt;Mix09 web site&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Tue, 17 Mar 2009 17:21:44 GMT</pubDate>
      <guid isPermaLink="false">0b41df45-cfb9-4a42-a561-152957e744d2</guid>
    </item>
    <item>
      <title>Upgrading SQL Server 2008 Standard to Enterprise Edition</title>
      <link>http://www.microsoft.com/sqlserver/2008/en/us/default.aspx</link>
      <description>&lt;p&gt;I recently had the need the add more features into one testing server I have. The server is running &lt;a href="http://www.microsoft.com/sqlserver/2008/en/us/default.aspx"&gt;SQL Server 2008&lt;/a&gt; Standard, but I needed features only available in the Enterprise Edition. Sounds simple enough, but I noticed that it wasn't as easy as just putting the Enterprise DVD on the drive and then doing an upgrade.&lt;/p&gt;

&lt;p&gt;That is, since I already had an instance of Standard Edition installed, the Enterprise Edition setup only offered to install another instance of Standard Edition. I think I &lt;i&gt;could have&lt;/i&gt; entered the product key for Enterprise Edition during the setup to get the setup install Enterprise instance directly, but as the MSDN medias re pre-pidded (have the serial numbers ready), I never took a record of the different keys. Until now, that is.&lt;/p&gt;

&lt;p&gt;In the end, I ended removing the old Standard installation completely, and then re-installing Enterprise. Took a while, but sometimes these things do. Of course, all this sounded like a sub-optimal solution. So, if you know a better solution (now I have the Enterprise product key), don't hesitate to let me know. Thanks!&lt;/p&gt;</description>
      <pubDate>Sat, 14 Mar 2009 21:30:10 GMT</pubDate>
      <guid isPermaLink="false">636a896a-d148-4a65-9355-6911e85b0d52</guid>
    </item>
    <item>
      <title>Windows Azure to get SQL Data Services</title>
      <link>http://blogs.msdn.com/ssds/archive/2009/03/10/9469228.aspx</link>
      <description>&lt;p&gt;So far, Windows Azure only had useful, but still quite difficult-to-program data storage and query support&amp;mdash;many more developers are familiar with for example SQL Server data access standards than the Azure ones. No, I'm not saying that Azure's previous data support was bad, it was just different.&lt;/p&gt;

&lt;p&gt;Luckily, times are changing as Microsoft has just announced that they are planning, more or less, &lt;a href="http://blogs.msdn.com/ssds/archive/2009/03/10/9469228.aspx"&gt;to host SQL Server on the cloud&lt;/a&gt;. Well, it's not SQL Server on Azure 100%, but still you get really close: the aim is to have SQL Server's TDS network protocol to access Azure databases seamlessly on the cloud. Whohoo!&lt;/p&gt;

&lt;p&gt;In fact, they are planning to support Visual Studio and ADO.NET compatibility (I wonder what the server addresses will be like), and the most important features there like tables, views, stored procedures, triggers and indexes. Sounds like a plan to me.&lt;/p&gt;</description>
      <pubDate>Thu, 12 Mar 2009 20:35:42 GMT</pubDate>
      <guid isPermaLink="false">4cadf321-3378-40a1-8fef-87a1607be652</guid>
    </item>
    <item>
      <title>How did the bits go, again? Compiling your .NET applications for 32-bit and 64-bit systems</title>
      <link>http://msdn.microsoft.com/en-us/library/ms684139.aspx</link>
      <description>&lt;p&gt;64-bit PC computers have existed for years, but the fact is that most users still work with 32-bit systems, and we have to wait a couple of years for the doubling of bits to become mainstream. Personally, I believe that ordinary people will first notice that they need a 64-bit system once they start needing more than 4 GB of memory, but that's a topic for another post.&lt;/p&gt;

&lt;p&gt;Now, as a .NET developer, you are quite effectively guarded from the number of bits in the operating system and the processor. But even so, you must know how to detect the “bitness" of the operating system under which your application is running. Similarly, you have to be aware of the options of compiling your applications for 32-bit and 64-bit platforms.&lt;/p&gt;

&lt;p&gt;The first thing to remember is that a regular 32-bit Windows system cannot run 64-bit applications, but a 64-bit Windows can run both 32-bit and 64-bit applications. Now, if you compile your C# application with Visual Studio by default, it will function as a 32-bit application on a 32-bit Windows box, and as a 64-bit application on a 64-bit application.&lt;/p&gt;

&lt;p&gt;However, you can also control the number of bits your application supports. In Visual Studio's project properties, you can find a setting called “Platform target" under the Build tab:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.saunalahti.fi/janij/blog/images/2009_mar_platform_target_32_64.png" alt="Visual Studio Platform Target"/&gt;&lt;/p&gt;

&lt;p&gt;The default value for this setting is “Any CPU", which works as described above. By selecting “x86", you can force your application to always be a 32-bit application, or by selecting “x64", to always be a 64-bit application. Of course, if you compile your application to be a 64-bit application and you try to run it on a 32-bit operating system, the results can be like this:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.saunalahti.fi/janij/blog/images/2009_mar_64_bit_application_on_vista_32.png" alt="64-bit application failed to load"/&gt;&lt;/p&gt;

&lt;p&gt;In text, the error message says:&lt;/p&gt;

&lt;pre&gt;
The version of this file is not compatible with the version of
Windows you're running. Check your computer's system
information to see whether you need an x86 (32-bit) or
x64 (64-bit) version of the program, and then contact the
software publisher.
&lt;/pre&gt;

&lt;p&gt;As you can see, the Platform target setting in Visual Studio is pretty straightforward and easy to understand. But how would you detect the current platform in your code, and the specified platform target in code? Luckily, this is quite easy as well, and I'll share some code as well.&lt;/p&gt;

&lt;p&gt;Firstly, you might want to detect the bit depth of the current operating system. As you might guess, there are multiple ways to do that, but one of the &lt;a href="http://msdn.microsoft.com/en-us/library/ms724072.aspx"&gt;simplest ways&lt;/a&gt; to do this check is to see if the registry key “HKEY_LOCAL_MACHINE\Software\Wow6432Node" exists. If it does, it's pretty good indication the system is (recent) a 64-bit Windows. Here's the quick C# code to detect this:&lt;/p&gt;

&lt;pre&gt;
using Microsoft.Win32;
...
StringBuilder builder = new StringBuilder();

builder.Append("Wow64 key: Does ");
RegistryKey wow64Key = Registry.LocalMachine.OpenSubKey(
    "Software\\Wow6432Node", false);
if (wow64Key == null) builder.Append("NOT ");
else wow64Key.Close();
builder.AppendLine("exist");

MessageBox.Show(builder.ToString()); 
&lt;/pre&gt;

&lt;p&gt;Then, how could you detect the chosen number of bits of your executable? If we again take the straightforward route, then checking the size of the IntPtr structure works well and is fast. If the size is 4 bytes, then you are running your code in a 32-bit application and if 8, then it's a 64-bit application:&lt;/p&gt;

&lt;pre&gt;
builder.AppendLine("IntPtr size: " + IntPtr.Size.ToString());
&lt;/pre&gt;

&lt;p&gt;If you want more proof, then Windows API supports a function called &lt;a href="http://msdn.microsoft.com/en-us/library/ms684139.aspx"&gt;IsWow64Process&lt;/a&gt;. The problem with this function is, however, that it requires Windows XP SP2 or Windows Server 2003 at least. This function returns true if your application is running in WOW64 mode (WOW64 stands for “Windows On Windows 64" and allows 32-bit applications to run on a 64-bit operating system) and false if not. So, if you specify your application to be a 32-bit application with the Platform target setting set to “x86" and then run your application on a 64-bit computer, then IsWow64Process will return true.&lt;/p&gt;

&lt;p&gt;Here's a short C# code snippet to show how you can use the API function:&lt;/p&gt;

&lt;pre&gt;
using System.Runtime.InteropServices;
using System.Diagnostics;
...
[DllImport("kernel32.dll", SetLastError = true,
  CallingConvention = CallingConvention.Winapi)]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool IsWow64Process(
  [In] IntPtr hProcess,
  [Out] out bool wow64Process);
...
Process p = Process.GetCurrentProcess();
IntPtr handle = p.Handle;
bool isWow64 = false;
if (IsWow64Process(handle, out isWow64))
{
    builder.AppendLine("IsWow64Process: " +
        (isWow64 ? "Yes" : "No"));
}
else
{
    builder.AppendLine("IsWow64Process: Call failed");
}
&lt;/pre&gt;

&lt;p&gt;I compiled the following table to help you see how this works in practice:&lt;/p&gt;

&lt;table&gt;
	&lt;tr style="color: #000000; background-color: #cccccc;"&gt;
		&lt;td&gt;Windows OS bits&lt;/td&gt;
		&lt;td&gt;Platform target setting (application bits)&lt;/td&gt;
		&lt;td&gt;IntPtr.Size&lt;/td&gt;
		&lt;td&gt;IsWow64Process return value&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;32-bit&lt;/td&gt;
		&lt;td&gt;Any CPU&lt;/td&gt;
		&lt;td&gt;4&lt;/td&gt;
		&lt;td&gt;false&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;32-bit&lt;/td&gt;
		&lt;td&gt;x86&lt;/td&gt;
		&lt;td&gt;4&lt;/td&gt;
		&lt;td&gt;false&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;32-bit&lt;/td&gt;
		&lt;td&gt;x64&lt;/td&gt;
		&lt;td&gt;(app won't run)&lt;/td&gt;
		&lt;td&gt;(app won't run)&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;64-bit&lt;/td&gt;
		&lt;td&gt;Any CPU&lt;/td&gt;
		&lt;td&gt;8&lt;/td&gt;
		&lt;td&gt;false&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;64-bit&lt;/td&gt;
		&lt;td&gt;x86&lt;/td&gt;
		&lt;td&gt;4&lt;/td&gt;
		&lt;td&gt;true&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;64-bit&lt;/td&gt;
		&lt;td&gt;x64&lt;/td&gt;
		&lt;td&gt;8&lt;/td&gt;
		&lt;td&gt;false&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;Remember, the tips shown here to check the "bitness" might not be the official ones, but work reasonably well most of the time.&lt;/p&gt;

&lt;p&gt;Good luck!&lt;/p&gt;

&lt;p&gt;Keywords: Visual Studio Platform Target, 32-bit and 64-bit applications, how to detect number of bits in the operating system, how to check is operating system is 64-bit.&lt;/p&gt;</description>
      <pubDate>Tue, 10 Mar 2009 19:43:24 GMT</pubDate>
      <guid isPermaLink="false">a2351722-94d4-4cc3-9130-40e1a6f8b59b</guid>
    </item>
    <item>
      <title>First screencast published on Developer.com</title>
      <link>http://www.developer.com/</link>
      <description>&lt;p&gt;In addition for writing technical articles about software development for &lt;a href="http://www.saunalahti.fi/janij/publications/"&gt;over ten years&lt;/a&gt;, I've been recently asked to send in some screencasts about currently "hot" development topics. Of course, web development with latest technologies is always in, so I decided to author a 101 style of topic about &lt;a href="http://www.asp.net/dynamicdata/"&gt;ASP.NET Dynamic Data&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The screencast is available for free and without registration &lt;a href=" http://www.internet.com/player/index.php?bcpid=1534611832&amp;bclid=1433966034&amp;bctid=14847589001"&gt;on Internet.com&lt;/a&gt; (with links to it on Developer.com), and it was published on March 5th. The cast runs for about six minutes.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <pubDate>Sun, 08 Mar 2009 18:56:31 GMT</pubDate>
      <guid isPermaLink="false">d137f357-cd60-4b1f-8ff5-0786707ace7d</guid>
    </item>
    <item>
      <title>TechDays 2009 completed</title>
      <link>http://www.asp.net/dynamicdata/</link>
      <description>&lt;p&gt;Two days of whirl are over as TechDays 2009 just passed by. Tons of new information is again waiting to be digested, so there's plenty of new things to learn this March. I also had an ASP.NET session there about &lt;a href="http://www.asp.net/dynamicdata/"&gt;Dynamic Data&lt;/a&gt;, which was an interesting topic to the audience, if the number of questions received is anything to judge by.&lt;/p&gt;

&lt;p&gt;I promised to share my presentation's two sample applications, and here they are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.saunalahti.fi/janij/blog/files/aspnet_dynamicdata_localizationdemo.zip"&gt;DynamicDataLocalizationDemo&lt;/a&gt;: Shows how to localize a Dynamic Data web application using ASP.NET's localization support and resources. Easy to do, but somewhat tedious.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.saunalahti.fi/janij/blog/files/aspnet_dynamicdata_integrateddemo.zip"&gt;IntegratedDynamicDataDemo&lt;/a&gt;: Shows how to integrate an ASP.NET Dynamic Data web application into a regular ASP.NET web application as a subfolder. Not as easy as could be, but doable. Maybe a wizard would be in order here?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feel free to download there and use to your liking. Let me know if you use these somewhere or need additional help with custom development, I'm here to help as always.&lt;/p&gt;

&lt;p&gt;Thanks for Microsoft for holding this great event at the Helsinki Fair Center, and thanks for the MVP thumbs-up on stage!&lt;/p&gt;</description>
      <pubDate>Fri, 06 Mar 2009 19:58:01 GMT</pubDate>
      <guid isPermaLink="false">d128232f-31d2-49dc-96a0-a71abed1cc20</guid>
    </item>
    <item>
      <title>An “MSDN” for Expression users</title>
      <link>http://expression.microsoft.com/</link>
      <description>&lt;p&gt;Are you using Microsoft's Expression products for graphical design or WPF/Silverlight application design or development? If yes, then you might be interested in a newish web site called &lt;a href="http://expression.microsoft.com/"&gt;Microsoft Expression Community&lt;/a&gt;, which is available at expression.microsoft.com.&lt;/p&gt;

&lt;p&gt;The site contains a user-generated portion, but also an MSDN like library about technical details of the Expression products like Expression Web, Expression Blend and Expression Design. So if you are looking for information about how to use these applications and take them to the max, this site is a great place to start.&lt;/p&gt;</description>
      <pubDate>Mon, 02 Mar 2009 20:35:38 GMT</pubDate>
      <guid isPermaLink="false">28e70a06-bb2a-4c07-b56a-5d8ab7bf8b65</guid>
    </item>
    <item>
      <title>How to specify .NET CAS policies on client machines?</title>
      <link>http://support.microsoft.com/kb/931867</link>
      <description>&lt;p&gt;Welcome, March! Earlier this week, I got a question regarding .NET 2.0 (or later) WinForms applications and Code Access Security or CAS. If you are familiar with CAS, then you know that you can use the .NET Framework 2.0 Configuration utility (part of Administrative Tools) to set up security for your applications.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.saunalahti.fi/janij/blog/images/2009_mar_net_20_config_mmc.png" alt="The .NET Framework 2.0 Configuration utility" /&gt;&lt;/p&gt;

&lt;p&gt;However, the question I got was that where can this tool be found from the client computers? The answer is that unlike the older .NET 1.1 configuration tool, the .NET config tool for version 2.0 and later is not part of the .NET Runtime, and instead only comes with the SDK kit. That said, you could of course install the SDK on a client computer and then use the config tool, but if your only reason to install the SDK is to get the tool, I have a better alternative.&lt;/p&gt;

&lt;p&gt;Firstly, you can use the command-line tool called caspol.exe. This comes with the framework, so it is available on all computers which have .NET 2.0 installed. By running a command like this you could add machine-wide full trust to a given executable, for instance:&lt;/p&gt;

&lt;pre&gt;
caspol -m -af C:\Apps\MyApp.exe
&lt;/pre&gt;

&lt;p&gt;The second options is to use the configuration utility to set the correct policies on your development machine, and then create an MSI installer package from those settings. This can be done by right-clicking the Runtime Security Policy node (see the above image), and then choosing the command Create Deployment Package. This process is detailed in the Microsoft KnowledgeBase (KB) &lt;a href="http://support.microsoft.com/kb/931867"&gt;article 931867&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Sun, 01 Mar 2009 14:09:21 GMT</pubDate>
      <guid isPermaLink="false">1fd2c3fb-33df-4b4e-ae99-1cb5fca2dcae</guid>
    </item>
    <item>
      <title>Code Contracts for .NET</title>
      <link>http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx</link>
      <description>&lt;p&gt;Microsoft's DevLabs on MSDN has just recently released a new set of tools for .NET developers: &lt;a href="http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx"&gt;Code Contracts&lt;/a&gt;. According to the documentation, Code Contracts "provide[s] a language-agnostic way to express coding assumptions in .NET programs. The contracts take the form of pre-conditions, post-conditions, and object invariants." Sounds good!&lt;/p&gt;

&lt;p&gt;Code Contracts allows you to access a new namespace called System.Diagnostics.Contracts, and allows you to write Debug.Assert-like statements to check pre and post conditions in your code. However, the idea differs from Debug.Assert in that it is mostly for internal state/condition checks. On the other hand, Code Contracts allows you to use Visual Studio 2008 Team System to specify human or machine understandable conditions (more about this in the &lt;a href="http://research.microsoft.com/en-us/projects/contracts/faq.aspx"&gt;FAQ&lt;/a&gt;). To learn more, Code Contract's user manual is available &lt;a href="http://download.microsoft.com/download/A/1/2/A1220EB5-7CDD-403D-B94A-EEDFFA1848EB/userdoc.pdf"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Note that this Code Contracts is a side-result of Microsoft research project called &lt;a href="http://research.microsoft.com/en-us/projects/specsharp/"&gt;Spec#&lt;/a&gt;. Check it out as well.&lt;/p&gt;</description>
      <pubDate>Thu, 26 Feb 2009 17:21:59 GMT</pubDate>
      <guid isPermaLink="false">4a440dba-7590-487b-99bd-3b58812c5437</guid>
    </item>
    <item>
      <title>Hurry Up! Two days to download free Microsoft PDF books</title>
      <link>http://www.microsoft.com/learning/books/default.mspx</link>
      <description>&lt;p&gt;I just recently learned that Microsoft has presently three PDF book offers available. But, you need to hurry up! These free offers are only valid up to 25th of February, i.e. tomorrow.&lt;/p&gt;

&lt;p&gt;The books available for download are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Microsoft Visual C# 2008 Express Edition: Build a Program Now! &lt;a href="http://csna01.libredigital.com/?urrs4gt63d"&gt;Download&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Windows Vista Resource Kit, Second Edition &lt;a href="http://csna01.libredigital.com/?urws8un4p7"&gt;Download&lt;/a&gt;, way cool!&lt;/li&gt;
&lt;li&gt;Understanding Microsoft Virtualization Solutions &lt;a href="http://csna01.libredigital.com/?urmvs17u33"&gt;Download&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All these books require registration. Nonetheless, remember to act fast! :-)&lt;/p&gt;</description>
      <pubDate>Tue, 24 Feb 2009 15:40:01 GMT</pubDate>
      <guid isPermaLink="false">11ddac03-291d-488f-b8de-dd8d5d73ea4c</guid>
    </item>
    <item>
      <title>What's new in Windows Server 2008 R2?</title>
      <link>http://technet.microsoft.com/en-us/library/dd391932.aspx</link>
      <description>&lt;p&gt;Windows 7 is the hot topic today, but at the same time Microsoft is preparing &lt;a href="http://www.microsoft.com/windowsserver2008/en/us/r2.aspx"&gt;Windows Server 2008 R2&lt;/a&gt; (Release 2). Technically speaking, many new features will be part of this new OS release. Luckily, TechNet has an entire set of topics to teach you about Windows Server 2008 R2.&lt;/p&gt;

&lt;p&gt;The document titled "Changes in Functionality from Windows Server 2008 to Windows Server 2008 R2" is available at &lt;a href="http://technet.microsoft.com/en-us/library/dd391932.aspx"&gt;Windows Server TechCenter&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Sat, 21 Feb 2009 14:24:58 GMT</pubDate>
      <guid isPermaLink="false">b1137269-49a1-4b1a-959d-bddf0f7d374e</guid>
    </item>
    <item>
      <title>Internet Explorer 7 printing problem solved in Windows Vista</title>
      <link>http://www.microsoft.com/windows/internet-explorer/download-ie.aspx</link>
      <description>&lt;p&gt;For some reason, one of my Windows Vista machines stopped printing any web pages in Internet Explorer 7 (IE7). The symptoms: when starting to print any web page (local or on the network), or previewing a page, and error message popped up saying:&lt;/p&gt;

&lt;pre&gt;
[Window Title]
Windows Internet Explorer

[Content]
Cannot find 'file:///C:/Temp/Low/HJIIIIU0.htm'. Make sure the path or Internet address is correct.

[OK]
&lt;/pre&gt;

&lt;p&gt;Well, I have changed the %TEMP% environment variable on that machine to point to C:\Temp. Under that directory I had a directory called Low, but no files existed there. On that part, the error message was correct. But why did creating files into this directory fail?&lt;/p&gt;

&lt;p&gt;Turns out this was a security issue. From the information I found from the Internet, I gathered I needed to set the integrity level of the directory again, since it had changed for some reason that espaces me. The command you need to run is:&lt;/p&gt;

&lt;pre&gt;
icacls C:\Temp\Low /setintegritylevel (OI)(CI)low
&lt;/pre&gt;

&lt;p&gt;Running this command solved the problem.&lt;/p&gt;</description>
      <pubDate>Thu, 19 Feb 2009 19:10:14 GMT</pubDate>
      <guid isPermaLink="false">bf12d575-6d3f-4072-99e6-f2b98d357443</guid>
    </item>
    <item>
      <title>.NET 4.0 learning material: the training kit and the PDF poster</title>
      <link>http://brad_abrams.members.winisp.net/Projects/PDC2008/PDC2008-NETFX4.pdf</link>
      <description>&lt;p&gt;Today, while preparing for my ASP.NET session for the forthcoming technical sessions, I wanted to dig a bit deeper on the overall new features in .NET 4.0. Of course, there'a already quite a lot of information available for example on &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=752CB725-969B-4732-A383-ED5740F02E93&amp;displaylang=en"&gt;the .NET 4.0 Training Kit&lt;/a&gt;, but if you prefer, you can also download a nice overview PDF poster from the whole .NET 4.0 and the planned additions to the class library. This PDF was distributed at PDC, so if you attended the event, this might be old news. But in case you didn't, it might well not be.&lt;/p&gt;

&lt;p&gt;The PDF poster is available &lt;a href="http://brad_abrams.members.winisp.net/Projects/PDC2008/PDC2008-NETFX4.pdf"&gt;here in print quality&lt;/a&gt;, but if you enjoy interactivity better, there's also a Silverlight-enabled &lt;a href="http://brad_abrams.members.winisp.net/Projects/PDC2008/DotNet4Poster/DotNetFramework4PosterDeepZoom.htm"&gt;DeepZoom version&lt;/a&gt; available.&lt;/p&gt;</description>
      <pubDate>Mon, 16 Feb 2009 20:23:08 GMT</pubDate>
      <guid isPermaLink="false">704401b9-377f-4991-b623-4fc0b5eaf4df</guid>
    </item>
    <item>
      <title>Installing Live Mesh preview on Windows Server 2008</title>
      <link>http://www.mesh.com/</link>
      <description>&lt;p&gt;I had heard of Microsoft's &lt;a href="http://www.mesh.com/"&gt;Live Mesh&lt;/a&gt; before, but when I saw J.H. from our ITpro.fi group to actually use it, I wanted to give it a try myself. I'm currently using the version 0.9.3424.14, and I must say I'm impressed. Works like a charm!&lt;/p&gt;

&lt;p&gt;That is, on all computers I've tested it (four in total) except my Windows Server 2008 development machine. On Windows Server 2008, I could not install the utility, because I got an error message immediately after running LiveMesh.exe:&lt;/p&gt;

&lt;pre&gt;
---------------------------
Live Mesh
---------------------------
This installation is forbidden by system policy.
Details about this problem can be found here.
[80070659] This installation is forbidden by
system policy. Contact your system administrator.
---------------------------
OK   
---------------------------
&lt;/pre&gt;

&lt;p&gt;Now, ahem, which policy? I haven't set any explicit group policies on this server, so it couldn't be anything that like. Also, running the installation program with real admin rights ("Run as Administrator") didn't help either, "Product does not support running under an elevated [80080017]". No luck on the first try, that is.&lt;/p&gt;

&lt;p&gt;Luckily, the help link on the original error message pointed me to an Windows Installer related property called &lt;a href="http://msdn.microsoft.com/en-us/library/aa368304.aspx"&gt;DisableMSI&lt;/a&gt;. From the Windows Installer documentation on MSDN, I gathered that even though I haven't set an explicit policy, this is the same as I had disabled support for MSI installations.&lt;/p&gt;

&lt;p&gt;Now, to solve the problem at hand, I needed to manually create an registry key to enable the installation of Live Mesh. Following the Windows Installer documentation, I created a key named "DisableMSI" (a 32-bit DWORD) under the registry key HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer, and set its value to zero (0). After this, Live Mesh installed just great!&lt;/p&gt;

&lt;p&gt;As a sidenote, Live Mesh starts transferring files from the monitored directory (directories) in about 30 to 60 seconds after they are placed to the folder. While the transfer operation is in place, the blue circle icon on the taskbar tray area spins, and you can see files with the .WLX appearing on the designated directory. These are "Live Mesh Placeholder Files". The application itself installs itself somewhat sneakingly under your profile, but this avoids running into UAC and security issues. On my machine, the installation path is C:\Users\Jani Järvinen\AppData\Local\Microsoft\Live Mesh\Bin\Servicing\0.9.3424.14.&lt;/p&gt;

&lt;p&gt;Now, if you need to transfer (smallish) files from place A to B and/or you need to access your files from anywhere, try Live Mesh. Works well for me. Get started at &lt;a href="http://www.mesh.com/"&gt;www.mesh.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Keywords: How to install Live Mesh beta on Windows Server 2008.&lt;/p&gt;</description>
      <pubDate>Sun, 15 Feb 2009 21:01:47 GMT</pubDate>
      <guid isPermaLink="false">b795bcc1-7b36-45a1-b990-4511f910361a</guid>
    </item>
    <item>
      <title>Fixing this RSS to be more compatible</title>
      <link>http://validator.w3.org/feed/</link>
      <description>&lt;p&gt;Last week, I was kindly contacted by Microsoft, who asked whether they could include this blog feed into their own C# development feed. Of course, that sounds great to me, so in the future, you might also be able to read this blog directly from Microsoft's sites.&lt;/p&gt;

&lt;p&gt;During the process, I learned that this RSS feed wasn't exactly valid as far as the latest RSS specifications are concerned. Luckily, &lt;a href="http://www.w3.org/"&gt;W3&lt;/a&gt; has a nice RSS validator service which I used to make sure no compatibility issues exist.&lt;/p&gt;

&lt;p&gt;So now you reading this blog should be even more easier than it has in the past. Thanks for hanging on!&lt;/p&gt;</description>
      <pubDate>Thu, 12 Feb 2009 15:44:32 GMT</pubDate>
      <guid isPermaLink="false">6541038f-e689-4b2d-8477-2fb373ec66fa</guid>
    </item>
    <item>
      <title>New article in Tietokone about Photosynth</title>
      <link>http://www.saunalahti.fi/janij/publications/tietokone.html</link>
      <description>&lt;p&gt;The second issue of the Finnish &lt;a href="http://www.tietokone.fi/"&gt;Tietokone magazine&lt;/a&gt; contains my latest article. This time, it's a two-pager about Microsoft Photosynth, the nifty little application to turn your digital photos into a walkable 3D model.&lt;/p&gt;

&lt;p&gt;If you haven't already, go ahead and check &lt;a href="http://photosynth.net/"&gt;Photosynth&lt;/a&gt; out!&lt;/p&gt;</description>
      <pubDate>Wed, 11 Feb 2009 22:11:45 GMT</pubDate>
      <guid isPermaLink="false">2d39dcd1-9cfd-4273-8b42-d85c1ff4b352</guid>
    </item>
    <item>
      <title>Updating many rows at a time in a DataTable</title>
      <link>http://msdn.microsoft.com/en-us/library/system.data.datatable.beginloaddata.aspx</link>
      <description>&lt;p&gt;Need to do a fast bulk update to a .NET DataTable class from C#, but don't want to get bothered by connected data update events, etc.? Well, of course you could first eliminate all events from the DataTable, then update your data, and then restore the event handlers, but that seems like a lot of work.&lt;/p&gt;

&lt;p&gt;Luckily, there's already a solution to this built into the DataTable class. This is a seldomly-known method called &lt;a href="http://msdn.microsoft.com/en-us/library/system.data.datatable.beginloaddata.aspx"&gt;BeginLoadData&lt;/a&gt;, which according to the documentation, "turns off notifications, index maintenance, and constraints while loading data." That is, just what you are after!&lt;/p&gt;

&lt;p&gt;Of course, there's also the corresponding EndLoadData method, which you must remeber to call once you are done with the update.&lt;/p&gt;</description>
      <pubDate>Sat, 07 Feb 2009 19:07:38 GMT</pubDate>
      <guid isPermaLink="false">31d6bd60-5154-4d68-921b-980fa0b361dd</guid>
    </item>
    <item>
      <title>Meeting with the Finnish ITpro.fi software development group</title>
      <link>http://itpro.fi/asiantuntijaryhmat/ohjelmistokehitys/</link>
      <description>&lt;p&gt;Yesterday, our Finnish ITpro.fi software development expert group had its winter meeting in Helsinki. This time, our topic were related to arranging future screencasts of .NET development related topics, with the first two screencasts already appearing &lt;a href="http://itpro.fi/asiantuntijaryhmat/ohjelmistokehitys/"&gt;on the site&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Nice meeting you again guys, and looking forward to the next meeting!&lt;/p&gt;</description>
      <pubDate>Fri, 06 Feb 2009 17:55:39 GMT</pubDate>
      <guid isPermaLink="false">8a8dc87e-7c0b-479e-9082-560bb25d46ba</guid>
    </item>
    <item>
      <title>Windows tip: Going quickly to special shell folders from the Start menu</title>
      <link>http://www.microsoft.com/windows/windows-7/</link>
      <description>&lt;p&gt;Sometimes, you might want to go quickly to certain shell folders. In .NET development, you can use the System.Environment's GetFolderPath method to retrieve the location of these special folder locations, such as the desktop or the common application data folder. Also, you might recall how I've previously blogged about the location of the SendTo folder in Vista, and its somewhat difficult location in the file system. But, what if you wanted to quickly go to these shell folders interactively?&lt;/p&gt;

&lt;p&gt;Luckily, there's an easy solution. Windows supports a special naming scheme with the "shell:" prefix in the Start/Search field or in the Start/Run dialog box. There are many such shortcuts, and for example by typing "shell:sendto" to Windows Vista's Start Search field, you can quickly open the SendTo folder at C:\Users\&amp;lt;user&amp;gt;\AppData\Roaming\Microsoft\Windows\SendTo. What a great timesaver!&lt;/p&gt;

&lt;p&gt;I haven't found an official documentation page for this trick, but the following is a short list of several useful shortcuts. It seems that this tip works even with Windows 2000 (unable to verify while I'm writing this), but definitely from Windows XP, Windows Vista, and onwards.&lt;/p&gt;

&lt;pre&gt;
shell:Administrative Tools
shell:AppData
shell:Cookies
shell:Cookies
shell:Desktop
shell:Downloads
shell:InternetFolder
shell:Local AppData
shell:ProgramFiles
shell:ProgramFilesCommon
shell:ProgramFilesCommonX86
shell:ProgramFilesX86
shell:Programs
shell:Public
shell:Recent
shell:RecycleBinFolder
shell:SendTo
shell:Start Menu
shell:Start Menu
shell:Startup
shell:System
shell:SystemX86
shell:Windows
&lt;/pre&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <pubDate>Mon, 02 Feb 2009 19:28:51 GMT</pubDate>
      <guid isPermaLink="false">7a3bbc42-1d63-4f7f-80be-50660167ea79</guid>
    </item>
    <item>
      <title>The current home of the Reflector tool</title>
      <link>http://www.red-gate.com/</link>
      <description>&lt;p&gt;Unless you've just started .NET development, you are most probably aware of a very useful tool for .NET developers called the Reflector. Originally this tool was made by Lutz Roeder, but lately he has stopped developing the tool personally.&lt;/p&gt;

&lt;p&gt;However, this doesn't mean the development of the tool has stopped. On the contrary: the tool is not distributed by &lt;a href="http://www.red-gate.com/"&gt;Red Gate&lt;/a&gt;, a development tool shop based in United Kingdom. From their web pages, you can still download a &lt;a href="http://reflector.red-gate.com/download.aspx"&gt;free version&lt;/a&gt; of the tool. The way I understand the situation, Red Gate is also going to commercialize the product, but wants to keep available a free version as well as a service to the community.&lt;/p&gt;</description>
      <pubDate>Fri, 30 Jan 2009 17:53:22 GMT</pubDate>
      <guid isPermaLink="false">ad44ed75-d30a-47b9-a52a-57a627b14885</guid>
    </item>
    <item>
      <title>Visiting England</title>
      <link>http://www.embarcadero.com/</link>
      <description>&lt;p&gt;For the last couple of days, I had the pleasure to visit an Embarcadero development/database tool technical training in England. It was interesting to learn more about the company's database solutions (I happen to know their development tools quite well already), and there seems to be a lot of potential.&lt;/p&gt;

&lt;p&gt;Also, I learned about a new virtualization solution called &lt;a href="http://www.xenocode.com/"&gt;XenoCode&lt;/a&gt; which was unknown to me previously. Their products allow to create large .EXE files of fully-installed applications, and virtualize the whole installation. The client computer can simply run the application without any installations and modifications to the target operating system. Very cool!&lt;/p&gt;</description>
      <pubDate>Thu, 29 Jan 2009 15:58:07 GMT</pubDate>
      <guid isPermaLink="false">2ed20eb8-50b6-4430-960d-4666326ec250</guid>
    </item>
    <item>
      <title>Windows Azure Software Development Kit updated</title>
      <link>http://www.microsoft.com/downloads/details.aspx?FamilyID=80e3eabf-0507-4560-aeb6-d31e9a70a0a6&amp;displaylang=en</link>
      <description>&lt;p&gt;Just a few days ago, Microsoft released the newest version of the Windows Azure SDK, the January 2009 CTP version. This package is available &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=80e3eabf-0507-4560-aeb6-d31e9a70a0a6&amp;displaylang=en"&gt;from Microsoft downloads&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The new CTP version includes performance improvements, sample application improvements and bug fixes, including one that bited me: an user name containing spaces could cause trouble.&lt;/p&gt;</description>
      <pubDate>Mon, 26 Jan 2009 20:42:10 GMT</pubDate>
      <guid isPermaLink="false">5f1d1c10-cf1c-4041-a2bf-89875761d3f9</guid>
    </item>
    <item>
      <title>Expression product service packs available</title>
      <link>http://www.microsoft.com/expression/</link>
      <description>&lt;p&gt;Are your using Microsoft's Expression products? If yes, you might wish to apply the latest service packs to your products. Microsoft has recently announced the availablity of Service Pack 1 for both Expression Media 2 and Expression Encoder 2.&lt;/p&gt;

&lt;p&gt;These packs are available for download &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=9440796E-6860-4586-948B-CCE2656AB811&amp;displaylang=en"&gt;here&lt;/a&gt; and &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=A29BE9F9-29E1-4E70-BF67-02D87D3E556E&amp;displaylang=en"&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Fri, 23 Jan 2009 18:19:03 GMT</pubDate>
      <guid isPermaLink="false">de036b99-5802-49cf-ad65-ab967ac73348</guid>
    </item>
    <item>
      <title>Two new articles, one Finnish and one English</title>
      <link>http://www.developer.com/design/article.php/3797171</link>
      <description>&lt;p&gt;Two new articles published: one Finnish column about Windows' 25 year anniversary, and another in English about Windows Azure application development.&lt;/p&gt;

&lt;p&gt;The Azure article is available on-line at &lt;a href="http://www.developer.com/design/article.php/3797171"&gt;Developer.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Happy reading!&lt;/p&gt;</description>
      <pubDate>Wed, 21 Jan 2009 19:26:50 GMT</pubDate>
      <guid isPermaLink="false">202aab00-e867-4b81-b786-f80c9f2f74ae</guid>
    </item>
    <item>
      <title>A quick Lightroom workflow to import photos</title>
      <link>http://www.adobe.com/products/photoshoplightroom/</link>
      <description>&lt;p&gt;Some photography topics for a change. A couple of people have recently asked me how I manage my picture workflow in Adobe Lightroom 1.4 when I want to get my pictures from the camera and import them into Lightroom. Here's how a quick run-down on my workflow.&lt;/p&gt;

&lt;p&gt;Firstly, I plug my memory card into my computer (my Canon has a Compact Flash card, currently I'm using a set of Sandisk Extreme III 8 GB cards), and the use a custom .NET application (written in C#, works in 64-bit Windows versions as well) to transfer the newest images to my hard disk into an "incoming" folder. Then, I take a backup copy of the images, after which I move the images into their correct location. In my case, this is the Windows Pictures folder (using Windows Server 2008 currently) under which I organize folders by year, month and date.&lt;/p&gt;

&lt;p&gt;The next step is to import the images into Lightroom. With the Lightroom window open, I drag and drop a set of photos from Windows Explorer into the Lightroom window. Most often, I drag a single folder's worth of pictures at a time, as this is the easiest way. Then, I specify common keywords in the Import dialog, and can remove obvious mistake images (very blurry, etc.) at this point. Then, I let Lightroom import the images.&lt;/p&gt;

&lt;p&gt;Next, I go to the Loupe view (press E on keyboard to get there), and star t looking the images one by one. The filmstrip at the bottom is easy to navigate with the left and right arrow keys. When I find an image I want to keep in the library, I press P for pick. By the way, by pressing "p", i.e. the small letter, the selection stays in the current image, but pressing "P" (Shift+P) will also move to the next image. So, I end up pressing repeatedly "p, right, right, p, right, p" and so on. You get the idea.&lt;/p&gt;

&lt;p&gt;Occasionally, I might also select to ignore blurry, unsharp, etc. images at this point with the X key (Rejected flag). Once I've gone through all the images I've imported, I have some images marked as Picks, some without any mark (those I didn't want to keep), and some outright rejected. Clear and simple so far.&lt;/p&gt;

&lt;p&gt;Now, I want to get rid of all the images that don't have a pick mark. To do so, I now choose the Library/Refine Photos command (Alt+L, R), in which case Lightroom will display the Refine dialog box (unless you have disabled it). This command will go through all the photos in the current view (i.e. those photos I just imported in the Previous Import library), and mark all photos without a flag or the rejected flag as rejected. At the same time, all Pick flagged images will have their flags removed.&lt;/p&gt;

&lt;p&gt;When refining the selection, Lightroom will also set a filter to display only the rejected photos. Next, I choose the Photo/Delete Rejected Photos command (Alt+P, J or Ctrl+Backspace). Then, I select to simply remove the pictures from the library with the Remove button, and not from the disk.  Actually, I never delete photos from my disk, just in case. You never know when you might need an older photos, even though it might be too dark, blurry, or so on.&lt;/p&gt;

&lt;p&gt;That's it. In my opinion, a quite effective workflow, and also fast to use especially via the keyboard. I'm happy to use Lightroom, and might even consider upgrading to the 2.0 version. This by fully acknowledging that I previously admitted that I wouldn't purchase any more Adobe products. But let Shadowland be the exception.&lt;/p&gt;</description>
      <pubDate>Tue, 20 Jan 2009 16:15:33 GMT</pubDate>
      <guid isPermaLink="false">cf087806-1229-4586-a3e0-c818d9fdd77f</guid>
    </item>
    <item>
      <title>Understanding database encryption in SQL Server 2008</title>
      <link>http://msdn.microsoft.com/en-us/library/cc278098.aspx</link>
      <description>&lt;p&gt;I recently needed to investigate the possibilities of encrypting an SQL Server 2008 database. Of course, as a developer I could quite easily write C# code to encrypt my data with some key (using DPAPI like solutions, for example) and then store that data to the database. Simple and clean.&lt;/p&gt;

&lt;p&gt;However, as I recalled from earlier investigation to the product, it turns out SQL Server 2008 has expanded the encryption capabilities in the latest version, meaning that developers don't need to do as much work as they used to do to get proper encryption in place.&lt;/p&gt;

&lt;p&gt;On MSDN, there's a &lt;a href="http://msdn.microsoft.com/en-us/library/cc278098.aspx"&gt;nice article&lt;/a&gt; about database encryption in SQL Server 2008 Enterprise Edition, which I suggest you to read. As with many security related topics, it's better to be safe than sorry. And even if you don't need encryption just today, it's good to know that there are such things available once you do.&lt;/p&gt;</description>
      <pubDate>Sat, 17 Jan 2009 13:06:02 GMT</pubDate>
      <guid isPermaLink="false">fcaf7582-a3b3-473e-b3d2-e3e6bf15c5bf</guid>
    </item>
    <item>
      <title>Windows 7 goodies: programmer's calculator</title>
      <link>http://www.microsoft.com/windows/windows-7/</link>
      <description>&lt;p&gt;Having had the time to test Windows 7 lately, there are many interesting things to note. Many blogs are already full of information about interesting features, and that's good. However, I haven't seen much talk about the less-used accessory applications like Calculator. But, Calculator in Windows 7 is getting very good for us developers: it now contains a programmer's mode.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.saunalahti.fi/janij/blog/images/2009_jan_windows_7_calculator.png" alt="Calculator has a Programmer's mode in Windows 7" /&gt;&lt;/p&gt;

&lt;p&gt;In this mode, you can instantly see your values (let them be bytes, words, dwords or qwords) in binary, and also easily shift bits and perform bitwise operations such as AND and XOR.&lt;/p&gt;

&lt;p&gt;Very good indeed!&lt;/p&gt;</description>
      <pubDate>Wed, 14 Jan 2009 18:30:47 GMT</pubDate>
      <guid isPermaLink="false">215dcb97-4673-4648-8c87-cf9590246e63</guid>
    </item>
    <item>
      <title>Microsoft Tag and Customer Care Framework, what are they?</title>
      <link>http://www.microsoft.com/tag/</link>
      <description>&lt;p&gt;Now products/services from Microsoft: firstly there's Microsoft Tag, and then there's Microsoft Customer Care Framework (CCF), both of which are new innovations. Here's a quick run-down.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.microsoft.com/tag/"&gt;Microsoft Tag&lt;/a&gt;: a mobile-phone oriented graphics, which can be photographed using a mobile phone. Then, a small utility on the phone converts the image into data, posts it over the web to Microsoft, which in turn redirects to the correct site.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.microsoft.com/serviceproviders/solutions/ccf.mspx"&gt;Microsoft Customer Care Framework 2009&lt;/a&gt; is a new product that helps "reate valuable customer relationships by improving the customer experience across all interaction channels". So, if you are a service provider or service-oriented company, this might be something for you.&lt;/p&gt;</description>
      <pubDate>Mon, 12 Jan 2009 17:59:25 GMT</pubDate>
      <guid isPermaLink="false">32cd1be9-4315-4d87-b856-48b19625217e</guid>
    </item>
    <item>
      <title>What is the Code Analysis Tool for .NET?</title>
      <link>http://www.microsoft.com/downloads/details.aspx?FamilyId=0178e2ef-9da8-445e-9348-c93f24cc9f9d&amp;displaylang=en</link>
      <description>&lt;p&gt;Have you already heard about Microsoft CAT .NET, or Code Analysis Tool for .NET? If not, it might well be the time to do so. CAT.NET allows you to scan your source code using static analysis methods, and then responds with a list of possible security issues.&lt;/p&gt;

&lt;p&gt;The tool can report on common problems such as XSS, SQL injection, file handling problems, and so on. Currently, the tool is in CTP mode, but it might well become finalized soon.&lt;/p&gt;

&lt;p&gt;To download the tool, visit &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=0178e2ef-9da8-445e-9348-c93f24cc9f9d&amp;displaylang=en"&gt;Microsoft Downloads&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Sun, 11 Jan 2009 12:05:03 GMT</pubDate>
      <guid isPermaLink="false">1d60c7c4-0aad-4faa-a6c8-35b1c54e5669</guid>
    </item>
    <item>
      <title>Windows 7 Beta 1 is here!</title>
      <link>http://www.microsoft.com/windows/windows-7/</link>
      <description>&lt;p&gt;Today's the day: &lt;a href="http://www.microsoft.com/windows/windows-7/"&gt;Windows 7&lt;/a&gt; Beta 1 is now available to download! Today, the beta became available to MSDN and Technet subscribers, and tomorrow it should be available for the general public.&lt;/p&gt;

&lt;p&gt;Windows 7 now also has an official page on Microsoft.com, &lt;a href="http://www.microsoft.com/windows/windows-7/"&gt;check it out.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can guess, I had to download my copy immediately. MSDN was pretty crowded, and I had to restard the download many times before I got the ISO image. Here's how the setup screen is like:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.saunalahti.fi/janij/blog/images/2009_jan_windows_7_beta.png" alt="Windows 7 Beta Setup Screen" /&gt;&lt;/p&gt;

&lt;p&gt;Lookin' good!&lt;/p&gt;</description>
      <pubDate>Thu, 08 Jan 2009 16:03:53 GMT</pubDate>
      <guid isPermaLink="false">7d22ad0e-746e-40f4-a2c4-370cc7fc27fe</guid>
    </item>
    <item>
      <title>TechDays 2009 registration is open</title>
      <link>http://www.microsoft.com/finland/techdays/fi/about.aspx</link>
      <description>&lt;p&gt;Microsoft Finland's premier developer event named TechDays 2009 is getting closer. You can now go to the &lt;a href="http://www.microsoft.com/finland/techdays/fi/about.aspx"&gt;registration page&lt;/a&gt; of the event and make sure you have a seat reserved. Unlike the previous years, this year TechDays is a paid-only event. The attendance fee is 200 € excluding VAT.&lt;/p&gt;

&lt;p&gt;I also have a speaking engagement at the event, so feel free to pop in to my session. This time it's about ASP.NET.&lt;/p&gt;

&lt;p&gt;Welcome to TechDays 2009!&lt;/p&gt;</description>
      <pubDate>Tue, 06 Jan 2009 14:00:11 GMT</pubDate>
      <guid isPermaLink="false">323c188e-36bd-4f57-85eb-e7a88f9500b1</guid>
    </item>
    <item>
      <title>Using Windows Azure's SQL Data Services via SOAP</title>
      <link>http://www.azure.com/</link>
      <description>&lt;p&gt;If you are interested in Windows Azure development like I am, you might wish to learn how to get started with the SQL Data Services (SDS). First of all, you need to know about the Azure web portal. For SQL Data Services, the address is &lt;a href="http://portal.ex.azure.microsoft.com/"&gt;http://portal.ex.azure.microsoft.com/&lt;/a&gt;. This is where you create yourself a solution to access from code, and a password to access it.&lt;/p&gt;

&lt;p&gt;Then, you need to learn that SDS supports two programming interfaces, REST and SOAP. My opinion is that the SOAP interface is easier to use for example from C#, and it's also easy to add a service reference to Visual Studio. Speaking of which, the WSDL address for SOAP calls is https://database.windows.net/soap/v1/. With this address, Visual Studio is able to work out the rest.&lt;/p&gt;

&lt;p&gt;SQL Data Services uses terminology such as authorities, containers and entities. You can create, read and delete these using the SOAP interface. For instance, to create a new authority, use the following code:&lt;/p&gt;

&lt;pre&gt;
SitkaSoapServiceClient soapClient =
  new SitkaSoapServiceClient("BasicAuthEndpoint");
soapClient.ClientCredentials.UserName.UserName = "solution_name";
soapClient.ClientCredentials.UserName.Password = "P@ssw0rd!";

Scope scope = new Scope();
Authority auth = new Authority();
auth.Id = "mynewauthority";
soapClient.Create(scope, auth);
&lt;/pre&gt;

&lt;p&gt;Here's an example of how to retrieve an entity with the ID string 12345:&lt;/p&gt;

&lt;pre&gt;
Scope scope = new Scope();
scope.AuthorityId = "mynewauthority";
scope.ContainerId = "somecontainer";
scope.EntityId = "12345";

Entity readEntity = soapClient.Get(scope);
if (readEntity != null)
{
  string name = (string)readEntity.Properties["name"];
  string email = (string)readEntity.Properties["email"];
}
&lt;/pre&gt;

&lt;p&gt;As you can see, accessing the SQL Data Services and the Azure cloud computing platform is easy. MSDN has &lt;a href="http://msdn.microsoft.com/en-us/library/cc512417.aspx"&gt;more documentation&lt;/a&gt;. Check it out.&lt;/p&gt;</description>
      <pubDate>Sat, 03 Jan 2009 14:09:51 GMT</pubDate>
      <guid isPermaLink="false">347d87fb-fc8e-4794-a67b-73da599db401</guid>
    </item>
    <item>
      <title>Welcome to the new year!</title>
      <link>http://en.wikipedia.org/wiki/2009</link>
      <description>&lt;p&gt;It's the year 2009, welcome! Also, if you can read this text, you've succesfully updated your feed reader with the URL of my latest blog.&lt;/p&gt;

&lt;p&gt;Thanks for popping in!&lt;/p&gt;</description>
      <pubDate>Thu, 01 Jan 2009 10:29:01 GMT</pubDate>
      <guid isPermaLink="false">a47ec785-c09b-4424-803f-7a9fb6283d78</guid>
    </item>
  </channel>
</rss>
