﻿<?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>Mon, 31 Dec 2007 14:04:04 GMT</pubDate>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>1440</ttl>
    <item>
      <title>Happy New Year 2008!</title>
      <link>
      </link>
      <description>&lt;p&gt;Happy New Year 2008 to all! And remember to change the RSS feed address you are using to read this blog. See you next year! :-)&lt;/p&gt;</description>
      <pubDate>Mon, 31 Dec 2007 14:02:33 GMT</pubDate>
      <guid>57c99e70-97ec-4564-b40b-ed6d51e00a7b</guid>
    </item>
    <item>
      <title>What is Windows SteadyState?</title>
      <link>http://www.microsoft.com/windows/products/winfamily/sharedaccess/default.mspx</link>
      <description>&lt;p&gt;I learned about a new Windows enhancement from Microsoft today: &lt;a href="http://www.microsoft.com/windows/products/winfamily/sharedaccess/default.mspx"&gt;Windows SteadyState&lt;/a&gt;. This utility allows users to lock down their Windows PCs so that nobody can change their configuration or cause other trouble with malicious intents.&lt;/p&gt;

&lt;p&gt;It appears SteadyState is the next version of Microsoft's Shared Computer Toolkit, which I've heard about many years ago.&lt;/p&gt;

&lt;p&gt;So, if you need to lock down your PC and its desktop for example at home, in an Internet cafe, or at a hotel lobby, Windows SteadyState appears to be the tool to use. Of course, there are many third-party options available as well.&lt;/p&gt;</description>
      <pubDate>Mon, 31 Dec 2007 13:46:50 GMT</pubDate>
      <guid>5359c7d1-b64a-492d-a982-5b52720007a9</guid>
    </item>
    <item>
      <title>New year brings changes: batteries in airplanes</title>
      <link>http://safetravel.dot.gov/whats_new_batteries.html</link>
      <description>&lt;p&gt;I heard from Canon camera forums yesterday, that U.S. Department of Transport (DOT) has given &lt;a href="http://safetravel.dot.gov/whats_new_batteries.html"&gt;new regulations&lt;/a&gt; to air travel regarding batteries, especially those with lihtium metals.&lt;/p&gt;

&lt;p&gt;It is unclear to me whether these rules will affect flights in Europe, but they sure will staring on 1st of January, 2008 in the USA. Maybe Europe follows later, I'd think. In any case, the basic rule is that lithium metal batteries, but not the normal lithium ions used for example in cameras are forbidden in checked backage, meaning the one that you won't carry with you to the cabin. Also, you are permitted to take such batteries into the cabin in carry-on baggage, so no real harm seems to be done with the new rule -- you just have to be more careful in what to pack and where.&lt;/p&gt;</description>
      <pubDate>Mon, 31 Dec 2007 13:01:17 GMT</pubDate>
      <guid>36faef71-e8d5-435c-ba14-ca66857bfbb4</guid>
    </item>
    <item>
      <title>A survey about Finnish software companies</title>
      <link>http://www.sbl.tkk.fi/oskari/index.htm</link>
      <description>&lt;p&gt;The Finnish Helsinki University of Technology (HUT) has conducted a survey with the University of Turku about Finnish software companies in &lt;a href="http://www.sbl.tkk.fi/oskari/index.htm"&gt;their OSKARI project&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It is estimated that there are around 1000 software companies in Finland, of which the survey was able to reach about 400. The 2007 results are &lt;a href="http://www.sbl.tkk.fi/oskari/Finnish_Software_Industry_Survey_2007.pdf"&gt;available here&lt;/a&gt; in PDF format.&lt;/p&gt;

&lt;p&gt;The survey contains information about the companies such as size, location, ownership and financing. Also, main products and services are investigated. If you are interested in knowing more about the Finnish software industry, this is compulsory reading.&lt;/p&gt;</description>
      <pubDate>Sun, 30 Dec 2007 06:52:53 GMT</pubDate>
      <guid>ecad784b-9573-4ae3-b90a-ad9be9da157d</guid>
    </item>
    <item>
      <title>Just for the record: Visual Studio 2008 RTM version number</title>
      <link>http://msdn2.microsoft.com/en-us/vstudio/products/bb931331.aspx</link>
      <description>&lt;p&gt;Visual Studio 2008 is &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/products/bb931331.aspx"&gt;here now&lt;/a&gt;, but sooner or later, the first updates and service packs will be here. When that happens, I'm pretty sure I find myself wanting to remember the RTM version number so that I could compare it. And always at that point I slap myself to the forehead and think "why didn't I write it down then". Well, this time I'm prepared to know better.&lt;/p&gt;

&lt;p&gt;So here goes. The Visual Studio 2008 RTM version number is 9.0.21022.8. Just for the record, that is.&lt;/p&gt;

&lt;p&gt;By the way, there's also available a quite new Visual C# 2008 Keybinding Reference Poster on Microsoft downloads. &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=e5f902a8-5bb5-4cc6-907e-472809749973&amp;displaylang=en"&gt;Go and get&lt;/a&gt; your copy!&lt;/p&gt;</description>
      <pubDate>Sat, 29 Dec 2007 16:41:22 GMT</pubDate>
      <guid>d2bca13b-1cb0-44e6-85bf-5e19bcbbf0cd</guid>
    </item>
    <item>
      <title>Roland V-Synth GT, wow!</title>
      <link>http://www.roland.com/products/en/V-Synth_GT/index.html</link>
      <description>&lt;p&gt;During Christmas holidays it's always nice to surf the Internet and look for some seriously cool stuff. Well, this time I wandered to Roland's web site, the maker of synths and many other audio related things.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.saunalahti.fi/janij/blog/images/2007_dec_roland_vsynth.png"&gt;&lt;/p&gt;

&lt;p&gt;And what I found was &lt;a href="http://www.roland.com/products/en/V-Synth_GT/index.html"&gt;V-Synth GT&lt;/a&gt;. Simply wow! I checked the price, "only" 2590 &amp;euro; from a local store. Hmm, maybe next Christmas. :-)&lt;/p&gt;</description>
      <pubDate>Wed, 26 Dec 2007 08:08:18 GMT</pubDate>
      <guid>8bef01cd-a628-4a9b-87d9-dd98988b8ce5</guid>
    </item>
    <item>
      <title>Reminder: address of this blog is about to change soon</title>
      <link>
      </link>
      <description>&lt;p&gt;Dear reader, it's soon time to jump into 2008, and this means one thing regarding this blog: the URL address of the RSS feed for the most recent items will change beginning of 2008. The RSS feed you are reading now is:&lt;/p&gt;

&lt;pre&gt;http://www.saunalahti.fi/janij/blog/2007.xml&lt;/pre&gt;

&lt;p&gt;But once 2008 is here and I get the chance to blog my first entry, the new URL will be:&lt;/p&gt;

&lt;pre&gt;http://www.saunalahti.fi/janij/blog/2008.xml&lt;/pre&gt;

&lt;p&gt;So, please update your references soon. Thanks for your understanding! And finally, happy holidays to everyone, and see you in 2008, too.&lt;/p&gt;</description>
      <pubDate>Sun, 23 Dec 2007 11:43:16 GMT</pubDate>
      <guid>c0ccdb37-2195-48aa-9770-e4215e1f8828</guid>
    </item>
    <item>
      <title>More PowerShell stuff from MSDN magazine</title>
      <link>http://msdn.microsoft.com/msdnmag/issues/07/12/PowerShell/default.aspx</link>
      <description>&lt;p&gt;The most recent issue of the MSDN magazine has an article about PowerShell: "&lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/12/PowerShell/default.aspx"&gt;Extend Windows PowerShell With Custom Commands&lt;/a&gt;".&lt;/p&gt;

&lt;p&gt;This article talks about extending PowerShell with your own snap-ins, and the example code is given in C#. Go and read it today.&lt;/p&gt;</description>
      <pubDate>Fri, 21 Dec 2007 18:32:13 GMT</pubDate>
      <guid>e545f05a-e816-4481-86ec-d2743668f9f5</guid>
    </item>
    <item>
      <title>Taskix: finally a tool to reorder Windows Task Bar buttons!</title>
      <link>http://taskix.robustit.com/</link>
      <description>&lt;p&gt;I finally found an utility that would let me do something I've already wanted to do a long time: rearrange Windows Task Bar buttons at will.&lt;/p&gt;

&lt;p&gt;Yes, I'm one of those who have the habit of starting my PC and then firing up applications in certain order. Usually Outlook is first, then Outlook Express for newsgroups, and then Internet Explorer. With these four tools, I don't pay much attention to the icons on the taskbar buttons: I just select the first, second, third of fourth in order. And if it's the wrong application, it's not all happy-happy-joy-joy.&lt;/p&gt;

&lt;p&gt;But, finally there's a solution other than restarting all those applications: &lt;a href="http://taskix.robustit.com/"&gt;Taskit&lt;/a&gt;. Thank you, A.S.!&lt;/p&gt;</description>
      <pubDate>Tue, 18 Dec 2007 15:06:48 GMT</pubDate>
      <guid>4d9df363-59d6-48d7-ac34-99603deee065</guid>
    </item>
    <item>
      <title>New column in the Finnish Prosessori magazine</title>
      <link>http://www.prosessori.fi/</link>
      <description>&lt;p&gt;The latest December issue of the Finnish &lt;a href="http://www.prosessori.fi/"&gt;Prosessori magazine&lt;/a&gt; has my column about small software companies and their recipe for success. The column is titled "Menestystekijöistä joustavuus ja asenne ovat sijalla yksi". I've also updated my list of &lt;a href="http://www.saunalahti.fi/janij/publications/"&gt;publications&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <pubDate>Sun, 16 Dec 2007 05:56:46 GMT</pubDate>
      <guid>19a60f99-87b9-4d1b-baa0-4b41c249d83b</guid>
    </item>
    <item>
      <title>Future of different Windows data access technologies</title>
      <link>http://msdn2.microsoft.com/en-us/library/ms810810.aspx</link>
      <description>&lt;p&gt;Sometimes, people ask me which data access technologies are still supported today, and which are about to be phased out. On MSDN, there's an article titled "&lt;a href="http://msdn2.microsoft.com/en-us/library/ms810810.aspx"&gt;Data Access Technologies Road Map&lt;/a&gt;" from June 2007 that lists these technologies.&lt;/p&gt;

&lt;p&gt;Shortly put, many older, native-code level features have either been declared deprecated (meaning you should consider changing them to something newer) or obsolete (meaning that support for these technologies has ended).&lt;/p&gt;

&lt;p&gt;Of course, Microsoft is pushing developers towards SQL Server, which is actually good thing in that thus applications will become more robust. The other side of the coin is that many simpler technologies, like Access via Jet is deprecated. This means that if you are still using Access as your (simple) database, you might wish to consider SQL Server Compact Edition. Interestingly enough, Microsoft's own Access 2007 still uses Access databases of course. However, I'm not sure which data access technology it uses internally so this MDAC/OLE DB related MSDN article might not apply.&lt;/p&gt;</description>
      <pubDate>Thu, 13 Dec 2007 16:15:23 GMT</pubDate>
      <guid>7aec45b1-eaeb-47e0-b5a1-e3405a7c902a</guid>
    </item>
    <item>
      <title>InterBase 7.5 backup/restore timing problem</title>
      <link>http://www.codegear.com/products/interbase/</link>
      <description>&lt;p&gt;While in Denmark yesterday and earlier today giving an &lt;a href="http://www.codegear.com/products/interbase/"&gt;InterBase&lt;/a&gt; training we noticed a backup/restore issue with gbak and gfix combination where there are users connected to the database, and you want first to shut the database down (as to remove other users) and then backup and immediately restore the database.&lt;/p&gt;

&lt;p&gt;The problem here is the word immediately. If you want to improve the internal database file structure and make the .GDB/.IB file smaller (shrink it), you need to do a backup and restore. However, if you try to do that with gbak from the command-line, you might run into the following error while restoring:&lt;/p&gt;

&lt;pre&gt;
gbak: ERROR: could not drop database C:\Program Files\Borland\InterBase\examples\database\employee.gdb (database might be in use)
gbak: Exiting before completion due to errors.
&lt;/pre&gt;

&lt;p&gt;We tested this with stock InterBase 7.5 server on Windows 2003 Server and Windows XP workstation. Here’s a .CMD batch file script that is able to reproduce the above error:&lt;/p&gt;

&lt;pre&gt;
@echo off
cd "C:\Program Files\Borland\InterBase\bin"

echo Shutting down...
gfix -shut -force 1 -user sysdba -password masterkey "C:\Program Files\Borland\InterBase\examples\database\employee.gdb"

echo Backing up...
gbak -b -user sysdba -password masterkey "C:\Program Files\Borland\InterBase\examples\database\employee.gdb" c:\data\employee.gbak

echo Restoring up...
gbak -r -user sysdba -password masterkey c:\data\employee.gbak "C:\Program Files\Borland\InterBase\examples\database\employee.gdb"

cd\
echo Done!
&lt;/pre&gt;

&lt;p&gt;To workaround this issue, you can introduce a simple wait between the backup and the restore command. Usually, a delay in the range of 5 to 10 seconds is enough. You can wait with a following VBScript code (the sleep time is in milliseconds):&lt;/p&gt;

&lt;pre&gt;
WScript.Sleep 5000
&lt;/pre&gt;

&lt;p&gt;You would then save this code line to a file, say, wait.vbs, and then modify the above script file to include a call to this script file:&lt;/p&gt;

&lt;pre&gt;
@echo off
cd "C:\Program Files\Borland\InterBase\bin"

echo Shutting down...
gfix -shut -force 1 -user sysdba -password masterkey "C:\Program Files\Borland\InterBase\examples\database\employee.gdb"

echo Backing up...
gbak -b -user sysdba -password masterkey "C:\Program Files\Borland\InterBase\examples\database\employee.gdb" c:\data\employee.gbak

echo Waiting five seconds after backup...
cscript wait.vbs //nologo

echo Restoring up...
gbak -r -user sysdba -password masterkey c:\data\employee.gbak "C:\Program Files\Borland\InterBase\examples\database\employee.gdb"

cd\
echo Done!
&lt;/pre&gt;

&lt;p&gt;With this batch code, you should be able to always take your backups and then restore immediately. I’m not sure if this problem would affect InterBase 7.5 SP1 or InterBase 2007 (8.0).&lt;/p&gt;</description>
      <pubDate>Wed, 12 Dec 2007 21:23:57 GMT</pubDate>
      <guid>0232b709-c1e2-4df4-bbdd-b291e6db2782</guid>
    </item>
    <item>
      <title>Two quick Task Manager tips</title>
      <link>
      </link>
      <description>&lt;p&gt;I learned two little Windows Task Manager tricks recently: firstly, you can start a command prompt (cmd.exe) by clicking the File/Run menu command while you are pressing the Ctrl key. This omits the need to type in "cmd" to the Create New Task dialog box. This is very handy at times.&lt;/p&gt;

&lt;p&gt;Secondly, I've noticed that you can also close the Task Manager window by pressing Ctrl+Break. Yes, this is not so useful, but an interesting find nonetheless. Seems like Task Manager has more features than it seems at first sight.&lt;/p&gt;

&lt;p&gt;I've also spoken with SL from ITpro.fi about the ability to run command prompt by pressing Ctrl key, and his opinion is that this ability cannot be disabled with group policies. For example, one might have a software restriction policy where cmd.exe is blocked/disabled, but if you can run Task Manager, you can bypass this check. Seems like a hacking point to me.&lt;/p&gt;</description>
      <pubDate>Sun, 09 Dec 2007 10:23:32 GMT</pubDate>
      <guid>082bd2e4-4b5a-4d1a-bbc7-ab4f2bd41d84</guid>
    </item>
    <item>
      <title>Problem with Ifolor and my Canon 5D JPEGs</title>
      <link>http://www.ifolor.fi/</link>
      <description>&lt;p&gt;I wanted to make prints out of my photos today, and used the company I've previously have: Ifi from Finland. Nowadays the company is named &lt;a href="http://www.ifolor.fi/"&gt;Ifolor&lt;/a&gt;, but their offerings are almost the same as previously. Except, two things: they don't anymore offer large prints, meaning 75 x 50 cm (around 30 x 20 inches), and there is a problem with larger picture files.&lt;/p&gt;

&lt;p&gt;If I convert images from my EOS 5D to JPEG, they are usually in the range of 4-7 MB, depending on the picture itself. However, if you try to upload such pictures to Ifolor, you will get the following error:&lt;/p&gt;

&lt;pre&gt;
---------------------------
ifolor Uploader Control
---------------------------
Tiedoston koko ylittää sallitun ylärajan 6815744 tavua.
---------------------------
OK   
---------------------------
&lt;/pre&gt;

&lt;p&gt;This means that they now have a limit of 6815744 bytes for pictures. Okay, this is well for pocket-sized digicams, but not for the largest resolution DSLRs. Think about Canon EOS 1Ds Mk III, for example. :-) Of course, they are a consumer-oriented company, but previously with Ifi this wasn't a problem. Now you either have to resize your pictures a bit smaller (my choice) or increase the JPEG compression factor.&lt;/p&gt;</description>
      <pubDate>Wed, 05 Dec 2007 16:08:08 GMT</pubDate>
      <guid>521fc677-d3b8-4d30-85a7-14824282a5ef</guid>
    </item>
    <item>
      <title>My LINQ article in CodeZone</title>
      <link>http://www.codezone.fi/DetailPage.Codezone?GUID=d723ee3f-c712-4067-8754-93ade29315a7</link>
      <description>&lt;p&gt;A new &lt;a href="http://www.codezone.fi/DetailPage.Codezone?GUID=d723ee3f-c712-4067-8754-93ade29315a7"&gt;CodeZone page&lt;/a&gt; features my latest Finnish article about LINQ. The two-page article gives quick code examples on how to use LINQ to objects, DataSets and XML files.&lt;/p&gt;

&lt;p&gt;I hope you find the short document worth your time, and learn new tricks along the way.&lt;/p&gt;</description>
      <pubDate>Tue, 04 Dec 2007 06:28:03 GMT</pubDate>
      <guid>54fbf2ea-ef65-45ef-9ae1-611a592a2de9</guid>
    </item>
    <item>
      <title>Weekend with Visual Studio 2008 and Blend at Lehmonkarki</title>
      <link>http://itpro.fi/</link>
      <description>&lt;p&gt;Our group of &lt;a href="http://itpro.fi/"&gt;ITpro.fi&lt;/a&gt; team of software development spent the previous weekend at Lehmonkärki, the location used also earlier this autumn. Three from our team, NS, SP plus me took our laptops and studied new technologies and spent the time with Visual Studio 2008 and Express Blend, and other tools and applications, like SQL Server 2008. It was great fun, and business too, as I rarely have the time to play with technology as much as I'd like. Stay tuned for more blog articles both here and on ITpro.fi, as I find time to digest all the things I learned during our meeting.&lt;/p&gt;</description>
      <pubDate>Mon, 03 Dec 2007 17:02:48 GMT</pubDate>
      <guid>e96b78c0-256b-4de2-9328-bcf4a1a0012b</guid>
    </item>
    <item>
      <title>Parallel Extensions for .NET developers, CTP available</title>
      <link>http://blogs.msdn.com/somasegar/archive/2007/11/29/parallel-extensions-to-the-net-fx-ctp.aspx</link>
      <description>&lt;p&gt;Great news for all multi-core enthusiasts earlier today from the "blog press": Microsoft has &lt;a href="http://blogs.msdn.com/somasegar/archive/2007/11/29/parallel-extensions-to-the-net-fx-ctp.aspx"&gt;announced&lt;/a&gt; a CTP of a paraller programming extension for .NET developers. I haven't yet tested the new extensions, but it sure would be great to have semi-automatic support for multi-threading. In the long run, all processors will be multi-core, but I'm afraid not all developers are able to take best advantage of the new processors if they need to manually code threading into their applications. Thus, these kind of extensions are really needed to drive the industry forward, one application at a time.&lt;/p&gt;

&lt;p&gt;At the same time, Microsoft also published a new white paper about these topics, titled "&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=633F9F08-AAD9-46C4-8CAE-B204472838E1&amp;displaylang=en"&gt;The Manycore Shift&lt;/a&gt;".&lt;/p&gt;</description>
      <pubDate>Thu, 29 Nov 2007 19:51:03 GMT</pubDate>
      <guid>c2ddc6cc-eabb-44e2-a37d-8f09149eae80</guid>
    </item>
    <item>
      <title>Expression Tour videos and slides available</title>
      <link>http://www.codezone.fi/Expression_European_Designer_Tour.Codezone</link>
      <description>&lt;p&gt;I was attending the Finnish Microsoft Expression Designer Tour in Helsinki last week, and all the sessions were recorded.&lt;/p&gt;

&lt;p&gt;Now, the videos and the presentations are available for &lt;a href="http://www.codezone.fi/Expression_European_Designer_Tour.Codezone"&gt;everyone to see&lt;/a&gt;. You can see the videos in standard WMV format along with the slides, or in cool Silverlight format, where both the videos and slides are shown nicely together. Little design, it seems. :-)&lt;/p&gt;</description>
      <pubDate>Wed, 28 Nov 2007 15:06:27 GMT</pubDate>
      <guid>e34c4978-7928-47ea-8cc8-89ef63dd3119</guid>
    </item>
    <item>
      <title>Visual Studio Team System presentations from TechEd</title>
      <link>http://msdn2.microsoft.com/en-us/teamsystem/bb676080.aspx</link>
      <description>&lt;p&gt;I noticed that MSDN hosts a page that links to &lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/bb676080.aspx"&gt;recent TechEd presentations&lt;/a&gt; (from 2007 to 2005) about Microsoft Visual Studio Team System. Here are the links to previous years:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TechEd 2007: &lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/bb676080.aspx"&gt;link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;TechEd 2006: &lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/aa718842.aspx"&gt;link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;TechEd 2005: &lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/aa718841.aspx"&gt;link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, that's a lot of free information! Be sure the check them out if you are using VSTS.&lt;/p&gt;</description>
      <pubDate>Tue, 27 Nov 2007 04:48:04 GMT</pubDate>
      <guid>9ed98fbd-be35-41c1-b681-4ac6a189fc59</guid>
    </item>
    <item>
      <title>Microsoft Finland's DPE team blog on-line</title>
      <link>http://blogs.msdn.com/dpe_finland/rss.xml</link>
      <description>&lt;p&gt;The Finnish Microsoft subsidiary's DPE team (the developer team) has started a Finnish blog about current affairs in the field. The RSS feed can be found from the address:&lt;/p&gt;

&lt;pre&gt;
http://blogs.msdn.com/dpe_finland/rss.xml
&lt;/pre&gt;

&lt;p&gt;An HTML version is available &lt;a href="http://blogs.msdn.com/dpe_finland/"&gt;here&lt;/a&gt;. Enjoy!&lt;/p&gt;</description>
      <pubDate>Sat, 24 Nov 2007 09:20:40 GMT</pubDate>
      <guid>0ed986fb-5686-45da-8120-ae061211ba23</guid>
    </item>
    <item>
      <title>ASP.NET error logging from Google? Yes!</title>
      <link>http://code.google.com/p/elmah/</link>
      <description>&lt;p&gt;Sounds strange but it's true: Google has developed &lt;a href="http://code.google.com/p/elmah/"&gt;a collection of generic ASP.NET error handlers&lt;/a&gt;, and the result is a project called ELMAH: Error Logging Modules and Handlers.&lt;/p&gt;

&lt;p&gt;Their code is open-source and supports both ASP.NET 1.1 and 2.0. It logs the errors to a SQLite version 3 database, which by the way happens to be the same as Adobe Lightroom uses.&lt;/p&gt;</description>
      <pubDate>Wed, 21 Nov 2007 18:42:16 GMT</pubDate>
      <guid>b0037062-31b0-4eeb-ba3f-9d6077027a58</guid>
    </item>
    <item>
      <title>Visual Studio 2008: now available!</title>
      <link>http://msdn2.microsoft.com/en-us/default.aspx</link>
      <description>&lt;p&gt;Yes, the news were true: Microsoft has put Visual Studio 2008 Team Suite (the most extensive edition) available on MSDN Subscriber Downloads earlier today.&lt;/p&gt;

&lt;p&gt;Go download your copy today! I got dozens of "Server Too Busy" and "Server Error" messages, but eventyally I got there. Download size is 3921 MB, and my copy should be here in about 10 hours. :-) Very cool indeed.&lt;/p&gt;</description>
      <pubDate>Mon, 19 Nov 2007 15:27:49 GMT</pubDate>
      <guid>bec8dff0-7c39-43c9-97eb-57ad02731ebe</guid>
    </item>
    <item>
      <title>Visual Studio 2008 available next week?</title>
      <link>http://www.eweek.com/article2/0,1759,2218692,00.asp?kc=EWRSS03119TX1K0000594</link>
      <description>&lt;p&gt;Found &lt;a href="http://www.eweek.com/article2/0,1759,2218692,00.asp?kc=EWRSS03119TX1K0000594"&gt;from eWeek this morning&lt;/a&gt;: Visual Studio 2008 is now ready, and might already appear on MSDN Downloads next week (the week starting Nov 19th). Very cool!&lt;/p&gt;

&lt;p&gt;However, the Team Suite/Team Editions would take a little longer to finish, but they should be available later this months. Can't wait to get my hands on the RTM bits. More news to follow as the information is published more broadly.&lt;/p&gt;</description>
      <pubDate>Sun, 18 Nov 2007 05:47:47 GMT</pubDate>
      <guid>90de100f-93f9-46a5-86b6-b2e7b8d53792</guid>
    </item>
    <item>
      <title>Adobe Lightroom 1.3 is available</title>
      <link>http://www.adobe.com/downloads/updates/</link>
      <description>&lt;p&gt;Adobe has just recently announced a &lt;a href="http://www.adobe.com/downloads/updates/"&gt;new version&lt;/a&gt; of the Photoshop Lightroom product, which I use extensively to arrange and maintain my digital image library. The new update, version 1.3, seems not the be available through Adobe's pages just yet (at this writing the links point to version 1.1, but version 1.3 should be &lt;a href="http://www.adobe.com/support/downloads/detail.jsp?ftpID=3815"&gt;here&lt;/a&gt;), but I'd expect the site to be corrected soon. Support for newest camera models like Canon EOS 1-Ds Mark III is included, and I'd guess some minor tweaks to the application along the way.&lt;/p&gt;

&lt;p&gt;In the mean time, use &lt;a href="ftp://ftp.adobe.com/pub/adobe/lightroom/win/1.x/LTRM_WWEFG_win_1_3.exe"&gt;this direct FTP link&lt;/a&gt; to download the Windows version of Lightroom 1.3. Size is about 50 MB.&lt;/p&gt;</description>
      <pubDate>Fri, 16 Nov 2007 05:25:52 GMT</pubDate>
      <guid>42fbf18d-799c-475a-af72-b516c69d736d</guid>
    </item>
    <item>
      <title>New articles in newest Tietokone magazine</title>
      <link>http://www.tietokone.fi/</link>
      <description>&lt;p&gt;The newest issue of the Finnish &lt;a href="http://www.tietokone.fi/"&gt;Tietokone magazine&lt;/a&gt; has two of my articles: "Web-surffailuasi seurataan" and "Windows Search tehok&amp;auml;ytt&amp;ouml;&amp;ouml;n". The first article talks about web browsing and the tracking of thereof, and the latter shows how Windows Vista's desktop search can be used to find your documents and e-mails better.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <pubDate>Wed, 14 Nov 2007 18:28:53 GMT</pubDate>
      <guid>f3efeeaf-8a09-4809-b671-ab4894d7a562</guid>
    </item>
    <item>
      <title>Eight editions of Window Server 2008</title>
      <link>http://www.eweek.com/article2/0,1759,2215400,00.asp</link>
      <description>&lt;p&gt;Windows Server "Longhorn" is getting ready, and just recently Microsoft has announced the forthcoming versions of Windows Server 2008. They are similar to the previous 2003 version editions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Windows Server 2008 Standard&lt;/li&gt;
&lt;li&gt;Windows Server 2008 Enterprise&lt;/li&gt;
&lt;li&gt;Windows Server 2008 Datacenter&lt;/li&gt;
&lt;li&gt;Windows Server 2008 Web Server&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In addition to these, there's a whole new set of editions that include the new "Hypervisor" or virtualization layer, called Hyper-V. This layer can also be bought as a stand-alone for the price of USD $28, but it can also be bought along with the operating system. If you don't need Hyper-V, then you can purchase the new OS without it, and get a small price reduction.&lt;/p&gt;</description>
      <pubDate>Tue, 13 Nov 2007 17:08:33 GMT</pubDate>
      <guid>8f844e48-a307-4c7e-aa3e-890f39e87082</guid>
    </item>
    <item>
      <title>Entering special chracters in Word (plus dashes)</title>
      <link>http://office.microsoft.com/en-us/word/HP051866641033.aspx</link>
      <description>&lt;p&gt;I learned &lt;a href="http://office.microsoft.com/en-us/word/HP051866641033.aspx"&gt;a new trick&lt;/a&gt; in Word today: you can enter any Unicode character into your Word documents if you know the four-number character code. For example, the Unicode character code for the Euro sign (&amp;euro;) is "20ac" in hex. To enter this character by not using an euro keyboard, just type in the Unicode code, and then press Alt+X. Voila!&lt;/p&gt;

&lt;p&gt;Another Word tip that I've shared with you already, but is worth repeating: sometimes you need to add a short and long dash to your document. This is done easist with the following keyboard shortcuts: Ctrl+Minus (on the numeric keyboard) for en dash (the short one) and Ctrl+Alt+Minus for em dash, the long one.&lt;/p&gt;</description>
      <pubDate>Mon, 12 Nov 2007 15:48:04 GMT</pubDate>
      <guid>d66bfc6f-3ab4-4d80-a9b4-bd69758d928c</guid>
    </item>
    <item>
      <title>Comparing SQL Server and Oracle SQL statements</title>
      <link>http://troels.arvin.dk/db/rdbms/</link>
      <description>&lt;p&gt;A fellow colleague pointed me to a &lt;a href="http://troels.arvin.dk/db/rdbms/"&gt;nice web page&lt;/a&gt; thatcompares different database SQL syntaxes, data types and so forth with each other. Included are Microsoft SQL Server and Oracle databases, two databases which are probably to most common ones amongst .NET developers.&lt;/p&gt;

&lt;p&gt;The page compares for example date handling, TIMESTAMP data types, creating of tables with the CREATE TABLE data definition statements, metadata reading, and more.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <pubDate>Sun, 11 Nov 2007 12:05:51 GMT</pubDate>
      <guid>fc876f08-6420-4320-a277-999e40307c7b</guid>
    </item>
    <item>
      <title>Visual Studio tip: delete line in Code Editor</title>
      <link>
      </link>
      <description>&lt;p&gt;Very often, I find myself wanting to delete a line of code in Visual Studio's code editor, but so far, I haven't found a keyboard shortcut to do that. In Delphi, the key is Ctrl+Y, but naturally that's a different environment. Visual Studio has Ctrl+L for cutting a line to the clipboard, but that would replace the clipboard contents, which I don't usually want to do.&lt;/p&gt;

&lt;p&gt;Luckily, I found the key while looking at the list of Visual Studio's commands. The IDE has an internal command called Edit.DeleteLine, which was just what I was after. And then, in the Customize dialog box I found it: the keyboard shortcut for deleting a line is by default Ctrl+Shift+L. Woo hoo! :-)&lt;/p&gt;</description>
      <pubDate>Fri, 09 Nov 2007 15:52:45 GMT</pubDate>
      <guid>970a8d87-d400-47af-b403-4cfa25b08e80</guid>
    </item>
    <item>
      <title>Visual Studio 2008 will be available later this month</title>
      <link>http://www.microsoft.com/presspass/press/2007/nov07/11-05TechEdDevelopersPR.mspx</link>
      <description>&lt;p&gt;Just hot from the &lt;a href="http://www.microsoft.com/presspass/press/2007/nov07/11-05TechEdDevelopersPR.mspx"&gt;Microsoft press room&lt;/a&gt; and/or TechEd, depending on where you are: Visual Studio 2008 will be available for developers later this month. That's already, as Microsoft's original plans were that the three products, Windows Server 2008, SQL Server 2008 and Visual Studio 2008 would all be available only in the spring. However, since Visual Studio is almost ready, there's no point in delaying it further.&lt;/p&gt;

&lt;p&gt;Thus, MSDN subscribers (at least) will get a white Christmas, after all. Sounds great to me!&lt;/p&gt;</description>
      <pubDate>Mon, 05 Nov 2007 15:34:15 GMT</pubDate>
      <guid>e47b8c18-adf9-4e4f-8e72-8ed0b4c5c317</guid>
    </item>
    <item>
      <title>What's the difference between Visual Studio Web Sites and Web Applications?</title>
      <link>http://msdn2.microsoft.com/en-us/library/Aa730880(VS.80).aspx</link>
      <description>&lt;p&gt;November already! It is again time for winter tyres and  frosty mornings. From time to time, people ask me what's the difference between Visual Studio 2005's Web Sites (File/New/Web Site) and Web Application projects, for example File/New/Project/ASP.NET Web Application.&lt;/p&gt;

&lt;p&gt;The answer can't be given in a single sentence, but basically web site are "projects" where a folder structure defines the set of files included, but web application have a traditional project file. To casual developers, or small projects, this might not make much difference but the professionals it does: if you use version control, I suggest that you use web applications instead of web sites, they will make your life much easier in most cases. Read &lt;a href="http://msdn2.microsoft.com/en-us/library/Aa730880(VS.80).aspx"&gt;more about the differences&lt;/a&gt; from MSDN.&lt;/p&gt;</description>
      <pubDate>Fri, 02 Nov 2007 15:27:01 GMT</pubDate>
      <guid>06cc6edb-7247-425c-93f3-42c8fb14ae42</guid>
    </item>
    <item>
      <title>The PCI Data Security Standard is coming</title>
      <link>https://www.pcisecuritystandards.org/tech/index.htm</link>
      <description>&lt;p&gt;You might have heard of the late talking about credit card security and the forth-coming PCI DSS standard, short for Payment Card Industry's &lt;a href="Data Security Standard "&gt;DSS&lt;/a&gt;. According to PCI, DSS "&lt;i&gt;is a multifaceted security standard that includes requirements for security management, policies, procedures, network architecture, software design and other critical protective measures&lt;/i&gt;."&lt;/p&gt;

&lt;p&gt;In Finland, an organization called Luottokunta is the local representative for Visa and MasterCard credit cards. They have information about PCI DSS on their web sites, and for application developers, you need to be sure your application follows the PCI standards by summer 2008. Depending on your order volume, you can belong to four classes. On the lowest class, below 20,000 transactions a year, no audits are needed, just following the standard is enough. Be sure to get the &lt;a href="https://www.pcisecuritystandards.org/tech/download_the_pci_dss.htm"&gt;technical specifications&lt;/a&gt; and start studying them, if you already aren't.&lt;/p&gt;</description>
      <pubDate>Tue, 30 Oct 2007 18:17:08 GMT</pubDate>
      <guid>8ae984bb-406e-44b9-93cd-253ab4c2ae50</guid>
    </item>
    <item>
      <title>Windows Server Core and high CPU usage in Task Manager</title>
      <link>
      </link>
      <description>&lt;p&gt;I noticed that when I'm running Windows Server 2008 Core on a Virtual PC virtual machine and Task Manager (by pressing Ctrl+Shift+Esc or Ctrl+Alt+Del and then selecting Task Manager). Normally, Task Manager uses about (less than) 5% of CPU, but in Server Core the utilization doesn't drop below 25%, and can be about 60%.&lt;/p&gt;

&lt;p&gt;I'm yet to verify whether this is a problem with my virtual machine setup, but it seems strange that Task Manager would need so much CPU time in a virtual machine, since a virtual machine with identical settings running Task Manager on normal Windows GUI uses much less CPU time.&lt;/p&gt;</description>
      <pubDate>Sat, 27 Oct 2007 09:32:06 GMT</pubDate>
      <guid>0c18d42e-2386-4d09-93d7-6dcec08dfd75</guid>
    </item>
    <item>
      <title>Visual Studio Channel Summit in Amsterdam</title>
      <link>
      </link>
      <description>&lt;p&gt;I had the pleasure to attend Microsoft's Visual Studio 2008 Channel Summit in Amsterdam earlier this week. From Finland, I had the chance to meet local Microsoft people, including old faces and the PM for Visual Studio. Also, I met two other Visual Studio Team System partners, we'll see what kind of co-operations we can figure out in the future.&lt;/p&gt;</description>
      <pubDate>Thu, 25 Oct 2007 05:45:27 GMT</pubDate>
      <guid>5e58d4f5-91c5-4bb8-9f0a-aba7b498ebbf</guid>
    </item>
    <item>
      <title>RegDeveloper on Microsoft's application development</title>
      <link>http://www.regdeveloper.co.uk/2007/10/22/bill_buxton_microsoft/</link>
      <description>&lt;p&gt;A recent RegDeveloper article titled "&lt;a href="http://www.regdeveloper.co.uk/2007/10/22/bill_buxton_microsoft/"&gt;New tune for Microsoft software design?&lt;/a&gt;" has some nice information about an old topic: are there already enough features in the software we use from day to day? A new person, a musician by heart, has joined Microsoft and has a fresh perspective: things (i.e. new software features) that don't make the life simpler should be abandoned. Not a novel idea, but reminds me of the old saying: even software can get rotten, and should sometimes be simply redisgned. Of course, that is often easier said than done.&lt;/p&gt;</description>
      <pubDate>Mon, 22 Oct 2007 19:01:27 GMT</pubDate>
      <guid>f50f3992-d65d-405c-8d9a-1c056c968d67</guid>
    </item>
    <item>
      <title>I want version control to my Word documents</title>
      <link>
      </link>
      <description>&lt;p&gt;I noticed that I've got probably quite addicted to source/version control in Visual Studio Team System (VSTS): I'd love to see a similar feature in Word, and directly from the operating system!&lt;/p&gt;

&lt;p&gt;Of course, I could today use Windows Vista's shadow copies ("Previous Versions"), or Word's tracking of changes, or keep VSTS running and copy my projects there, but none of these solutions seem clean enough for me. Vista's Previous Versions comes quite close, but the problem is that it doesn't keep that many old versions, and isn't even guaranteening any previous versions. Maybe I need to hack a simple VSTS client that integrates with Word 2007. :-)&lt;/p&gt;</description>
      <pubDate>Fri, 19 Oct 2007 14:19:33 GMT</pubDate>
      <guid>b6141844-5294-4d36-8b7f-0b7785e5c7c2</guid>
    </item>
    <item>
      <title>Information about SQL Database Publishing in VS 2008</title>
      <link>http://blogs.msdn.com/webdevtools/archive/2007/10/15/sql-database-publishing-wizard-is-now-in-visual-studio-orcas.aspx</link>
      <description>&lt;p&gt;The future "Orcas" version of Visual Studio (version 2008 that is) contains a new feature called the SQL Database Publishing wizard. This little wizard helps developers, especially those developing web applications to move their local SQL Server database to the remote hosting server, possibly hosted by an ISP.&lt;/p&gt;

&lt;p&gt;There's a nice &lt;a href="http://blogs.msdn.com/webdevtools/archive/2007/10/15/sql-database-publishing-wizard-is-now-in-visual-studio-orcas.aspx"&gt;blog post on MSDN&lt;/a&gt; about this new feature. Check it out.&lt;/p&gt;</description>
      <pubDate>Thu, 18 Oct 2007 17:12:30 GMT</pubDate>
      <guid>bde6a072-ca5f-4dea-965f-d970ec529cb9</guid>
    </item>
    <item>
      <title>New EF Lenses from Canon; my ND400 filter finally arrived</title>
      <link>http://www.usa.canon.com/templatedata/pressrelease/20071015_eflens.html</link>
      <description>&lt;p&gt;Woohoo! Canon has &lt;a href="http://www.usa.canon.com/templatedata/pressrelease/20071015_eflens.html"&gt;announced&lt;/a&gt; that it will start to design new awesome lenses: 200mm f/2.0 and 800mm f/5.6. I can imagine what the 200mm will be; I guess nothing even comes close with this focal length. But of course, f/1.8 would have been even better. :-)&lt;/p&gt;

&lt;p&gt;Another photography related tidbit for today: my ND400 filter (neutral density) finally arrived today. I had already placed my order from DT.fi in May (!), and delivery time was then said to be "several weeks". Well, I guess they were right.&lt;/p&gt;</description>
      <pubDate>Tue, 16 Oct 2007 16:18:30 GMT</pubDate>
      <guid>693c45d2-1747-4ad2-82c9-3ef315394ff2</guid>
    </item>
    <item>
      <title>Nuggets of .NET/C# information on MSDN UK</title>
      <link>http://www.microsoft.com/uk/msdn/nuggets/</link>
      <description>&lt;p&gt;I just noticed a very nice site on MSDN UK that resembles Channel 9: &lt;a href="http://www.microsoft.com/uk/msdn/nuggets/"&gt;MSDN nuggets&lt;/a&gt;. This site features many short videos (about 10-15 minutes each) about many new technologies, including C# 3.0, Visual Studio 2008 and ASP.NET.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <pubDate>Mon, 15 Oct 2007 04:38:16 GMT</pubDate>
      <guid>ec24525e-83b6-4ebd-a8ef-863a351637a4</guid>
    </item>
    <item>
      <title>Changing Exchange 2003 host name used when sending e-mail out</title>
      <link>
      </link>
      <description>&lt;p&gt;As organizations are increasingly fighting against spam e-mail, technical settings in mail servers need to be tweaked to let e-mail flow. For example, some mail servers require the SMTP protocol EHLO/HELO greeting line to match the DNS reverse lookup name of the server's IP address.&lt;/p&gt;

&lt;p&gt;Now, if you are running Windows Small Business Server 2003 domain and Exchange Serevr 2003 on it, chances are your default settings are not correct. That is, if you follow most suggestions regarding local domain names, you might name you internal SBS domain something like "company.local". If your server name is something like "sbs1", then the full computer name of your Exchange server will be "sbs1.company.local". Of course, this local name will not resolve globally on the Internet, and thus your Exchange server might not be able to send mail to such SMTP servers (domains). Symptoms are mails that forever stay in the mail queue, as the server on the other end simply drops the connection after an "invalid" EHLO/HELO greeting, and thus your poor Exchange server will keep on trying again and again.&lt;/p&gt;

&lt;p&gt;Luckily, there's an easy remedy: simply change the name that Exchange server uses when greeting other servers. To do so, follow these steps:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Open the Exchange System Manager (ESM)&lt;/li&gt;
  &lt;li&gt;Go to Administrative Groups/Servers&lt;/li&gt;
  &lt;li&gt;Select your server, for example SBS1&lt;/li&gt;
  &lt;li&gt;Under Protocols, select SMTP&lt;/li&gt;
  &lt;li&gt;Click Properties of the Default SMTP Virtual Server&lt;/li&gt;
  &lt;li&gt;  On the Delivery tab of the Properties window, click Advanced&lt;/li&gt;
  &lt;li&gt;Change the name under "Fully-qualified domain name" to something that resolves on the Internet&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That should do it!&lt;/p&gt;</description>
      <pubDate>Sat, 13 Oct 2007 09:27:35 GMT</pubDate>
      <guid>8f2254fb-b790-4906-a899-b2f6b5947fd1</guid>
    </item>
    <item>
      <title>New article in Tietokone magazine about PowerShell</title>
      <link>http://www.saunalahti.fi/janij/publications/tietokone.html</link>
      <description>&lt;p&gt;The latest October issue of the Finnish Tietokone magazine has my &lt;a href="http://www.saunalahti.fi/janij/publications/tietokone.html"&gt;newest article&lt;/a&gt; about &lt;a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx"&gt;Microsoft PowerShell&lt;/a&gt;. The article is titled "Komentorivin paluu", the return of the command line.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <pubDate>Wed, 10 Oct 2007 13:31:42 GMT</pubDate>
      <guid>0a974768-d8be-4b60-8d81-bc0118812215</guid>
    </item>
    <item>
      <title>Finnish Microsoft blog about Visual Studio</title>
      <link>http://jukkawallasvaara.spaces.live.com/</link>
      <description>&lt;p&gt;Last week, I learned about a new Finnish blog about Microsoft Visual Studio from the current Microsoft Finland's Visual Studio Product Marketing Manager JW. As you can guess, I added &lt;a href="http://jukkawallasvaara.spaces.live.com/"&gt;Jukka's (aka Waldo's) blog&lt;/a&gt; to my blog roll instantly. Maybe you should, too.&lt;/p&gt;</description>
      <pubDate>Mon, 08 Oct 2007 13:49:01 GMT</pubDate>
      <guid>9d0ca3d3-e9f0-4472-8a59-1030ca8bdbd7</guid>
    </item>
    <item>
      <title>Code Metrics in Visual Studio 2008</title>
      <link>http://blogs.msdn.com/somasegar/archive/2007/10/04/code-analysis-features-in-vs-2008.aspx</link>
      <description>&lt;p&gt;The next version of Visual Studio 2008 will contain many new interesting features, and features grouped under the Code Analysis umbrella are near the top, at least on my list.&lt;/p&gt;

&lt;p&gt;There's a nice new &lt;a href="http://blogs.msdn.com/somasegar/archive/2007/10/04/code-analysis-features-in-vs-2008.aspx"&gt;blog post&lt;/a&gt; on MSDN related to these new feaures. Check it out!&lt;/p&gt;</description>
      <pubDate>Sat, 06 Oct 2007 19:12:37 GMT</pubDate>
      <guid>4bd2b8ba-2928-4afb-9bce-cd4498692127</guid>
    </item>
    <item>
      <title>.NET source code to become available</title>
      <link>http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx</link>
      <description>&lt;p&gt;Here's the big news for today: Microsoft is going to make .NET source code available for all interested developers! This was &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx"&gt;announced here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In the first release, base class library source code including ADO.NET, ASP.NET and WinForms is going to be released. Also developers do get a possibility to debug the code using Visual Studio.&lt;/p&gt;

&lt;p&gt;Sounds great to me! Of course, the other side is that the license is somewhat restrictive, and there are people that don't like it. But for me, I've already signed so many NDAs and no-competition agreements, that I've lost count. So to me, this Microsoft reference license probably is a non-issue.&lt;/p&gt;</description>
      <pubDate>Thu, 04 Oct 2007 04:51:01 GMT</pubDate>
      <guid>8acda3d3-28b5-4380-a5e6-c82e67d25924</guid>
    </item>
    <item>
      <title>SMTP protocol AUTH=LOGIN authentication</title>
      <link>
      </link>
      <description>&lt;p&gt;This week, I learned about a new SMTP (Simple Mail Transfer Protocol) authentication method: AUTH=LOGIN (or AUTH LOGIN). I found out that this authentication extension is pretty simple (it uses Base64 for "encryption"), but even so, I could find official specifications of this authentication method.&lt;/p&gt;

&lt;p&gt;Also, I noticed that .NET's SmtpClient class from System.Net namespace doesn't seem to support this authentication method. So if you run into this authentication method and are required to use it, you might neet write your own SMTP client, purchase a component, or dig the open source libraries to see if they support what you need.&lt;/p&gt;

&lt;p&gt;Good luck!&lt;/p&gt;</description>
      <pubDate>Wed, 03 Oct 2007 13:39:34 GMT</pubDate>
      <guid>3f799fc8-30be-44b9-9c71-53a81cfc93c8</guid>
    </item>
    <item>
      <title>What is DotNetKicks.com?</title>
      <link>http://www.dotnetkicks.com/</link>
      <description>&lt;p&gt;If you have been reading blogs, you must have notices links below blog posts to social networking sites, such as Digg and Delicious. However, these two sites are very generic in nature, and thus a little bit more focused system would benefit readers of special topics, such as .NET development, and so forth.&lt;/p&gt;

&lt;p&gt;Now, I've recently learned about a new site called &lt;a href="http://www.dotnetkicks.com/"&gt;DotNetKicks.com&lt;/a&gt; which is, as the name says, a "Digg for .NET people".&lt;/p&gt;

&lt;p&gt;Since this blog is mostly about Windows application development with .NET, I might add links to DotNetKicks to my site. Do you think this would be a good idea? Or not? Let me know!&lt;/p&gt;</description>
      <pubDate>Tue, 02 Oct 2007 16:31:20 GMT</pubDate>
      <guid>7979bef1-5121-4dca-8431-47073faa173c</guid>
    </item>
    <item>
      <title>My newest article in Developer.com</title>
      <link>http://www.developer.com/net/csharp/article.php/3701811</link>
      <description>&lt;p&gt;Developer.com has published my second security-related article, titled "&lt;a href="http://www.developer.com/net/csharp/article.php/3701811"&gt;The Basics of Manipulating File Access Control Lists with C#&lt;/a&gt;", and it is available on both Developer.com and CodeGuru.com.&lt;/p&gt;

&lt;p&gt;The article talks about file access control on NTFS file systems, and discusses ACLs, ACEs and the like, with examples in .NET/C# code.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <pubDate>Mon, 01 Oct 2007 14:58:14 GMT</pubDate>
      <guid>928ab231-01a1-4891-83b4-9500e34e9b1a</guid>
    </item>
    <item>
      <title>UAC is here to stay</title>
      <link>http://www.microsoft.com/technet/technetmag/issues/2007/09/SecurityWatch/</link>
      <description>&lt;p&gt;A recent TechNet magazine issue has an article titled "&lt;a href="http://www.microsoft.com/technet/technetmag/issues/2007/09/SecurityWatch/"&gt;The Long-Term Impact of User Account Control&lt;/a&gt;". This article talks about Windows Vista's User Account Control (UAC) and its effect on security and application design. If you have not yet mastered UAC or its concepts, this article is a good place to start.&lt;/p&gt;</description>
      <pubDate>Thu, 27 Sep 2007 14:01:05 GMT</pubDate>
      <guid>844ae03f-3a2c-4ac8-a13f-3f7f4f4a6308</guid>
    </item>
    <item>
      <title>Windows Server 2008 Release Candidate 0 available</title>
      <link>http://www.microsoft.com/presspass/features/2007/sep07/09-24windowserverrc0.mspx</link>
      <description>&lt;p&gt;Microsoft has today announced the newest beta release of Windows Server 2008: Release Candidate 0 or simply RC0. I'm not sure if Windows Server 2003 betas were ever numbered starting from zero, but they could be. Nonetheless, an exciting new beta release is &lt;a href="http://www.microsoft.com/presspass/features/2007/sep07/09-24windowserverrc0.mspx"&gt;here to test.&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 25 Sep 2007 04:22:49 GMT</pubDate>
      <guid>66a714a0-754a-4cec-bc66-dc903e8cc0b6</guid>
    </item>
    <item>
      <title>Another quick code snippet: sending ASCII e-mail easily</title>
      <link>
      </link>
      <description>&lt;p&gt;Another quick C#/.NET code snippet for today. This time, the code below shows you how to easily send ASCII e-mail from the given sender to the given recipient:&lt;/p&gt;

&lt;pre&gt;
private static void SendEmail(string from, string to,
string subject, string text)
{
  MailMessage msg = new MailMessage(from,to);
  msg.Subject = subject;
  msg.IsBodyHtml = false;
  msg.Body = text;
  string server = "smtp.my-isp.com";
  SmtpClient client = new SmtpClient(server);
  client.Send(msg);
}
&lt;/pre&gt;

&lt;p&gt;Simply enough from .NET 2.0 or later. Keywords: How to send e-mail from .NET, howto, MailMessage, SmtpClient.&lt;/p&gt;</description>
      <pubDate>Mon, 24 Sep 2007 14:08:56 GMT</pubDate>
      <guid>dea96347-b7b6-436a-8e18-5021b0ec87e6</guid>
    </item>
    <item>
      <title>Adone Lightroom 1.2 is available</title>
      <link>http://www.adobe.com/support/downloads/detail.jsp?ftpID=3728</link>
      <description>&lt;p&gt;Although there was a big fuss about Adobe's Lightroom when the first update (update 1.1) became available, I just noticed (when starting Lightroom) that the update 1.2 is now available.&lt;/p&gt;

&lt;p&gt;You can download the free 1.2 update (for Windows) from &lt;a href="http://www.adobe.com/support/downloads/detail.jsp?ftpID=3728"&gt;here&lt;/a&gt;. Additionally, a &lt;a href="http://www.adobe.com/special/photoshop/Lightroom_12_ReadMe.pdf"&gt;Read Me&lt;/a&gt; document is available. I'm downloading my update copy as I write.&lt;/p&gt;</description>
      <pubDate>Sat, 22 Sep 2007 06:59:36 GMT</pubDate>
      <guid>8eecfdd3-b1b7-45ad-b77c-b34db95a08ff</guid>
    </item>
    <item>
      <title>Windows Server 2008 Improved ChkDsk (Check Disk)</title>
      <link>
      </link>
      <description>&lt;p&gt;I was testing Windows Server 2008 beta in a virtual machine today, and decided to give a run to CHKDSK, the venerable CheckDisk command. To my surprise, there are small but useful improvements to the command. For example, the output is now much more informative:&lt;/p&gt;

&lt;p&gt;&lt;img src="images/2007_sep_win_server_2008_chkdsk.png"&gt;&lt;/p&gt;

&lt;p&gt;It's nice to have addition or enhancements to even such old commands as ChkDsk, even though it's by no meand the most important new feature in Windows Server "Longhorn".&lt;/p&gt;</description>
      <pubDate>Fri, 21 Sep 2007 14:14:16 GMT</pubDate>
      <guid>ed0a8102-343e-4f78-afa3-50c9050d0868</guid>
    </item>
    <item>
      <title>Quick code snippet: get bytes from stream with C#</title>
      <link>
      </link>
      <description>&lt;p&gt;When you are writing code to use stream objects in your C#/.NET applications, there might sometimes raise the need to get a byte array of all the bytes in the stream. Depending on the stream object, there might be ready-made possiblities for doing this, but here's one generic solution. Although it is not perfect performance-wise (speed and memory consumption), it should do well with smaller streams, like those below 50 KB. Here's the code in C#:&lt;/p&gt;

&lt;pre&gt;
private static byte[] GetBytesFromStream(Stream stream)
{
  List&lt;byte&gt; bytes = new List&lt;byte&gt;();
  const int blockSize = 1024;
  // copy data block by block
  byte[] buffer = new byte[blockSize];
  int bytesRead = stream.Read(buffer, 0, blockSize);
  while (bytesRead &gt; 0)
  {
    bytes.AddRange(buffer);
    bytesRead = stream.Read(buffer, 0, blockSize);
  }
  return bytes.ToArray();
}
&lt;/pre&gt;

&lt;p&gt;Hope this helps! Keywords: get bytes from stream, copy stream to byte array, read bytes from stream object.&lt;/p&gt;</description>
      <pubDate>Thu, 20 Sep 2007 04:03:38 GMT</pubDate>
      <guid>2094e9ab-0979-49fc-ad77-1afc77ec80be</guid>
    </item>
    <item>
      <title>Microsoft Office 2003 Service Pack 3 released</title>
      <link>http://www.eweek.com/article2/0,1759,2184443,00.asp</link>
      <description>&lt;p&gt;I noticed a report from &lt;a href="http://www.eweek.com/article2/0,1759,2184443,00.asp"&gt;eWeek&lt;/a&gt; that Service Pack 3 (SP3) for Microsoft Office 2003 is now ready for download. Basically, the update provides better Windows Vista support and interoperability with Office 2007, among bug fixes. Download your copy from &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E25B7049-3E13-433B-B9D2-5E3C1132F206&amp;displaylang=en"&gt;Microsoft Downloads&lt;/a&gt; today.&lt;/p&gt;</description>
      <pubDate>Tue, 18 Sep 2007 17:34:11 GMT</pubDate>
      <guid>98373a2f-3c7f-4c31-861f-fa0da174464b</guid>
    </item>
    <item>
      <title>A tool to run C# code snippets easily</title>
      <link>http://www.sliver.com/dotnet/SnippetCompiler/</link>
      <description>&lt;p&gt;Sometimes, I find the need to run short pieces of C# code. Of course, I could fire up Visual Studio, write a simple console application (or a classic WinForms application with only a single button) and write my code there.&lt;/p&gt;

&lt;p&gt;Although that works, but there's also a more convenient way to do that. I recently found out about a free utility called C# &lt;a href="http://www.sliver.com/dotnet/SnippetCompiler/"&gt;Snippet Compiler&lt;/a&gt;, which can be downloaded &lt;a href="http://www.sliver.com/Downloads/SnippetCompiler2DotNet2.zip"&gt;here&lt;/a&gt; (for .NET 2.0). This tool looks like a good way to solve those issues where you want to run short code snippets easily. I would guess the tool uses the Microsoft.Build.* namespaces, or the older Microsoft.CSharp namespace, which was the way to access the C# compiler in .NET 1.1.&lt;/p&gt;</description>
      <pubDate>Tue, 18 Sep 2007 15:06:25 GMT</pubDate>
      <guid>dec64239-2d71-4661-95fe-7eada38ea7a8</guid>
    </item>
    <item>
      <title>Current EUR/USD exchange rate with three lines in Powershell</title>
      <link>http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml</link>
      <description>&lt;p&gt;The European Central Bank (ECB) hosts a nice &lt;a href="http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml"&gt;XML file&lt;/a&gt; with the latest exchange rates. To get the latest EUR/USD exchange rate, use these three simple lines in PowerShell:&lt;/p&gt;

&lt;pre&gt;
$url = "http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml"
[xml]$rates = (New-Object System.Net.WebClient).DownloadString($url)
$rates.Envelope.Cube.Cube.Cube | ? {$_.currency -eq "USD"}
&lt;/pre&gt;

&lt;p&gt;Very easy thanks to the System.Net.WebClient class and its DownloadString method. But I must say I'm more and more impressed with PowerShell, there's also XML element completion with the Tab key. :-) PowerShell rocks!&lt;/p&gt;</description>
      <pubDate>Thu, 13 Sep 2007 14:52:08 GMT</pubDate>
      <guid>9301243e-b4f6-4058-9182-b1ef2eb23b56</guid>
    </item>
    <item>
      <title>Learning Windows Server 2008 at Lehmonkarki</title>
      <link>http://itpro.fi/asiantuntijaryhmat/ohjelmistokehitys/default.aspx</link>
      <description>&lt;p&gt;Our &lt;a href="http://itpro.fi/asiantuntijaryhmat/ohjelmistokehitys/default.aspx"&gt;ITpro.fi software development group&lt;/a&gt; of five spend two days at Lehmonkärki near Lahti, with focus on Windows Server 2008 and changes it brings to developers.&lt;/p&gt;

&lt;p&gt;Thanks Janne for organizing the event, and to everybody attending! It was an effective way to spend two days learning and networking with other professionals of the field.&lt;/p&gt;</description>
      <pubDate>Wed, 12 Sep 2007 17:13:35 GMT</pubDate>
      <guid>a3b190ea-5962-4d90-9eca-05b21cfb028d</guid>
    </item>
    <item>
      <title>The C# language is getting more popular</title>
      <link>http://www.eweek.com/article2/0,1759,2177290,00.asp</link>
      <description>&lt;p&gt;eWeek &lt;a href="http://www.eweek.com/article2/0,1759,2177290,00.asp"&gt;reported lately&lt;/a&gt; that Ruby and C# languages are on the rise, that is, they are getting more popular. I'm not (yet?) a fan of Ruby, but I do enjoy C# a lot.&lt;/p&gt;

&lt;p&gt;Some quick statistics for the record: Evans Data says that C# has increased 40 percent during the last year in EMEA, and the number of developers using C# is now at 34.9 percent. No wonder, it's a powerful language.&lt;/p&gt;</description>
      <pubDate>Mon, 10 Sep 2007 09:44:12 GMT</pubDate>
      <guid>992313b7-d127-4b80-b9f8-f78cad499592</guid>
    </item>
    <item>
      <title>Ten things you should know about Silverlight</title>
      <link>http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;articleId=9029725</link>
      <description>&lt;p&gt;ComputerWorld has a nice &lt;a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;articleId=9029725"&gt;article about Silverlight&lt;/a&gt;, titled "10 Things You Should Know About Microsoft's Silverlight". Although plenty of advertisements are present to distract reading, I believe it's a good one and worth reading.&lt;/p&gt;</description>
      <pubDate>Sat, 08 Sep 2007 11:31:46 GMT</pubDate>
      <guid>be5cf814-4aad-470f-ac7e-095745d05fad</guid>
    </item>
    <item>
      <title>Some Knowledge Base humour</title>
      <link>http://support.microsoft.com/</link>
      <description>&lt;p&gt;Most often, I go to Microsoft's &lt;a href="http://support.microsoft.com/"&gt;Knowledge Base&lt;/a&gt; to find solutions to common problems, but that doesn't mean you can't find more humouristic articles there as well. Here are some of the funniest:&lt;/p&gt;

&lt;pre&gt;Network Adapter Does Not Work if Unplugged:
http://support.microsoft.com/?kbid=228001

Sometimes Barney Starts Playing Peekaboo on His Own:
http://support.microsoft.com/?kbid=172653

PowerPoint Centimeters Different from Actual Centimeters:
http://support.microsoft.com/?kbid=189826

Office Assistant Makes Sudden Loud Noise:
http://support.microsoft.com/?kbid=269916

Program Unexpectedly Quits After You Click "Register Later" 50 Times:
http://support.microsoft.com/?kbid=243317

Solar System Needs More Memory to Run:
http://support.microsoft.com/?kbid=143366

Access Violation When Sending One Million Faxes on VFSP Device:
http://support.microsoft.com/?kbid=227925

Computer Randomly Plays Classical Music:
http://support.microsoft.com/?kbid=261186&lt;/pre&gt;

&lt;p&gt;Happy hacking!&lt;/p&gt;</description>
      <pubDate>Thu, 06 Sep 2007 19:00:33 GMT</pubDate>
      <guid>2123fa62-491d-4e09-8344-486e85f2bdba</guid>
    </item>
    <item>
      <title>Silverlight 1.0 is here!</title>
      <link>http://silverlight.net/</link>
      <description>&lt;p&gt;Finally, its here for Windows and Mac: &lt;a href="http://silverlight.net/"&gt;Silverlight 1.0&lt;/a&gt;. Times are exciting for Flash-like web applications, as I never got a hang of Adobe/Macromedia Flash. But Expression seems easy enough for me, plus the .NET Framework that is behind really is powerful.&lt;/p&gt;

&lt;p&gt;Microsoft also announced &lt;a href="http://www.microsoft.com/expression/products/overview.aspx?key=encoder"&gt;Expression Encoder&lt;/a&gt;, which can convert video files to Silverlight's own optimized video format.&lt;/p&gt;

&lt;p&gt;Finally, there's the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=FB7900DB-4380-4B0F-BB95-0BAEC714EE17&amp;displaylang=en"&gt;Silverlight 1.0 SDK&lt;/a&gt;, which is free for everyone.&lt;/p&gt;</description>
      <pubDate>Wed, 05 Sep 2007 14:14:20 GMT</pubDate>
      <guid>7b5f61e7-8337-4f95-b650-c439b6f06dbe</guid>
    </item>
    <item>
      <title>More about Server Core in Windows Server 2008</title>
      <link>http://technet2.microsoft.com/windowsserver2008/en/library/47a23a74-e13c-46de-8d30-ad0afb1eaffc1033.mspx?mfr=true</link>
      <description>&lt;p&gt;Windows Server 2008 includes a feature called Server Core, which is a stripped-down version of a normal Windows Server installation. For example, there are only few basic services, and no graphical user interface. I noticed a nice document about &lt;a href="http://technet2.microsoft.com/windowsserver2008/en/library/47a23a74-e13c-46de-8d30-ad0afb1eaffc1033.mspx?mfr=true"&gt;installing Server Core&lt;/a&gt; on Technet, which I recommend reading.&lt;/p&gt;

&lt;p&gt;Now, I learned earlier today in Microsoft's Windows Server 2008 partner event in Suomenlinna that the .NET Framework cannot be installed on Server Core, but a "micro" edition is on the works. Now then, the interesting question is why the bare CLR wouldn't be able to run on Server Core. Maybe I have to test and see. :-)&lt;/p&gt;</description>
      <pubDate>Tue, 04 Sep 2007 17:25:02 GMT</pubDate>
      <guid>666fefc2-cc89-4778-ae0d-ba8516477d00</guid>
    </item>
    <item>
      <title>AMD's new SSE5 x86 instruction set extensions</title>
      <link>http://developer.amd.com/sse5.jsp</link>
      <description>&lt;p&gt;If you have followed Intel's and AMD's competition lately, you might have noticed that as well as in the number of cores, clock speeds and cache sizes, the processor giants also compete in instruction sets. Previously, it has been Intel who decides the additions to the x86 instruction set (except maybe AMD's 3DNow), but AMD is following suit by announcing &lt;a href="http://developer.amd.com/sse5.jsp"&gt;SSE5 extensions&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;These new instructions are exciting, especially at these times when multimedia and rich user interfaces are here to stay and more important than ever. However, if Intel and AMD compete too much in instruction sets, I'm afraid we all loose, since if you want to write fast and generic code, you must leave the latest and greatest additions away. But I wouldn't mind seeing SSE5 support in .NET's JIT compiler/CLR, future DirectX versions, and last but not least, Intel processors.&lt;/p&gt;</description>
      <pubDate>Mon, 03 Sep 2007 14:10:19 GMT</pubDate>
      <guid>e38a2abb-24b8-4a74-b70a-1362e926622a</guid>
    </item>
    <item>
      <title>Apache vs. IIS, which one is most popular?</title>
      <link>http://www.techspot.com/news/26487-Microsoft-gains-on-Apache-in-web-server-market-share.html</link>
      <description>&lt;p&gt;If you develop web applications, you are probably aware of the market share of different web servers, at least to some extent. For years, I guess since world wide web has existed, the Unix based Apache has been the web server. But times are changing, it seems, and IIS is &lt;a href="http://www.techspot.com/news/26487-Microsoft-gains-on-Apache-in-web-server-market-share.html"&gt;gaining market share&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Now, according to latest market research, Apache is still number uno with about 48% share, but Microsoft Internet Information Server is the second most popular, at 34%. Pretty good in my opinion. But IIS 6 and soon-to-be-here IIS 7 (on Windows Server 2008, that is) really are good web servers, you cannot argue that. Especially for ASP.NET web applications which my apps are.&lt;/p&gt;</description>
      <pubDate>Sun, 02 Sep 2007 09:54:12 GMT</pubDate>
      <guid>306571d7-522a-4a5f-884b-3e6efc6f647d</guid>
    </item>
    <item>
      <title>Photography metadata and guidelines from The Getty</title>
      <link>http://www.getty.edu/research/conducting_research/standards/</link>
      <description>&lt;p&gt;I recently found an interesting photography related site &lt;a href="http://www.getty.edu/"&gt;The Getty&lt;/a&gt; (not to be confused with Getty Images, the stock photography site), which contains an interesting section called Research Institute. Getty studies arts, and so photography is also included.&lt;/p&gt;

&lt;p&gt;The links are especially useful to me: &lt;a href=""&gt;Data Standards and Guidelines&lt;/a&gt; and &lt;a href="http://www.getty.edu/research/conducting_research/standards/intrometadata/index.html"&gt;Introduction to Metadata&lt;/a&gt;. Enjoy!&lt;/p&gt;</description>
      <pubDate>Thu, 30 Aug 2007 16:31:11 GMT</pubDate>
      <guid>9a9b1502-1e4a-401c-b4b9-5de01601222c</guid>
    </item>
    <item>
      <title>Information about Windows Vista backup features</title>
      <link>http://www.microsoft.com/technet/technetmag/issues/2007/09/Backup/</link>
      <description>&lt;p&gt;The most recent TechNet magazine features an article about &lt;a href="http://www.microsoft.com/technet/technetmag/issues/2007/09/Backup/"&gt;Windows Vista's backup features&lt;/a&gt;. Yes, yer ol' NTBackup isn't the best what Windows can offer anymore, so it's best to learn some new tricks.&lt;/p&gt;</description>
      <pubDate>Tue, 28 Aug 2007 18:36:28 GMT</pubDate>
      <guid>53741f63-9bdd-474f-be8e-ff4596cd1bd8</guid>
    </item>
    <item>
      <title>C# tip: reading application product name and version in a WinForms application</title>
      <link>
      </link>
      <description>&lt;p&gt;I &lt;a href="http://www.saunalahti.fi/janij/blog/2007-05.html"&gt;blogged previously&lt;/a&gt; about reading an application's (assembly's) description, product name, and so forth. However, I forgot to mention that if you are writing WinForms applications, you can read the ProductName and ProductVersion properties with great ease using the Application class. This class exposes two properties with the said names, which couldn't make your life easier.&lt;/p&gt;

&lt;p&gt;In console applications I haven't found a method that would be as easy, so you need to revert to the code I gave previously. Of course, the code will still work in Windows Forms applications as well.&lt;/p&gt;

&lt;p&gt;But if you want to display your application's name for example in a Help/About dialog box, use the Application class. This makes your life easier.&lt;/p&gt;</description>
      <pubDate>Mon, 27 Aug 2007 15:55:44 GMT</pubDate>
      <guid>79dabc6a-bd38-470b-bdbd-cc26617f9c8e</guid>
    </item>
    <item>
      <title>My new article in Tietokone about digital photo organizing</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; features my latest article about digital photography: "Järjestä digikuvat avainsanoilla". The article talks about organizing your digital photos with folders, naming conventions and keywords. Also certain software applications such as Lightroom are discussed.&lt;/p&gt;</description>
      <pubDate>Fri, 24 Aug 2007 14:23:04 GMT</pubDate>
      <guid>db61b42d-730f-4e0e-b3fd-da3c83f65358</guid>
    </item>
    <item>
      <title>Converting a Symantec LiveState/BESR image to a VMware Workstation virtual machine</title>
      <link>http://www.vmware.com/pdf/VMware_Converter_manual.pdf</link>
      <description>&lt;p&gt;I recently had the need to convert a physical server into a virtual server for testing purposes. I had a Symantec LiveState image taken (a .s2vi file) from the server (Symantec has recently chosen to rename LiveState to Symantec &lt;a href="http://www.symantec.com/enterprise/products/overview.jsp?pcid=1018&amp;pvid=1602_1"&gt;Backup Exec System Recovery&lt;/a&gt; or BESR), and wanted to run this machine as a virtual one inside VMware Workstation 5.5.&lt;/p&gt;

&lt;p&gt;VMware has the option to directly open a LiveState image as a virtual disk, but the Windows Server 2003 machine of which the image was taken refused to boot very early in the boot process, and thus I wasn't able to run it virtually. I suspect that this was because of the Adaptec RAID disks in use on the server.&lt;/p&gt;

&lt;p&gt;However, I found a solution to this problem by using the VMware's tool called VMware Virtual Machine Importer (about which I &lt;a href="http://www.saunalahti.fi/janij/blog/2007-04.html"&gt;blogged previously&lt;/a&gt;). This utility is a bit hard to find, since it lives in the following directory:&lt;/p&gt;

&lt;pre&gt;
C:\Program Files\Common Files\VMware\VMware Virtual Machine Importer
&lt;/pre&gt;

&lt;p&gt;Yes, this tool installs with VMware Workstation, but there's no icon in the Start menu, for example. Nonetheless, if you have Workstation 5.5, you have this tool, called v2vapp.exe. There's a &lt;a href="http://www.vmware.com/pdf/VMware_Converter_manual.pdf"&gt;PDF document&lt;/a&gt; available for this utility.&lt;/p&gt;

&lt;p&gt;I used this tool to convert the LiveState image into a VMware virtual disk, and converting the 8 gigabyte image took about an hour. After the conversion, VMware asked whether I'd like to update the BusLogic SCSI drivers to LSI SCSI drivers, but I declined. Even so, the virtual machine now run nicely, and thus the problem was solved.&lt;/p&gt;</description>
      <pubDate>Wed, 22 Aug 2007 17:04:19 GMT</pubDate>
      <guid>a13b7cad-5003-4ed7-ba71-3fb4cdab1396</guid>
    </item>
    <item>
      <title>In Saunasaari with friends from ITpro.fi</title>
      <link>http://itpro.fi/</link>
      <description>&lt;p&gt;The Finnish IT community &lt;a href="http://itpro.fi/"&gt;ITpro.fi&lt;/a&gt; arranged an event-planning meeting yesterday evening at Saunasaari, and I had the pleasure to attend (thanks JP!). It was exciting to plan the fortcoming, first bootcamp to be held in early September. I'm sure it'll be a great way to spend two days and learn many new things, espcially about Windows Server 2008.&lt;/p&gt;</description>
      <pubDate>Tue, 21 Aug 2007 15:56:55 GMT</pubDate>
      <guid>c59dbb6d-0017-4cc7-b741-1481ffc9647f</guid>
    </item>
    <item>
      <title>New stuff from Canon: EOS-1Ds Mk III, EOS 40d and a new 14mm lens</title>
      <link>http://web.canon.jp/imaging/eosd/eos1dsm3/</link>
      <description>&lt;p&gt;Canon is at it again: this time three new interesting and important announcements: Canon &lt;a href="http://web.canon.jp/imaging/eosd/eos1dsm3/"&gt;EOS-1Ds flagship DSLR&lt;/a&gt;, new and vastly improved EOS 40D (all nine auto-focus points are now cross-type), and finally an updated 14mm ultra wide angle lens.&lt;/p&gt;

&lt;p&gt;I do have to seriously consider purchasing the new 14mm lens, for I find myself limited with my current 17mm lens. It's dark at f/4, and I'd love to go wider. We'll see. :-)&lt;/p&gt;</description>
      <pubDate>Mon, 20 Aug 2007 13:05:15 GMT</pubDate>
      <guid>b735e473-c3a3-4abf-b405-6f133c847e4f</guid>
    </item>
    <item>
      <title>Final list of features in forth-coming Visual Studio Team Foundation Server 2008</title>
      <link>http://blogs.msdn.com/bharry/archive/2007/08/08/final-tfs-2008-feature-list.aspx</link>
      <description>&lt;p&gt;The next Visual Studio version, codenamed "Orcas", and officially Visual Studio 2008, also comes with a new version of Team Foundation Server or TFS. There's a great &lt;a href="http://blogs.msdn.com/bharry/archive/2007/08/08/final-tfs-2008-feature-list.aspx"&gt;blog post on MSDN&lt;/a&gt; that lists the final (new) feature set of TFS 2008.&lt;/p&gt;

&lt;p&gt;Things of particular note include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Support for SQL Server 2008 and SharePoint Server 2007&lt;/li&gt;
&lt;li&gt;.NET Object model&lt;/li&gt;
&lt;li&gt;Multiple TFS servers can now share a single SQL Server with named instances&lt;/li&gt;
&lt;li&gt;Annotate and Folder Diffs in version control&lt;/li&gt;
&lt;li&gt;Attachments improvements in work items&lt;/li&gt;
&lt;li&gt;Finally configurable port numbers -- not so much hard-coded ports anymore&lt;/li&gt;
&lt;li&gt;Continuous Integration&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sounds like a great new release to me!&lt;/p&gt;</description>
      <pubDate>Sat, 18 Aug 2007 20:11:49 GMT</pubDate>
      <guid>9585f3d6-412b-4f90-98cf-d1a8323904b9</guid>
    </item>
    <item>
      <title>Deblurring long-exposure images with double exposure</title>
      <link>http://research.microsoft.com/~jiansun/papers/Deblurring_SIGGRAPH07.pdf</link>
      <description>&lt;p&gt;I noticed a nice finding from &lt;a href="http://research.microsoft.com/"&gt;Microsoft Research&lt;/a&gt;: they have researched on the process of deblurring (making clear) digital photographs that have blurred because of camera shake and long exposure. By combining with an underexposed, but non-blurred image, a crisper image can be restored.&lt;/p&gt;

&lt;p&gt;This process is detailed in &lt;a href="http://research.microsoft.com/~jiansun/papers/Deblurring_SIGGRAPH07.pdf"&gt;their research paper&lt;/a&gt;, available for free.&lt;/p&gt;</description>
      <pubDate>Thu, 16 Aug 2007 13:27:40 GMT</pubDate>
      <guid>fb6ae016-c8e7-46b1-a9ce-1d56b55bf815</guid>
    </item>
    <item>
      <title>Copying filenames to clipboard, and why Windows XP or earlier don't do it</title>
      <link>http://www.microsoft.com/technet/technetmag/issues/2007/08/WindowsConfidential/</link>
      <description>&lt;p&gt;When I'm managing my files, I'm using Windows Explorer. But I often find myself in a situation where I'd need the full path and file name of a set of files, for example to be pasted to source code, documentation, or e-mail message. Up to Windows XP, you had to ready-made solution for this, and thus I ended writing simple console applications, that I would then place (or rather, the .EXE file's shortcut) in the Windows SentTo folder.&lt;/p&gt;

&lt;p&gt;Then, when I would select one or more files in Windows Explorer, right-click, and then select my application form the Send To submenu, Windows would execute my program, and pass in the full path of each file selected as regular command-line parameters. Thus it would be trivial to pick them up in code, and place them in the clipboard, for example each on a line of their own.&lt;/p&gt;

&lt;p&gt;For example in C#, you could write an application like this:&lt;/p&gt;

&lt;pre&gt;
using System;
using System.Text;
using System.Windows.Forms;
namespace CopyFilenames
{
  class Program
  {
    [STAThread]
    static void Main(string[] args)
    {
      if (args.Length &gt; 0)
      {
        StringBuilder paths = new StringBuilder();
        foreach (string path in args)
        {
            paths.AppendLine(path);
        }
        Clipboard.SetText(paths.ToString());
      }
    }
  }
}
&lt;/pre&gt;

&lt;p&gt;Or, in Borland/CodeGear Delphi:&lt;/p&gt;

&lt;pre&gt;
Program CopyFilenames;
{$APPTYPE CONSOLE}
Uses
  Classes,
  SysUtils,
  Clipbrd;
Var
  SL : TStringList;
  I  : Integer;
Begin
  If (ParamCount &gt; 0) Then Begin
    SL := TStringList.Create;
    Try
      For I := 1 to ParamCount do Begin
        SL.Add(ParamStr(I));
      End;
      Clipboard.AsText := Trim(SL.Text);
    Finally
      SL.Free;
    End;
  End;
End.
&lt;/pre&gt;

&lt;p&gt;I've succesfully used this method since Windows NT 4.0 I believe, and even still on Windows XP. However, with Windows Vista, you don't need these kind of solutions anymore, as you can hold down the Shift key while right-clicking a file (or a set of files), and then selecting the "Copy as Path" command. Neat.&lt;/p&gt;

&lt;p&gt;But still one question remains: why didn't Microsoft implement this quite trivial, but often essential little time saver function in Windows operating systems a long time ago? Raymond Chen's (of "The Old New Thing") &lt;a href="http://www.microsoft.com/technet/technetmag/issues/2007/08/WindowsConfidential/"&gt;article in the recent TechNet Magazine&lt;/a&gt; details why. Yes, they tried to do it, but it didn't work. As it often is, the more you know about a system, the more likely you are to accept its shortcomings.&lt;/p&gt;</description>
      <pubDate>Tue, 14 Aug 2007 13:37:44 GMT</pubDate>
      <guid>a5d39553-84a3-43be-9fb9-ebb5bca677cf</guid>
    </item>
    <item>
      <title>Update on the System.Web.Mail.SmtpMail problem</title>
      <link>http://www.saunalahti.fi/janij/blog/2007-07.html#05b4199f-2361-4bae-9c49-005231b115c8</link>
      <description>&lt;p&gt;On July 23th, I &lt;a href="http://www.saunalahti.fi/janij/blog/2007-07.html#05b4199f-2361-4bae-9c49-005231b115c8"&gt;blogged&lt;/a&gt; about a problem with NULL characters and the .NET version 1.1 System.Web.Mail.SmtpMail class and its Send method. I got an e-mail from a reader in PA, USA giving additional details, and with his permission I'm stating the information I got here.&lt;/p&gt;

&lt;p&gt;It turns out that the  problem occurs after installing the &lt;a href="http://support.microsoft.com/?id=928366"&gt;security patch 928366&lt;/a&gt;, detailed in the &lt;a href="http://www.microsoft.com/technet/security/bulletin/ms07-040.mspx"&gt;security bulletin MS07-040&lt;/a&gt;. Further, there's a &lt;a href="http://net-security.org/vuln.php?id=4257"&gt;whole web page&lt;/a&gt; about the problem this fix addresses. On this page, this problem is called the ".NET Null Byte Injection Vulnerabilities".&lt;/p&gt;

&lt;p&gt;Thanks Patrick for the update!&lt;/p&gt;</description>
      <pubDate>Sun, 12 Aug 2007 18:13:04 GMT</pubDate>
      <guid>b239ea42-24fd-46ba-a2d0-fdb91c7ebfc8</guid>
    </item>
    <item>
      <title>If you are using Outlook 2007, do you need Word 2007 as well?</title>
      <link>http://office.microsoft.com/en-us/outlook/HA102109301033.aspx</link>
      <description>&lt;p&gt;For example in Outlook 2003, Word (Office Word, to be precise) is the default e-mail editor. If you are like me, you most often send your e-mails in plain text (ASCII), and don't bother with fancy formatting or image attachments. Thus, you could simply disable Word integration (and speed up your Outlook) and happily type in your messages with Outlook 2003's default editor.&lt;/p&gt;

&lt;p&gt;Now, since Outlook 2007 is here, it turns out that you cannot simply disable Word, because Outlook now relies on Word for e-mail editing, even if it is plain text only.&lt;/p&gt;

&lt;p&gt;Now, this obviously raises the question "what happens if I don't install Word 2007 but only Outlook 2007". Good question. It turns out that whenever you install Outlook 2007, you will also install certain parts of Word, even though you wouldn't install the complete product. However, if you install Word as well as Outlook, you will get additional features.&lt;/p&gt;

&lt;p&gt;There's a Microsoft &lt;a href="http://office.microsoft.com/en-us/outlook/HA102109301033.aspx"&gt;white paper&lt;/a&gt; detailing this. You can download the .DOCX version directly &lt;a href="http://office.microsoft.com/search/redir.aspx?AssetID=XT102253121033&amp;CTT=5&amp;Origin=HA102109301033"&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Thu, 09 Aug 2007 14:11:55 GMT</pubDate>
      <guid>94430958-8b9d-43fe-8620-ff5d58513a10</guid>
    </item>
    <item>
      <title>What is the difference between int and System.Int32? Or string and System.String?</title>
      <link>http://msdn2.microsoft.com/en-us/library/ya5y69ds(VS.80).aspx</link>
      <description>&lt;p&gt;Quite often, I see the question "What is the difference between int and System.Int32? Or string and System.String?" in C#/.NET related newsgroups and forums popping up. There's also an answer to this question in the &lt;a href="http://blogs.msdn.com/csharpfaq/"&gt;MSDN C# FAQ&lt;/a&gt;, but since not many are aware of this FAQ, I give my version of the answer here.&lt;/p&gt;

&lt;p&gt;So, what is the difference between, say, &lt;i&gt;int&lt;/i&gt; and &lt;i&gt;Int32&lt;/i&gt; in C#? The answer is that there's no difference at all. As noted in the C# Language Specification 1.2 (this also applies to C# 2.0 and 3.0), section 4.1.4, "Simple Types":&lt;/p&gt;

&lt;cite&gt;
C# provides a set of predefined struct types called the simple types. The simple types are identified through reserved words, but these reserved words are simply aliases for predefined struct types in the System namespace, as described in the table below.
&lt;/cite&gt;

&lt;p&gt;And, a table from the &lt;a href="http://msdn2.microsoft.com/en-us/library/ya5y69ds(VS.80).aspx"&gt;C# Reference&lt;/a&gt; follows:&lt;/p&gt;

&lt;p&gt;&lt;table border="1" style="font-size:10px"&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;b&gt;C# Type&lt;b&gt;&lt;/td&gt;
    &lt;td&gt;&lt;b&gt;.NET Framework Type&lt;/b&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;bool&lt;/td&gt;
    &lt;td&gt;System.Boolean&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;byte&lt;/td&gt;
    &lt;td&gt;System.Byte&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;sbyte&lt;/td&gt;
    &lt;td&gt;System.SByte&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;char&lt;/td&gt;
    &lt;td&gt;System.Char&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;decimal&lt;/td&gt;
    &lt;td&gt;System.Decimal&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;double&lt;/td&gt;
    &lt;td&gt;System.Double&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;float&lt;/td&gt;
    &lt;td&gt;System.Single&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;int&lt;/td&gt;
    &lt;td&gt;System.Int32&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;uint&lt;/td&gt;
    &lt;td&gt;System.UInt32&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;long&lt;/td&gt;
    &lt;td&gt;System.Int64&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;ulong&lt;/td&gt;
    &lt;td&gt;System.UInt64&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;object&lt;/td&gt;
    &lt;td&gt;System.Object&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;short&lt;/td&gt;
    &lt;td&gt;System.Int16&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;ushort&lt;/td&gt;
    &lt;td&gt;System.UInt16&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;string&lt;/td&gt;
    &lt;td&gt;System.String&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;&lt;/p&gt;

&lt;p&gt;That said, it doesn't matter whether you choose to use System.String or string. Both work equally well, lead to fast code, and so on. The difference is only cosmetic.&lt;/p&gt;</description>
      <pubDate>Wed, 08 Aug 2007 14:31:43 GMT</pubDate>
      <guid>20f754c9-a535-4e05-880b-07fdae1377dd</guid>
    </item>
    <item>
      <title>The unfortunate case of my book+shirt order from Microsoft's company store</title>
      <link>https://shop.ecompanystore.com/microsoft/MIC_Login.asp</link>
      <description>&lt;p&gt;On July 19th, I made an order from &lt;a href="https://shop.ecompanystore.com/microsoft/MIC_Login.asp"&gt;Microsoft's Company Store&lt;/a&gt; which included some books, t-shirts, and similar. It was only today when I received my 15 lbs worth of stuff, even on UPS Express delivery. An unfortunate series of events took place, but even so, the UPS tracking listing is quite interesting reading:&lt;/p&gt;

&lt;p&gt;
&lt;table border="1" style="font-size:9px"&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;b&gt;Location&lt;/b&gt;&lt;/td&gt;
    &lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;
    &lt;td&gt;&lt;b&gt;Local Time&lt;/b&gt;&lt;/td&gt;
    &lt;td&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;HELSINKI, FI&lt;/td&gt;
    &lt;td&gt;08/07/2007&lt;/td&gt;
    &lt;td&gt;6:56 A.M.&lt;/td&gt;
    &lt;td&gt;IMPORT SCAN&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;HELSINKI, FI&lt;/td&gt;
	&lt;td&gt;07/23/2007&lt;/td&gt;
    &lt;td&gt;9:33 A.M.&lt;/td&gt;
    &lt;td&gt;CLEARING AGENCY IS REQUIRING AN INVOICE COMPARISON TO THE ITEMS BEING SHIPPED / DELIVERY RESCHEDULED&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&amp;nbsp;&lt;/td&gt;
    &lt;td&gt;07/23/2007&lt;/td&gt;
    &lt;td&gt;7:10 A.M.&lt;/td&gt;
    &lt;td&gt;OUT FOR DELIVERY&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&amp;nbsp;&lt;/td&gt;
    &lt;td&gt;07/23/2007&lt;/td&gt;
    &lt;td&gt;7:09 A.M.&lt;/td&gt;
    &lt;td&gt;IMPORT SCAN&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;MALMO STURUP, SE&lt;/td&gt;
    &lt;td&gt;07/23/2007&lt;/td&gt;
    &lt;td&gt;3:57 A.M.&lt;/td&gt;
    &lt;td&gt;DEPARTURE SCAN&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&amp;nbsp;&lt;/td&gt;
    &lt;td&gt;07/23/2007&lt;/td&gt;
    &lt;td&gt;3:06 A.M.&lt;/td&gt;
    &lt;td&gt;ARRIVAL SCAN&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;PHILADELPHIA, PA, US&lt;/td&gt;
    &lt;td&gt;07/20/2007&lt;/td&gt;
    &lt;td&gt;7:07 A.M.&lt;/td&gt;
    &lt;td&gt;ARRIVAL SCAN&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;LOUISVILLE, KY, US&lt;/td&gt;
    &lt;td&gt;07/20/2007&lt;/td&gt;
    &lt;td&gt;7:00 A.M.&lt;/td&gt;
    &lt;td&gt;ADVERSE WEATHER CONDITIONS CAUSED THIS DELAY&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&amp;nbsp;&lt;/td&gt;
    &lt;td&gt;07/20/2007&lt;/td&gt;
    &lt;td&gt;5:40 A.M.&lt;/td&gt;
    &lt;td&gt;DEPARTURE SCAN&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&amp;nbsp;&lt;/td&gt;
    &lt;td&gt;07/20/2007&lt;/td&gt;
    &lt;td&gt;12:33 A.M.&lt;/td&gt;
    &lt;td&gt;ARRIVAL SCAN&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;HAPEVILLE, GA, US&lt;/td&gt;
    &lt;td&gt;07/19/2007&lt;/td&gt;
    &lt;td&gt;11:07 P.M.&lt;/td&gt;
    &lt;td&gt;DEPARTURE SCAN&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&amp;nbsp;&lt;/td&gt;
    &lt;td&gt;07/19/2007&lt;/td&gt;
    &lt;td&gt;8:54 P.M.&lt;/td&gt;
    &lt;td&gt;ARRIVAL SCAN&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;ROSWELL, GA, US&lt;/td&gt;
    &lt;td&gt;07/19/2007&lt;/td&gt;
    &lt;td&gt;8:40 P.M.&lt;/td&gt;
    &lt;td&gt;DEPARTURE SCAN&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&amp;nbsp;&lt;/td&gt;
    &lt;td&gt;07/19/2007&lt;/td&gt;
    &lt;td&gt;8:35 P.M.&lt;/td&gt;
    &lt;td&gt;ORIGIN SCAN&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;US&lt;/td&gt;
    &lt;td&gt;07/19/2007&lt;/td&gt;
    &lt;td&gt;4:46 P.M.&lt;/td&gt;
    &lt;td&gt;BILLING INFORMATION RECEIVED&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;/p&gt;

&lt;p&gt;For instance, I've never seen such an exception being made, nor the reference to bad weather. But most interestingly, the trouble was caused by the not-so-clever mess the Finnish Customs caused. Even though the delivery address was "c/o" ("&lt;a href="http://en.wiktionary.org/wiki/care_of"&gt;care of&lt;/a&gt;") my employer, they figured out that my employer was the payer of all taxes and duties, which it of course wasn't, since I ordered the stuff to myself only. Secondly, the customs demanded the original invoice from my company, as the commercial invoice from eCompanyStore (the company hosting the Microsoft Company Store) prints on the invoice in capital letters: "This is not an invoice for payment". Which is perfectly fine, as Microsoft pays the taxes and duties, and the delivery term is DDP, meaning &lt;a href="http://en.wikipedia.org/wiki/Delivered_Duty_Paid"&gt;Deliver Duty Paid&lt;/a&gt;, and Incoterm (short for International Commercial Terms).&lt;/p&gt;

&lt;p&gt;All in all, I'm not very happy with the Finnish Customs, but this isn't the first time. They made two mistakes this time: failing to understand what the very common term "c/o" means, and secondly failing to understand the DDP term. But that's enough ranting, as there's an happy ending to the case. :-)&lt;/p&gt;</description>
      <pubDate>Tue, 07 Aug 2007 13:34:46 GMT</pubDate>
      <guid>7ec74c04-d8e2-4c44-8274-ea4c4faabda1</guid>
    </item>
    <item>
      <title>Microsoft's Team Foundation System guide is now ready</title>
      <link>http://www.codeplex.com/TFSGuide</link>
      <description>&lt;p&gt;Microsoft has yesterday updated it's Visual Studio Team System (VSTS) related guide called the "Development with Visual Studio Team Foundation Server Guide". Previously in "beta", this guide is now freely downloadable from the &lt;a href="http://www.codeplex.com/TFSGuide"&gt;CodePlex site&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The documentation has about 500 pages and consists of the following topics:&lt;/p&gt;

&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;Fundamentals&lt;/li&gt;
&lt;li&gt;Source Control&lt;/li&gt;
&lt;li&gt;Builds&lt;/li&gt;
&lt;li&gt;Large Project Considerations&lt;/li&gt;
&lt;li&gt;Project Management&lt;/li&gt;
&lt;li&gt;Process Templates&lt;/li&gt;
&lt;li&gt;Reporting&lt;/li&gt;
&lt;li&gt;Setting Up and Maintaining the Team Environment&lt;/li&gt;
&lt;li&gt;Visual Studio 2008 Team Foundation Server&lt;/li&gt;&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;Even so, the download is only less than 7 MB. Download your copy today!&lt;/p&gt;</description>
      <pubDate>Tue, 07 Aug 2007 13:16:27 GMT</pubDate>
      <guid>b11874b2-520b-4b99-82b1-c866716afa83</guid>
    </item>
    <item>
      <title>Migrating from SyncToy version 1.2 to 1.4</title>
      <link>http://www.microsoft.com/downloads/details.aspx?familyid=E0FC1154-C975-4814-9649-CCE41AF06EB7&amp;displaylang=en</link>
      <description>&lt;p&gt;I noticed that Microsoft had updated my favorite synchronization utility called SyncToy, which I use to synchronize my stuff with my external USB drives. SyncToy is now at version 1.4, and &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=E0FC1154-C975-4814-9649-CCE41AF06EB7&amp;displaylang=en"&gt;freely downloadable&lt;/a&gt; from their Download Center.&lt;/p&gt;

&lt;p&gt;Previously, I had SyncToy 1.2 installed, so I wondered if there would be any migration (upgrade) problems. No instructions were given (or I didn't find them), so I just proceeded with the install. That went smoothly, even to the same directory as the previous install.&lt;/p&gt;

&lt;p&gt;When I started SyncToy 1.4, all my previous folder pairs were intact, which was great. In fact, the folder pair settings are the most important data that SyncToy saves, and these settings are by default stored to (My) Documents\SyncToyData\SyncToyDirPairs.bin, which is a file you might want to back up as well. Another option is to simply take a screenshot of all your settings, which is easy to do, especially on Windows Vista with the new screen capture tool.&lt;/p&gt;

&lt;p&gt;However, my initial feeling of success dismissed quickly, as pressing the "Preview All" button under "All Folder Pairs" simply did nothing. It didn't give any error messages either. I thought something had gone wrong in the installation, so I uninstalled SyncToy and installed it again. No help; the situation kept the same. I tried single folder pairs, but they failed as well. Then, I created a new folder pair, and it worked nicely.&lt;/p&gt;

&lt;p&gt;Finally, I noticed the reason. SyncToy 1.2 allowed to use the backslash character (\) in folder pair names, which SyncToy 1.4 didn't anymore do. I didn't find a way to rename folder pairs (and I didn't want to edit the binary settings file, wish it'd been XML based instead), so I simply recreated them. Easy, but somewhat time-consuming, since I wanted to be sure my backups were not affected.&lt;/p&gt;

&lt;p&gt;After the fact I also noticed error messages in the SyncToy log file, named "SyncToyLog.log" similar to these:&lt;/p&gt;

&lt;pre&gt;
SYNC: 08/06/2007 21:34:46:687: *** System.IO.DirectoryNotFoundException:
Could not find a part of the path 'SYNCTOY_C:\Batch'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.Threading.Mutex.&lt;&gt;c__DisplayClass3.&lt;.ctor&gt;b__0(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(
  TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.Mutex..ctor(Boolean initiallyOwned, String name,
  Boolean&amp; createdNew, MutexSecurity mutexSecurity)
at System.Threading.Mutex..ctor(Boolean initiallyOwned, String name)
&lt;/pre&gt;

&lt;p&gt;Seems like SyncToy is creating a named Win32 mutex to help in thread synchronization, but that fails because of the illegal character in the folder pair name.&lt;/p&gt;

&lt;p&gt;You might ask why on earth I did use backslashes on folder pair names in the first place? Since I used them to simply name the source directory (i.e. the left folder)! That was the easiest thing to do. Now I changed the backslashes to hyphens instead, and all is okay. Take this as your SyncToy migration crash course.&lt;/p&gt;

&lt;p&gt;Keywords: Microsoft SyncToy, migration, update instructions, version 1.2 and version 1.4, photography, Windows XP ProPhoto.&lt;/p&gt;</description>
      <pubDate>Tue, 07 Aug 2007 03:43:57 GMT</pubDate>
      <guid>1ed9a931-ad44-44a4-b184-b0f337a68812</guid>
    </item>
    <item>
      <title>What is Windows Live Writer?</title>
      <link>http://get.live.com/betas/writer_betas</link>
      <description>&lt;p&gt;My fellow ITpro.fi team member teached me about &lt;a href="http://get.live.com/betas/writer_betas"&gt;Windows Live Writer&lt;/a&gt; (WLW), which is an exciting-looking desktop application for blogging. The application is free, and currently in beta. It's technically a .NET application, which is good to see.&lt;/p&gt;

&lt;p&gt;&lt;img src="images/2007_aug_windows_live_writer.png"&gt;&lt;/p&gt;

&lt;p&gt;The application allows publish to many blog engines, including SharePoint 2007 sites and Windows Live Spaces, WordPress, Blogger, LiveJournal and TypePad, among others. Since I have myself built my custom blogger application in C#, it would be great to build integration into my publishing system. We'll see if I have to chance and time to dig into this. Could be fun. :-)&lt;/p&gt;

&lt;p&gt;Thanks MB for the find!&lt;/p&gt;</description>
      <pubDate>Mon, 06 Aug 2007 13:16:47 GMT</pubDate>
      <guid>f043974d-3183-4c9c-b463-f5d76b0a8be9</guid>
    </item>
    <item>
      <title>Microsoft IronRuby released</title>
      <link>http://www.eweek.com/article2/0,1759,2161752,00.asp?kc=EWRSS03119TX1K0000594</link>
      <description>&lt;p&gt;Somewhat older news, but nonetheless interesting. Microsoft has &lt;a href="http://www.eweek.com/article2/0,1759,2161752,00.asp?kc=EWRSS03119TX1K0000594"&gt;recently released IronRuby&lt;/a&gt;, their Ruby language implementation for .NET.&lt;/p&gt;

&lt;p&gt;There's also a site called &lt;a href="http://tryruby.hobix.com/"&gt;Try Ruby!&lt;/a&gt; that allows you to try Ruby on-line, in case you are not familiar with the &lt;a href="http://en.wikipedia.org/wiki/Ruby_%28language%29"&gt;language&lt;/a&gt;. CodeGear is also working on &lt;a href="http://www.codegear.com/products/rubyide"&gt;products around Ruby&lt;/a&gt;, by the way.&lt;/p&gt;</description>
      <pubDate>Fri, 03 Aug 2007 13:53:04 GMT</pubDate>
      <guid>9fdf9327-b13e-4415-9c1a-008f9fcc0b62</guid>
    </item>
    <item>
      <title>Mapping keyboard scancodes to something else with the system registry</title>
      <link>http://www.microsoft.com/whdc/device/input/w2kscan-map.mspx</link>
      <description>&lt;p&gt;Learned something new today: Windows 2000 and newer (that includes Windows XP and Windows Vista) support &lt;a href="http://www.microsoft.com/whdc/device/input/w2kscan-map.mspx"&gt;mapping keyboard scancodes&lt;/a&gt; to different codes, meaning that you can effectively disable or remap keys to something else. This feature can come handy in certain special situations, but I must say I'm a bit concerned about this registry key's existence from security and system stability point of view. Since the key is at:&lt;/p&gt;

&lt;pre&gt;
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
&lt;/pre&gt;

&lt;p&gt;...it is perfectly possible that some malicious program would disable certain important keys. But of course, there are many other critical keys in the registry as well, so the best thing is to make sure your HKEY_LOCAL_MACHINE key is indeed secured. Vista's UAC would help here!&lt;/p&gt;</description>
      <pubDate>Thu, 02 Aug 2007 15:37:42 GMT</pubDate>
      <guid>64a2a53a-7c6f-4640-8f04-c5695a0cca20</guid>
    </item>
    <item>
      <title>Updated Windows Vista User Interface guidelines are available</title>
      <link>http://msdn2.microsoft.com/en-us/library/aa511258.aspx</link>
      <description>&lt;p&gt;Happy August, everyone! I noticed that Microsoft has during the summer updated the &lt;a href="http://msdn2.microsoft.com/en-us/library/aa511258.aspx"&gt;Windows Vista User Experience Guidelines&lt;/a&gt; (the "UX Guide") on MSDN. That's a set of documents that I'm greatly interested in. MSDN also hosts a single, 30 MB &lt;a href="http://download.microsoft.com/download/e/1/9/e191fd8c-bce8-4dba-a9d5-2d4e3f3ec1d3/ux%20guide.pdf"&gt;PDF download&lt;/a&gt; (yes, that's over 600 pages), but the problem is that this PDF compilation is an older version of the documentation from February.&lt;/p&gt;

&lt;p&gt;In any case, it's best to start following the guidelines if you aren't already. If nothing else, check the &lt;a href="http://msdn2.microsoft.com/en-us/library/aa511327.aspx"&gt;top requirements&lt;/a&gt; and also &lt;a href="http://msdn2.microsoft.com/en-us/library/aa511331.aspx"&gt;top violations&lt;/a&gt;!&lt;/p&gt;</description>
      <pubDate>Wed, 01 Aug 2007 14:50:37 GMT</pubDate>
      <guid>6837dfe8-8862-4b6b-a271-06bbaffb0673</guid>
    </item>
    <item>
      <title>My first article with Jupitermedia on Developer.com and CodeGuru.com</title>
      <link>http://www.developer.com/net/article.php/3691251</link>
      <description>&lt;p&gt;I've recently agreed with Jupitermedia to publish my articles on their high-traffic developer sites &lt;a href="http://www.developer.com/"&gt;Developer.com&lt;/a&gt; and &lt;a href="http://www.codeguru.com/"&gt;CodeGuru.com&lt;/a&gt;. I'm happy to announce that they've published my first article, titled "Cryptographic Solutions for .NET Developers: Hashing and Encryption". Since Jupitermedia publishes content on multiple sites, the article is available for free on both &lt;a href="http://www.developer.com/net/article.php/3691251"&gt;Developer.com&lt;/a&gt; and &lt;a href="http://www.codeguru.com/csharp/.net/net_security/encryption/article.php/c14033/"&gt;CodeGuru.com&lt;/a&gt;. The article talks about cryptography, and teaches how developes can use the .NET classes to encrypt and decrypt data and calculate hash values using C#.&lt;/p&gt;

&lt;p&gt;As a side note, I've also updated my &lt;a href="http://www.saunalahti.fi/janij/publications/"&gt;Publications page&lt;/a&gt; to reflect this &lt;a href="http://www.saunalahti.fi/janij/publications/developer_com.html"&gt;new publisher&lt;/a&gt;. Enjoy, and stay tuned for more articles!&lt;/p&gt;</description>
      <pubDate>Mon, 30 Jul 2007 15:04:58 GMT</pubDate>
      <guid>33a19938-16c0-45e3-ab97-08a8e0ceaf31</guid>
    </item>
    <item>
      <title>Visual Studio 2008 Beta 2 is now available</title>
      <link>http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx</link>
      <description>&lt;p&gt;Microsoft has &lt;a href="http://blogs.msdn.com/somasegar/archive/2007/07/26/announcing-the-release-of-visual-studio-2008-beta-2-net-fx-3-5-beta-2-and-silverlight-1-0-rc.aspx"&gt;announced&lt;/a&gt; the availability of Beta 2 of Visual Studio 2008 and .NET Framework 3.5. Sounds good! The beta is a public one, and can be downloaded &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx"&gt;here&lt;/a&gt;. The bits are also available on MSDN, and available as &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=428C076F-E3EF-4290-9FF4-F6FD8F180B7D&amp;displaylang=en"&gt;DVD images&lt;/a&gt; and Virtual PC images for easy testing. Also available is an white paper about the new features in this 9.0 version of Visual Studio. Download the XPS version titled "An Overview of Microsoft Visual Studio code name Orcas" &lt;a href="http://download.microsoft.com/download/b/f/d/bfdb8b1b-323a-435e-b328-cadc8b67bbee/An%20Overview%20of%20Visual%20Studio%20code%20name%20Orcas%20White%20Paper.xps"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src="images/2007_jul_visual_studio_2008_beta2_setup.png"&gt;&lt;/p&gt;

&lt;p&gt;I'm installing my copy on Windows Server 2008 Beta 3 as I write. :-) Remember to give your feedback on &lt;a href="http://connect.microsoft.com/visualstudio/"&gt;Connect&lt;/a&gt;!&lt;/p&gt;</description>
      <pubDate>Mon, 30 Jul 2007 13:21:09 GMT</pubDate>
      <guid>f060c65d-8269-4840-ab14-6fe2a138817c</guid>
    </item>
    <item>
      <title>Understanding Microsoft web communities</title>
      <link>http://www.mscommunities.com/</link>
      <description>&lt;p&gt;Sometimes, I have hard time to remember all those communities Microsoft has created on the web. For example, there's MSDN (of course), Channel 9, TechNet, CodeZone, and so forth. Luckily, I found by chance a &lt;a href="http://www.mscommunities.com/"&gt;web site&lt;/a&gt; that lists them all: mscommunities.com. Here's a quick rundown of the current sites:&lt;/p&gt;

&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.asp.net/"&gt;ASP.NET&lt;/a&gt;: a web site devoted to web application development with .NET.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://channel8.msdn.com/"&gt;Channel 8&lt;/a&gt;: a site for student developers looking for information about Windows development.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://channel9.msdn.com/"&gt;Channel 9&lt;/a&gt;: The video and discussion site about latest and greated in Windows development.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://on10.net/"&gt;Channel 10&lt;/a&gt;: a "technology passion" site, sharing "music, mobility, photography, videography, gaming" stuff with those who enjoy these topics. An oddball site in my opinion, but I like it. :-)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/"&gt;CodePlex&lt;/a&gt;: a site to host your open-source projects, also the successor to GotDotNet.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.codezone.com/"&gt;Codezone&lt;/a&gt;: a site for developers, hosting videos, training material and tips.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.iis.net/"&gt;IIS.NET&lt;/a&gt;: a site devoted to the Internet Information Server web application platform.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://visitmix.com/"&gt;MIX Online&lt;/a&gt;: a site for web people: developers and designers alike.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/"&gt;MSDN&lt;/a&gt;: THE developer site for all Windows and web developers (you knew this already).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://silverlight.net/"&gt;Silverlight&lt;/a&gt;: the name says it all, a site about Silverlight, the Adobe Flash killer.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/"&gt;TechNet&lt;/a&gt;: the site for Windows IT professionals.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://windowsclient.net/"&gt;WindowsClient.net&lt;/a&gt;: a site devoted to rich client application development on Windows, especially with Windows Forms (WinForms) and WPF (Windows Presentation Foundation).&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;I only wish that there was a single RSS feed to have the best topics of all these forums/communities in one!&lt;/p&gt;</description>
      <pubDate>Sat, 28 Jul 2007 09:33:12 GMT</pubDate>
      <guid>6724a01b-278b-47a9-9cc8-e31e04e45199</guid>
    </item>
    <item>
      <title>Intel's Threading Build Blocks becomes open-source</title>
      <link>http://www.intel.com/pressroom/archive/releases/20070724fact.htm</link>
      <description>&lt;p&gt;Intel Software &lt;a href="http://www.intel.com/pressroom/archive/releases/20070724fact.htm"&gt;announced two days ago&lt;/a&gt; that its commercial Threading Building Blocks (TBB) product has been made available as an open-source project. A &lt;a href="http://www.threadingbuildingblocks.org/"&gt;new web site&lt;/a&gt; has been formed to host the source code, and versions now exist for Windows, Linux and Mac under the GPL license version 2 with the "&lt;a href="http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/license.html"&gt;runtime exception&lt;/a&gt;".&lt;/p&gt;

&lt;p&gt;From Windows compilers, Microsoft Visual C++ version 2003 and 2005 (7.1 and 8.0) are supported. Download your copy of the TBB package &lt;a href="http://osstbb.intel.com/ver.php?fid=72"&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Thu, 26 Jul 2007 14:37:41 GMT</pubDate>
      <guid>43f754cf-4f05-4cc7-a8b7-cdc68dffa44c</guid>
    </item>
    <item>
      <title>No more WinForms support in next CodeGear Delphi .NET</title>
      <link>http://blogs.codegear.com/NickHodges/archive/2007/07/16/37451.aspx</link>
      <description>&lt;p&gt;There's a recent blog post in Borland/CodeGear's blog &lt;a href="http://blogs.codegear.com/NickHodges/archive/2007/07/16/37451.aspx"&gt;about the next version of Delphi&lt;/a&gt;, and what's included and what's not. One thing that alarms me is that CodeGear has made the decision to drop WinForms supports from it's fortcoming Delphi version. An interesting decision to say the least.&lt;/p&gt;

&lt;p&gt;Of course, many Delphi fans say that it's a good move to focus on where Delphi is the best, i.e. native Win32 world. However, I believe for ordinary business applications, .NET is the future. The VCL library is in my opinion lacking in many areas that are now common needs in business applications, for example database support (SQL Server's advanced features), XML manipulation (where's my XPath?), cryptography, and general convenience of manipulating files and directories, for example. I'm not saying VCL cannot be used, in fact it can do marvellous things, but it cannot compete with the huge .NET libraries. Yes, it is indeed possible to use all these from VCL.NET applications, but I don't want to use VCL libraries in .NET if I can avoid that.&lt;/p&gt;

&lt;p&gt;Why? Because my world has changed. In the Win32 world, I could use Delphi alone, because it was enough for my needs. But when .NET came along, I learned Visual Studio, and now suddenly I need to use both Delphi and Visual Studio. For me, learning one GUI library (read: WinForms) would be the optimal solution. Now I do have to remember two: VCL &lt;i&gt;and&lt;/i&gt; WinForms.&lt;/p&gt;

&lt;p&gt;For developers using Delphi only, making the growth-path from VCL to VCL.NET easy is a key in moving Delphi developers to the .NET world. However, those who have already started using Visual Studio for (some of) their projects, will quickly notice the differences between the IDEs, for example stability and productivity. Even though concentrating resources and R&amp;D efforts is a good thing for CodeGear, in my eyes it's pretty much the same as declaring the "war" lost to Visual Studio. And what I'm missing is competition in .NET development tools.&lt;/p&gt;</description>
      <pubDate>Wed, 25 Jul 2007 12:53:46 GMT</pubDate>
      <guid>d99c7532-cc11-40e6-a347-19b781be216a</guid>
    </item>
    <item>
      <title>Fixing a nasty problem with System.Web.Mail.SmtpMail.Send</title>
      <link>
      </link>
      <description>&lt;p&gt;Last week, I was debugging a Delphi for .NET application (using .NET 1.1) that reads data from a database, and sends e-mail with the System.Web.Mail.SmtpMail class depending on the data. Now, when I called the static Send method (or should I say, class method) of the SmtpMail class, I always got the following error:&lt;/p&gt;

&lt;pre&gt;
System.Web.HttpException: Could not access 'CDO.Message' object.
---&gt; System.ArgumentException: Value does not fall within the expected range.
   at System.Web.Mail.LateBoundAccessHelper.SetProp(Type type,
      Object obj, String propName, Object propValue)
   at System.Web.Mail.LateBoundAccessHelper.SetProp(Object obj,
      String propName, Object propValue)
&lt;/pre&gt;

&lt;p&gt;The application has been working for years with the exact same code, and now suddenly it started to fail. I tried naturally googling (or rather, "liveing" as I use Live.com most often nowadays) for the error, but most &lt;a href="http://www.systemwebmail.com/faq/4.2.3.aspx"&gt;referred&lt;/a&gt; to invalid registration of CDOSYS.DLL, but those tips (all nine, in fact) were not helpful in my case.&lt;/p&gt;

&lt;p&gt;Luckily, I solved the issue. There was something strange (something I've not pinpointed yet) in the database access in Borland's BDP.NET drivers, and they returned database data with about 10 KB of null characters appended to the database data. This caused the CDO components that the SmtpMail class uses to fail with the above error message. I simply converted the null characters into spaces and then trimmed the string, and thus the problem was solved.&lt;/p&gt;

&lt;p&gt;Note that it was difficult to find out about the null characters in the first place; Delphi's debugger stopped showing the string data up to the first null character. I only figured out about this when I started comparing String.Length to the actual contents of the string. Beware!&lt;/p&gt;</description>
      <pubDate>Mon, 23 Jul 2007 15:58:52 GMT</pubDate>
      <guid>05b4199f-2361-4bae-9c49-005231b115c8</guid>
    </item>
    <item>
      <title>Some clarification to Windows Update, Microsoft Update and Automatic Update on WinXP</title>
      <link>http://www.update.microsoft.com/microsoftupdate/v6/default.aspx?ln=en-us</link>
      <description>&lt;p&gt;Letting a recent Windows operating system, say, Windows XP SP2 update itself is very easy: just make sure you have those automatic updates enabled, and you are all set. Or are you? It turns out that especially with Windows XP, there's one manual step that you need to do. In the process, you might also become confused with the different terms.&lt;/p&gt;

&lt;p&gt;Originally, Microsoft developed a web site called &lt;a href="http://windowsupdate.microsoft.com/"&gt;Windows Update&lt;/a&gt;, which, as it's name suggests, lets you update your Windows operating system components and those accessory applications that come with it (for instance, Internet Explorer and Media Player). But the problem is that common Microsoft applications such as Office, SQL Server or Visual Studio are not receiving automatic updates in Windows XP. With Windows Vista and forth-coming Window Server 2008, the situation is different, and you don't need to worry about this. So, the following only applies to Windows XP (SP2).&lt;/p&gt;

&lt;p&gt;If you try to bring Office, Visual Studio and so forth to be part of the automatic updates, you can find it difficult to find the correct information. But the key is this: you have to learn that there's also a new service called &lt;a href="http://www.update.microsoft.com/microsoftupdate/v6/default.aspx?ln=en-us"&gt;Microsoft Update&lt;/a&gt; that is the version 6 of the older Windows Update that Windows XP uses by default. Now, Microsoft Update updates many common Microsoft products like Office, whereas Windows Update only updates Windows components. So, you need to replace Windows Update with Microsoft Update.&lt;/p&gt;

&lt;p&gt;To do this, simply go to the &lt;a href="http://www.update.microsoft.com/microsoftupdate/v6/default.aspx?ln=en-us"&gt;Microsoft Update site&lt;/a&gt;, and follow the instructions. Once you are through, Windows XP's Automatic Updates will start using Microsoft Update instead of Windows Update, although this cannot be seen from the Automatic Updates user interface, as far as I'm aware (Control Panel/System/Automatic Updates). If you need to revert back to the older Windows Update, follow the instructions in &lt;a href="http://support.microsoft.com/kb/901037"&gt;KB article 901037&lt;/a&gt;. There's also a &lt;a href="http://update.microsoft.com/microsoftupdate/v6/about.aspx?ln=en-us"&gt;FAQ available&lt;/a&gt;. Good luck!&lt;/p&gt;</description>
      <pubDate>Fri, 20 Jul 2007 13:56:01 GMT</pubDate>
      <guid>817b55fa-8585-4e8c-b16a-0a27abc13f2a</guid>
    </item>
    <item>
      <title>Windows Home Server is ready</title>
      <link>http://www.microsoft.com/windows/products/winfamily/windowshomeserver/default.mspx</link>
      <description>&lt;p&gt;As mentioned by &lt;a href="http://www.microsoft.com/windows/products/winfamily/windowshomeserver/default.mspx"&gt;the product pages&lt;/a&gt; and a &lt;a href="http://blogs.technet.com/homeserver/archive/2007/07/16/ship-it.aspx"&gt;blog entry&lt;/a&gt;, Windows Home Server is now ready.&lt;/p&gt;

&lt;p&gt;In addition to the product, MSDN also features the &lt;a href="http://msdn2.microsoft.com/en-us/library/aa306570.aspx"&gt;newly released SDK&lt;/a&gt; for the product.&lt;/p&gt;

&lt;p&gt;Finally, since it can be somewhat difficult to get a hold of what the Home Server really is, Microsoft has written a &lt;a href="http://download.microsoft.com/download/3/6/8/368DF7AB-24BD-4E0E-834E-19A235170C0C/WindowsHomeServerReviewersGuide.pdf"&gt;Reviewer's Guide&lt;/a&gt;, available as a PDF document.&lt;/p&gt;</description>
      <pubDate>Wed, 18 Jul 2007 15:28:27 GMT</pubDate>
      <guid>f47f0c57-d76d-4747-8b77-95db4ae9c060</guid>
    </item>
    <item>
      <title>New Samsung SGH-I600 phone</title>
      <link>http://www.samsung.com/uk/products/mobilephones/mobilephones/sgh_i600lkaora.asp?page=Features</link>
      <description>&lt;p&gt;A nice packet was waiting on my desk at the office when I today returned from my three-week summer vacation. Inside was a brand-new &lt;a href="http://www.samsung.com/uk/products/mobilephones/mobilephones/sgh_i600lkaora.asp?page=Features"&gt;Samsung SGH-I600 smartphone&lt;/a&gt;, running Windows Mobile 5.0! Great, now I can finally start developing apps for the platform and not rely on emulators for all testing. Thanks JP!&lt;/p&gt;</description>
      <pubDate>Mon, 16 Jul 2007 14:42:43 GMT</pubDate>
      <guid>2c71d391-8773-44f6-813c-e15858faefed</guid>
    </item>
    <item>
      <title>More on Windows System State Analyzer</title>
      <link>http://www.innovateonwindowsserver.com/LearnBuild.aspx</link>
      <description>&lt;p&gt;I today had the chance (staying inside to stay out of trouble on this day :-) to play a bit with &lt;a href="http://www.innovateonwindowsserver.com/LearnBuild.aspx"&gt;Windows System State Analyzer&lt;/a&gt;, which is currently in beta (as per the application title). I installed it on Longhorn/Windows Server 2008 beta (build 6001, beta 3). Installation went fine, and the application is a .NET application.&lt;/p&gt;

&lt;p&gt;&lt;img src="images/2007_jul_system_state_analyzer.png"&gt;&lt;/p&gt;

&lt;p&gt;However, the application fails to take a snapshot on the beta. I can start the application and begin taking the snapshot, but after several minutes (yes, it takes quite a while), I get an error saying this:&lt;/p&gt;

&lt;pre&gt;
---------------------------
Windows®  System State Analyzer (Beta)
---------------------------
Error taking snapshot.
---------------------------
OK   
---------------------------
&lt;/pre&gt;

&lt;p&gt;I have to check whether the application would work, say, on Windows XP.&lt;/p&gt;</description>
      <pubDate>Fri, 13 Jul 2007 10:06:17 GMT</pubDate>
      <guid>2e1dc16e-8824-4d48-89c8-2dcf74f2b65e</guid>
    </item>
    <item>
      <title>Windows Server 2008, SQL Server 2008 and Visual Studio 2008 will launch on February 27, 2008</title>
      <link>http://www.microsoft.com/presspass/press/2007/jul07/07-10WPCDay1PartnersPR.mspx</link>
      <description>&lt;p&gt;I just read &lt;a href="http://www.microsoft.com/presspass/press/2007/jul07/07-10WPCDay1PartnersPR.mspx"&gt;from Microsoft's web site&lt;/a&gt; that next "2008" versions of no less than Windows Server, SQL Server and Visual Studio will be launched on February 27, 2008 in Los Angeles. The announcement was made at the Microsoft Worldwide Partner Conference 2007 in Denver.&lt;/p&gt;

&lt;p&gt;According &lt;a href="http://www.eweek.com/article2/0,1759,2156451,00.asp?kc=EWRSS03119TX1K0000594"&gt;to eWeek&lt;/a&gt;, the launch will be Microsoft's biggest, even surpassing the Vista+Office+Exchange launch in January this year. Sounds interesting, because the January launch was already BIG! If the launch date is in February, the chances are that the bits would be ready a month of two before, so that the finished products could be downloaded from MSDN. Cool.&lt;/p&gt;</description>
      <pubDate>Wed, 11 Jul 2007 05:15:01 GMT</pubDate>
      <guid>44a0b40a-82e3-47e4-8e26-630fe2a97977</guid>
    </item>
    <item>
      <title>New Peer-To-Peer APIs in .NET 3.5</title>
      <link>http://blogs.msdn.com/p2p/archive/2007/03/12/writing-peer-to-peer-applications-using-net-part-1-pnrp.aspx</link>
      <description>&lt;p&gt;Earlier today I blogged about the new ListView component for ASP.NET developers in forthcoming .NET 3.5. In addition to the major enhancements like C# 3.0 and LINQ, the 3.5 version also brings many interesting smaller additions to the framework class library. One of these is the support to Vista's &lt;a href="http://blogs.msdn.com/p2p/archive/2007/03/12/writing-peer-to-peer-applications-using-net-part-1-pnrp.aspx"&gt;Peer-To-Peer APIs&lt;/a&gt;. This brings up the new namespaces &lt;code&gt;System.Net.PeerToPeer&lt;/code&gt; and &lt;code&gt;System.Net.PeerToPeer.Collaboration&lt;/code&gt;. To use these new APIs for example from &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=B533619A-0008-4DD6-9ED1-47D482683C78&amp;displaylang=en"&gt;Visual Studio 2008 March CTP&lt;/a&gt;, you need to start a project and then reference the following assembly:&lt;/p&gt;

&lt;pre&gt;
C:\Windows\Microsoft.NET\Framework\v3.5.20404\System.Net.dll
&lt;/pre&gt;

&lt;p&gt;A screenshot from Windows Server 2008 beta showing the assembly:&lt;/p&gt;

&lt;p&gt;&lt;img src="images/2007_jul_system_net_35_peertopeer.png"&gt;&lt;/p&gt;

&lt;p&gt;Note that you won't find the name of this assembly from the initial list provided by the Add Reference dialog box, but if you go to the Browse tab, you can select the above path and pick System.Net.dll from there. Good luck!&lt;/p&gt;</description>
      <pubDate>Tue, 10 Jul 2007 11:59:27 GMT</pubDate>
      <guid>ce73dc01-c153-43b6-b3dc-5df21fa849c7</guid>
    </item>
    <item>
      <title>.NET 3.5 brings new ListView control to ASP.NET web developers</title>
      <link>http://download.microsoft.com/download/5/9/c/59cd0dc5-4691-4c3e-840c-66d865f27692/listview.xps</link>
      <description>&lt;p&gt;If you are a ASP.NET web developer and are using Visual Studio, the good news is that with Visual Studio 2008 and .NET Framework 3.5, there's going to be a new component (control) named &lt;a href="http://download.microsoft.com/download/5/9/c/59cd0dc5-4691-4c3e-840c-66d865f27692/listview.xps"&gt;ListView&lt;/a&gt;. This new component combines the best parts of the older GridView and DataGrid components, and can even replace the older Repeater component.&lt;/p&gt;

&lt;p&gt;There's a Microsoft previously linked specification document available (in XPS format, more Orcas specifications &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/aa948851.aspx"&gt;here&lt;/a&gt;), and also a short &lt;a href="http://www.aspnetpodcast.com/VideoFiles/ASPNETPodcast20070515-ListView.wmv"&gt;WMV video&lt;/a&gt; that shows how the component works. Note that this new ListView control has nothing to do with the WinForms ListView control that has existed since .NET 1.0.&lt;/p&gt;</description>
      <pubDate>Tue, 10 Jul 2007 09:46:44 GMT</pubDate>
      <guid>9d37dc82-ad05-4376-a905-49c3846c4a80</guid>
    </item>
    <item>
      <title>The @ symbol in C# code</title>
      <link>http://msdn2.microsoft.com/en-us/library/aa664670(VS.71).aspx</link>
      <description>&lt;p&gt;I got an e-mail from a reader of &lt;a href="http://blogs.msdn.com/csharpfaq/archive/2006/10/09/How-do-I-send-out-simple-debug-messages-to-help-with-my-debugging_3F00_.aspx"&gt;my C# blog entry&lt;/a&gt; asking what does the construct "&lt;code&gt;bool @this = true;&lt;/code&gt;" mean. Here's an answer.&lt;/p&gt;

&lt;p&gt;In C#, there are about 80 keywords, that cannot be used as identifiers. However, by placing the at sign @ in front of an identifier name creates a so-called "verbatim identifier". This construct allows you to use C# keywords as identifier names. As said in the &lt;a href="http://msdn2.microsoft.com/en-us/library/aa664670(VS.71).aspx"&gt;C# Language Specification, section 2.4.2&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;"The prefix '@' enables the use of keywords as identifiers, which is useful when interfacing with other programming languages. The character @ is not actually part of the identifier, so the identifier might be seen in other languages as a normal identifier, without the prefix."&lt;/p&gt;

&lt;p&gt;Of course, the other use of the @ sign in C# is the more common &lt;a href="http://msdn2.microsoft.com/en-us/library/aa691090(vs.71).aspx"&gt;verbatim string&lt;/a&gt; use. This allows you to prefix string literals with the @ sign, and not espace characters such as backslashes (\). This is very useful for example when working with pathnames.&lt;/p&gt;</description>
      <pubDate>Mon, 09 Jul 2007 06:29:46 GMT</pubDate>
      <guid>e2e0d429-5d03-4cb3-ab4c-d463f562ec04</guid>
    </item>
    <item>
      <title>How to fold a light tent</title>
      <link>http://www.youtube.com/watch?v=eER8hhhg28o</link>
      <description>&lt;p&gt;Well, I bought a nice white light tent from Lumisoft, and once I opened the small soft case, the tent popped up like a thing on spring. Great, but little scary now that I think it afterwards. In any case, the tent works perfectly, and I'm waiting to find more time to take more test shots.&lt;/p&gt;

&lt;p&gt;But the biggest problem so far was to store the 60x60x60 cm tent back to the small pouch. I tried twisting the thing many times, but without luck -- no instructions were given. Luckily, I found a &lt;a href="http://www.youtube.com/watch?v=eER8hhhg28o"&gt;video on YouTube&lt;/a&gt; (ID &lt;code&gt;eER8hhhg28othat&lt;/code&gt;) that demonstrates the process. :-) It's a bit hard work still and requires some forcing, but in the end I managed to solve the problem.&lt;/p&gt;

&lt;p&gt;Keywords: howto, light tent, folding instructions, fold light tent.&lt;/p&gt;</description>
      <pubDate>Fri, 06 Jul 2007 08:40:24 GMT</pubDate>
      <guid>9dc465ce-f611-47d8-b7c2-c42cc17b02f5</guid>
    </item>
    <item>
      <title>New Small Business center on MSDN</title>
      <link>http://msdn2.microsoft.com/en-us/smallbusiness/default.aspx</link>
      <description>&lt;p&gt;MSDN has opened a new &lt;a href="http://msdn2.microsoft.com/en-us/smallbusiness/default.aspx"&gt;Small Business Developer Center&lt;/a&gt; which is a collection of videos and example applications to support SMB companies in their most common data processing needs: system/data integration, reporting, and moving applications to the web. Go check it out!&lt;/p&gt;

&lt;p&gt;PS. Happy July 4th to those in USA!&lt;/p&gt;</description>
      <pubDate>Wed, 04 Jul 2007 10:44:03 GMT</pubDate>
      <guid>34574734-a8b0-40df-82e6-393e33b7e4a8</guid>
    </item>
    <item>
      <title>What is the Visual Studio 2008 Shell?</title>
      <link>http://msdn2.microsoft.com/en-us/vstudio/bb510103.aspx</link>
      <description>&lt;p&gt;You might be aware that many third-party tools integrate already today into the Visual Studio IDE, such as products from Borland and Compuware. Now, with the forth-coming Visual Studio 2008, Microsoft is taking the integration possibilities even further with the &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/bb510103.aspx"&gt;introduction of the Visual Studio Shell&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;From the page: "Visual Studio Shell provides the core foundation so you can focus on building your application’s unique features. Flexible customization options help you deliver optimized experiences for specific markets."&lt;/p&gt;

&lt;p&gt;Sounds very good to me, except that if for example CodeGear would choose to go this route with their Windows IDEs, then that would be more or less the end to the IDE competition.&lt;/p&gt;</description>
      <pubDate>Tue, 03 Jul 2007 10:45:25 GMT</pubDate>
      <guid>8ea34f42-7ba9-4a48-8887-bd8019185c43</guid>
    </item>
    <item>
      <title>What is the Windows System State Analyzer Tool?</title>
      <link>http://www.innovateonwindowsserver.com/LearnBuild.aspx</link>
      <description>&lt;p&gt;I found an interesting tool on the Microsoft's new "&lt;a href="http://www.innovateonwindowsserver.com/LearnBuild.aspx"&gt;Innovate on Windows Server&lt;/a&gt;" site: the Windows System State Analyzer Tool. I confess that I haven't heard of this tool before. But it sure sounds useful if I read it right: "Users can create two snapshots at different points in time and compare them to view differences. A detailed report could be generated at the end of a compare operation." If that works, it will solve many mysterious issues! I have to &lt;a href="http://www.innovateonwindowsserver.com/redirect.aspx?u=Download/Windows System State Analyzer.msi"&gt;download&lt;/a&gt; and test it immediately.&lt;/p&gt;</description>
      <pubDate>Mon, 02 Jul 2007 04:43:14 GMT</pubDate>
      <guid>0115399b-5674-4192-9f0c-bcc9859f2149</guid>
    </item>
    <item>
      <title>Current directory manipulation in batch files</title>
      <link>http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/pushd.mspx?mfr=true</link>
      <description>&lt;p&gt;Sometimes, you want to write  (DOS) batch files (those with .BAT or .CMD extensions) to automate certain tasks. I today learned a neat little trick using the &lt;strong&gt;%CD% environment variable&lt;/strong&gt;. This variable always holds the current directory where the batch file is. You can use this to manipulate paths, or save the path for later use into another environment variable.&lt;/p&gt;

&lt;p&gt;Of course, since Windows XP you can also use the pushd and popd (push and pop directory) commands to save and restore the current directory/path. I learned these commands at the time I was still using &lt;a href="http://www.jpsoft.com/4ntdes.htm"&gt;4NT&lt;/a&gt;, but now with Windows XP and later, these commands are part of the CMD.EXE command interpreter.&lt;/p&gt;</description>
      <pubDate>Sat, 30 Jun 2007 11:17:42 GMT</pubDate>
      <guid>00ea1ac2-1fdb-46ac-90b3-e56016691924</guid>
    </item>
    <item>
      <title>Adobe Lightroom 1.1 update available</title>
      <link>http://www.adobe.com/support/downloads/detail.jsp?ftpID=3669</link>
      <description>&lt;p&gt;Adobe has just recently updated my favorite photo management/editing utility Lightroom: a new, free version 1.1 update is &lt;a href="http://www.adobe.com/support/downloads/detail.jsp?ftpID=3669"&gt;available for download&lt;/a&gt; from Adobe's support web site.&lt;/p&gt;

&lt;p&gt;Improvements include better support for multi-computer work, better noise reduction and sharpness settings and Windows Vista support. Sounds great! There's also available a "What's New" type of article about the LR 1.1 update on &lt;a href="http://www.outbackphoto.com/artofraw/raw_35/essay.html"&gt;Digital Outback Photo&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Wed, 27 Jun 2007 10:12:04 GMT</pubDate>
      <guid>0d93cf32-89a6-4f62-8834-6c32c40e9395</guid>
    </item>
    <item>
      <title>Three Finnish white papers from Microsoft</title>
      <link>
      </link>
      <description>&lt;p&gt;If you need something to spend your rainy summer holidays (not that they'd be needed!) in an useful manner, there are three Finnish Microsoft white papers available for developers. There are:&lt;/p&gt;

&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.mspost.fi/microsoft/Reaalimaailman_SOA.pdf"&gt;Reaalimaailman SOA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://itpro.fi/asiantuntijaryhmat/arkkitehtuuri/Dokumentit/Whitepaper_Sovellusalustan_optimointi_v1.0.pdf"&gt;Sovellualustan optimointi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://itpro.fi/asiantuntijaryhmat/arkkitehtuuri/Dokumentit/Whitepaper_Arkkitehdin%20rooli%20v1.0.pdf"&gt;Arkkitehti pienentää liiketoiminnan IT-riskiä&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;The two last ones are hosted on the ITpro.fi site which recently started hosting the "Arkkitehtiryhmä" as well.&lt;/p&gt;</description>
      <pubDate>Wed, 27 Jun 2007 06:11:52 GMT</pubDate>
      <guid>39ac839a-6b99-483e-972b-472fd4e06e66</guid>
    </item>
    <item>
      <title>Two simple Windows tips: show windows in full screen and convert Excel rows to columns</title>
      <link>
      </link>
      <description>&lt;p&gt;Two simple Windows tips that I confess didn't know previously: in Windows XP and Vista, you can double-click the windows' title bar to maximize the window. This trick is of course well-known and has existed I think since Windows 3.0, but what was new to me is that if you hold down Ctrl while double-clicking the title bar, you can fully maximize the window. This would be the same as pressing F11 on Windows basic shell windows and Internet Explorer. To return to the normal view, simply press F11.&lt;/p&gt;

&lt;p&gt;Another tip is regarding Excel. If you have cells in Excel, say, in a row (top-down) but want them in columns instead, use the Edit/Paste Special/Transpose command. Yes, I've used Paste Special a lot ("Unformatted" is my most-needed option), but I've never noticed the Transpose option. Try it, works like a charm!&lt;/p&gt;

&lt;p&gt;I learned about these tricks from the Microsoft AtHome and Office sites &lt;a href="http://www.microsoft.com/athome/moredone/5xptricks.mspx"&gt;here&lt;/a&gt; and &lt;a href="http://office.microsoft.com/en-us/help/HA011872211033.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Mon, 25 Jun 2007 10:49:33 GMT</pubDate>
      <guid>2602cc5e-d486-4678-bcba-7333d0b416f5</guid>
    </item>
    <item>
      <title>Happy Midsummer!</title>
      <link>
      </link>
      <description>&lt;p&gt;Happy Midsummer to everyone! I'm off to my weekend-long holiday to watch the bonfires and cooking by the BBQ, but back again on Monday. Have a great weekend, enjoy the sun and longest days of the year, and thanks for stopping by!&lt;/p&gt;</description>
      <pubDate>Thu, 21 Jun 2007 12:42:20 GMT</pubDate>
      <guid>c57c52e9-fd05-419b-8a8c-97f67df0ce93</guid>
    </item>
    <item>
      <title>Determining installed .NET Framework version by hand</title>
      <link>http://support.microsoft.com/kb/318785</link>
      <description>&lt;p&gt;Sometimes, you need to be able to detect which version (if any) of the .NET Framework is installed on your PC. If you want to do this by hand, then Microsoft's KB &lt;a href="http://support.microsoft.com/kb/318785"&gt;article 318785&lt;/a&gt; shows you how to do it. Currently, the article covers .NET Framework versions 1.0 to 2.0.&lt;/p&gt;</description>
      <pubDate>Wed, 20 Jun 2007 13:53:21 GMT</pubDate>
      <guid>78c5b3b9-9392-4ed7-8c6a-c325cf24e25e</guid>
    </item>
    <item>
      <title>VSTS Work item tracking code examples</title>
      <link>http://msdn.microsoft.com/msdnmag/issues/07/04/TeamSystem/default.aspx</link>
      <description>&lt;p&gt;The April 2007 issue of MSDN Magazine has &lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/04/TeamSystem/default.aspx"&gt;an article&lt;/a&gt; about tracking Visual Studio Team System (VSTS) / Team Foundation Server (TFS) work items. The article talks for example about WIQL queries, which is an SQL-like language. Go check it out!&lt;/p&gt;</description>
      <pubDate>Sun, 17 Jun 2007 05:25:51 GMT</pubDate>
      <guid>b241939d-e309-475f-afe1-cb8d69530000</guid>
    </item>
    <item>
      <title>My CodeGear Delphi+Vista webcast yesterday</title>
      <link>http://borland.interwise.com/borland/iMeeting/DI2337/</link>
      <description>&lt;p&gt;Yesterday I ran a Borland/CodeGear &lt;a href="http://borland.interwise.com/borland/iMeeting/DI2337/"&gt;webcast&lt;/a&gt; about Windows Vista and using Delphi to develop application for this new operating system. The audio+PowerPoint session was recorded, and you are able to hear the &lt;a href="http://borland.interwise.com/borland/iMeeting/DI2337/"&gt;recording&lt;/a&gt; on borland.interwise.com. I hope you will find this recording (in Finnish) useful.&lt;/p&gt;</description>
      <pubDate>Fri, 15 Jun 2007 14:10:30 GMT</pubDate>
      <guid>9810013c-5743-4c49-82b1-ff9c4ef32044</guid>
    </item>
    <item>
      <title>Codename "Acropolis": merging WPF and business applications</title>
      <link>http://www.microsoft.com/downloads/details.aspx?familyid=72386ce5-f206-4d5c-ab09-413b5f31f935&amp;displaylang=en</link>
      <description>&lt;p&gt;I just learned that Microsoft has announced the first CTP (Community Technology Preview) of "Acropolis", a toolkit to allow business application developers to use Windows Presentation Foundation (WPF) to better develop applications. This toolkit can be downloaded from &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=72386ce5-f206-4d5c-ab09-413b5f31f935&amp;displaylang=en"&gt;Microsoft Downloads&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;From the toolkit's documentation:&lt;/p&gt;

&lt;p&gt;&lt;i&gt;Code Name "Acropolis" is a toolkit for creating modular, business-focused Windows client applications. "Acropolis" builds on the.NET Framework, and includes a run-time framework, design-time tools, and out-of-the-box functionality.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;Sounds interesting. In fact, tons of stuff are coming from Microsoft for developers alone later this year. The forth-coming autumn will be action packed, that's for sure!&lt;/p&gt;</description>
      <pubDate>Thu, 14 Jun 2007 13:29:55 GMT</pubDate>
      <guid>62f48164-b3ab-45cb-9172-3280b31e400c</guid>
    </item>
    <item>
      <title>Adding yourself to the list of valid user in Visual Studio Team Foundation Server</title>
      <link>
      </link>
      <description>&lt;p&gt;On Monday I blogged about Visual Studio 2005 Team System and Team Foundation Server, and decided to continue today. That is, once you've just installed Team Foundation Server (TFS), and try to connect to a newly-created Team Project from Team Explorer, you might get the following error:&lt;/p&gt;

&lt;pre&gt;
The request failed with HTTP status 403: TF53011:
VIRTUAL-W2K3\Jani Järvinen is not a licensed user.
&lt;/pre&gt;

&lt;p&gt;On the screen, this looks like this (note the error in showing special characters):&lt;/p&gt;

&lt;p&gt;&lt;img src="images/2007_jun_tfs_not_licensed_error_1.png"&gt;&lt;/p&gt;

&lt;p&gt;To fix this error, you will need to add your own user account to the Team Foundation Server Installed User's group under Team Foundation Server Settings. To do this, in Team Explorer, right-click your server, and choose the command Team Foundation Server Settings/Group Membership:&lt;/p&gt;

&lt;p&gt;&lt;img src="images/2007_jun_tfs_not_licensed_error_2.png"&gt;&lt;/p&gt;

&lt;p&gt;In the Global Groups dialog box, select the [SERVER]\Team Foundation Server Licensed Users, and then click Properties:&lt;/p&gt;

&lt;p&gt;&lt;img src="images/2007_jun_tfs_not_licensed_error_3.png"&gt;&lt;/p&gt;

&lt;p&gt;Finally, a dialog box is displayed showing the users that belong to this group. By default, only the local Administrator and the "TFSSETUP" user accounts are part of this group. To fix the problem, just add your account to the list:&lt;/p&gt;

&lt;p&gt;&lt;img src="images/2007_jun_tfs_not_licensed_error_4.png"&gt;&lt;/p&gt;

&lt;p&gt;Note that if you are using Team Foundation Server Workgroup Edition, only five (5) users can be added to the list, not more. In any case, adding yourself to the list will solve the issue.&lt;/p&gt;</description>
      <pubDate>Wed, 13 Jun 2007 18:22:25 GMT</pubDate>
      <guid>1e5134be-c18f-4ac6-9e16-58abe2703ea6</guid>
    </item>
    <item>
      <title>Fixing the Visual Studio Team System error TF30177</title>
      <link>
      </link>
      <description>&lt;p&gt;If you are using Visual Studio 2005 Team System (VSTS), you are most probably also using Team Foundation Server as your version control and team workspace. However, in certain cases it can happen that once you've installed TFS and try to connect to it using Visual Studio/Team Explorer, you will get the following error message when creating your first Team Project:&lt;/p&gt;

&lt;pre&gt;
TF30177: Team Project Creation Failed
New Team Project Wizard encountered the following error
and could not continue.

Error
Unable to connect to the specified SQL Server Reporting
Services at 192.168.218.129.  

Explanation

The Project Creation Wizard was not able to connect to
the SQL Server Reporting Services at 192.168.218.129.
The reason for the failed connection cannot be
determined at this time. Because the connection failed,
the wizard was not able to complete creating the SQL
Server Reporting Services site.
&lt;/pre&gt;

&lt;p&gt;The error message dialog box looks like this:&lt;/p&gt;

&lt;p&gt;&lt;img src="images/2007_jun_team_project_creation_error.png"&gt;&lt;/p&gt;

&lt;p&gt;Now, why did this happen? The message "the reason for the failed connection cannot be
determined at this time" isn't very helpful. However, most probably this error is caused by DNS problems, especially if you are using virtual machines (VMware or Virtual PC/Server, it doesn't matter) to host your TFS server.&lt;/p&gt;

&lt;p&gt;To work around or fix this problem, make sure your client (Visual Studio/Team Explorer) can properly resolve the name of the TFS server. That is, your TFS server host might be named "TFSSERV1", but your client PC might not return the correct IP address for the server, or might not return anything at all. In these cases, you can correct the DNS entry, or if no DNS server is present, flush the DNS cache on the client, or edit the "hosts" file on the client PC's (C:\WINDOWS\system32\drivers\etc\hosts by default) and add the correct entry there. This should solve the error and allow you to create your team projects normally.&lt;/p&gt;

&lt;p&gt;Keywords: How To, Howto, Microsoft Visual Studio 2005, Team Foundation Server, TFS, Team System.&lt;/p&gt;</description>
      <pubDate>Mon, 11 Jun 2007 17:53:41 GMT</pubDate>
      <guid>db3627e4-2a7d-4210-8da7-eff09bad871c</guid>
    </item>
    <item>
      <title>Can I derive a class from System.Array to override the ToString method?</title>
      <link>
      </link>
      <description>&lt;p&gt;In the &lt;a href="http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.dotnet.framework&amp;mid=a15b4cac-5fcf-4dfc-bebd-f77da8cade09"&gt;.NET newsgroups&lt;/a&gt;, the user "EnerPeter" asked whether it would be possible to derive a new class from an array of bytes (specifically byte[] or more generically System.Array) to override the default ToString() method. Here's my answer almost verbatim.&lt;/p&gt;

&lt;p&gt;Unfortunately, &lt;b&gt;the short answer is no&lt;/b&gt;. By looking at the documentation for 
Array, it might appear that you could derive your own types from 
System.Array, but in fact all (at least all I have used) .NET 
languages/compilers refuse to allow this. For example, the C# compiler fails 
with the error message "NN cannot derive from special class 
System.Array".&lt;/p&gt;

&lt;p&gt;However, even if you could do this, deriving would be more difficult than it 
sounds at first, since the compiler actually does quite a lot of so-called 
"compiler magic" for you when you use a seemingly simple construct like 
this:&lt;/p&gt;

&lt;pre&gt;
byte[] myBytes = { 12, 83, 62 };
&lt;/pre&gt;

&lt;p&gt;Since System.Array is an abstract class, the compiler must first create a 
derived type behind the scenes. Also, there's code needed to initialize the 
array -- you can see all this when you use ILDASM for example to view the 
generated MSIL (intermediate language) code.&lt;/p&gt;

&lt;p&gt;Finally, if you would derive your own byte array class, it would not work 
the same as regular arrays. As noted by the MSDN documentation of the Array 
class:&lt;/p&gt;

&lt;pre&gt;
"However, only the system and compilers can derive explicitly
from the Array class. Users should employ the array constructs
provided by the language."
&lt;/pre&gt;

&lt;p&gt;So the bottom line is that you cannot do it. With forthcoming C# 3.0 
extension methods you could make things look more convenient, but in the end 
your option is to write some code to convert the byte array to a string. See 
MSDN for more information about
&lt;a href="http://msdn2.microsoft.com/en-us/library/ms364047(vs.80).aspx#cs3spec_topic3"&gt;extension
methods&lt;/a&gt; in C# 3.0.&lt;/p&gt;

&lt;p&gt;Finally, here's a simple example of a method that converts a byte array to a 
proper string:&lt;/p&gt;

&lt;pre&gt;
byte[] myBytes = { 72, 101, 108, 108, 111, 33 };
string str = System.Text.Encoding.ASCII.GetString(myBytes);
MessageBox.Show(str);
&lt;/pre&gt;

&lt;p&gt;This would show: "Hello!". If you wanted to get the real bytes instead, then 
you could use something like this:&lt;/p&gt;

&lt;pre&gt;
MessageBox.Show(BytesToString(myBytes));

private string BytesToString(byte[] bytes)
{
  StringBuilder buffer = new StringBuilder();
  buffer.Append("{ ");
  foreach (byte b in bytes)
  {
    if (buffer.Length &gt; 2) buffer.Append(", ");
    buffer.Append(b);
  }
  buffer.Append(" }");
  return buffer.ToString();
}
&lt;/pre&gt;

&lt;p&gt;This would show: "{ 72, 101, 108, 108, 111, 33 }".&lt;/p&gt;

&lt;p&gt;Hope this helps!&lt;/p&gt;</description>
      <pubDate>Sat, 09 Jun 2007 10:55:00 GMT</pubDate>
      <guid>16bed000-4be3-4c16-88e2-d13c63cdc467</guid>
    </item>
    <item>
      <title>InstallUtil requires computer name to be specified in front of user account when installing services</title>
      <link>http://msdn2.microsoft.com/en-us/library/50614e95(VS.80).aspx</link>
      <description>&lt;p&gt;If you use C# to develop a Windows Service application (a "service"), you will probably use the &lt;a href="http://msdn2.microsoft.com/en-us/library/50614e95(VS.80).aspx"&gt;InstallUtil&lt;/a&gt; utility for initial installations on test machines. If you are like me, you do such tests inside virtual machines.&lt;/p&gt;

&lt;p&gt;Now, I have a set of virtual machines ready-made, and most of them don't belong (are member of) any domain; instead they just belong to the default workgroup. In such a situation, InstallUtil will require you to prefix your user account name under which the service is going to run with your computer name. If you do not, you will see the following error message:&lt;/p&gt;

&lt;pre&gt;
An exception occurred during the Install phase.
System.ComponentModel.Win32Exception: The account name is invalid or
does not exist, or the password is invalid for the account name specified.

The Rollback phase of the installation is beginning.
&lt;/pre&gt;

&lt;p&gt;Depending on your installer classes/code, you might wish to prompt the user for the credentials under which your new service will run. If you simply type in a name of a local account, say, "Administrator", you will get the above error message. To remedy this situation, use a either one of these constructs:&lt;/p&gt;

&lt;pre&gt;
COMPUTERNAME\Administrator

.\Administrator
&lt;/pre&gt;

&lt;p&gt;This will fix the problem. InstallUtils is developed with Active Directory and domain accounts in mind, and thus expects the DOMAIN\ACCOUNT construct. But you can substitute the dot "." instead of the domain if your test machine isn't part of a domain.&lt;/p&gt;</description>
      <pubDate>Fri, 08 Jun 2007 16:36:28 GMT</pubDate>
      <guid>10f3b732-2350-4ec3-b62b-f47c2f648159</guid>
    </item>
    <item>
      <title>Visual Studio "Orcas" has a name</title>
      <link>http://www.eweek.com/article2/0,1759,2141804,00.asp</link>
      <description>&lt;p&gt;It's official: Microsoft &lt;a href="http://www.eweek.com/article2/0,1759,2141804,00.asp"&gt;has decided to name&lt;/a&gt; Visual Studio's forthcoming "Orcas" version simply as Visual Studio 2008. The announcement was made at the TechEd 2007 conference. Although the name is far from surprising, I do like it. It follows the trend set by other Microsoft products (like Office, SQL Server and server operating systems), and most of all, keeps things simple. The products pages on MSDN are &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx"&gt;not yet updated&lt;/a&gt;, but I'd imagine they'd soon be.&lt;/p&gt;</description>
      <pubDate>Wed, 06 Jun 2007 03:41:19 GMT</pubDate>
      <guid>b31fb9bf-6e03-4c33-b164-e3267b1437c6</guid>
    </item>
    <item>
      <title>Selecting images from Lightroom's database with SQL</title>
      <link>
      </link>
      <description>&lt;p&gt;Adobe's Lightroom uses SQLite as the database engine. That said, the file "Lightroom Database.lrdb" is simply a SQLite 3 database, and by using a SQLite browser, you can easily execute SQL queries againts the database. Here's an example:&lt;/p&gt;

&lt;pre&gt;
SELECT f.absolutePath
FROM AgLibraryTag t, AgLibraryTagImage i, Adobe_imageFiles f
WHERE (t.name = "John Doe") AND (t.kindName = "AgKeywordTagKind")
AND (i.tag = t.id_local) AND (i.image = f.image)
&lt;/pre&gt;

&lt;p&gt;This query would fetch the absolute paths of all images which have been tagged with the tag "John Doe". As you can see, there are three tables that are related to each other with the "id_local" field, and are thus part of the join. As you can see, Lightroom's database isn't a black box. :-) Great!&lt;/p&gt;</description>
      <pubDate>Tue, 05 Jun 2007 16:28:12 GMT</pubDate>
      <guid>59b63ced-e183-411b-8bc0-26fe63cb2ca5</guid>
    </item>
    <item>
      <title>Magnum: the first 60 years in photos</title>
      <link>http://festival.magnumphotos.com/60_years.php</link>
      <description>&lt;p&gt;Some photography for a change: Magnum photography has put up an &lt;a href="http://festival.magnumphotos.com/60_years.php"&gt;online exhibition&lt;/a&gt; about their 60 years of best-class photography. As you can guess, only the top photos get to be published. Motto: see, understand and learn from the best!&lt;/p&gt;</description>
      <pubDate>Mon, 04 Jun 2007 13:53:10 GMT</pubDate>
      <guid>c7e8193f-69dc-4c76-a942-a891904546dc</guid>
    </item>
    <item>
      <title>ITpro.fi updated, search now working</title>
      <link>http://itpro.fi/</link>
      <description>&lt;p&gt;This is a bit old news, but about two weeks about &lt;a href="http://itpro.fi/P"&gt;ITpro.fi site&lt;/a&gt; got updated into the RTM version of SharePoint 2007. For example, the search function now works properly, and also previous security issues with for example group membership should now be gone. Enjoy! The &lt;a href="http://itpro.fi/asiantuntijaryhmat/ohjelmistokehitys/default.aspx"&gt;software development blog&lt;/a&gt; is also available if you understand Finnish.&lt;/p&gt;</description>
      <pubDate>Sat, 02 Jun 2007 14:01:09 GMT</pubDate>
      <guid>a8061d3b-f19a-49cd-b987-a43d85669df2</guid>
    </item>
    <item>
      <title>Create a key and initialization vector from a password with C#</title>
      <link>
      </link>
      <description>&lt;p&gt;The .NET base class library has extensive support for cryptography, and you might for example need to encrypt a file with, say, the Rijndael (AES) algortihm. For that purpose, .NET supports the RijndaelManaged class, for instance. But, this and many other security classes require you to pass in a byte array for a key and the initialization vector (IV). How could you come up with this data in code? Hard-coded values are of course no good, and that's why there's for example a helper class called Rfc2898DeriveBytes. This class uses RFC 2898 to create a key and IV from a set of bytes, which -- you guessed it -- can be the user's password. Here's how to do it:&lt;/p&gt;

&lt;pre&gt;
using System.Security.Cryptography;
...
public static void GetKeyAndIvFromPassword(string password, out byte[] key, out byte[] iv)
{
  const int keyBytes = 256 / 8;
  const int ivBytes = 128 / 8;
  //TODO: Change salt value to something else
  byte[] salt = { 34, 234, 192, 19, 98, 214, 201, 84, 175, 74, 163, 132 };
  Rfc2898DeriveBytes keyGen = new Rfc2898DeriveBytes(password, salt);
  key = keyGen.GetBytes(keyBytes);
  iv = keyGen.GetBytes(ivBytes);
}
&lt;/pre&gt;

&lt;p&gt;This little function should solve many of your needs. Just remember to change your salt value to something different, or better yet, use truly random data.&lt;/p&gt;</description>
      <pubDate>Fri, 01 Jun 2007 15:27:44 GMT</pubDate>
      <guid>ac840253-bc67-4e4f-bed0-d4f1b0ca4c04</guid>
    </item>
    <item>
      <title>Vista UAC background information</title>
      <link>http://www.microsoft.com/technet/technetmag/issues/2007/06/UAC/?rss=http://www.microsoft.com/technet/technetmag/issues/2007/06/UAC</link>
      <description>&lt;p&gt;Microsoft fellow Mark Russinovich is at it again. This time, he writes about the inner workings of Vista UAC in his TechNet magazine article "&lt;a href="http://www.microsoft.com/technet/technetmag/issues/2007/06/UAC/?rss=http://www.microsoft.com/technet/technetmag/issues/2007/06/UAC"&gt;Inside Windows Vista User Account Control&lt;/a&gt;". Recommended reading!&lt;/p&gt;</description>
      <pubDate>Wed, 30 May 2007 14:32:18 GMT</pubDate>
      <guid>d3cd04cc-e59d-4b5b-96df-8694955649ec</guid>
    </item>
    <item>
      <title>Reading .NET assembly information at runtime with C#</title>
      <link>
      </link>
      <description>&lt;p&gt;If you use C# to write your applications, you will without doubt want to add your application details into the attributes in your AssemblyInfo.cs file. For example, you might want to fill in the AssemblyDescription, AssemblyCopyright or AssemblyCompany attributes, among others. Sometimes, you might also want to display this same information in your user interface, for example in a log file, About box, and so forth. But what is the easiest to way to read this information from C# code? Here's one example:&lt;/p&gt;

&lt;pre&gt;
using System.Reflection;
...
private string ReadDescription()
{
  Assembly assembly = Assembly.GetExecutingAssembly();
  object[] attributes = assembly.GetCustomAttributes(
    typeof(AssemblyDescriptionAttribute), false);
  if (attributes.Length == 0) return "(no description)";
  string desc = ((AssemblyDescriptionAttribute)attributes[0]).Description;
  return desc;
}
&lt;/pre&gt;

&lt;p&gt;As the method name already tells you, this method gives you the value of the AssemblyDescriptionAttribute inside your EXE or DLL (current assembly as returned by GetExecutingAssembly). With this kind of code, it is easy to read any attribute value you've added/embedded into your assembly.&lt;/p&gt;</description>
      <pubDate>Mon, 28 May 2007 15:36:48 GMT</pubDate>
      <guid>f2076975-49de-400c-ad9c-863ccca29729</guid>
    </item>
    <item>
      <title>Embedding manifests to C# EXE files with mt.exe tool</title>
      <link>http://msdn2.microsoft.com/en-us/library/aa375649.aspx</link>
      <description>&lt;p&gt;If you want to create proper Windows Vista compatible application (especially for visual studio and UAC), you will need to add a manifest into your EXE files. There are &lt;a href="http://blogs.msdn.com/cheller/archive/2006/08/24/how-to-embed-a-manifest-in-an-assembly-let-me-count-the-ways.aspx"&gt;multiple ways&lt;/a&gt; to do this (with and without Visual Studio), but my recommendation is that you use the &lt;a href="http://msdn2.microsoft.com/en-us/library/aa375649.aspx"&gt;MT.EXE utility&lt;/a&gt;, which is part of the Windows SDK.&lt;/p&gt;

&lt;p&gt;With this tool, you can first create your XML based manifest file, set the proper requestedExecutionLevel value for UAC, and then use the MT.EXE tool for instance like this:&lt;/p&gt;

&lt;pre&gt;
mt.exe -manifest MyManifest.xml -outputresource:MyApp.exe
&lt;/pre&gt;

&lt;p&gt;Of course, you might also compile a .RES file from your XML based manifest with RC.EXE (Resource Compiler), but when you link this file into your executable with Visual Studio 2005/C#, the problem is that your assembly/version information and copyrights will then get lost under Project properties/Application/Assembly Information. This is the reason I'm recommending you to use MT.EXE instead of embedding your manifests directly.&lt;/p&gt;

&lt;p&gt;Note: there are newer and older version of MT.EXE available in different SDKs. Unfortunately, not all versions work correctly, and I recommended that you use at least version 5.2.3790.2075 (dated 19-Oct-2006). It comes at least with the Windows Vista SDK.&lt;/p&gt;</description>
      <pubDate>Sat, 26 May 2007 09:51:12 GMT</pubDate>
      <guid>473b979f-ebf1-4751-b6b1-28674a0cd162</guid>
    </item>
    <item>
      <title>Editing Visual Studio project files within the IDE</title>
      <link>http://msdn2.microsoft.com/en-us/library/ms171487(VS.80).aspx</link>
      <description>&lt;p&gt;There are certain situations when you might need to &lt;a href="http://msdn2.microsoft.com/en-us/library/ms171487(VS.80).aspx"&gt;edit your Visual Studio project files&lt;/a&gt;. For example, you might wish to add a Win32 resource to your project, or might want to add a custom MSBuild task to your project file -- something you cannot do with the Visual Studio 2005 IDE directly. However, there's a problem with this: you cannot simply edit the XML based project file in Visual Studio without doing a simple trick first called &lt;i&gt;unloading the project&lt;/i&gt;.&lt;/p&gt;

&lt;p&gt;Now, when you load a project (solution) into Visual Studio, you can see the project's structure in Solution Explorer. Here, you can right-click your project, and select "Unload project" from the popup menu:&lt;/p&gt;

&lt;p&gt;&lt;img src="images/2007_may_visual_studio_unload_project.png"&gt;&lt;/p&gt;

&lt;p&gt;Next, the project goes into "Unavailable" mode, meaning the project is now effectively disabled. After this, right-click the project node again, and choose Edit [project], and then your .CSPROJ file open in the editor. Once you are done editing, simply save your file and choose Reload [project], and you are done!&lt;/p&gt;

&lt;p&gt;PS. I also did &lt;a href="http://itpro.fi/asiantuntijaryhmat/ohjelmistokehitys/Lists/Posts/Post.aspx?ID=48"&gt;a Finnish post&lt;/a&gt; on ITpro.fi about this.&lt;/p&gt;

&lt;p&gt;Keywords: howto, how to edit Visual Studio project file, C#.&lt;/p&gt;</description>
      <pubDate>Fri, 25 May 2007 20:13:47 GMT</pubDate>
      <guid>a4a47be4-365a-45ff-bcbe-a877a5aa43f7</guid>
    </item>
    <item>
      <title>New look on MSDN</title>
      <link>http://msdn2.microsoft.com/en-us/bb457197.aspx</link>
      <description>&lt;p&gt;If you are a frequent MSDN or Technet browser, you might remeber several different layout/graphics tests from the past year. Now, Microsoft has finally settled on one specific improvement, and &lt;a href="http://msdn2.microsoft.com/en-us/bb457197.aspx"&gt;the result&lt;/a&gt; is a new look (and feel) on both MSDN and Technet. Improvements include: &lt;/p&gt;

&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;New graphics&lt;/li&gt;
&lt;li&gt;New, Live based search&lt;/li&gt;
&lt;li&gt;The search now also searches forums and KB content (both good and bad)&lt;/li&gt;
&lt;li&gt;Tabbed navigation for certain high-level topics&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;</description>
      <pubDate>Wed, 23 May 2007 18:22:07 GMT</pubDate>
      <guid>baca26c3-5ab6-4841-be6d-3b87cd9cf603</guid>
    </item>
    <item>
      <title>A Finnish study about survival of small ISVs</title>
      <link>http://hsepubl.lib.hse.fi/FI/diss/?cmd=show&amp;dissid=333</link>
      <description>&lt;p&gt;The Finnish &lt;a href="http://www.hse.fi/"&gt;Helsinki School of Economics&lt;/a&gt; and Marianne Kivelä has produced an interesting study titled "Dynamic Capabilities in Small Software Firms", which will be presented on 29th this month.&lt;/p&gt;

&lt;p&gt;I'd very much like to get my hands on this publication, unfortunately it appears not to be available online, &lt;a href="http://hsepubl.lib.hse.fi/FI/diss/?cmd=show&amp;dissid=333"&gt;only in print&lt;/a&gt;. ISBN is 978-952-488-12. I have to see how much does this publication cost, or whether I could get a press copy.&lt;/p&gt;</description>
      <pubDate>Mon, 21 May 2007 18:05:05 GMT</pubDate>
      <guid>be162995-9300-45d4-b739-2ace16d8151e</guid>
    </item>
    <item>
      <title>More Windows Server 2008 information</title>
      <link>http://www.eweek.com/article2/0,1759,2131476,00.asp?kc=EWRSS03119TX1K0000594</link>
      <description>&lt;p&gt;Some more miscellaneous information regarding Microsoft's forthcoming Windows Server 2008, from &lt;a href="http://www.eweek.com/article2/0,1759,2131476,00.asp?kc=EWRSS03119TX1K0000594"&gt;an eWeek article&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;WS2K8 will be the last 32-bit server operating system Microsoft produces -- the rest are going to be 64-bit only.&lt;/li&gt;
&lt;li&gt;Windows Server 2008 will be multicore ready -- it's going to be interesting to see how much concurrency they can build to the APIs. This also means uniprocessor kernel builds are now history.&lt;/li&gt;
&lt;li&gt;Licensing/pricing is done by licensing by socket, not by core, so no change there.&lt;/li&gt;
&lt;li&gt;Windows Server 2008 R2 (Release 2) is scheduled to appear in 2009.&lt;/li&gt;
&lt;li&gt;For system-level developers, there are going to be "enhanced thread pool mechanism, new synchronization APIs, private namespaces and hard resource quotas" (&lt;a href="http://www.eweek.com/article2/0,1759,2131551,00.asp?kc=EWRSS03119TX1K0000594"&gt;source&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;SMB (the network file sharing protocol) will be updated to 21st century, and will be called SMB2. Woohoo!&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;Numerous other kernel improvements are also to be served to us. Sounds great!&lt;/p&gt;</description>
      <pubDate>Sat, 19 May 2007 11:15:52 GMT</pubDate>
      <guid>b34c1669-f54c-4131-a162-fd4ea6b30e5f</guid>
    </item>
    <item>
      <title>"Longhorn" is now called Windows Server 2008</title>
      <link>http://www.microsoft.com/windowsserver2008/default.mspx</link>
      <description>&lt;p&gt;Microsoft has now announced the marketing name of its next-generation Windows server operating system. Previously known with the codename "Longhorn", the next OS will be called simply &lt;a href="http://www.microsoft.com/windowsserver2008/default.mspx"&gt;Windows Server 2008&lt;/a&gt;. Although unsurprising, I believe it's a good name because it follows the rule set forth by Windows 2000 Server and Windows Server 2003.&lt;/p&gt;</description>
      <pubDate>Thu, 17 May 2007 15:23:41 GMT</pubDate>
      <guid>368d03c2-4046-4746-8443-2bc72da2e31c</guid>
    </item>
    <item>
      <title>Testing Expression Blend</title>
      <link>http://www.microsoft.com/Expression/products/overview.aspx?key=blend</link>
      <description>&lt;p&gt;Since &lt;a href="http://www.microsoft.com/Expression/products/overview.aspx?key=blend"&gt;Expression Blend&lt;/a&gt; is also part of my MSDN subscription, I decided to download the ISO image and test the thing on my Vista box. Works like a charm, though it's not just an afternoon stroll to master this application. The user interface is black and limited saturation, which makes it look like Adobe Lightroom (LR), though I'd still give slight edge to LR in visual appeal. Blend is faster to use, though. And reminds me of my beloved old ImageStyler.&lt;/p&gt;

&lt;p&gt;&lt;img src="images/2007_may_expression_blend_testing.png"&gt;&lt;/p&gt;

&lt;p&gt;Now then, what can Blend do? It allows your to create native .NET applications with both C# and VB.NET, and it is easy to get started. The applications used XAML and Windows Presentation Foundation (WPF), and under the hood there's your C# compiler (csc.exe) or the VB.NET equivalent, if you like. For example, when testing my simple Hello World application, the Results pane showed the following command line:&lt;/p&gt;

&lt;pre&gt;
C:\Windows\Microsoft.NET\Framework\v2.0.50727\Csc.exe /noconfig /nowarn:1701,1702
/define:DEBUG;TRACE /reference:"C:\Program Files\Reference Assemblies\Microsoft\
Framework\v3.0\PresentationCore.dll" /reference:"C:\Program Files\Reference Assemblies\
Microsoft\Framework\v3.0\PresentationFramework.dll" /reference:C:\Windows\Microsoft.NET\
Framework\v2.0.50727\System.dll /reference:C:\Windows\Microsoft.NET\Framework\
v2.0.50727\System.Xml.dll /reference:"C:\Program Files\Reference Assemblies\Microsoft\
Framework\v3.0\WindowsBase.dll" /debug+ /debug:pdbonly /out:obj\Debug\Hello__World_.exe
/resource:obj\Debug\Hello__World_.g.resources /target:winexe /win32icon:Application.ico
App.xaml.cs AssemblyInfo.cs Window1.xaml.cs "C:\Users\Jani Järvinen\Documents\Expression\
Expression Blend Projects\Hello, World!\obj\Debug\Window1.g.cs" "C:\Users\Jani Järvinen\
Documents\Expression\Expression Blend Projects\Hello, World!\obj\Debug\App.g.cs"

Hello, World! -&gt; C:\Users\Jani Järvinen\Documents\Expression\Expression Blend Projects\
Hello, World!\bin\Debug\Hello__World_.exe

The build has successfully completed.
&lt;/pre&gt;

&lt;p&gt;Looks familiar! And Blend can be used to build Silverlight applications as well, though I'm yet to figure out how.&lt;/p&gt;</description>
      <pubDate>Wed, 16 May 2007 14:30:52 GMT</pubDate>
      <guid>d242ad93-8d41-4369-b3ae-59f589470383</guid>
    </item>
    <item>
      <title>Things coming up too fast?</title>
      <link>http://www.codinghorror.com/blog/archives/000845.html</link>
      <description>&lt;p&gt;The CodingHorror blog has an interesting article &lt;a href="http://www.codinghorror.com/blog/archives/000845.html"&gt;from few days back&lt;/a&gt;. It talks about why some people (read: developers) seem to hate Microsoft, and what sounds to be their current problem: too many things in so little time. Hmm, is that really a problem? I don't think so, since if there's rapid innovation going on, let it come. Long gone are times when one person could say s/he wholly mastered a development tool, language or operating system. Today, it just cannot be done.&lt;/p&gt;

&lt;p&gt;There's also commentary about the same post in &lt;a href="http://blogs.codegear.com/NickHodges/archive/2007/05/17/34615.aspx"&gt;CodeGear's blog&lt;/a&gt;, and the last paragraph tells it all, I think. Sorry, but I'd much rather have the new technology than stay behind -- as long as I can still use the older one instead of the new, if I so choose.&lt;/p&gt;</description>
      <pubDate>Tue, 15 May 2007 16:50:57 GMT</pubDate>
      <guid>3b6319a3-1f20-4ed0-aba3-bae0d3f59b52</guid>
    </item>
    <item>
      <title>Developer-tuned spam</title>
      <link>
      </link>
      <description>&lt;p&gt;I think I've got a pretty nice junk mail filter in my Outlook, but sometimes one odd spam e-mail comes through. Today's lonely spam was titled "The implementation of the IPersistStream standard interface deserves a more detailed examination". Wow, that's clever. Sounds like we developers are one of the last islands of people that don't have spam tailored to us. Or, using a rather sensible subject line just makes it easier to fool the mail filters. Just like combining both German and English in the same message. Somebody must run a full-time job figuring out these.&lt;/p&gt;</description>
      <pubDate>Sun, 13 May 2007 15:22:09 GMT</pubDate>
      <guid>b86b6796-b81f-4296-bc55-b9bdda973f26</guid>
    </item>
    <item>
      <title>Information about next SQL Server version "Katmai" is dripping</title>
      <link>http://www.regdeveloper.co.uk/2007/05/11/katmai_four_pillars/</link>
      <description>&lt;p&gt;Both &lt;a href="http://www.regdeveloper.co.uk/2007/05/11/katmai_four_pillars/"&gt;RegDeveloper&lt;/a&gt; and &lt;a href="http://blogs.zdnet.com/microsoft/?p=379"&gt;ZDNet&lt;/a&gt; report (and numerous MSDN blog posts, of course) that SQL Server's next version, currently only greeted with the codename "Katmai" should be out next year. There are also rumors floating around that SQL Server 2005 Release 2 (R2) or something the like might be on the horizon. Sounds again a busy (fiscal) year for Microsoft with new Visual Studio, Windows server operating system and now SQL Server in the works.&lt;/p&gt;</description>
      <pubDate>Sat, 12 May 2007 07:39:23 GMT</pubDate>
      <guid>90d74e19-b44e-45a0-9569-a0449b61d656</guid>
    </item>
    <item>
      <title>Yesterday's webcast material available</title>
      <link>http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=fi-FI&amp;EventID=1032326813&amp;CountryCode=FI</link>
      <description>&lt;p&gt;My &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=fi-FI&amp;EventID=1032326813&amp;CountryCode=FI"&gt;TechNet webcast&lt;/a&gt; about Windows Vista secure application development was a success yesterday, thanks Janne for your help and company. I promised to put the Finnish material available online, so here you go:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.saunalahti.fi/janij/blog/files/vista_application_security.zip"&gt;PowerPoint 2007 presentation slides and C# sample&lt;/a&gt; download, 285 KB zip file&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As said, the slide deck uses PowerPoint 2007 (.pptx files) and the two-button sample application was written with Visual Studio 2005 and C# 2.0. Enjoy, and continue discussion on ITpro.fi!&lt;/p&gt;</description>
      <pubDate>Thu, 10 May 2007 14:32:12 GMT</pubDate>
      <guid>865c8297-62da-4c17-ba56-5bdf1d641da3</guid>
    </item>
    <item>
      <title>My TechNet webcast tomorrow about Vista application development</title>
      <link>http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032326812&amp;EventCategory=4&amp;culture=fi-FI&amp;CountryCode=FI</link>
      <description>&lt;p&gt;If you are interested in Windows Vista application development and especially security, I'm running a Microsoft TechNet webcast presentation tomorrow 9th of May at 3:00 pm Finnish time (EET, GMT+2). The presentation will be in Finnish this time, and to attend, please follow the TechNet &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032326812&amp;EventCategory=4&amp;culture=fi-FI&amp;CountryCode=FI"&gt;event ID 1032326812 link&lt;/a&gt;, titled "Tietoturvallisten sovellusten kehittäminen Windows Vistalle". There's also a link to the event registration page at the front page of &lt;a href="http://itpro.fi/"&gt;ITpro.fi&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Welcome!&lt;/p&gt;</description>
      <pubDate>Tue, 08 May 2007 14:33:24 GMT</pubDate>
      <guid>57d45d4e-cb42-4a12-ab2a-d7fe556a0794</guid>
    </item>
    <item>
      <title>Oracle installations in a virtual machine can fail if you update your network settings, so be careful</title>
      <link>http://download-west.oracle.com/docs/cd/B19306_01/network.102/b14212/troublestng.htm</link>
      <description>&lt;p&gt;A C# application I'm developing uses an Oracle database, which I've installed into a VMware virtual machine. It is Oracle 10g (10.2.0) on top of Windows Server 2003.&lt;/p&gt;

&lt;p&gt;My application was happily working on Friday, but after the weekend it stopped working altogether. From both the client and from the server console, I only got the error message "&lt;a href="http://download-west.oracle.com/docs/cd/B19306_01/network.102/b14212/troublestng.htm"&gt;ORA-12514&lt;/a&gt;: TNS:listener does not currently know of service requested in connect descriptor." or the System.Data.OracleClient.OracleException .NET exception. On my Windows XP with Finnish regional settings the error was "ORA-12514: TNS: kuuntelija ei tällä hetkellä tunne palvelua, jota pyydettiin yhteyskuvaajassa."&lt;/p&gt;

&lt;p&gt;How and why did this all happen? All I can come up with is that I updated the VMware Tools inside the virtual machine after Oracle was installed, and that must have changed some of the network settings that Oracle binds to. I don't know Oracle well enough to solve the issue, so my resolution was to return to a previous snapshot with the older VMware Tools still installed. This solution worked well, and immediately the error disappeared.&lt;/p&gt;

&lt;p&gt;Another Oracle tip: the crucial TNS (Transparent Network Substrate, I'm told) is a text file that on Oracle 10g lives on this path on the client:&lt;/p&gt;

&lt;pre&gt;
C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora
&lt;/pre&gt;

&lt;p&gt;The configuration file is most easily edited with the GUI tools (Java based), but in case you need an example, here's an example of such a file:&lt;/p&gt;

&lt;pre&gt;
MY-DATABASE-NAME =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = myhost.domain.local)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
&lt;/pre&gt;

&lt;p&gt;Keywords: Oracle 10g, network problem, virtual machine, ORA-12514 error.&lt;/p&gt;</description>
      <pubDate>Mon, 07 May 2007 14:40:03 GMT</pubDate>
      <guid>0f65aecc-b056-4e13-a811-9bdfdaf34807</guid>
    </item>
    <item>
      <title>How to use C# to detect if user has administrative rights in Windows Vista?</title>
      <link>
      </link>
      <description>&lt;p&gt;If you are developing applications for Windows Vista, you are surely aware of User Account Control or UAC. With UAC, even users that belong to the Administrators group are running Vista with standard user rights. But with a process called elevation, users can raise their rights to real administrators. Of course, the question is: how to detect is the user is running your application with real administrative rights, and isn't just a standard user beloning to the admin group? The code is quite simple, thanks to the extensive .NET base class libraries:&lt;/p&gt;

&lt;pre&gt;
using System.Security.Principal;
using System.Threading;

public bool RunningAsAdministrator()
{
  AppDomain.CurrentDomain.SetPrincipalPolicy(
    PrincipalPolicy.WindowsPrincipal);
  // read current identity for this thread
  WindowsPrincipal principal = (WindowsPrincipal)Thread.CurrentPrincipal;
  WindowsIdentity identity = (WindowsIdentity)principal.Identity;
  // can the Administrator role be found?
  bool isAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator);
  return isAdmin;
}
&lt;/pre&gt;

&lt;p&gt;Keywords: HowTo, RunningAsAdministrator,  RunningAsAdmin, IsAdmin, .NET, C#, Visual Studio, Microsoft Windows Vista.&lt;/p&gt;</description>
      <pubDate>Sat, 05 May 2007 13:51:44 GMT</pubDate>
      <guid>94653589-bdb0-4d3e-bd0b-992461f13c11</guid>
    </item>
    <item>
      <title>How to detect for which .NET Framework version an assembly was built?</title>
      <link>http://msdn2.microsoft.com/en-us/library/ms232525(vs.80).aspx</link>
      <description>&lt;p&gt;In certain situations you need to be aware for (against) which .NET Framework version an assembly (executable or library, you decide) was built (compiled, written). For instance, you might have used Visual Studio 2002 or 2003 to develop a library and then an application (such as Visual Studio 2005) can load it as an add-in. Or, like I mentioned yesterday, you try to reference an assembly built for .NET 2.0 with Delphi 2006.&lt;/p&gt;

&lt;p&gt;Now, .NET assemblies &lt;i&gt;can&lt;/i&gt; indeed work in a mixed-version environment, but sometimes this just isn't the case. In these situation you need to be able to determine which .NET Framework version was used to build the given assembly.&lt;/p&gt;

&lt;p&gt;So the question is: how do you easily determine this version? The information is stored in the file's CLR header, and you can use the &lt;a href="http://msdn2.microsoft.com/en-us/library/c1h23y6c(vs.71).aspx"&gt;dumpbin.exe utility&lt;/a&gt; that comes with Visual Studio to see this header:&lt;/p&gt;

&lt;pre&gt;
dumpbin /clrheader myassembly.exe
&lt;/pre&gt;

&lt;p&gt;However, I've noticed that this method is not a very clear one (it always appears to say version 2.0), and thus I wanted to build my own solution with C#. I named my application simply Show Assembly Version, and when you browse or drag-and-drop a file onto the main window, the .NET version of the assembly is shown:&lt;/p&gt;

&lt;img src="images/2007_may_show_assembly_version.png"&gt;

&lt;p&gt;To programmatically determine the assembly's original .NET version, you can use the managed (i.e. .NET) APIs, for instance Assembly.LoadFrom, or an unmanaged API function called &lt;a href="http://msdn2.microsoft.com/en-us/library/ms232525(vs.80).aspx"&gt;GetFileVersion&lt;/a&gt; from MSCOREE.DLL. The header file MSCOREE.h defines this function as follows:&lt;/p&gt;

&lt;pre&gt;
STDAPI GetFileVersion(LPCWSTR szFilename, LPWSTR szBuffer, DWORD cchBuffer, DWORD* dwLength);
&lt;/pre&gt;

&lt;p&gt;Translated into C#, the wrapper around this function would be:&lt;/p&gt;

&lt;pre&gt;
using System.Runtime.InteropServices;
...
[DllImport("mscoree.dll", CharSet=CharSet.Unicode)]
public extern static int GetFileVersion(
  string szFilename, StringBuilder szBuffer,
  int cchBuffer, out int dwLength);
&lt;/pre&gt;

&lt;p&gt;To call this function, my sample application uses the following code:&lt;/p&gt;

&lt;pre&gt;
private void UpdateVersionInformation()
{
  string filename = selectedFileLabel.Text;
  StringBuilder buf = new StringBuilder(20);
  int len = 0;
  int result = NetCoreApi.GetFileVersion(filename,
    buf, buf.Capacity, out len);
  if (result == 0)
  {
    if (len &gt; 0)
    {
        dotNetVersionLabel.Text = ".NET " + buf.ToString();
    }
    else
    {
        dotNetVersionLabel.Text = "Unknown .NET version";
    }
  }
  else
  {
    const uint COR_E_BADIMAGEFORMAT = 0x8007000B;
    if ((uint)result == COR_E_BADIMAGEFORMAT)
    {
        dotNetVersionLabel.Text =
          "File appears not to be a .NET assembly";
    }
    else
    {
        dotNetVersionLabel.Text = "Error " + result;
        Marshal.ThrowExceptionForHR(result);
    }
  }
}
&lt;/pre&gt;

&lt;p&gt;The function returns a simple string such as "v1.1.4322" or "v2.0.50727", which I then store in a label. If you select a non-.NET application such a regular native Win32 application, the message "File appears not to be a .NET assembly" is shown.&lt;/p&gt;

&lt;p&gt;In these cases GetFileVersion returns 0x8007000B (-2147024885 decimal) which equals to the constant COR_E_BADIMAGEFORMAT. Note how I'm using the Marshal.ThrowExceptionForHR call to raise an exception in case the given HRESULT is something else. See MSDN for &lt;a href="http://msdn2.microsoft.com/en-us/library/9ztbc5s1.aspx"&gt;more info&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Fri, 04 May 2007 14:57:58 GMT</pubDate>
      <guid>9987fd27-373c-44ef-b595-04344b86feae</guid>
    </item>
    <item>
      <title>Importing .NET 2.0 assemblies into Delphi 2006 shows an error message</title>
      <link>
      </link>
      <description>&lt;p&gt;If you are using Delphi to develop .NET applications, you might have needed to add references to new assemblies, even ones you've written yourself. However, Delphi/BDS 2006 isn't very clever when you point it at an assembly that was built for .NET 2.0. (Remember, Delphi 2006 is still only .NET 1.1). In such situations, all you will get is an error such as this:&lt;/p&gt;

&lt;pre&gt;
D:\DLLs\InteropTest.dll is not a valid assembly, type library, or COM object.
&lt;/pre&gt;

&lt;p&gt;Of course, this doesn't help you much, if you want to import such an assembly (DLL or otherwise) into your Delphi project. Even more so because you cannot easily detect against which .NET Framework version an assembly was originally built. Stay tuned for a C# based solution...&lt;/p&gt;</description>
      <pubDate>Thu, 03 May 2007 17:21:55 GMT</pubDate>
      <guid>3f930013-8d98-4421-a106-f2245a6aba26</guid>
    </item>
    <item>
      <title>Pack MSDN documentation "on the go" with Package This</title>
      <link>http://www.codeplex.com/packagethis</link>
      <description>&lt;p&gt;Stuff I found from &lt;a href="http://www.codeplex.com/"&gt;CodePlex.com&lt;/a&gt;: Package This. This fancy little GUI application lets you select a subset of MSDN documentation, and save it into your local hard disk for viewing later. Very convenient if you don't have for example Visual Studio's documentation installed, but want to browse the documentation when sitting for example in an airplane without an Internet connection. Download &lt;a href="http://www.codeplex.com/packagethis"&gt;your copy&lt;/a&gt; today!&lt;/p&gt;</description>
      <pubDate>Thu, 03 May 2007 14:27:59 GMT</pubDate>
      <guid>278312d7-aaf1-4ea8-93af-fba04b4b6340</guid>
    </item>
    <item>
      <title>Use IIS 7.0 to go live!</title>
      <link>http://blogs.msdn.com/somasegar/archive/2007/04/27/iis-7-0-beta3-with-go-live-license.aspx</link>
      <description>&lt;p&gt;I read from &lt;a href="http://blogs.msdn.com/somasegar/archive/2007/04/27/iis-7-0-beta3-with-go-live-license.aspx"&gt;Somasegar's blog today&lt;/a&gt;, that you can now use Longhorn Beta 3 and IIS 7.0 Beta 3 that is included in it to go live! In this context, "Go Live" means that you can use the beta products to host public web sites, and then convert them to the RTM version once it is here.&lt;/p&gt;

&lt;p&gt;Cool! How about hosting your personal web pages with IIS 7.0? :-)&lt;/p&gt;</description>
      <pubDate>Wed, 02 May 2007 14:48:44 GMT</pubDate>
      <guid>93d52556-79b6-47f9-96c1-055ed6fea2bc</guid>
    </item>
    <item>
      <title>Delphi compiler directives: Delphi 2006 vs. 2007</title>
      <link>http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx</link>
      <description>&lt;p&gt;If you are using Delphi, you might be aware of the code editor keyboard shortcut Ctrl+O,O (letter O, not zero) that puts the currently set compiler directives at the top of the currently active file. This shortcut, although no corresponding menu command is available, is useful when you want to remember which were those available compiler directives, especially $WARN and so on.&lt;/p&gt;

&lt;p&gt;Since I had both Delphi 2006 (officially Borland Developer Studio 2006) and Delphi 2007 for Win32 installed on my laptop, I decided to quickly compare these versions. I noticed that Delphi 2007 has the following directives that Delphi 2006 doesn't support:&lt;/p&gt;

&lt;pre&gt;
{$WARN TYPEINFO_IMPLICITLY_ADDED ON}
{$WARN XML_WHITESPACE_NOT_ALLOWED ON}
{$WARN XML_UNKNOWN_ENTITY ON}
{$WARN XML_INVALID_NAME_START ON}
{$WARN XML_INVALID_NAME ON}
{$WARN XML_EXPECTED_CHARACTER ON}
{$WARN XML_CREF_NO_RESOLVE ON}
{$WARN XML_NO_PARM ON}
{$WARN XML_NO_MATCHING_PARM ON}
&lt;/pre&gt;

&lt;p&gt;So basically, the new directives are related to XML processing.&lt;/p&gt;

&lt;p&gt;PS. CodeGear's web site has a new look, check it out!&lt;/p&gt;</description>
      <pubDate>Sun, 29 Apr 2007 11:28:47 GMT</pubDate>
      <guid>b9c24189-90ae-4133-b874-e80021aeadf0</guid>
    </item>
    <item>
      <title>Windows Longhorn Beta 3 is now ready</title>
      <link>http://www.microsoft.com/windowsserver/longhorn/evaluation/overview.mspx</link>
      <description>&lt;p&gt;Microsoft today announced that Windows Server Code Name "Longhorn" Beta 3 &lt;a href="http://www.microsoft.com/windowsserver/longhorn/audsel.mspx"&gt;is now ready for download&lt;/a&gt; to TechNet and MSDN subscribers. For example, Longhorn includes the newish Windows PowerShell, which is a .NET based command shell that supports powerful scripting. And of course, there's IIS 7.0 as well for hosting web applications and web services.&lt;/p&gt;</description>
      <pubDate>Fri, 27 Apr 2007 15:08:33 GMT</pubDate>
      <guid>4bdf0184-f01b-4e2e-a569-678eee129a83</guid>
    </item>
    <item>
      <title>Converting LiveState images into VMware Workstation virtual hard disks</title>
      <link>http://www.vmware.com/support/pubs/vmimporter_pubs.html</link>
      <description>&lt;p&gt;I today noticed a nice little VMware Workstation 5.5 utility that I had forgotten: the &lt;a href="http://www.vmware.com/support/pubs/vmimporter_pubs.html"&gt;Virtual Machine Importer&lt;/a&gt; that comes with VMware. This nifty tools allows you to convert Symantec/Norton Ghost and LiveState (nowadays Backup Exec System Recovery) images into VMware virtual harddisk images. The reason I had forgotten about this tool is that it lives in the Common Files directory, and doesn't have its own Start menu icon in Windows. But, it is available here (if you used the default paths when installing):&lt;/p&gt;

&lt;pre&gt;
C:\Program Files\Common Files\VMware\VMware Virtual Machine Importer\v2vapp.exe
&lt;/pre&gt;

&lt;p&gt;If you use Ghost or LiveState like I do, give V2VApp a try!&lt;/p&gt;</description>
      <pubDate>Wed, 25 Apr 2007 19:57:09 GMT</pubDate>
      <guid>a0f0bba5-be98-4d8a-a0f2-59521a68ebca</guid>
    </item>
    <item>
      <title>Visual Studio "Orcas" beta now available!</title>
      <link>http://www.codegear.com/products/delphi/win32</link>
      <description>&lt;p&gt;Certainly a nice birthday present from Microsoft: Visual Studio Code Name "Orcas" is &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx"&gt;now available&lt;/a&gt; from MSDN as a Virtual PC (VPC) image. This Beta 1 release also includes Microsoft .NET Framework 3.5 Beta 1. Can't wait to get my hands on this virtual image!&lt;/p&gt;</description>
      <pubDate>Tue, 24 Apr 2007 20:08:12 GMT</pubDate>
      <guid>05ba4cbf-2a32-49d7-b968-5cdffd5bee09</guid>
    </item>
    <item>
      <title>Is your application "people ready"?</title>
      <link>http://www.microsoft.com/business/peopleready/appplat/ac/apioassessment.mspx</link>
      <description>&lt;p&gt;Another free test from Microsoft: &lt;a href="http://www.microsoft.com/business/peopleready/appplat/ac/apioassessment.mspx"&gt;Application Platform Self-Assesment survey&lt;/a&gt;. This five-step questionnaire is aimed at ISVs, and with about 25 questions, you are given a simple indication whether you are going in the right direction and designing your applications so that they are modern and "people ready".&lt;/p&gt;</description>
      <pubDate>Sun, 22 Apr 2007 11:51:23 GMT</pubDate>
      <guid>941b0c92-e4e5-455e-87f0-0ed995a32737</guid>
    </item>
    <item>
      <title>Test your Internet connection: Windows Internet Connectivity Evaluation Tool</title>
      <link>http://www.microsoft.com/windows/using/tools/igd/default.mspx</link>
      <description>&lt;p&gt;Microsoft has developed a free, ActiveX based testing tool for Internet connections and routers: &lt;a href="http://www.microsoft.com/windows/using/tools/igd/default.mspx"&gt;Internet Connectivity Evaluation Tool&lt;/a&gt;. The tool "checks your Internet router to see if it supports certain technologies. You can use this tool on a PC running either the Windows Vista or Windows XP operating system." If you want to make sure your connection and/or router is compatible with Windows Vista, you might want to give this tool a try.&lt;/p&gt;</description>
      <pubDate>Sat, 21 Apr 2007 12:26:37 GMT</pubDate>
      <guid>e6bc1251-653d-4576-83ad-a156d9e9ba31</guid>
    </item>
    <item>
      <title>W3C's Internationalization Tag Set, something to watch</title>
      <link>http://www.w3.org/TR/its/</link>
      <description>&lt;p&gt;Localizing applications (changing their user interface language into another language, among other things) can be difficult. For example, Visual Studio 2005 and C# let you set a Windows Forms' application form's &lt;a href="http://msdn2.microsoft.com/en-us/library/y99d1cd3(vs.80).aspx"&gt;Localizable property to true&lt;/a&gt;, and then work your way from there.&lt;/p&gt;

&lt;p&gt;However, the problem becomes more difficult if you need to hand your application to be translated to another company, who are not software developers. They might not have Visual Studio, or might not know how to use it. In these situations, you might need to copy all text to an Excel spreadsheet, send it out, and then manually integrate the changes back. Additional issues like text that should not be translated (like URLs) can arise, unless the translation company is a good one.&lt;/p&gt;

&lt;p&gt;W3C tries to address these issues with an XML based file format named &lt;a href="http://www.w3.org/TR/its/"&gt;Internationalization Tag Set&lt;/a&gt; (ITS), version 1.0. This is an interesting new specification, but I'd say there's still long way to go before this specification would work its way up to both .NET Framework and Visual Studio. But is is worth checking out, nonetheless.&lt;/p&gt;</description>
      <pubDate>Sat, 21 Apr 2007 11:17:05 GMT</pubDate>
      <guid>72b0df8e-93c3-4fd9-9ba3-259655e46960</guid>
    </item>
    <item>
      <title>Two new articles in Finnish magazines</title>
      <link>http://www.saunalahti.fi/janij/publications/</link>
      <description>&lt;p&gt;This month, both the Finnish Tietokone and Prosessori magazines have pubclished my articles. In &lt;a href="http://www.tietokone.fi/"&gt;Tietokone&lt;/a&gt;, there's an article about Windows Vista and application compatibility. Then, &lt;a href="http://www.prosessori.fi/"&gt;Prosessori&lt;/a&gt; has my column about software components and their development/choosing.&lt;/p&gt;</description>
      <pubDate>Fri, 20 Apr 2007 17:22:12 GMT</pubDate>
      <guid>f35f6779-8f46-44ba-8f52-22f99db1fdf7</guid>
    </item>
    <item>
      <title>A new Visual Studio promotional web site</title>
      <link>http://www.defyallchallenges.com/</link>
      <description>&lt;p&gt;Microsoft has just announced a new web site devoted to promote Visual Studio 2005 Team System: &lt;a href="http://www.defyallchallenges.com/"&gt;Defy All Challenges&lt;/a&gt;. This Flash-only (ugh) site is a game-like experience that displays a virtual world and along the way shows videos and other information about Windows Vista, Office 2007 and of course Visual Studio.&lt;/p&gt;

&lt;p&gt;&lt;img src="images/2007_apr_visual_studio_virtual_world.jpg"&gt;&lt;/p&gt;

&lt;p&gt;The site looks great if you like the Doom style interface. Personally I found the site a bit difficult to navigate, but then again, I'm not one to play the modern games. Commodore 64 is still fine by me. :-)&lt;/p&gt;</description>
      <pubDate>Fri, 20 Apr 2007 15:04:15 GMT</pubDate>
      <guid>d6ef5d4f-1ce4-433a-a11b-587d66dad6b4</guid>
    </item>
    <item>
      <title>Intel Software EMEA Software Conference in Lisbon, Portugal</title>
      <link>http://www.softwareproductconference.com/</link>
      <description>&lt;p&gt;I had the pleasure attending Intel Software's two-day "&lt;a href="http://www.softwareproductconference.com/"&gt;Intel EMEA Software Conference 2.0&lt;/a&gt;" in Lisbon, Portugal, Sana Metropolitan Hotel. I enjoyed all the technical sessions I attended, even though I couldn't attend the first few sessions of the 1st day because of my flight schedules. Especially James Reinders' presentation "&lt;a href="http://www.devx.com/go-parallel/Article/32784"&gt;Think Parallel or Perish&lt;/a&gt;" gave me new ideas about developing applications for those new multi-core processors.&lt;/p&gt;

&lt;p&gt;Also, we had a lovely dinner at the St. George's Castle on top of the hills, great views from down there at sunset. Looking forward to the next conference!&lt;/p&gt;</description>
      <pubDate>Thu, 19 Apr 2007 21:34:13 GMT</pubDate>
      <guid>7575652d-4658-44fa-856a-f0f92ab868b9</guid>
    </item>
    <item>
      <title>WPF/E is now Microsoft Silverlight</title>
      <link>http://www.microsoft.com/presspass/press/2007/apr07/04-15WPFEPR.mspx</link>
      <description>&lt;p&gt;Announcement day for Microsoft today: the codename Windows Presentation Foundation Everywhere (or WPF/E for short) is now called Microsoft Silverlight, as &lt;a href="http://www.microsoft.com/presspass/press/2007/apr07/04-15WPFEPR.mspx"&gt;announced yesterday&lt;/a&gt;. For us developers, there's also a (and has been for a while already) a developer center &lt;a href="http://msdn2.microsoft.com/en-us/asp.net/bb187358.aspx"&gt;on MSDN&lt;/a&gt; about WPF/E. They talk about Silverlight already on the front page, but most of the material still refers to the old codename.&lt;/p&gt;

&lt;p&gt;What's also interesting is that Adobe has also just today announced &lt;a href="http://www.adobe.com/products/creativesuite/production/events/nab2007/webcast/"&gt;Adobe Media Player&lt;/a&gt; (Flash needed, surprised?). And as eWeek reports, Microsoft thinks Silverlight is &lt;a href="http://www.eweek.com/article2/0,1759,2114418,00.asp?kc=EWRSS03119TX1K0000594"&gt;more than a Flash alternative&lt;/a&gt;. One thing is for sure: the competition around interactive web content is heating up.&lt;/p&gt;</description>
      <pubDate>Mon, 16 Apr 2007 14:10:35 GMT</pubDate>
      <guid>f4db17f4-bb18-488a-b1ee-7bfc6357c417</guid>
    </item>
    <item>
      <title>What is the .NET Micro Framework?</title>
      <link>http://msdn2.microsoft.com/en-us/embedded/bb278106.aspx</link>
      <description>&lt;p&gt;Have you heard about .NET Micro Framework? It "the reliability and efficiency of managed code for developing embedded applications on small devices". And yes, you can use Visual Studio to do the job. However, compared to for example Windows CE, &lt;a href="http://msdn2.microsoft.com/en-us/embedded/bb278106.aspx"&gt;.NET Micro Framework&lt;/a&gt; does not support real-time functions, but other than that, many familiar .NET features are available nonetheless. Check out the MSDN developer center for the Micro Framework today for more details.&lt;/p&gt;</description>
      <pubDate>Sun, 15 Apr 2007 16:25:18 GMT</pubDate>
      <guid>0f38edae-43b9-46fe-94a6-52878352b81f</guid>
    </item>
    <item>
      <title>C64 time! Getting Last Ninja 1 to run with the Triad cheat</title>
      <link>http://www.computerbrains.com/ccs64/</link>
      <description>&lt;p&gt;Friday evening, and time for some Commodore 64 gaming! Always happy with the classic &lt;a href="http://www.c64games.de/phpseiten/spieledetail.php?filnummer=807"&gt;Last Ninja&lt;/a&gt;, I decided to give it a try. However, I got stuck with the Triad cheat module, and I had to press all kinds of keys to finally figure it out (think a cat walking on the keyboard). So, I decided to share what I found.&lt;/p&gt;

&lt;p&gt;Once you have your emulator (I use the &lt;a href="http://www.computerbrains.com/ccs64/"&gt;CCS64 v3.1&lt;/a&gt;) running, choose File/Load C64 Files/Disk Drive/Device 8. Now navigate to your Last Ninja disk 1 (&lt;a href="http://www.c64games.de/phpseiten/spieledetail.php?filnummer=807"&gt;download here!&lt;/a&gt;), and press F2 to load and run the game. You will get to the Triad intro screen.&lt;/p&gt;

&lt;p&gt;Now, press Space or fire button 1 on your joystick (on port 1). In the "Last Ninja Cheat By Mr.Z Of Triad" menu, you have three choices: Limited Lives, Starting Level and Start The Game.&lt;/p&gt;

&lt;p&gt;Like I noted, it is a bit tricky to navigate between the three options, though, and the game can appear to freeze or hang at this point. But it is not, you just have to know what to press. In the CCS64 v3.1 emulator, you need to press &lt;strong&gt;Tab+Q&lt;/strong&gt; to move to the next option and Enter to change option value. Finally, press Enter to start the game.&lt;/p&gt;

&lt;p&gt;&lt;img src="images/2007_apr_last_ninja_c64.png"&gt;&lt;/p&gt;

&lt;p&gt;This screen is part of the real game (not the cheat anymore), and thus you need to set your joystick onto port 2. Now press Space to get that game started and the legendary music going!&lt;/p&gt;

&lt;p&gt;Good luck!&lt;/p&gt;</description>
      <pubDate>Fri, 13 Apr 2007 15:32:27 GMT</pubDate>
      <guid>454a1cfc-8bf4-400b-b660-822c96870be6</guid>
    </item>
    <item>
      <title>Vista tip: use clip.exe to copy command output to the clipboard</title>
      <link>http://www.windowsnetworking.com/kbase/WindowsTips/Windows2003/AdminTips/Miscellaneous/RedirectingCommandLineOutputtotheClipboard.html</link>
      <description>&lt;p&gt;A tip I noticed from a fellow &lt;a href="http://itpro.fi/"&gt;ITpro.fi&lt;/a&gt; member: Windows Vista introduces the tiny little command named "clip.exe" which allows you to copy the output of a command-line application to the clipboard. By using the pipe command | you can forward the first command's output to be pasted further into another Windows application, such as Notepad or Outlook. Here's an example:&lt;/p&gt;

&lt;pre&gt;ipconfig | clip&lt;/pre&gt;

&lt;p&gt;A useful tool for those of us who already use Vista and/or Longhorn.&lt;/p&gt;</description>
      <pubDate>Fri, 13 Apr 2007 03:48:03 GMT</pubDate>
      <guid>e80b3f27-6d20-4622-ae01-b4bf9f027845</guid>
    </item>
    <item>
      <title>A quick introduction into LINQ and C#</title>
      <link>http://dotnetslackers.com/articles/csharp/IntroducingLINQ1.aspx</link>
      <description>&lt;p&gt;DotNETSlackers is running a &lt;a href="http://dotnetslackers.com/articles/csharp/IntroducingLINQ1.aspx"&gt;LINQ introduction article&lt;/a&gt; series, that I found to be a good intro to the subject. They use C# for the sample code. If you haven't yet taken the time to check what's coming with the next version of Visual Studio and C# 3.0, this is one simple way to get started.&lt;/p&gt;</description>
      <pubDate>Thu, 12 Apr 2007 19:46:02 GMT</pubDate>
      <guid>9f24b0a6-73fc-43dc-96d7-467ac4acb1ca</guid>
    </item>
    <item>
      <title>Intel's new SSE4 instruction set will appear in Penryn processors and beyond</title>
      <link>http://download.intel.com/technology/architecture/new-instructions-paper.pdf</link>
      <description>&lt;p&gt;Many applications process vast amounts of data, and need to perform well in these situations. Intel has delivered many extensions to its famous x86 instruction set, such as MMX, SSE and SSE2. Although I don't code directly with the assembly language much anymore, I'm still happy to use class libraries and frameworks that are optimized for multimedia, high-speed calculations, etc.&lt;/p&gt;

&lt;p&gt;With the forth-coming 45 nanometer (nm) processors (codenamed Penryn), Intel is announcing &lt;a href="http://en.wikipedia.org/wiki/SSE4"&gt;SSE4&lt;/a&gt;, a new collection of over 50 new machine language instructions to help multimedia data processing applications, and even compilers. There's a Intel &lt;a href="http://download.intel.com/technology/architecture/new-instructions-paper.pdf"&gt;white paper&lt;/a&gt; available that details these new instructions.&lt;/p&gt;

&lt;p&gt;What's interesting in many of these new instructions is that they are quite high level, compared to many primitive x86 instructions such as MOV, ADD, and so on. Although the Intel architecture is one of the most widely-used CISC architectures, still proposition still holds.&lt;/p&gt;

&lt;p&gt;However, with SSE4, we developers get our hands on instructions that help us calculate CRC32, manipulate strings, count the number of enabled/set bits in a value, round floating point values, and find min/max values even with a single instruction. Wow, I must say!&lt;/p&gt;

&lt;p&gt;I can imagine how much these additions could make applications more performant. Can't wait to have the .NET runtime to support these new instructions in the IL-to-x86 JIT compiler.&lt;/p&gt;</description>
      <pubDate>Mon, 09 Apr 2007 15:21:06 GMT</pubDate>
      <guid>377a2ece-d8c7-46ff-b74f-5cf056172812</guid>
    </item>
    <item>
      <title>Critique in Tietokone about my recent Vista article</title>
      <link>http://www.tietokone.fi/</link>
      <description>&lt;p&gt;In the April issue of the Finnish &lt;a href="http://www.tietokone.fi/"&gt;Tietokone magazine&lt;/a&gt;, "JK" sent feedback about my recent Windows Vista tips article. His painpoints seemed to be that I was not able to deliver eight proper tips (gaming is not a proper tip) and I worst of all, I happened to suggest trying out XPS, when everybody else uses PDF. Let's take the case of XPS first.&lt;/p&gt;

&lt;p&gt;The state of things today is that you can't create PDF files with Windows itself. To be able to do that, you will need either Office 2007 from Microsoft, of any of the available third-party applications. Adobe, Jaws, Nuance, etc. Even though it would be great if Vista could be able to print PDF files out of the box, it just won't. PDF is the current industry standard, but I fail to understand why a little competition from Microsoft would do harm -- especially when PDF and XPS are different in both aim and functionality. When sending documents to a friend/colleague, it is still better to send XPS files than the original Word or Excel documents, if the idea is that the receiver doesn't need to modify the document.&lt;/p&gt;

&lt;p&gt;Yes, I am for standards (what would be the Internet for example without TCP/IP?), but JK's letter gives the impression that if it's a Microsoft invention, it must be bad -- if it is by Adobe or anybody else, it's always good. And, if I happen to like a Microsoft feature, I must be a sales guy. Hmm.&lt;/p&gt;

&lt;p&gt;As far as technology goes, PDF is far from perfect, and since I have a programming background, I do like XPS because of its power, conceptual simplicity (XML+ZIP) and because it can be quite easily created from applications. PDF was never that, and most probably won't. Like many of Adobe's creations, PDF is nice and pretty, but not easy to use/create/automate (pick your poison) in the enterprise. In short, the XPS Writer virtual printer just happens to be part of Vista, and it is not my interest to keep quiet of the feature just because some people don't like it.&lt;/p&gt;

&lt;p&gt;Finally, the letter mentioned wasting space to mention Chess and Mahjong in Vista as a power user tip. Well, unlike JK said, there never was Mahjong in Windows, until now with Vista. And since we IT professionals/developers use our computers thousands of hours yearly, it is only clever to chill out sometimes -- even in front of that same PC.&lt;/p&gt;</description>
      <pubDate>Thu, 05 Apr 2007 14:01:49 GMT</pubDate>
      <guid>7eba162b-0eb0-4056-8ca2-7f691d0c6383</guid>
    </item>
    <item>
      <title>Expression Web and Blend now part of MSDN Premium</title>
      <link>http://blogs.msdn.com/somasegar/archive/2007/04/03/listening-to-your-feedback-expression-and-msdn.aspx</link>
      <description>&lt;p&gt;Seems like Microsoft has listened to its developers: two of the new &lt;a href="http://www.microsoft.com/expression/"&gt;Expression products&lt;/a&gt; are now part of MSDN Premium! That's a great addition to the developer's "dream pack" what MSDN is, at least in my opinion: all goodies in your hands. According to &lt;a href="http://blogs.msdn.com/somasegar/archive/2007/04/03/listening-to-your-feedback-expression-and-msdn.aspx"&gt;Somasegar's blog entry&lt;/a&gt;, the Expression Web and Blend (once it is ready) will be available to MSDN subscribers. Hopefully, we developers soon get our hands on the other Express products as well. :-)&lt;/p&gt;

&lt;p&gt;Happy Easter to everybody!&lt;/p&gt;</description>
      <pubDate>Thu, 05 Apr 2007 13:53:01 GMT</pubDate>
      <guid>23c33787-2dba-468c-9c72-d04d63bd20e0</guid>
    </item>
    <item>
      <title>Reading Office 2007 XML file formats from C#</title>
      <link>http://msdn2.microsoft.com/en-us/library/bb332058.aspx</link>
      <description>&lt;p&gt;Now that Office 2007 is here with its XML based file formats (such as .docx for Word and .xlsx for Excel), the question about how to read these files from .NET/C# code quickly arises.&lt;/p&gt;

&lt;p&gt;Luckily, MSDN has &lt;a href="http://msdn2.microsoft.com/en-us/library/bb332058.aspx"&gt;a new article&lt;/a&gt; to demonstrate this. The article shows how to unpack the ZIP file format using the classes in the System.IO.Packaging namespace, and then use regular XML techniques to read data from an Excel spreadsheet. There are also &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=8d46c01f-e3f6-4069-869d-90b8b096b556&amp;displaylang=en"&gt;Code Snippets&lt;/a&gt; available to extend Visual Studio's IntelliSense.&lt;/p&gt;

&lt;p&gt;Of course, you will also need to understand the file formats. Luckily, the specifications are public, and an &lt;a href="http://www.ecma-international.org/publications/standards/Ecma-376.htm"&gt;ECMA-376&lt;/a&gt; standard. The &lt;a href="http://www.ecma-international.org/publications/standards/Ecma-376.htm"&gt;specification documents&lt;/a&gt; are available for free in five parts. It is interesting to note how the Office documents are much smaller than the PDF counterparts. Co-incidence?&lt;/p&gt;

&lt;p&gt;Also, eWeek also &lt;a href="http://www.eweek.com/article2/0,1759,2110684,00.asp?kc=EWRSS03119TX1K0000594"&gt;just reported&lt;/a&gt; that the document specifications will probably get an ISO standard stamp before the cold autumn evenings are here.&lt;/p&gt;</description>
      <pubDate>Tue, 03 Apr 2007 14:57:14 GMT</pubDate>
      <guid>a372fc44-d2f2-443b-89f3-5a90d482ba9c</guid>
    </item>
    <item>
      <title>MVP Award for another year!</title>
      <link>http://mvp.support.microsoft.com/gp/mvpawardintro</link>
      <description>&lt;p&gt;I received an e-mail from Microsoft today -- one that I confess I had waited to arrive. And it did.&lt;/p&gt;

&lt;p&gt;The e-mail awarded me the &lt;a href="http://mvp.support.microsoft.com/gp/mvpawardintro"&gt;MVP status&lt;/a&gt; for another year, I'm very happy to be part of the gang again. It is now the third time for me in a row, but even so, I don't think one gets the nomination easily. The due thanks go to Microsoft!&lt;/p&gt;</description>
      <pubDate>Mon, 02 Apr 2007 13:37:10 GMT</pubDate>
      <guid>e88f032e-c5af-42e9-837c-0f3e51327467</guid>
    </item>
    <item>
      <title>Who's the April Fool? Not Google.</title>
      <link>http://www.google.com/tisp/press.html</link>
      <description>&lt;p&gt;Welcome, April! It's no wonder that today many companies have a tongue in the cheek, and Google is no exception. See for example their &lt;a href="http://www.google.com/tisp/press.html"&gt;TiSP announcement&lt;/a&gt;, the Toilet Internet Service Provider. Want one? Call +1 650-253-4713 today. :-)&lt;/p&gt;</description>
      <pubDate>Sun, 01 Apr 2007 18:06:42 GMT</pubDate>
      <guid>11822776-a970-4336-8f0c-47329bdfc851</guid>
    </item>
    <item>
      <title>Delphi 2007 arrives on my desk, finally</title>
      <link>http://www.codegear.com/Products/Delphi/Delphi2007forWin32/tabid/236/Default.aspx</link>
      <description>&lt;p&gt;Finally, some installation codes and SLIP files from CodeGear. The new web-based installer is very small, only 5 megabytes, and depending on your Delphi version (serial number) and selections, it downloads only the needed installation packages.&lt;/p&gt;

&lt;p&gt;With Delphi 2007's MSBuild based compilation, there's a new XML based project file with the .DPROJ extension. When you type MSBuild on the command line (and have the proper paths set up), you could compile your projects from the command line. I've yet to test this myself, though.&lt;/p&gt;</description>
      <pubDate>Fri, 30 Mar 2007 15:39:53 GMT</pubDate>
      <guid>c52176ee-1e14-42af-b7c0-6cf6beca20c0</guid>
    </item>
    <item>
      <title>C# Online's code examples growing</title>
      <link>http://en.csharp-online.net/CSharp_Code_Snippets</link>
      <description>&lt;p&gt;It's a pleasure to see what wikis can do. It has been probably one or two years since I last visited &lt;a href="http://en.csharp-online.net/"&gt;C# Online&lt;/a&gt;, but since then, the site has grown rapidly. For example, now there are many small, but much-needed (for beginning .NET developers, at least) code snippets that help you get started with Base Class Library (BCL) programming. So of MSDN doesn't cut it, try C# Online. I'd love to see the &lt;a href="http://blogs.msdn.com/csharpfaq/"&gt;MSDN C# FAQ page&lt;/a&gt; to grow to similar lenghts, I'll have to check what's doable.&lt;/p&gt;</description>
      <pubDate>Thu, 29 Mar 2007 15:17:11 GMT</pubDate>
      <guid>a15218c1-6309-49af-8f8d-7cc95bd4b24a</guid>
    </item>
    <item>
      <title>Congrats Visual Studio!</title>
      <link>http://blogs.msdn.com/somasegar/archive/2007/03/26/visual-studio-turns-10.aspx</link>
      <description>&lt;p&gt;Time flies, they say. One of the proofs is that Visual Studio, Microsoft's venerable development tool, turns ten (10) already this year. Both &lt;a href="http://www.eweek.com/article2/0,1759,2108042,00.asp?kc=EWRSS03119TX1K0000594"&gt;eWeek&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/somasegar/archive/2007/03/26/visual-studio-turns-10.aspx"&gt;Microsoft&lt;/a&gt; mention this milestone on their web publications.&lt;/p&gt;

&lt;p&gt;The only question that remains is: where's the birthday cake? :-)&lt;/p&gt;</description>
      <pubDate>Tue, 27 Mar 2007 18:57:41 GMT</pubDate>
      <guid>22f6fddd-b038-4789-a6ad-177004050975</guid>
    </item>
    <item>
      <title>TeamPlain from devBiz, oops, Microsoft, is now free!</title>
      <link>http://www.devbiz.com/teamplain/webaccess/default.aspx</link>
      <description>&lt;p&gt;Well well, shopping time again for Microsoft. Yesterday, Microsoft announced that it had &lt;a href="http://www.devbiz.com/acquisition.aspx"&gt;acquired&lt;/a&gt; devBiz Business Solutions, the makers of TeamPlain Web Access, an extension to Visual Studio Team Foundation Server (TFS). Now, in addition to simply acquiring the company, Microsoft has made the product &lt;a href="http://www.devbiz.com/teamplain/webaccess/download.aspx"&gt;available for free&lt;/a&gt; for every TFS user! So, if you wnated to have a good web interface to your Team System projects, TeamPlain is the way to go, starting today.&lt;/p&gt;</description>
      <pubDate>Tue, 27 Mar 2007 15:18:56 GMT</pubDate>
      <guid>0bab8659-edb8-41a9-8d22-91511f1d8947</guid>
    </item>
    <item>
      <title>Delphi 2007's new PromptToRebuildDuringDebugging registry key</title>
      <link>http://blogs.codegear.com/ChrisHesik/archive/2007/03/13/32958.aspx</link>
      <description>&lt;p&gt;CodeGear's Delphi 2007 is here (I'm still waiting for my copy, though) and I noticed from CodeGear's blog that there's a new "secret" registry key that you can set to remove the "Source has been modified. Rebuild?" prompt when a file in the project had been modified outside Delphi. The registry key is:&lt;/p&gt;

&lt;pre&gt;
HKEY_CURRENT_USER\Software\Borland\BDS\5.0\
Debugging\PromptToRebuildDuringDebugging
&lt;/pre&gt;

&lt;p&gt;Set this key's value to zero (0) to disable the prompt. Can make your life easier!&lt;/p&gt;</description>
      <pubDate>Sun, 25 Mar 2007 06:22:02 GMT</pubDate>
      <guid>8d1aeb3e-86c7-4d40-a807-764ce16b5691</guid>
    </item>
    <item>
      <title>Calling web services with an invalid SSL certificate</title>
      <link>http://msdn2.microsoft.com/en-us/library/system.net.servicepointmanager.servercertificatevalidationcallback.aspx</link>
      <description>&lt;p&gt;Sometimes, you will want to call a web service from C# code, but the web server's HTTPS (SSL) certificate is invalid or gives errors because it is not fully validated by a certificate authority (CA) such as VeriSign. For instance, this certificate could be a custom certificate to you've created yourself for testing purposes.&lt;/p&gt;

&lt;p&gt;However, when you call such a web service from .NET code, the call will fail with an exception because of the invalid certificate. But as you could guess, there's a piece of code that you can do to trust the certificate nonetheless and work around the issue. The ServicePointManager class in the System.Net namespace contains &lt;a href="http://msdn2.microsoft.com/en-us/library/system.net.servicepointmanager.servercertificatevalidationcallback.aspx"&gt;a property named RemoteCertificateValidationCallback&lt;/a&gt; to which you can assign your custom event handler. Here's an example with .NET 2.0:&lt;/p&gt;

&lt;pre&gt;
private void SetupCertificates()
{
  System.Net.ServicePointManager.ServerCertificateValidationCallback +=
    new System.Net.Security.RemoteCertificateValidationCallback(
    MyCertificateErrorHandler);
}

private bool MyCertificateErrorHandler(
  object sender,
  System.Security.Cryptography.X509Certificates.X509Certificate certificate,
  System.Security.Cryptography.X509Certificates.X509Chain chain,
  System.Net.Security.SslPolicyErrors sslPolicyErrors)
{
  // do testing here               
  ...
  // yes, we trust this certificate
  return true; 
}
&lt;/pre&gt;

&lt;p&gt;The event handler (delegate) must be of the type RemoteCertificateValidationCallback from System.Net.Security. Of course, you can make the code cleaner with these three using statements:&lt;/p&gt;

&lt;pre&gt;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
&lt;/pre&gt;</description>
      <pubDate>Sat, 24 Mar 2007 06:14:29 GMT</pubDate>
      <guid>79e919dd-121d-4407-a7b0-194cbc73711a</guid>
    </item>
    <item>
      <title>Layering ASP.NET web applications from asp.netPRO</title>
      <link>http://www.aspnetpro.com/NewsletterArticle/2007/02/asp200702dw_l/asp200702dw_l.asp</link>
      <description>&lt;p&gt;The asp.netPRO e-magazine has a good article for web developers using C#, or actually any .NET language like Delphi for that matter. Titled "&lt;a href="http://www.aspnetpro.com/NewsletterArticle/2007/02/asp200702dw_l/asp200702dw_l.asp"&gt;Layering ASP.NET Application Code&lt;/a&gt;" it talks just about that: how you should architect your web applications for optimum maintanability, code re-use and performance. Recommended reading.&lt;/p&gt;

&lt;p&gt;PS. Microsoft DevDays in Helsinki tomorrow, can't wait. :-) See you there!&lt;/p&gt;</description>
      <pubDate>Wed, 21 Mar 2007 14:46:53 GMT</pubDate>
      <guid>bb65fc4b-9e64-4e9c-b180-c6da61250d70</guid>
    </item>
    <item>
      <title>How to call an ASP.NET web service with username/password from C#?</title>
      <link>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemnetnetworkcredentialclasstopic.asp</link>
      <description>&lt;p&gt;If you have an ASP.NET web service that requires authentication credentials, you need a way to supply these in your client application. It can be difficult to find an easy answer from the .NET SDK documentation, so I'm giving a basic example here.&lt;/p&gt;

&lt;p&gt;Shortly put, you need to use the &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemnetnetworkcredentialclasstopic.asp"&gt;NetworkCredential class &lt;/a&gt;from the System.Net namespace to supply the credentials. Additionally, you can use a class called CredentialCache to store an URL/credentials pair which your web service interface can consume. If you have a web service interface named "MWS" (for My Web Service), you can setup the credentials for Basic of Digest authentication, along with a timeout (always a good idea) with the following code:&lt;/p&gt;

&lt;pre&gt;
private static void SetupWebServiceCall(
  My_Web_Service_Interface mws)
{
    NetworkCredential cred = new NetworkCredential(
        "username", "password", "domain");
    CredentialCache cache = new CredentialCache();
    cache.Add(new Uri(mws.Url), "Basic", cred);
    mws.Credentials = cache;
    mws.Timeout = 15*1000; // 15 seconds
}
&lt;/pre&gt;

&lt;p&gt;If you call this setup method before doing anything else with the SOAP interface, you get the properly set up authentication plus control over the timeout period. Of course, you would store the username and password somewhere for security instead of in the source code, but you'll get the idea.&lt;/p&gt;</description>
      <pubDate>Mon, 19 Mar 2007 16:54:37 GMT</pubDate>
      <guid>6d6a0480-9ded-4048-97d5-fb3861b0528a</guid>
    </item>
    <item>
      <title>Down-to-Earth introduction to ASP.NET AJAX 1.0</title>
      <link>http://www.c-sharpcorner.com/uploadfile/mahesh/ajax1002082007144006pm/ajax10.aspx</link>
      <description>&lt;p&gt;AJAX is all the hype these days, but if you are new to the concept, it can be sometimes difficult to get a down-to-Earth introduction to the implementation details. Sure, MSDN has plenty of material available about ASP.NET AJAX 1.0, but there's also a good article at the C# Corner, titled "&lt;a href="http://www.c-sharpcorner.com/uploadfile/mahesh/ajax1002082007144006pm/ajax10.aspx"&gt;Getting Started with AJAX 1.0&lt;/a&gt;". Although a bit on the short side, it shows what most of the beginners need.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description>
      <pubDate>Sat, 17 Mar 2007 12:06:38 GMT</pubDate>
      <guid>95505f82-692a-4902-b354-a2ac6dad9d00</guid>
    </item>
    <item>
      <title>Delphi 2007 for Win32 is ready for RTM</title>
      <link>http://www.codegear.com/Products/Delphi/Delphi2007forWin32/tabid/236/Default.aspx</link>
      <description>&lt;p&gt;I just learned today that CodeGear's latest version of Delphi, &lt;a href="http://www.codegear.com/Products/Delphi/Delphi2007forWin32/tabid/236/Default.aspx"&gt;Delphi 2007 for Win32&lt;/a&gt; has gone gold, that is, the product has now been released to manufacturing (RTM). I should probably get my own copy next week, after which I'm going to immediately test how the new Vista features work. Good work, CodeGear!&lt;/p&gt;</description>
      <pubDate>Fri, 16 Mar 2007 14:53:44 GMT</pubDate>
      <guid>a42b675f-c4eb-494e-824d-8fc58ff4efff</guid>
    </item>
    <item>
      <title>Windows Server 2003 SP2 is here</title>
      <link>http://www.microsoft.com/technet/windowsserver/sp2.mspx</link>
      <description>&lt;p&gt;Microsoft has just two days ago announced the availability of &lt;a href="http://www.microsoft.com/technet/windowsserver/sp2.mspx"&gt;Windows Server 2003 Service Pack 2&lt;/a&gt;. From the Download Center you may download the installation packages for both x86 and x64, but also the full ISO images for the installation medias. That's something new I've not seen done previously with service packs.&lt;/p&gt;

&lt;p&gt;There's also a Knowledge Base (KB) &lt;a href="http://support.microsoft.com/kb/914962"&gt;article 914962&lt;/a&gt; that lists all the fixes and updates that go into this service pack. If you are running web applications with IIS 6, there seem to be many patches in the SP. So download your copy today.&lt;/p&gt;</description>
      <pubDate>Thu, 15 Mar 2007 16:14:53 GMT</pubDate>
      <guid>0205d2d3-36ff-4be5-bcb6-885764415aa5</guid>
    </item>
    <item>
      <title>Intel's new Xeon 5300 processors, I'm impressed</title>
      <link>http://www.intel.com/products/processor/xeon/index.htm</link>
      <description>&lt;p&gt;As a software kind of guy, I tend to think processors are something that just run your code, but with today's pace of technology leaps inside processors (think multi-core, for instance) it is hard to ignore these achievements. For example, I must say I'm pretty impressed with Intel's latest server processor announcement: the &lt;a href="http://www.intel.com/products/processor/xeon/index.htm"&gt;Xeon processor 5300 series&lt;/a&gt;. This is a quad-core beast, but with about 50% less of energy consumption than previous models. I wouldn't mind seeing processor and PC technology to get even greener than it is currently. I read somewhere that the new Xeon 5300 chips wouldn't run 64-bit code, but I find that somewhat hard to believe. Let me know if you know the answer.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 13 Mar 2007 14:54:17 GMT</pubDate>
      <guid>985ea1dd-de2b-47cc-b0a6-0b954726d675</guid>
    </item>
    <item>
      <title>UltraEdit 13.00 is here</title>
      <link>http://www.ultraedit.com/</link>
      <description>&lt;p&gt;Well, those IDM guys keep on working busy. I just noticed that they had announced &lt;a href="http://www.ultraedit.com/index.php?name=UE_LatestChanges"&gt;UltraEdit 13.00&lt;/a&gt; only last week; it wasn't long when version 12 was announced. Good going! This also mean another update for myself, as I do enjoy using UltraEdit. The new version seems to bring in goodies like scripting support, web page browser preview and MSI install support. The quite annouying Internet Explorer (IE) View Source editor setting is also now customizable.&lt;/p&gt;</description>
      <pubDate>Mon, 12 Mar 2007 15:48:38 GMT</pubDate>
      <guid>485800b5-244f-4fc2-af32-714353cbe363</guid>
    </item>
    <item>
      <title>Saving IE 7's last open tabs</title>
      <link>http://www.microsoft.com/windows/products/winfamily/ie/default.mspx</link>
      <description>&lt;p&gt;I'm a fan of tabbed browsing, and in my opinion &lt;a href="http://www.microsoft.com/windows/products/winfamily/ie/default.mspx"&gt;Internet Explorer 7&lt;/a&gt; does it better than, say, Firefox. However, there seems to be a flaw in IE that makes it often crash whenever you have closed it with many open tabs, and then have chosen the option "Open these the next time I use Internet Explorer". For example, just last time I missed several good MSDN articles because when I the again started IE to load the pages I had opened the previous day, IE died. And if you restart IE after a crash, only the home page(s) is/are shown. Now, I of course wanted to know where IE stores the list of previously open tabs, and noticed with &lt;a href="http://www.microsoft.com/technet/sysinternals/utilities/processmonitor.mspx"&gt;Process Monitor&lt;/a&gt; (RegMon successor) that the registry key is:&lt;/p&gt;

&lt;pre&gt;
HKEY_CURRENT_USER\Software\Microsoft\
Internet Explorer\TabbedBrowsing\LastSessionPages&lt;/pre&gt;

&lt;p&gt;Now, it wouldn't take much C# code to write an utility that saves the contents of this key, and then reloads the key on request. I'll see if I have the time to write such a utility.&lt;/p&gt;</description>
      <pubDate>Sat, 10 Mar 2007 09:11:13 GMT</pubDate>
      <guid>9acd0359-b8c7-4d2d-b50d-0c3d74a3d7d8</guid>
    </item>
    <item>
      <title>Changes in Windows Vista's automatic application startup options</title>
      <link>http://www.microsoft.com/downloads/details.aspx?FamilyID=a5352df3-1c89-480f-9691-952e6b86eaf7&amp;DisplayLang=en</link>
      <description>&lt;p&gt;As you know, Windows Vista takes a more stringent approach in security, and this will also affect application you develop. Many especially consumer-oriented applications have the (bad, in my opinion) to configure themselves to automatically start while Windows loads. Now, if those applications also need true administrative rights (because of older coding habits), Vista will block them from starting.&lt;/p&gt;

&lt;p&gt;According to a recent &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=a5352df3-1c89-480f-9691-952e6b86eaf7&amp;DisplayLang=en"&gt;Microsoft document&lt;/a&gt;, somewhat oddly available at Microsoft Downloads instead of MSDN, the locations (folders and registry keys) that in Vista simply block out auto-starting programs that require admin rights are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;%USERPROFILE%\Start Menu\Programs\Startup -- the Per-User Startup folder&lt;/li&gt;
&lt;li&gt;%ALLUSERSPROFILE%\Start Menu\Programs\Startup -- the Per-Machine Startup folder&lt;/li&gt;
&lt;li&gt;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run -- Per-User RUN key&lt;/li&gt;
&lt;li&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run -- Per-Machine RUN key&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, if your application relies on these locations to automatically start, consider a) changing your application not to always require admin rights, or b) convert your application to a service application. And if I may, there's my personal c): don't use the per-user registry keys, but instead use the Startup folder. This way, your user can actually see all those applications that automatically start, *and* s/he is able to control them. Not all users are able to use RegEdit or know about tools such as &lt;a href="http://www.microsoft.com/technet/sysinternals/Security/Autoruns.mspx"&gt;AutoRuns&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Fri, 09 Mar 2007 16:51:54 GMT</pubDate>
      <guid>72324d04-bc2e-453e-83dd-2a68325647e0</guid>
    </item>
    <item>
      <title>My Vista tips article in Tietokone</title>
      <link>http://www.saunalahti.fi/janij/publications/tietokone.html</link>
      <description>&lt;p&gt;The Finnish &lt;a href="http://www.tietokone.fi/"&gt;Tietokone magazine&lt;/a&gt; has &lt;a href="http://www.saunalahti.fi/janij/publications/tietokone.html"&gt;published&lt;/a&gt; my Windows Vista power user tips article. The article, "Windows Vista tehokäyttöön" lists eight tips that I find will make you a better Vista user.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <pubDate>Fri, 09 Mar 2007 08:25:48 GMT</pubDate>
      <guid>8fb5f454-0c72-4e31-ac75-e38a9c38ab27</guid>
    </item>
    <item>
      <title>Delphi 2007 launch in Helsinki</title>
      <link>http://www.codegear.com/Products/Delphi/Delphi2007forWin32/tabid/236/Default.aspx</link>
      <description>&lt;p&gt;My company today had a Delphi 2007/Delphi for PHP launch event here in Helsinki, and it was fun and informative to attend it. Once the final RTM version of &lt;a href="http://www.codegear.com/Products/Delphi/Delphi2007forWin32/tabid/236/Default.aspx"&gt;Delphi 2007&lt;/a&gt; release is on my hands, I can't wait to test all the new Windows Vista stuff that's out there, for example the new components/classes to use the new, very versatile task dialogs. Also, CodeGear techie FH told us how the TApplication/main form implementation has changed to better support Vista. I'd be happy to compare Delphi 2006 and Delphi 2007 VCL source files to see what the real differences are. Although the documentation has improved dramatically in this release, I doubt these things are documented. :-)&lt;/p&gt;</description>
      <pubDate>Wed, 07 Mar 2007 15:29:26 GMT</pubDate>
      <guid>922a2153-1d1b-4a38-8da0-b6181e9759c5</guid>
    </item>
    <item>
      <title>Visual Studio 2005 update for Windows Vista</title>
      <link>http://www.eweek.com/article2/0,1759,2101297,00.asp?kc=EWRSS03119TX1K0000594</link>
      <description>&lt;p&gt;eWeek &lt;a href="http://www.eweek.com/article2/0,1759,2101297,00.asp?kc=EWRSS03119TX1K0000594"&gt;reports&lt;/a&gt; that Microsoft has just announced an update to Visual Studio 2005 that makes it better compatible with Windows Vista. Officially, the new update is called "Visual Studio 2005 Service Pack 1 Update", which means that it is an add-on to the already-release SP1. The new update can be found from &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=90e2942d-3ad1-4873-a2ee-4acc0aace5b6&amp;displaylang=en"&gt;Microsoft Downloads&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 07 Mar 2007 08:20:44 GMT</pubDate>
      <guid>2385befc-1bf0-463a-b661-83a13dc0cf42</guid>
    </item>
    <item>
      <title>Information about Delphi 2007's new DBExpress framework</title>
      <link>http://blogs.codegear.com/AndreanoLanusse/archive/2007/03/04/32689.aspx</link>
      <description>&lt;p&gt;If you have been following the CodeGear/Delphi world closely, you haven't missed the new Delphi 2007 for Win32 and it's new database support with DBExpress 4, or DBX 4 (DBX4) for short. A Delphi team member, Andreano Lanusse, has a nice blog post about &lt;a href="http://blogs.codegear.com/AndreanoLanusse/archive/2007/03/04/32689.aspx"&gt;the class hierarchies&lt;/a&gt; in the new database access layer.&lt;/p&gt;</description>
      <pubDate>Mon, 05 Mar 2007 13:55:23 GMT</pubDate>
      <guid>1a5a1fc0-2eb0-40a0-9263-c0050c573a0d</guid>
    </item>
    <item>
      <title>Adobe Lightroom looks good</title>
      <link>http://photoshopnews.com/2006/01/09/the-shadowlandlightroom-development-story</link>
      <description>&lt;p&gt;Yeah, no developer content today, but interesting to all digital photographers nonetheless. I've now been using Lightroom quite extensively for the last two weeks, and I must say it is pretty impressive for a 1.0 product. Especially happy I'm about the keyword/tagging functions, because I believe those features will get more and more important in the coming years as the number of photos accumulate on my hard disk and DVDs. Looks like I need to "believe in black".&lt;/p&gt;

&lt;p&gt;Before I forget, I found &lt;a href="http://photoshopnews.com/2006/01/09/the-shadowlandlightroom-development-story"&gt;an interesting story&lt;/a&gt; about the development of Lightroom, or the codename "Shadowland". Earlier, I said that Lightroom immediately had that "Macromedia/Dreamweaver" feeling, but in fact it had a "ImageStyler" feel. ImageStyler was a nice graphics product that was easy to use even for a developer like me. Now it turns out that the same guys and gals that were behind ImageStyler, did the initial coding for Lightroom. Cool!&lt;/p&gt;</description>
      <pubDate>Sat, 03 Mar 2007 18:12:25 GMT</pubDate>
      <guid>4ea8c903-5f49-407c-b7ce-83e34afcd16d</guid>
    </item>
    <item>
      <title>The Finnish TechNet Pro event</title>
      <link>http://itpro.fi/materiaalit/Pages/0103.aspx</link>
      <description>&lt;p&gt;Whoa, so much to blog about today. It was my pleasure to attend Microsoft's TechNet Pro event at the Finlandia Hall here in Helsinki. Although not a developer event per se, it's a very informative event to visit. The session recording are all available at the &lt;a href="http://itpro.fi/materiaalit/Pages/0103.aspx"&gt;ITpro.fi web site&lt;/a&gt;, which I suggest that you visit in case you already haven't.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 01 Mar 2007 18:04:49 GMT</pubDate>
      <guid>bc21bf42-83d6-4644-9b57-b275a3ef96bb</guid>
    </item>
    <item>
      <title>Visual Studio "Orcas" March CTP now available</title>
      <link>http://blogs.msdn.com/somasegar/archive/2007/02/28/visual-studio-orcas-march-ctp-is-available-now.aspx</link>
      <description>&lt;p&gt;Microsoft's Somasegar &lt;a href="http://blogs.msdn.com/somasegar/archive/2007/02/28/visual-studio-orcas-march-ctp-is-available-now.aspx"&gt;today announced&lt;/a&gt; the availability of the Visual Studio "Orcas" March CTP (Community Technology Preview). This CTP version can now be downloaded from Microsoft's &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=B533619A-0008-4DD6-9ED1-47D482683C78&amp;displaylang=en"&gt;Download Center&lt;/a&gt;. Can't wait to get my hands on this release, though I confess it might take few days before I have the time to do so.&lt;/p&gt;</description>
      <pubDate>Thu, 01 Mar 2007 15:12:47 GMT</pubDate>
      <guid>41a62c94-f2de-413e-99eb-10560d3cb7fc</guid>
    </item>
    <item>
      <title>The five big questions about developing application user interfaces</title>
      <link>http://msdn2.microsoft.com/en-us/library/bb288452.aspx</link>
      <description>&lt;p&gt;Happy March everyone! I'm happy that the first official spring month is here. Sometimes, a great developer article can have no code listings at all, and still be pragmatic. One example of such an article is a recent MSDN article by Ted Neward, titled "&lt;a href="http://msdn2.microsoft.com/en-us/library/bb288452.aspx"&gt;Pragmatic Architecture: User Interface&lt;/a&gt;".&lt;/p&gt;

&lt;p&gt;This article talks about designing (or rather, architecting) user interfaces, and the five fundamentals according to Ted. For example, should all your applications have a graphical user interface. Not necessarily! Read the article to understand why.&lt;/p&gt;</description>
      <pubDate>Thu, 01 Mar 2007 14:55:30 GMT</pubDate>
      <guid>61a95c45-8b6d-4086-91d0-c8bce3d7ee0c</guid>
    </item>
    <item>
      <title>My .NET Compact Framework article in Prosessori</title>
      <link>http://www.prosessori.fi/</link>
      <description>&lt;p&gt;The Finnish Prosessori magazine has my three-page .NET/Visual Studio article and code example about Compact Framework (.NET CF) development. Also, the article demonstrates the use of a Qtek S200 Windows Mobile phone to develop a simple C# application.&lt;/p&gt;</description>
      <pubDate>Wed, 28 Feb 2007 14:53:07 GMT</pubDate>
      <guid>4448d113-e0db-4dfd-93c3-ce9ca4ac4b1d</guid>
    </item>
    <item>
      <title>Debugging tools for web applications running on IIS</title>
      <link>http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&amp;DisplayLang=en</link>
      <description>&lt;p&gt;Microsoft has some time ago announced a new version of the "Debug Diagnostic Tool" (DebugDiag) version 1.1 for debugging different types of applications, including those web apps running on IIS (Internet Information Server).&lt;/p&gt;

&lt;p&gt;You can &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&amp;DisplayLang=en"&gt;download your copy&lt;/a&gt; from MSFT Downloads.&lt;/p&gt;</description>
      <pubDate>Mon, 26 Feb 2007 16:18:01 GMT</pubDate>
      <guid>81601c3d-2b5f-4887-bf87-fd44c43097ec</guid>
    </item>
    <item>
      <title>And, the new Canon EOS-1D Mark III, wow!</title>
      <link>http://www.usa.canon.com/templatedata/pressrelease/20070221_1dmark3.html</link>
      <description>&lt;p&gt;In addition to the SQL Server service pack and the new Virtual PC 2007, there's also something being announced that interests me quite a lot, but is not related to software development. :-) It's a new high-end DSLR camera from Canon, namely &lt;a href="http://www.usa.canon.com/templatedata/pressrelease/20070221_1dmark3.html"&gt;the Canon EOS-1D Mark III&lt;/a&gt;. One word: Wow!&lt;/p&gt;

&lt;p&gt;Taking a look at the specifications, there's a 10 megapixel sensor (OK) with 10 frames per second (impressive), Live View LCD (cool), new and lighter body with a shutter up to 300,000 shots (impressive, again), a new 45-point autofocus (AF) system (sounds great), two DIGIC III processors (sounds fast), &lt;a href="http://www.usa.canon.com/consumer/controller?act=ModelDetailAct&amp;fcategoryid=139&amp;modelid=14999"&gt;and more&lt;/a&gt;. Good heavens, I want one! A completely another thing is whether I need one... :-)&lt;/p&gt;

&lt;p&gt;As a not-so-small sidenote, Canon also announced a &lt;a href="http://www.usa.canon.com/consumer/controller?act=ModelDetailAct&amp;fcategoryid=148&amp;modelid=14907"&gt;new EF 16-35mm f/2.8 lens&lt;/a&gt;, and a &lt;a href="http://www.usa.canon.com/consumer/controller?act=ModelDetailAct&amp;fcategoryid=141&amp;modelid=14998"&gt;new EX580 flash&lt;/a&gt;. Not a small announcement for PMA.&lt;/p&gt;</description>
      <pubDate>Thu, 22 Feb 2007 15:32:42 GMT</pubDate>
      <guid>b4dad4c0-6989-4e78-a148-c8771be4ab91</guid>
    </item>
    <item>
      <title>Virtual PC 2007 available as well</title>
      <link>http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx</link>
      <description>&lt;p&gt;I noticed just today that Microsoft has also announced a new version of its Virtual PC virtualization software, called &lt;a href="http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx"&gt;Virtual PC 2007&lt;/a&gt;. The product is still &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=04D26402-3199-48A3-AFA2-2DC0B40A73B6&amp;displaylang=en"&gt;freely downloadable&lt;/a&gt;, and there's also a &lt;a href="http://download.microsoft.com/download/6/D/F/6DFC4E29-CB62-4401-A13B-043ADFA697E2/Virtual_PC_Technical_Overview_2007.xps"&gt;Technical Overview
document&lt;/a&gt; available (in XPS format).&lt;/p&gt;</description>
      <pubDate>Thu, 22 Feb 2007 15:32:29 GMT</pubDate>
      <guid>4dc05be3-83cc-4155-a8d8-75dce0b6a6ae</guid>
    </item>
    <item>
      <title>SQL Server 2005 SP2 ready for download</title>
      <link>http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/servicepacks/sp2.mspx</link>
      <description>&lt;p&gt;Microsoft has announced the availability of &lt;a href="http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/servicepacks/sp2.mspx"&gt;Service Pack 2&lt;/a&gt; (SP2) for their SQL Server 2005 database product. The service pack can be &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d07219b2-1e23-49c8-8f0c-63fa18f26d3a&amp;DisplayLang=en"&gt;downloaded&lt;/a&gt; from Microsoft Downloads. Note that a different version exists if you are using SQL Server 2005 Express.&lt;/p&gt;

&lt;p&gt;A &lt;a href="http://support.microsoft.com/?kbid=921896"&gt;list of fixes&lt;/a&gt; has also been published, along with a &lt;a href="http://download.microsoft.com/download/2/B/5/2B5E5D37-9B17-423D-BC8F-B11ECD4195B4/ReadmeSQL2005SP2.htm"&gt;ReadMe document&lt;/a&gt; and &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=BE6A2C5D-00DF-4220-B133-29C1E0B6585F&amp;displaylang=en"&gt;updated Books Online&lt;/a&gt; (BOL) to reflect the changes and new features brought by the service pack.&lt;/p&gt;</description>
      <pubDate>Wed, 21 Feb 2007 15:27:33 GMT</pubDate>
      <guid>c949aadd-b06f-4d29-ad8f-44cc01b1d6f7</guid>
    </item>
    <item>
      <title>CodeGear announces Delphi 2007, PHP tool</title>
      <link>http://www.codegear.com/AboutUs/News/DelphiForWin32/tabid/240/Default.aspx</link>
      <description>&lt;p&gt;Finally, after months of waiting, we are seeing the fruits of the spin-off from Borland, the new "developer company", &lt;a href="http://www.codegear.com/"&gt;CodeGear&lt;/a&gt;. Although I'm happy that there now exists a new version of Delphi, &lt;a href="http://www.codegear.com/AboutUs/News/DelphiForWin32/tabid/240/Default.aspx"&gt;Delphi 2007 for Win32&lt;/a&gt; and even a totally new product, called Delphi for PHP, I my criticize the silence during the first six months after after the announcement to sell the IDE tools. But history is history, and the products are here in March.&lt;/p&gt;

&lt;p&gt;Of course, of these two products Delphi 2007 interests me most. It now fully supports Windows Vista, which is great -- including an enhanced set of VCL components for Vista use. Another interesting thing for web developers is the support for AJAX, but that could be something little too late, but once I get my hands on the final bits, I'll see. As for the PHP product, I'm not sure if I'm going to need one now that I've learned to love ASP.NET, but for some folks it could be just perfect.&lt;/p&gt;

&lt;p&gt;Finally, a prediction. Although I didn't know a PHP product was in the works, I had seen all those PHP blog posts at CodeGear's blog, and it got me thinking that why would they blog about a "new" language (to CodeGear, that is) if something wasn't going on behind the scenes? Now then, they also talk about Ruby now and then, and thus I predict that a Ruby product will emerge in less than 18 months. Lets see if my prediction holds any value. :-)&lt;/p&gt;</description>
      <pubDate>Tue, 20 Feb 2007 14:57:24 GMT</pubDate>
      <guid>b81b8691-308e-4da2-b2ab-4f8892a0aa33</guid>
    </item>
    <item>
      <title>Adobe Lightroom 1.0 is ready</title>
      <link>http://www.adobe.com/products/photoshoplightroom</link>
      <description>&lt;p&gt;Well, things happen. You might recall from my previous posts that I'm not a great fan of Adobe products (like Flash or Acrobat), but it seems the old Macromedia touch can still be seen in new products like Photoshop Lightroom, or "LR". I found it to be a product just like Dreamweaver: it just fits my hand well. Can't say that about Flash or Acrobat, though.&lt;/p&gt;

&lt;p&gt;Nonetheless, &lt;a href="http://www.adobe.com/products/photoshoplightroom"&gt;Lightroom 1.0&lt;/a&gt; is here -- it became available today. I immediately downloaded the trial version and used it on Windows Vista. Works like a charm even on VMware. I imported several dozens of photos, and tried keywording/tagging and developing them. Feels like a very capable and powerful tool, and neat to look at as well. I do have to seriously consider buying this product.&lt;/p&gt;</description>
      <pubDate>Mon, 19 Feb 2007 18:18:49 GMT</pubDate>
      <guid>8d33617b-4eba-445d-b9f8-4d1f7f9256d4</guid>
    </item>
    <item>
      <title>Green thinking and software, can it be for real?</title>
      <link>
      </link>
      <description>&lt;p&gt;I woke up very early this morning, because my computer had started humming a lot. I checked what was the matter, and a piece of software I use every day had caught itself in an infinite loop, with the CPU utilization running at 100%.&lt;/p&gt;

&lt;p&gt;I'm not sure how long it had been doing so before I woke up, but it got me thinking. During that malfunction, how many cents of electricity and how many grams of fossile fuels were wasted because the software malfunctioned?&lt;/p&gt;

&lt;p&gt;Most people think that software is inherently green, because there's no waste. But, software runs the world, and creating software can be a major consumer of energy. As a software developer, you might still not view yourself as being part of the "save a tree" campaing. Furthermore, do you need to take part in the global climate discussions? My opinion is that, yes, you do. This is because software, even if it is itself "clean", it isn't produced cleanly, or doesn't consume any resources at run-time.&lt;/p&gt;

&lt;p&gt;Instead, turn your thinking the other way around. For example, optimizing software can be thought of as a green act, because it can save CPU cycles, hard disk and memory. If you can't see the benefits on your own computer, think about copying your creation to 100 million computers. The numbers will add up!&lt;/p&gt;</description>
      <pubDate>Mon, 19 Feb 2007 14:54:18 GMT</pubDate>
      <guid>a92432af-7192-4a52-86d3-bea2e27c0e67</guid>
    </item>
    <item>
      <title>Vista Meeting Space and the new Peer programming APIs</title>
      <link>http://www.microsoft.com/windows/products/windowsvista/features/details/meetingspace.mspx</link>
      <description>&lt;p&gt;Peer-to-peer is a magic word from few years back, and now Windows Vista provides us a new implementation of a nifty collaboration tool called &lt;a href="http://www.microsoft.com/windows/products/windowsvista/features/details/meetingspace.mspx"&gt;Windows Meeting Space&lt;/a&gt;. For us software developers, what is the use of this utility? Well, you (and your team) could benefit from it just as other people, but there's another thing that matters to us: the APIs that Windows Meeting Space uses are open and available through the P2P.dll library (prototypes are declared in P2P.h). That's really cool! &lt;/p&gt;

&lt;p&gt;For instance, there's &lt;a href="http://msdn2.microsoft.com/en-us/library/aa371060.aspx"&gt;PeerCollabEnumPeopleNearMe&lt;/a&gt;. I have to dig these interfaces once I have time, and see what they can do. Could be fun! :-)&lt;/p&gt;</description>
      <pubDate>Fri, 16 Feb 2007 15:35:24 GMT</pubDate>
      <guid>cd81d99e-81cf-42c8-8910-3c226e35eecc</guid>
    </item>
    <item>
      <title>Removing default namespaces from XML serialized .NET objects</title>
      <link>http://msdn2.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx</link>
      <description>&lt;p&gt;In .NET, the support for almost automatic serialization can become very handy. Of course, since XML is everywhere, it is also possible to serialize objects into XML based formats with &lt;a href="http://msdn2.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx"&gt;the XmlSerializer class&lt;/a&gt; from the System.Xml.Serialization namespace. However, if you've ever used this class, you might have noticed that it creates automatic namespaces "xmlns:xsi" and "xmlns:xsd" into the documents, something which you might find unnecessary. For example, a simple StringBuilder object might be serialized as follows:&lt;/p&gt;

&lt;pre&gt;
&amp;lt;?xml version="1.0"?&amp;gt;
&amp;lt;StringBuilder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"&amp;gt;
  &amp;lt;Capacity&amp;gt;16&amp;lt;/Capacity&amp;gt;
  &amp;lt;Length&amp;gt;0&amp;lt;/Length&amp;gt;
&amp;lt;/StringBuilder&amp;gt;
&lt;/pre&gt;

&lt;p&gt;Now then, the question is, how would you strip out or remove these default namespaces? Of course, there are many possibilities, but if your needs are simple, you could use the XmlDocument class and the following snippet of simple C# code:&lt;/p&gt;

&lt;pre&gt;
// create an object to serialize
StringBuilder testObject = new StringBuilder();
// create xml serializer
XmlSerializer xmlSerializer = new XmlSerializer(testObject.GetType());
// serialize to memory stream &amp; load xml
MemoryStream stream = new MemoryStream();
XmlDocument doc = new XmlDocument();
xmlSerializer.Serialize(stream, testObject);
stream.Position = 0;
doc.Load(stream);
stream.Close();
// strip out default namespaces "xmlns:xsi" and "xmlns:xsd"
doc.DocumentElement.Attributes.RemoveAll();
// save to file
doc.Save(@"C:\Temp\Serialization Test.xml");
&lt;/pre&gt;

&lt;p&gt;Here, the magic is done by the single call to "doc.DocumentElement.Attributes.RemoveAll". If you only have a single object serialized, the results will look like this:&lt;/p&gt;

&lt;pre&gt;
&amp;lt;?xml version="1.0"?&amp;gt;
&amp;lt;StringBuilder&amp;gt;
  &amp;lt;Capacity&amp;gt;16&amp;lt;/Capacity&amp;gt;
  &amp;lt;Length&amp;gt;0&amp;lt;/Length&amp;gt;
&amp;lt;/StringBuilder&amp;gt;
&lt;/pre&gt;

&lt;p&gt;The only problem with this code is that if you have multiple objects to serialize, you would need to repeat the call to the RemoveAll method for all top-level elements. Good luck!&lt;/p&gt;</description>
      <pubDate>Thu, 15 Feb 2007 18:00:16 GMT</pubDate>
      <guid>a06226e9-7c5e-420b-8151-f3be1d9fbc61</guid>
    </item>
    <item>
      <title>Hotfixes available for Borland Delphi</title>
      <link>http://dn.codegear.com/article/34049</link>
      <description>&lt;p&gt;CodeGear (Borland's new subsidiary) has &lt;a href="http://dn.codegear.com/article/34049"&gt;today announced&lt;/a&gt; a new set of hotfixes for the Borland Developer Studio (BDS) product, including Delphi, C++Builder and the Turbo products.&lt;/p&gt;

&lt;p&gt;CodeGear's Developer Newtork &lt;a href="http://dn.codegear.com/article/34049"&gt;article 34049&lt;/a&gt; contains download links to the patches and also lists briefly what has been fixed.&lt;/p&gt;</description>
      <pubDate>Tue, 13 Feb 2007 14:47:34 GMT</pubDate>
      <guid>171cd7b8-cbc8-4daa-9f7a-43666c860a05</guid>
    </item>
    <item>
      <title>Vista kernel internals from TechNet Magazine Feb/2007</title>
      <link>http://www.microsoft.com/technet/technetmag/issues/2007/02/VistaKernel/</link>
      <description>&lt;p&gt;Mark Russinovich has started a new article series on the &lt;a href="http://www.microsoft.com/technet/technetmag/"&gt;TechNet Magazine&lt;/a&gt; about Windows Vista's new kernel, and the enhancements and features thereof. The first article is now available at the February 2007 issue of the magazine, and is titled "Inside the Windows Vista Kernel: Part 1". The article is also naturally &lt;a href="http://www.microsoft.com/technet/technetmag/issues/2007/02/VistaKernel/"&gt;available online&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Yes, the TechNet Magazine is mainly for IT professionals, but that doesn't mean developers should avoid it. Instead, I've found many very interesting articles in it, which have also helped me to design better applications. And Mark's latest article doesn't fail in that perspective. Recommended reading!&lt;/p&gt;</description>
      <pubDate>Mon, 12 Feb 2007 07:23:56 GMT</pubDate>
      <guid>e625a173-d39e-47a9-9da3-dcb5698d2c43</guid>
    </item>
    <item>
      <title>Features planned for Visual Studio "Orcas"</title>
      <link>http://msdn2.microsoft.com/en-us/vstudio/aa948851.aspx</link>
      <description>&lt;p&gt;I found on MSDN a page that interests me greatly: "&lt;a href="http://msdn2.microsoft.com/en-us/vstudio/aa948851.aspx"&gt;Feature Specifications for Visual Studio and .NET Framework Orcas&lt;/a&gt;". This page contains a link to about 35 specifications and feature ideas about the forth-coming Visual Studio version/codename "Orcas". For instance, there's a plan to make Visual Studio support multiple framework versions with a project option, as detailed in the "&lt;a href="http://download.microsoft.com/download/5/9/c/59cd0dc5-4691-4c3e-840c-66d865f27692/psuedo-multi-targetting.xps"&gt;Pseudo Multi-targetting&lt;/a&gt;" document.&lt;/p&gt;

&lt;p&gt;Note that all the documents are in XPS format (XML Paper Specification), which requires you to install .NET Framework 3.0 so that you get the reader for these documents (if you are not using Vista already). But as an avid .NET developer, you probably already have .NET 3.0 isntalled. :-)&lt;/p&gt;</description>
      <pubDate>Fri, 09 Feb 2007 14:23:21 GMT</pubDate>
      <guid>8ac0a82d-9fea-4133-8cf9-b20f5cc8b30c</guid>
    </item>
    <item>
      <title>ASP.NET AJAX finally ready and available for download</title>
      <link>http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&amp;DisplayLang=en</link>
      <description>&lt;p&gt;Finally, Ajax for ASP.NET 2.0 developers! Microsoft has just recently announced the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&amp;DisplayLang=en"&gt;availability&lt;/a&gt; of ASP.NET AJAX, version 1.0. Go download your copy today and start enhancing those C#/VB.NET web applications!&lt;/p&gt;</description>
      <pubDate>Wed, 07 Feb 2007 17:38:42 GMT</pubDate>
      <guid>ceba464b-a60e-4f02-8de5-10a54618744e</guid>
    </item>
    <item>
      <title>Testing Expression Design Beta 1</title>
      <link>http://www.microsoft.com/products/expression/en/expression-design/default.mspx</link>
      <description>&lt;p&gt;I recently downloaded the latest publicly available beta of Microsoft &lt;a href="http://www.microsoft.com/products/expression/en/expression-design/default.mspx"&gt;Expression Designer&lt;/a&gt;, which at this time is Beta 1. The beta itself is easy to install, however I had some real trouble to install the pre-requirements (.NET 3.0) on a Windows XP machine that had had several beta versions of .NET installed. Nonetheless, I got it working in the end.&lt;/p&gt;

&lt;p&gt;The Expression product appears to work pretty well for a beta release, and I found the interface to be quite intuitive. Feels like an old Adobe product called ImageStyler, which I liked a lot for its simplicity. It is also very neat to be able to use the Edit / Copy XAML command (Ctrl+Shift+C) to copy any object(s) to the clipboard in XAML format, or simply export the whole drawing (file) as a XAML file.&lt;/p&gt;

&lt;p&gt;You can download your own beta 1 release from Microsoft's &lt;a href="http://www.microsoft.com/products/expression/en/expression-design/free-trial.mspx"&gt;web site&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Tue, 06 Feb 2007 15:04:56 GMT</pubDate>
      <guid>0a27fb55-32ef-40cb-b7e0-a1101be38af1</guid>
    </item>
    <item>
      <title>Good introduction to VS 2005 for Database Professionals</title>
      <link>http://msdn.microsoft.com/msdnmag/issues/07/02/TeamEdition/default.aspx</link>
      <description>&lt;p&gt;The &lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/02/"&gt;latest issue&lt;/a&gt; of the MSDN Magazine has a good &lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/02/TeamEdition/default.aspx"&gt;introductory article&lt;/a&gt; about Microsoft's new tool for (SQL Server) database users: Visual Studio 2005 Team Edition for Database Professionals.&lt;/p&gt;

&lt;p&gt;Among other things, this new program, aimed at database people, allows them to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Store database code and scripts into a Team Foundation Server (TFS) source control database,&lt;/li&gt;
&lt;li&gt;Modify and maintain the database objects, like tables,&lt;/li&gt;
&lt;li&gt;Generate test data into the tables and views,&lt;/li&gt;
&lt;li&gt;and Unit Test stored procedures.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sounds like a good plan to me.&lt;/p&gt;</description>
      <pubDate>Sat, 03 Feb 2007 13:39:57 GMT</pubDate>
      <guid>85f57497-04b1-4d34-997e-c11c2b7f8bb1</guid>
    </item>
    <item>
      <title>The US Keyboard Layout</title>
      <link>http://en.wikipedia.org/wiki/Keyboard_layout</link>
      <description>&lt;p&gt;There are times when one needs to use the US keyboard layout on a non-US keyboard, and that can cause problems when you can't recall from the top of the head how to get letters such as [, ], \ and ? typed in.&lt;/p&gt;

&lt;p&gt;Now, Wikipedia has a &lt;a href="http://en.wikipedia.org/wiki/Keyboard_layout"&gt;great article&lt;/a&gt; about the different keyboard layouts, and this article also has pictures of many of the available keyboard layouts, including United States, US-International and the one I use here, the Finnish/Swedish layout. Just for the future reference, here's a shot of the US keyboard layout:&lt;/p&gt;

&lt;p&gt;&lt;img src="images/2007_feb_us_keyboard_layout.png"&gt;&lt;/p&gt;</description>
      <pubDate>Sat, 03 Feb 2007 06:06:28 GMT</pubDate>
      <guid>a0796333-fff8-4608-94f7-6fabc183b8e5</guid>
    </item>
    <item>
      <title>New photo and archived article</title>
      <link>http://www.saunalahti.fi/janij/publications/archive/screen_savers_in_win95.html</link>
      <description>&lt;p&gt;It's February already! A quick update for today: a new "altered" &lt;a href="http://www.saunalahti.fi/janij/photos/altered_0005.html"&gt;photo&lt;/a&gt; has been posted, and I've also rescued &lt;a href="http://www.saunalahti.fi/janij/publications/archive/screen_savers_in_win95.html"&gt;one more archived article&lt;/a&gt; from 1998 onto my Publications page. The article is titled "How To: Screen Savers in Win95 ", and as the name suggests, this article talks about using Delphi 2 (from 1996!) to write screen savers without using the VCL. Enjoy!&lt;/p&gt;</description>
      <pubDate>Thu, 01 Feb 2007 15:49:12 GMT</pubDate>
      <guid>b6c9f5d1-afda-4af7-9d35-1ad666d737b1</guid>
    </item>
    <item>
      <title>A free .NET book from Charles Petzold</title>
      <link>http://www.charlespetzold.com/</link>
      <description>&lt;p&gt;I learned earlier this week that &lt;a href="http://www.charlespetzold.com/"&gt;Charles Petzold&lt;/a&gt;, one of &lt;i&gt;THE&lt;/i&gt; C/C++ programmers and Windows specialists, has published a new, free eBook for .NET developers that covers the basics of the environment. It is called ".NET Book Zero", and is available from &lt;a href="http://www.charlespetzold.com/dotnet/index.html"&gt;his site&lt;/a&gt; in PDF and XPS formats. Go download your copy today! Thanks JH for the tip.&lt;/p&gt;</description>
      <pubDate>Wed, 31 Jan 2007 14:40:22 GMT</pubDate>
      <guid>f0021734-8c21-4dc1-b17f-82297db4ad5d</guid>
    </item>
    <item>
      <title>HD Photo, a new file format from Microsoft</title>
      <link>http://www.microsoft.com/windows/windowsmedia/forpros/wmphoto/</link>
      <description>&lt;p&gt;Another digital photography related post, but also interesting for software developers: Microsoft has announced a new file format for high-definition still images (think photographs) called "&lt;a href="http://www.microsoft.com/windows/windowsmedia/forpros/wmphoto/"&gt;HD Photo&lt;/a&gt;", which was formely called Windows Media Photo.&lt;/p&gt;

&lt;p&gt;This file format is the "JPEG killer" that Microsoft proposes as the future native file format for digital cameras. (Another is Adobe's DNG, but that's a different story.)&lt;/p&gt;

&lt;p&gt;For us programmers, the interesting thing is that .NET Frameworks 3.0 can be used to manipulate HD Photo files, however I'm yet to check which APIs these would be. CNET News also has &lt;a href="http://news.com.com/2100-1045_3-6153730.html?part=rss&amp;tag=2547-1_3-0-5&amp;subj=news"&gt;a report&lt;/a&gt; about the new file format.&lt;/p&gt;</description>
      <pubDate>Mon, 29 Jan 2007 08:39:31 GMT</pubDate>
      <guid>095e747d-ed3f-451e-b88f-be21ca11fce7</guid>
    </item>
    <item>
      <title>A free digital photo information tool from Microsoft</title>
      <link>http://www.microsoft.com/windowsxp/using/digitalphotography/prophoto/photoinfo.mspx</link>
      <description>&lt;p&gt;Microsoft has announced the availability of a new free tool called "&lt;a href="http://www.microsoft.com/windowsxp/using/digitalphotography/prophoto/photoinfo.mspx"&gt;Photo Info 1.0&lt;/a&gt;." This tool is useful for photographers (and why not for programmers as well, why need to manipulate or use digital photos in their applications), as it allows to "add, change and delete common metadata properties for digital photographs from inside Windows Explorer."&lt;/p&gt;

&lt;p&gt;The tool supports JPEG, TIFF, WDP, HDP (HD Photo), NEF and Canon CR2 files, and can be downloaded from Microsoft's &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=B038D4B5-1D88-437C-9F54-1FB0D210B5EF"&gt;web site&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Sat, 27 Jan 2007 05:38:08 GMT</pubDate>
      <guid>eb9ca7bc-51db-440a-806d-7e710998cbdd</guid>
    </item>
    <item>
      <title>Bringing back the Delphi classics: my articles from 1996-1998 again available</title>
      <link>http://www.saunalahti.fi/janij/publications/</link>
      <description>&lt;p&gt;If you are a long-time Delphi enthusiast, you might recall the mid-to-late 90s when Delphi 1 and 2 rocked the 16-bit and 32-bit Windows development. At that time, in 1996 to 1998, I maintainced a site similar to this one you are reading now, but because of changing computers and migrating from floppy-based backups to tape/optical media (yes, it's true), I didn't bother to copy the old articles to one of the new looks of the site about 10 year ago.&lt;/p&gt;

&lt;p&gt;Still, even today I receive requests from time to time whether I would have a copy of these articles. For example, my semi-legendary article about my MMX assembler for Delphi 2 is one of the top-requested articles, and thus I took a time machine and went and fetched the old articles back.&lt;/p&gt;

&lt;p&gt;So here you go: the first two articles I rescued from the mists of time:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.saunalahti.fi/janij/publications/archive/mmx_and_delphi_2.html"&gt;How To: MMX instructions with Delphi 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.saunalahti.fi/janij/publications/archive/delphi_2_open_tools_api_intro.html"&gt;How To: Delphi 2.0 Open Tools API Programming Intro&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I've also uploaded the links to these articled to my &lt;a href="http://www.saunalahti.fi/janij/publications/"&gt;Publications page&lt;/a&gt;, where I've a created a new section named "Archive". Enjoy!&lt;/p&gt;</description>
      <pubDate>Fri, 26 Jan 2007 17:44:30 GMT</pubDate>
      <guid>3de420b7-eb4e-42f7-a535-603abec73e2c</guid>
    </item>
    <item>
      <title>My HDR photography article in Tietokone</title>
      <link>http://www.tietokone.fi/</link>
      <description>&lt;p&gt;The January 2007 issue of the Finnish &lt;a href="http://www.tietokone.fi/"&gt;Tietokone magazine&lt;/a&gt; has my HDR photography article (High Dynamic Range) on pages 68-69. Enjoy!&lt;/p&gt;</description>
      <pubDate>Thu, 25 Jan 2007 16:28:57 GMT</pubDate>
      <guid>6dc57ec5-2ccc-463f-acd8-43f6c36d13c0</guid>
    </item>
    <item>
      <title>Download a book excerpt to learn Windows Presentation Foundation</title>
      <link>http://www.theserverside.net/tt/articles/showarticle.tss?id=WPFUnleashedBook</link>
      <description>&lt;p&gt;I was reading TheServiceSide.net today when I noticed that they offer a &lt;a href="http://www.theserverside.net/tt/articles/showarticle.tss?id=WPFUnleashedBook"&gt;free download&lt;/a&gt; of an excerpt of Adam Nathan's book, "Windows Presentation Foundation Unleashed". You can download the book's Chapter 3, "Important New Concepts in WPF" (about 35 pages) in &lt;a href="http://www.theserverside.net/tt/books/sams/WPFUnleashed/WPFUnleashedBook.pdf"&gt;PDF format&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Thu, 25 Jan 2007 15:14:31 GMT</pubDate>
      <guid>b9fd4f1d-5404-4b5a-8242-47b41f926f81</guid>
    </item>
    <item>
      <title>Nostalgy: the legendary role playing game: Rogue</title>
      <link>http://www.classicgaming.com/rotw/rogue.shtml</link>
      <description>&lt;p&gt;Back in the 1990s, ASCII based games (or, should I say ANSI?) were popular, and among them the classic "&lt;a href="http://en.wikipedia.org/wiki/Rogue_%28computer_game%29"&gt;Rogue&lt;/a&gt;", which was a role-playing game (RPG) and a Dungeons &amp; Dragons clone on the PC. As you can guess, I used to play the game quite often back then, but since I moved to Windows and another PCs, my Rogue game was lost, and I didn't have the time to dig it from my backup floppies. I don't know where I got the idea just today, but I found out that I missed by Rogue sessions, so it was time to find the game from the Internet. Luckily, I was able to succeed.&lt;/p&gt;

&lt;p&gt;To get started with Rogue, you can download Rogue for MS-DOS (works also under Windows XP/Vista) as a ZIP file from &lt;a href="http://www.classicgaming.com/rotw/roms/rogue.zip"&gt;ClassicGaming.com&lt;/a&gt;, and also directly from &lt;a href="files/rogue_msdos.zip"&gt;my site&lt;/a&gt;, in case the download link becomes unavailable in the mists of time. Happy gaming!&lt;/p&gt;

&lt;p&gt;(It would be also interesting to port Rogue to C# and Windows Presentation Foundation. Volunteers, anybody?)&lt;/p&gt;</description>
      <pubDate>Wed, 24 Jan 2007 15:05:50 GMT</pubDate>
      <guid>5bf6de74-1a4f-4d96-b95c-419a3e3fab54</guid>
    </item>
    <item>
      <title>List of bugs fixed in Fixed in Visual Studio 2005 SP 1</title>
      <link>http://connect.microsoft.com/VisualStudio/content/content.aspx?ContentID=4324</link>
      <description>&lt;p&gt;Microsoft has announced &lt;a href="http://connect.microsoft.com/VisualStudio/content/content.aspx?ContentID=4324"&gt;a list&lt;/a&gt; of customer-reported bugs in Visual Studio 2005, that were fixed in &lt;a href="http://msdn.microsoft.com/vstudio/support/vs2005sp1/default.aspx"&gt;Service Pack 1&lt;/a&gt;. The list contains almost 400 bugs, which is a great indication why you should report bugs that you find (or vote for them, in case they are already reported), instead of letting "somebody else" report it.&lt;/p&gt;</description>
      <pubDate>Mon, 22 Jan 2007 15:03:12 GMT</pubDate>
      <guid>f06a4bbe-976a-4b62-af29-c240474db810</guid>
    </item>
    <item>
      <title>Where is your blog located geographically?</title>
      <link>http://www.feedmap.net/BlogMap/</link>
      <description>&lt;p&gt;I recently learned about a new service for bloggers called &lt;a href="http://www.feedmap.net/BlogMap/"&gt;FeedMap&lt;/a&gt;, which takes your blog feed URL, and locates it on a map, given your manual help, or special tags on your web site. Kind of a cool invention, but when I tried it myself, I wasn't able to correctly pinpoint my blog location (my home, actually), since the pointer always updated it about half a mile in the wrong direction. But nonetheless, it looks nice to have a map. :-)&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description>
      <pubDate>Fri, 19 Jan 2007 14:17:56 GMT</pubDate>
      <guid>2a76b025-b0c1-4c16-af62-637d33fa3f7e</guid>
    </item>
    <item>
      <title>Next Delphi version to use the MSBuild engine</title>
      <link>http://blogs.codegear.com/ddean/archive/2007/01/15/31379.aspx</link>
      <description>&lt;p&gt;I was just reading the Borland/CodeGear blogs, when I noticed that there was &lt;a href="http://blogs.codegear.com/ddean/archive/2007/01/15/31379.aspx"&gt;an entry&lt;/a&gt; pointing to what Nick Hodges (Delphi Product Manager) had said about the forth-coming version of Delphi, codenamed Highlander. Nick mentioned that Delphi will in the future be using Microsoft's &lt;a href="http://msdn2.microsoft.com/en-us/library/ms171452.aspx"&gt;MSBuild&lt;/a&gt; engine/platform for building projects, which should be great news for developers wanting to better customize and and automate builds (one hand up here). Good going, CodeGear.&lt;/p&gt;</description>
      <pubDate>Thu, 18 Jan 2007 17:04:43 GMT</pubDate>
      <guid>5478b9b9-98f8-494c-9f16-d93809d68470</guid>
    </item>
    <item>
      <title>Finnish MVP Summit at Luosto, Lapland</title>
      <link>http://www.luosto.fi/</link>
      <description>&lt;p&gt;Microsoft Finland arranged earlier this week an MVP Summit for Finnish MVPs and candidates. In addition, many &lt;a href="http://itpro.fi/"&gt;ITpro.fi&lt;/a&gt; group leaders were present, and we brainstormed future developments regarding the site and the Finnish IT professional communities. The location was &lt;a href="http://www.luosto.fi/"&gt;Luosto&lt;/a&gt; in Finnish Lapland, and good weather graced us there. Thanks a lot to Janne &amp; Nina for the arrangements and the possibility to be there, and thanks to everybody else foor good company!&lt;/p&gt;</description>
      <pubDate>Thu, 18 Jan 2007 16:50:26 GMT</pubDate>
      <guid>cb1956d6-fdb3-4708-9f23-671e60f04405</guid>
    </item>
    <item>
      <title>Converting a local path to an UNC path with WNetGetUniversalName from C#</title>
      <link>http://msdn2.microsoft.com/en-us/library/aa385474.aspx</link>
      <description>&lt;p&gt;Using shared (mapped) network drives is common in many organizations, but sometimes you want to convert the local path (say, U:\) to the UNC path and share name to become computer-independent. The Windows Win32 API has the function named WNetGetUniversalName that is able to do such a conversion, but how would you call this method from managed code? Here's the solution.&lt;/p&gt;

&lt;p&gt;Firstly, you need to define the function WNetGetUniversalName as an external function so that you can use using .NET P/Invoke. The function declaration is:&lt;/p&gt;

&lt;pre&gt;
[DllImport("mpr.dll")]
public static extern int WNetGetUniversalName(
  string lpLocalPath,
  int dwInfoLevel,
  ref StringBuilder lpBuffer,
  ref int lpBufferSize);
&lt;/pre&gt;

&lt;p&gt;Next, you will need several constants to help you with this function:&lt;/p&gt;

&lt;pre&gt;
const int UNIVERSAL_NAME_INFO_LEVEL = 1;
const int ERROR_MORE_DATA = 234;
// optional:
const int ERROR_NOT_CONNECTED = 2250;
const int MAX_PATH = 260;
&lt;/pre&gt;

&lt;p&gt;Here, only the first two constants are needed, but the two latter can be useful as well. For example, if you pass in an invalid network share name, such as one that doesn't exist, WNetGetUniversalName will return ERROR_NOT_CONNECTED (2250).&lt;/p&gt;

&lt;p&gt;Now then, here's a wrapper around the said API function:&lt;/p&gt;

&lt;pre&gt;
public string ConvertLocalPathToUnc(
  string localPath)
{
  StringBuilder buffer = new StringBuilder();
  int size = 0;
  // First call WNetGetUniversalName with an
  // empty buffer to get size of buffer needed.
  int retVal = WNetGetUniversalName(
    localPath, UNIVERSAL_NAME_INFO_LEVEL,
    ref buffer, ref size);
  if (retVal == ERROR_MORE_DATA)
  {
    // WNetGetUniversalName returns the space
    // needed in size, now allocate space for a
    // buffer of this size.
    buffer = new StringBuilder(size);
    retVal = WNetGetUniversalName(
      localPath, UNIVERSAL_NAME_INFO_LEVEL,
      ref buffer, ref size);
    if (retVal != 0)
    {
      throw new Win32Exception(retVal);
    }
  }
  else
  {
    throw new Win32Exception(retVal);
  }
  return buffer.ToString();
}
&lt;/pre&gt;

&lt;p&gt;Here, I'm first calling WNetGetUniversalName with a buffer of zero size, in which case WNetGetUniversalName returns the proper size of the buffer needed. Then I re-allocate a StringBuilder object with the given size, and call WNetGetUniversalName again. If errors occur, the code raises a Win32Exception. For example, in the case of the ERROR_NOT_CONNECTED error, the exception message is "This network connection does not exist."&lt;/p&gt;

&lt;p&gt;Finally, here's an example how to call the ConvertLocalPathToUnc method:&lt;/p&gt;

&lt;pre&gt;
string localPath = "U:\\";
string unc = ConvertLocalPathToUnc(localPath);
MessageBox.Show(localPath + " = " + unc);
&lt;/pre&gt;

&lt;p&gt;This would simply display on the screen a message box with text similar to the following:&lt;/p&gt;

&lt;pre&gt;
U:\ = \\myserver\myshare\
&lt;/pre&gt;

&lt;p&gt;Keywords: howto, c#, .net, how to convert path to unc, get unc path from local path, network path, network share&lt;/p&gt;</description>
      <pubDate>Sat, 13 Jan 2007 09:47:07 GMT</pubDate>
      <guid>597029da-14b0-4128-9ef3-2b7424e2b855</guid>
    </item>
    <item>
      <title>Interesting list of C# and Delphi blogs</title>
      <link>http://blogs.msdn.com/charlie/archive/2006/09/06/743286.aspx</link>
      <description>&lt;p&gt;I was surfing the Internet for C# information, and learned that Charlie Calvert from Microsoft (and ex-Borlander) has &lt;a href="http://blogs.msdn.com/charlie/archive/2006/09/06/743286.aspx"&gt;a nice list&lt;/a&gt; of C# bloggers, mostly from the Microsoft Visual Studio team.&lt;/p&gt;

&lt;p&gt;I also today learned about a new Borland/CodeGear related Delphi web site, that tries to aggregate all "important" Delphi blogs into one feed. The site can be found at &lt;a href="http://www.delphifeeds.com/"&gt;DelphiFeeds.com&lt;/a&gt;. The site also monitors the Delphi newsgroups.&lt;/p&gt;

&lt;p&gt;Happy reading!&lt;/p&gt;</description>
      <pubDate>Fri, 12 Jan 2007 15:20:43 GMT</pubDate>
      <guid>2cd54651-1503-405c-bef5-6520a7ca6ed5</guid>
    </item>
    <item>
      <title>SQL Server connection strings and ADO.NET</title>
      <link>
      </link>
      <description>&lt;p&gt;When you are connecting to a SQL Server 2005 database with ADO.NET using for example C# or Delphi, the IDEs are able to build default connection strings easily. For example, to connect to a server named "SERV-DB" and the database "SALES", you would use a connection string like the following (on a single line):&lt;/p&gt;

&lt;pre&gt;
Data Source=SERV-DB;Initial Catalog=SALES;
User ID=myname;Password=mypassword;
&lt;/pre&gt;

&lt;p&gt;However, things get tricky when your database server hosts multiple SQL Server instances, each of which must run on different TCP/IP ports. In such a case, it is difficult (it was, for me at least) to find the proper documentation how to do this properly. For example, your database administrator might tell to you that the SQL Server instance you need to connect to is named "ERP" and the TCP/IP port number would be 1386 and not 1433, which is the default port for the default instance.&lt;/p&gt;

&lt;p&gt;In such a case, you need to specify the instance name and the port number in the "Data Source" atrribute of the connection string as follows: "&lt;b&gt;Data Source=servername\instance,port&lt;/b&gt;". Given the above example names, the full connection string would be the following. Note how you should also specify the network library as "dbmssocn" (the socket library) so that the ADO.NET provider knows that you want to connect using TCP/IP:&lt;/p&gt;

&lt;pre&gt;
Data Source=SERV-DB\ERP,1386;Initial Catalog=SALES;
Network Library=dbmssocn;User ID=myname;Password=mypassword;
&lt;/pre&gt;

&lt;p&gt;That should solve your connection string problems.&lt;/p&gt;

&lt;p&gt;Keywords: howto, specify sql server instance and port number, connect to different instance, change sql server port, ado.net connection string.&lt;/p&gt;</description>
      <pubDate>Wed, 10 Jan 2007 14:52:30 GMT</pubDate>
      <guid>b0bccd01-48b1-4486-aebe-3712c3280e76</guid>
    </item>
    <item>
      <title>My Windows Vista article in TDM</title>
      <link>http://www.thedelphimagazine.com/</link>
      <description>&lt;p&gt;The latest issue 137 of  The Delphi Magazine (TDM) has published my article "What's New In Windows Vista?". This article takes a deep dive into the new features and APIs that exist in Windows Vista. I did aim the article especially for Win32 developers, since Borland/CodeGear doesn't yet have much to offer for .NET 2.0/3.0 (ex-WinFX) developers.&lt;/p&gt;

&lt;p&gt;I hope you enjoy the article. As always, feedback is welcome.&lt;/p&gt;</description>
      <pubDate>Mon, 08 Jan 2007 18:29:09 GMT</pubDate>
      <guid>6535fc18-5752-426b-af9e-a16eb8cb42cc</guid>
    </item>
    <item>
      <title>Microsoft Word turns 18</title>
      <link>http://www.eweek.com/article2/0,1759,2079181,00.asp?kc=EWRSS03119TX1K0000594</link>
      <description>&lt;p&gt;Although I use either Borland/CodeGear Delphi or Visual Studio almost every day, there's one application I probably use even more often: word processing. And in my case, this application is Microsoft Word (when I'm not using Notepad or &lt;a href="http://www.ultraedit.com/"&gt;UltraEdit&lt;/a&gt;). Word has recently come to the respectable age of 18 years, as &lt;a href="http://www.eweek.com/article2/0,1759,2079181,00.asp?kc=EWRSS03119TX1K0000594"&gt;eWeek reports&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;When you think about it, no matter how hard-core programmer you are, you probably need to use Word at least from time to time: for e-mail (if you use Outlook+Word for that), documentation, specifications, and so forth. Although the essentials of word processing haven't changed much since the first version of Word for Windows, the fact that Word is today very customizable piece of software and also highly programmable, makes it more than just a word processor. In fact, some ISVs have integrated their applications to Office platform so deeply, that the user doesn't need to step away from Word, Excel or Outlook. Developing add-ins and solutions for 2007 Office System is something I definitely want to investigate further this year. Stay tuned!&lt;/p&gt;</description>
      <pubDate>Sat, 06 Jan 2007 09:32:59 GMT</pubDate>
      <guid>4d4de447-8ff6-435b-bd60-3463a762eeb4</guid>
    </item>
    <item>
      <title>Programmers again to blame of bad user experience</title>
      <link>http://www.eweek.com/article2/0,1759,2078496,00.asp?kc=EWRSS03119TX1K0000594</link>
      <description>&lt;p&gt;If you are designing software with a GUI or developing web applications, you need to take into consideration how your users view and use your solution. The adage that "software is too difficult to use" is so old that many of us sometimes overlook it, especially when people with seemingly little understanding about IT complain about it.&lt;/p&gt;

&lt;p&gt;But, there's still something to think about as eWeek reports. These articles always seem to start in the same way, but if you have the endurance to read to the end of the &lt;a href="http://www.eweek.com/article2/0,1759,2078496,00.asp?kc=EWRSS03119TX1K0000594"&gt;article&lt;/a&gt;, you will find the discussion about providing options to users.&lt;/p&gt;

&lt;p&gt;As developers and often also technology enthusiasts, we like control. Giving the user the option to customize your application and set options/preferences is good for us, but not often so to the average user. Too little options can make the "power users" skip your program, and too many can make the basic users complain about difficulty. Something to think about.&lt;/p&gt; 
&lt;p&gt;In case you haven't yet made your New Year's Resolution, this is a good one: let us try to write application that even more users find easy to us. But of course, you can't always please everybody.&lt;/p&gt;</description>
      <pubDate>Wed, 03 Jan 2007 15:04:39 GMT</pubDate>
      <guid>b9d11f28-7e47-42f5-a831-6d2226f47b6d</guid>
    </item>
    <item>
      <title>So you thought development tools couldn't be a security risk?</title>
      <link>http://www.microsoft.com/technet/security/bulletin/ms06-073.mspx</link>
      <description>&lt;p&gt;Happy New Year 2007 to everybody! If you're reading this through your RSS reader, then you have successfully changed the URL of my blog.&lt;/p&gt;

&lt;p&gt;Back to business then: when we develop software, we usually don't think that the development tool could be itself a security risk, while we still understand that the applications we write can become security risks if not written properly. However, modern development tools are complex applications, and thus can be vulnerable just as any other application.&lt;/p&gt;

&lt;p&gt;For example, your loved Visual Studio 2005 has a security issue that affects the Professional and Team Editions. Microsoft has released the Security Bulletin &lt;a href="http://www.microsoft.com/technet/security/bulletin/ms06-073.mspx"&gt;MS06-073&lt;/a&gt; regarding this issue in December. If you haven't applied this patch, now would be a good time to do so.&lt;/p&gt;</description>
      <pubDate>Tue, 02 Jan 2007 14:11:49 GMT</pubDate>
      <guid>a1ff4a53-4b75-45b1-ba39-2256357f9b2d</guid>
    </item>
  </channel>
</rss>
