﻿<?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. Read on to learn my views about work, programming, photography, biking, music and life in general. The views represented here are strictly my own, and do not necessarily reflect those of my employer.</description>
    <language>en-us</language>
    <pubDate>Sun, 26 Dec 2004 10:49:24 GMT</pubDate>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>180</ttl>
    <item>
      <title>One year of blogging</title>
      <link>
      </link>
      <description>&lt;p&gt;It's exactly one year since I started blogging. Unfortunately, I cannot see access statistics for the web server I'm using, but based on the feedback I've got, I assume people are happy with this blog.&lt;/p&gt;

&lt;p&gt;Keep those comments coming, and have a Prosperous New Year 2005!&lt;/p&gt;</description>
      <pubDate>Sun, 26 Dec 2004 10:49:24 GMT</pubDate>
      <guid>f2221b10-341c-422a-ac92-3126ee5e7680</guid>
    </item>
    <item>
      <title>Concurrency issues in BDE.NET?</title>
      <link>
      </link>
      <description>&lt;p&gt;A data manipulation application does pretty heavy reading of a networked Paradox table, and since I'm using Delphi and .NET to access the database, BDE.NET is my natural choice.&lt;/p&gt;

&lt;p&gt;But, the application has not been behaving well, and crashes or locks up randomly. I've tried searching high and low for the cause, but haven't found any major errors in my code -- I even tried to rewrite parts of it to see if that would help -- but it didn't.&lt;/p&gt;

&lt;p&gt;But, I have a new idea. Whenever there are multiple users working with the database, the errors occur. If nobody else is using the databases, my application runs perfectly, multiple times, and without a glitch.&lt;/p&gt;

&lt;p&gt;This leaves me to a partial conclusion that there might be concurrency issues in BDE.NET. So if you have similar symptoms, this might be the cause. It remains to be seen if the Delphi 2005 Update 1 is of any help here.&lt;/p&gt;</description>
      <pubDate>Wed, 22 Dec 2004 15:31:22 GMT</pubDate>
      <guid>244c086d-d31c-4b28-8ace-aa456ed0659a</guid>
    </item>
    <item>
      <title>Microsoft Message Queue programming</title>
      <link>http://www.microsoft.com/windows2000/technologies/communications/msmq/default.asp</link>
      <description>&lt;p&gt;I needed a way to send messages from one application to another in an asynchronous fashion, and I was lazy. I didn't want to set up any databases for the task, so somehow I started thinking about Microsoft Message Queue (MSMQ).&lt;/p&gt;

&lt;p&gt;Again, .NET framework provides nice and easy support for MSMQ programming, and so I found a class in the System.Messaging namespace to do the task for me.&lt;/p&gt;

&lt;p&gt;But, our client application is a Win32 application, so it will be only next week when I get to know if these two worlds can work together. They should, but whether there will be compatibility issues, I don't yet know.&lt;/p&gt;</description>
      <pubDate>Tue, 21 Dec 2004 15:20:03 GMT</pubDate>
      <guid>d283dc54-df09-41c4-8fd7-40e23f6dd747</guid>
    </item>
    <item>
      <title>ASP.NET ViewState details</title>
      <link>http://msdn.microsoft.com/msdnmag/issues/03/02/CuttingEdge/</link>
      <description>&lt;p&gt;Dino Esposito's February 2003 article about ASP.NET ViewState is still valid today.&lt;/p&gt;

&lt;p&gt;Since I needed a bit more details about this great feature of ASP.NET earlier this week for my Delphi application, I decided to share the link.&lt;/p&gt;</description>
      <pubDate>Sun, 19 Dec 2004 16:20:31 GMT</pubDate>
      <guid>f5c89f3b-4692-4461-a5af-3b08b8bef64a</guid>
    </item>
    <item>
      <title>The AlternatingItemTemplate</title>
      <link>
      </link>
      <description>&lt;p&gt;If you are using the ASP.NET Repeater web control, it is a common need to make sure every other is either white or gray.&lt;/p&gt;

&lt;p&gt;The best way to do this is to use the AlternatingItemTemplate template tag with the ASP:Repeater control.&lt;/p&gt;

&lt;p&gt;This way, you don't need to write the color stuff in code.&lt;/p&gt;

&lt;p&gt;But the thing is that it's way too easy to forget about AlternatingItemTemplate! So you have been warned.&lt;/p&gt;</description>
      <pubDate>Sat, 18 Dec 2004 12:55:37 GMT</pubDate>
      <guid>c83f8a32-4a65-40d0-a8b6-6f3643659ccd</guid>
    </item>
    <item>
      <title>A simple list of English idioms</title>
      <link>http://www.goenglish.com/</link>
      <description>&lt;p&gt;If you are a non-native English speaker, the idioms of the language can be those that are the most difficult to master, especially if you don't live in England or USA.&lt;/p&gt;

&lt;p&gt;But, some little help is available on the Internet, and one page I happen to browse from time to time is called GoEnglish.com.&lt;/p&gt;</description>
      <pubDate>Sat, 18 Dec 2004 07:26:51 GMT</pubDate>
      <guid>0081cdee-536f-405d-b1b6-c0c124953ac2</guid>
    </item>
    <item>
      <title>Excellent intro to ASP.NET databinding</title>
      <link>http://openmymind.net/databinding/index.html</link>
      <description>&lt;p&gt;Databinding in ASP.NET is probably one of the most-questioned thing when it comes to showing data on ASPX pages.&lt;/p&gt;

&lt;p&gt;I found a nice page on the Internet about ASP.NET databinding just today. This is a great introductory article by Karl Seguin. Check it out.&lt;/p&gt;</description>
      <pubDate>Sat, 18 Dec 2004 06:09:08 GMT</pubDate>
      <guid>0fc64578-45fb-4b6c-a4f1-9f5136c7adf7</guid>
    </item>
    <item>
      <title>Columns for the Prosessori magazine</title>
      <link>http://www.prosessori.fi/</link>
      <description>&lt;p&gt;The Managing News Editor of the Finnish Prosessori magazine gave a call to me today, and asked whether I would like to start writing their new column about programming and software development.&lt;/p&gt;

&lt;p&gt;Naturally, I accepted their proposal, for the column suits me just fine.&lt;/p&gt;

&lt;p&gt;If you are reading Prosessori, look for the future columns.&lt;/p&gt;</description>
      <pubDate>Fri, 17 Dec 2004 15:09:40 GMT</pubDate>
      <guid>1ee035f5-d599-4e72-a250-140b951f7ab2</guid>
    </item>
    <item>
      <title>Registered myself to Codezone</title>
      <link>http://www.codezone.fi/</link>
      <description>&lt;p&gt;I heard from Microsoft on Monday, that they are going to launch a software development (i.e. .NET) related peer-to-peer web site named Codezone FI.&lt;/p&gt;

&lt;p&gt;Currently, the site is under construction, but should be ready for full use in maybe month of two I believe. I registered myself there as a member today.&lt;/p&gt;</description>
      <pubDate>Thu, 16 Dec 2004 17:55:51 GMT</pubDate>
      <guid>055b9cee-2535-4898-b298-21de9ce322cb</guid>
    </item>
    <item>
      <title>InterBase OUTER JOINs</title>
      <link>
      </link>
      <description>&lt;p&gt;It seldom happens I need to use OUTER JOINs with any SQL database, but this time I needed to use them with InterBase.&lt;/p&gt;

&lt;p&gt;There isn't much syntax information about how to do these things with InterBase, so I thought I might share my own piece of SQL.&lt;/p&gt;

&lt;p&gt;Here's an example:&lt;/p&gt;

&lt;pre&gt;SELECT t1.id, t1.name, t2.ordercount
FROM mytable1 t1
LEFT OUTER JOIN mytable2 t2 ON (t1.id = t2.id)
WHERE (t1.name LIKE '%Johnson%')
&lt;/pre&gt;

&lt;p&gt;Use this as your 101 for InterBase OUTER JOIN queries. :-)&lt;/p&gt;</description>
      <pubDate>Thu, 16 Dec 2004 14:49:50 GMT</pubDate>
      <guid>e23f2b18-1c82-43c1-93ac-cd43c322f15a</guid>
    </item>
    <item>
      <title>Localization in ASP.NET 2.0</title>
      <link>http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/ASP2local.asp</link>
      <description>&lt;p&gt;Creating multi-language web applications requires quite a lot of manual work, but the good news is that ASP.NET 2.0 is going to make this all easier.&lt;/p&gt;

&lt;p&gt;MSDN has an &lt;a href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/ASP2local.asp"&gt;article about this&lt;/a&gt;, and the new features appear to be good.&lt;/p&gt;

&lt;p&gt;Also, it is interesting to see a new tag construct for localization support:&lt;/p&gt;

&lt;pre&gt;
&amp;lt;asp:Localize runat="server"
 text='&amp;lt;%$ resources: Glossary, welcomeText%&amp;gt;'&amp;gt;
Welcome!&amp;lt;/asp:Localize&amp;gt;
&lt;/pre&gt;

&lt;p&gt;Once ASP.NET 2.0 is officially here, I need to see what it is all about.&lt;/p&gt;</description>
      <pubDate>Sun, 12 Dec 2004 10:45:27 GMT</pubDate>
      <guid>fa92c58c-7b7a-4ce6-90a8-5cea18e89000</guid>
    </item>
    <item>
      <title>InfoPath article in Tietokone</title>
      <link>http://www.saunalahti.fi/%7ejanij/publications/tietokone.html</link>
      <description>&lt;p&gt;My article about Microsoft's InfoPath 2003 appears in the latest 14/2004 issue of &lt;a href="http://www.tietokone.fi/"&gt;Tietokone&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The article describes how InfoPath can be used to create, edit and fill XML forms.&lt;/p&gt;

&lt;p&gt;Also InfoPath 2003 Service Pack 1 is mentioned.&lt;/p&gt;</description>
      <pubDate>Thu, 09 Dec 2004 05:07:06 GMT</pubDate>
      <guid>b41af80d-5676-4047-9376-a75c315adaa8</guid>
    </item>
    <item>
      <title>Another homepage on MSN Spaces</title>
      <link>http://spaces.msn.com/members/janij/</link>
      <description>&lt;p&gt;MSN has recently opened a new Spaces service which allows people to have their own we pages, blogs and photo albums, among other things.&lt;/p&gt;

&lt;p&gt;I decided to give it a try, and at the same time start a second blog, this time in Finnish.&lt;/p&gt;

&lt;p&gt;I don't know how it turns out, but this blog might be the more high-level one, and the other a more local one. Dunno yet.&lt;/p&gt;</description>
      <pubDate>Mon, 06 Dec 2004 14:15:42 GMT</pubDate>
      <guid>68a8f563-4a78-4fd8-bbab-a2907678975f</guid>
    </item>
    <item>
      <title>Who said BBS' are dead?</title>
      <link>http://www.synchro.net/</link>
      <description>&lt;p&gt;Retro is again chick, it seems -- even when it comes to IT.&lt;/p&gt;

&lt;p&gt;For example, who would have thought that real, character based BBS' would have survived in the Internet era?&lt;/p&gt;

&lt;p&gt;But, there are many active bulletin board systems still available, but isntead of having a modem waiting to be called, they are available through the Telnet protocol!&lt;/p&gt;

&lt;p&gt;For example, try &lt;a href="telnet://vert.synchro.net"&gt;this&lt;/a&gt;. Also, there's a whole big list available of these systems, and there even is an open-source software to run them.&lt;/p&gt;

&lt;p&gt;Long live ANSI graphics!&lt;/p&gt;</description>
      <pubDate>Mon, 06 Dec 2004 08:20:53 GMT</pubDate>
      <guid>68b1c080-4095-4feb-b6c6-1da76b1ef626</guid>
    </item>
    <item>
      <title>Regular expressions and EU VAT IDs</title>
      <link>http://europa.eu.int/comm/taxation_customs/vies/en/vieshome.htm</link>
      <description>&lt;p&gt;The .NET Framework contains good support for regular expressions, but unfortunately a primer on how to create regular expressions is missing. As I'm no fan of Perl, I haven't had to learn the Regex syntax inside-out.&lt;/p&gt;

&lt;p&gt;Now, I happened to browse the community workspaces of &lt;a href="http://www.gotdotnet.com/"&gt;GotDotNet&lt;/a&gt; and from there I found an utility called RegexDesigner .NET from &lt;a href="http://www.sellsbrothers.com/"&gt;Sells Brothers&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This utility is a handy testbed for your .NET regular expressions, and the utility itself is cleanly written.&lt;/p&gt;

&lt;p&gt;For example, I've lately needed to write a regex for testing EU VAT numbers for validity, and with the help of this utility, I found out (by trial and error) that the following regex seems to properly validate both Finnish and international formats:&lt;/p&gt;

&lt;pre&gt;(^[0-9]{7}-[0-9]|^\w{2}[0-9]{8})&lt;/pre&gt;

&lt;p&gt;Also, while playing with the EU VAT IDs, I found a site that allows you to really validate the numbers, and also displays the company name behind the number. The site is &lt;a href="http://europa.eu.int/comm/taxation_customs/vies/en/vieshome.htm"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Interesting.&lt;/p&gt;</description>
      <pubDate>Sat, 04 Dec 2004 17:23:27 GMT</pubDate>
      <guid>bb83b3d9-94bb-4605-973d-2cb7e9d4998a</guid>
    </item>
    <item>
      <title>Delphi 2005 debugging launch bug</title>
      <link>http://qc.borland.com/</link>
      <description>&lt;p&gt;I found a bug with Delphi 2005 today, and it occurs when I create and .NET application and the destination output directory contains non-ASCII characters in it's name.&lt;/p&gt;

&lt;p&gt;If this happens, the error message on Run/Run (the F9 key) is merely "Unable to create process", which is somewhat unhelpful.&lt;/p&gt;

&lt;p&gt;The workaround is to change the output directory (or the project's directory) so that it doesn't contains characters like Ä, Å or Ö.&lt;/p&gt;

&lt;p&gt;This incident has been reported to Borland's QualityCentral with the report number 9660.&lt;/p&gt;</description>
      <pubDate>Mon, 29 Nov 2004 16:22:24 GMT</pubDate>
      <guid>32f9afcd-9356-4339-b50b-1699c95f81cf</guid>
    </item>
    <item>
      <title>Dreamweaver and ASP.NET pages</title>
      <link>
      </link>
      <description>&lt;p&gt;One of the major ASP.NET applications I'm building uses XHTML for cleaner formatting and standard awareness.&lt;/p&gt;

&lt;p&gt;Also, the site has been built with Macromedia Dreamweaver, and template files are in heavy use (which is good).&lt;/p&gt;

&lt;p&gt;But, since many of my ASP.NET pages are quite complex, and a change to the Dreamweaver template needs to be made, the changes make the ASP.NET pages invalid.&lt;/p&gt;

&lt;p&gt;I'm still to investigate this, but the ASP.NET pages do still compile and run after the template has been changed, but all the controls that run on the server are missing.&lt;/p&gt;

&lt;p&gt;If you are using the same combination as I am, make sure you don't fall in the same trap, will you?&lt;/p&gt;</description>
      <pubDate>Fri, 26 Nov 2004 15:06:15 GMT</pubDate>
      <guid>ba549bb6-d939-45c3-9a3b-69fa29267388</guid>
    </item>
    <item>
      <title>Don't forget about ExecuteScalar</title>
      <link>
      </link>
      <description>&lt;p&gt;I guess my Wednesday post was made too late in the day for I had totally forgotten that I don't need to use a DataReader when I'm only reading a single value from an SQL query. Duh.&lt;/p&gt;

&lt;p&gt;Naturally, the easy to do such a thing (like reading a generator value) is to use the ExecuteScalar method:&lt;/p&gt;

&lt;pre&gt;Try
    SQLQuery := Borland.Data.Provider.BdpCommand.Create();
    SQLQuery.CommandText := 'SELECT GEN_ID('+GeneratorName+',1) FROM RDB$DATABASE';
    SQLQuery.Connection := Borland.Data.Provider.BdpConnection(IBTrans.Connection);
    Result := System.Int32(SQLQuery.ExecuteScalar());
  Finally
    ...
  End;
&lt;/pre&gt;

&lt;p&gt;Now, who said the returned generator value was a System.Decimal? Not anymore, it seems! Humans learn by doing...&lt;/p&gt;</description>
      <pubDate>Fri, 26 Nov 2004 04:30:07 GMT</pubDate>
      <guid>10c06b11-53e3-4f43-8fe8-6bc6ff13ec79</guid>
    </item>
    <item>
      <title>BDP.NET and InterBase generators</title>
      <link>
      </link>
      <description>&lt;p&gt;A Delphi application I'm developing uses an InterBase 7 database, and in that application, I need to have a simple, auto-increment counter value.&lt;/p&gt;

&lt;p&gt;Naturally, the best way to do this with InterBase is to use generators, and then query their values using simple SQL statements like these:&lt;/p&gt;

&lt;pre&gt;SELECT GEN_ID(MyGenerator,1)
FROM RDB$DATABASE&lt;/pre&gt;

&lt;p&gt;Previously, I've used the TIBSQL component (in Win32) to query the values, and in these cases the type returned by the component has been a 64-bit integer, i.e. an Int64.&lt;/p&gt;

&lt;p&gt;But since I've moved almost exclusively to .NET programming, I don't want to use these components anymore, but instead the BDP.NET components, or Borland Data Providers that are compatible with ADO.NET.&lt;/p&gt;

&lt;p&gt;So, a BdpDataReader (from the Borland.Data.Provider namespace) is a good choice to read generator values, but to my surprise the value returned for the generator is not an integer value, but... a... System.Decimal!&lt;/p&gt;

&lt;p&gt;Oh well, something's gone wrong here, but luckily the situation is easy to fix. Just read the generator value as a decimal, and then use the ToInt32 or ToInt64 static methods of the System.Decimal structure to read the value as an integer.&lt;/p&gt;

&lt;p&gt;For example, like this:&lt;/p&gt;

&lt;pre&gt;DataReader := SQLQuery.ExecuteReader();
Try
  If (DataReader.Read()) Then Begin
    MyGenValue := System.Decimal.ToInt32(
      DataReader.GetDecimal(0));
  End;
Finally
  DataReader.Close();
End;
&lt;/pre&gt;

&lt;p&gt;This is my today's tip for anybody who is trying to solve the same issue!&lt;/p&gt;</description>
      <pubDate>Wed, 24 Nov 2004 15:15:43 GMT</pubDate>
      <guid>02d1e472-01e2-491d-a267-c35b1b7b8d0f</guid>
    </item>
    <item>
      <title>Purple Motion surfaces again</title>
      <link>http://www.purplemotion.net/</link>
      <description>&lt;p&gt;If happened to watch the Finnish computer demo scene in the early '90s, you might have heard of the group called Future Crew.&lt;/p&gt;

&lt;p&gt;They made great demos, and also had excellent music tracks to them, thanks to a guy dubbed Purple Motion. For example, I find myself often listening to his songs "Aquaphobia", "Insideout" and "World of Plastic", even in 2004.&lt;/p&gt;

&lt;p&gt;Now, the long-extinct crew is back, and they have a web site, too. From there, you can purchase their music on a disk.&lt;/p&gt;

&lt;p&gt;It's fun to see this site after all these years.&lt;/p&gt;</description>
      <pubDate>Fri, 19 Nov 2004 05:09:23 GMT</pubDate>
      <guid>c4828605-3ee9-425a-bf59-63df1a288d08</guid>
    </item>
    <item>
      <title>SQL Server 2005 programming</title>
      <link>http://msdn.microsoft.com/sql/default.aspx?pull=/library/en-us/dnsql90/html/sqlclrguidance.asp</link>
      <description>&lt;p&gt;MSDN has a good document about SQL Server 2005 CLR programming.&lt;/p&gt;

&lt;p&gt;It was especially nice to see how you can convert for example XML data back to tabular database format.&lt;/p&gt;</description>
      <pubDate>Thu, 18 Nov 2004 16:33:41 GMT</pubDate>
      <guid>1ee9ee1b-6be5-4123-bc77-76ae90640651</guid>
    </item>
    <item>
      <title>Delphi 2005 is here</title>
      <link>http://www.borland.com/delphi/</link>
      <description>&lt;p&gt;I got my copy of Delphi 2005 today, and installed it. It's long since I needed to change disks while installing Delphi! There are three CDs now, where you usually need only two.&lt;/p&gt;

&lt;p&gt;It's still too early to report about the new features, but two small things I like are the ability to have Code Completion when editing HTML/CSS files, and the shortcut key Ctrl+/ to comment and uncomment a line in code.&lt;/p&gt;

&lt;p&gt;More reports to follow...&lt;/p&gt;</description>
      <pubDate>Wed, 17 Nov 2004 17:01:31 GMT</pubDate>
      <guid>8fe172cb-a4d9-43ab-b3d0-f48cbb36d409</guid>
    </item>
    <item>
      <title>Newest Tietokone has my SP2 article</title>
      <link>http://www.tietokone.fi/</link>
      <description>&lt;p&gt;The November issue of the Tietokone magazine published my newest article, "Näin otat Windows XP SP2:n käyttöön". It was also mentioned on the front cover, which is nice.&lt;/p&gt;

&lt;p&gt;The article is a two-pager and discusses how an organization might best install and distribute Windows XP Service Pack 2 using Microsoft's software deployment solutions.&lt;/p&gt;</description>
      <pubDate>Thu, 11 Nov 2004 16:22:17 GMT</pubDate>
      <guid>f25c6052-91de-4016-8576-8baa8e47c4e2</guid>
    </item>
    <item>
      <title>A simple way to log data to a text file</title>
      <link>
      </link>
      <description>&lt;p&gt;I thought I'd share my simple piece of .NET Delphi code, as the code is often useful, but never at hand when needed.&lt;/p&gt;

&lt;p&gt;The idea is that, for instance, in ASP.NET application it is difficult to know when things go wrong. For that reason, some logging is needed, and the simplest way to do this is to write the exception object data to a file.&lt;/p&gt;

&lt;p&gt;But to write text to the file is the question. What is the simplest way to do it? I think the following procedure is quite likely it:&lt;/p&gt;

&lt;pre&gt;Procedure LogMessageToFile(Msg : String);
Var
  SW   : System.IO.StreamWriter;
  Text : String;

begin
  SW := System.IO.File.AppendText(
    'C:\Temp\logfile.txt');
  Try
    Text := System.String.Format(
      '{0:G}: {1}.',System.DateTime.Now,Msg);
    SW.WriteLine(Text);
    System.Console.WriteLine(Text);
  Finally
    SW.Close();
  End;
end;&lt;/pre&gt;</description>
      <pubDate>Wed, 10 Nov 2004 16:52:33 GMT</pubDate>
      <guid>95a8a12e-ad21-43fd-849d-287bf01df0ba</guid>
    </item>
    <item>
      <title>Piano chords</title>
      <link>http://www.cumpas.co.uk/piano.php</link>
      <description>&lt;p&gt;I've been looking to find information about piano chords from the Internet, but so far I've only found impartial or alltogether commercial material.&lt;/p&gt;

&lt;p&gt;Now, two links saved my day, and I was able to have some decent background sounds to my synth samples.&lt;/p&gt;

&lt;p&gt;The links are these:&lt;/p&gt;

&lt;pre&gt;http://www.danmansmusic.com/chords.htm

http://www.cumpas.co.uk/piano.php&lt;/pre&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <pubDate>Mon, 08 Nov 2004 16:53:20 GMT</pubDate>
      <guid>8e742184-20da-4369-9bfb-eac8967ee2f7</guid>
    </item>
    <item>
      <title>A literature study helper</title>
      <link>http://www.sparknotes.com/lit/</link>
      <description>&lt;p&gt;I enjoy reading classic books, and just lately I've finished Wuthering Heights from Emily Bront&amp;euml;.&lt;/p&gt;

&lt;p&gt;As with many classic books, the characters are many, and the wording complex, and as I'm often reading the books weary of the day's duties, sometimes the characters and their relations escape me.&lt;/p&gt;

&lt;p&gt;Luckily, there's a web site from Barners &amp; Noble called &lt;a href="http://www.sparknotes.com/lit/"&gt;SparkNotes&lt;/a&gt; which hosts a literature study guide.&lt;/p&gt;

&lt;p&gt;From there, you can pick any of those classic books, and read their plot, have a list of the characters, and also read the actual texts of those books.&lt;/p&gt;

&lt;p&gt;Now I don't need to despair anymore who was who's daughter-in-law or late husband anymore.&lt;/p&gt;</description>
      <pubDate>Sun, 07 Nov 2004 16:37:57 GMT</pubDate>
      <guid>8828769b-3be4-4e7a-8c5d-5ce73ac2d6f1</guid>
    </item>
    <item>
      <title>SQL Server unit testing</title>
      <link>http://msdn.microsoft.com/sql/default.aspx?pull=/library/en-us/dnsqlpro04/html/sp04i1.asp</link>
      <description>&lt;p&gt;I've heard that unit testing is useful for application development, but the new thing to me was that there are unit tests for database data, too.&lt;/p&gt;

&lt;p&gt;Henrik Ekelund has written a T-SQL Unit test framework for your SQL Server databases. In the unit testing spirit, this utility is available in open-source format at &lt;a href="http://sourceforge.net/projects/tsqlunit."&gt;SourceForge&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I still have to convince myself of the usefulness of unit testing for database data, but nonetheless, it's good to know that something is available if you or I get interested in it.&lt;/p&gt;</description>
      <pubDate>Sat, 06 Nov 2004 12:25:32 GMT</pubDate>
      <guid>4b1021e1-60dc-46ae-b5be-7cbd47e0c02f</guid>
    </item>
    <item>
      <title>Visual Basic .NET coding</title>
      <link>http://samples.gotdotnet.com/quickstart/aspplus/</link>
      <description>&lt;p&gt;I helped a friend of mine to get started with an ASP.NET web application. My friend doesn't know C# which I prefer, so we chose to use VB.NET.&lt;/p&gt;

&lt;p&gt;Since I haven't used VB.NET much at all, I had to refresh my memory how the language syntax went. But the good thing was that I've been using ASP.NET quite a lot with both C# and Delphi, so luckily, I had that knowledge on my side.&lt;/p&gt;

&lt;p&gt;In addition to learning some VB.NET stuff, it once again wonders me how much power the .NET framework can give you as a developer, since you can use your skills in the framework no matter which programming language you choose.&lt;/p&gt;

&lt;p&gt;After that, it isn't much else than just language syntax. And, the &lt;a href="http://samples.gotdotnet.com/quickstart/aspplus/"&gt;ASP.NET QuickStart Tutorials&lt;/a&gt; help here a lot.&lt;/p&gt;</description>
      <pubDate>Sat, 06 Nov 2004 10:28:46 GMT</pubDate>
      <guid>f8fafa13-e940-4384-ae1e-fef030edcafb</guid>
    </item>
    <item>
      <title>Watch your connection strings!</title>
      <link>
      </link>
      <description>&lt;p&gt;I had to migrate one ASP.NET application I had written with Delphi 8 to the newer version of Delphi, Delphi 2005 in fact.&lt;/p&gt;

&lt;p&gt;I've been using a late beta version of Delphi 2005, and when I compiled my application with the new version and ran the application, all I got were error messages similar to these:&lt;/p&gt;

&lt;pre&gt;The located assembly's manifest definition with name 'Borland.Data.Interbase' does not match the assembly reference.

Exception Details: System.IO.FileLoadException: The located assembly's manifest definition with name 'Borland.Data.Interbase' does not match the assembly reference.&lt;/pre&gt;

&lt;p&gt;Or:&lt;/p&gt;

&lt;pre&gt;File or assembly name Borland.Data.Interbase, or one of its dependencies, was not found.

Exception Details: System.IO.FileNotFoundException: File or assembly name Borland.Data.Interbase, or one of its dependencies, was not found.&lt;/pre&gt;

&lt;p&gt;First, I thought that this was a beta issue, and thought that maybe building a test application would show me where the problem was. But, my test application got flawlessly it's connection to my InterBase database, and so I knew the problem was in my application, not in Delphi itself.&lt;/p&gt;

&lt;p&gt;I checked the version of the Borland.Data.Interbase.dll assembly on my PC, and found it be version 2.0.0.0, when my application was requesting a version 1.5.1.0, which obviously wasn't found.&lt;/p&gt;

&lt;p&gt;I tried to search high and low for this reference, but couldn't find anything. But finally, I checked my connection string (in this application I create every component in code), and there it was! I didn't recall that my ADO.NET connection string held the version of the required DLL, and this is where my application got the idea to search for an earlier version of the DLL that came with Delphi 8.&lt;/p&gt;

&lt;p&gt;Today's lesson: if nothing else helps, check yer connection strings!&lt;/p&gt;</description>
      <pubDate>Thu, 04 Nov 2004 05:44:06 GMT</pubDate>
      <guid>3886f9db-3d9e-4788-b6e0-42cb9f20291b</guid>
    </item>
    <item>
      <title>System.Collections.SortedList and sorting</title>
      <link>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemcollectionssortedlistclasstopic.asp</link>
      <description>&lt;p&gt;I was writing a Delphi .NET application today where I need to sort strings. Of course, my favorite for simple situations is the System.Collections.SortedList class, and this is what I also used today.&lt;/p&gt;

&lt;p&gt;With it's easy operation, I'm able to sort strings and also associate data with the keys. But, today I noticed that the default sorting for strings assumes that the letters V and W are the same. However, this is not the case in Finland -- those letters are and should be different.&lt;/p&gt;

&lt;p&gt;According to the Framework documentation, the SortedList class uses by default "the IComparable implementation provided by the keys themselves", which in my case means System.String.&lt;/p&gt;

&lt;p&gt;Now, being aware of .NET's support for cultures, I thought that maybe the default for sorting was something like the U.S. based sorting (as often happens), but indeed it was not. Instead, the System.Threading.Thread.CurrentCulture.Name member returns the correct culture for this northern land: "fi-FI".&lt;/p&gt;

&lt;p&gt;Having limited time to solve this puzzle, I decided to go the easy way, and specify another IComparable implementation to the constructor of the SortedList class. So, my tip for today follows.&lt;/p&gt;

&lt;p&gt;To get things working the Finnish way (i.e. V and W being different), I just constructed the object like this:&lt;/p&gt;

&lt;pre&gt;procedure PageGen.GetList();
Var
  List : System.Collections.SortedList;

begin
  List := System.Collections.SortedList.Create(
    System.Collections.CaseInsensitiveComparer.DefaultInvariant);
...
&lt;/pre&gt;

&lt;p&gt;As you can see the DefaultInvariant static property of the System.Collections.CaseInsensitiveComparer class is the key here.&lt;/p&gt;</description>
      <pubDate>Mon, 01 Nov 2004 16:17:53 GMT</pubDate>
      <guid>02c84967-1836-47a2-9ffa-74445dfa340d</guid>
    </item>
    <item>
      <title>End of the biking season</title>
      <link>
      </link>
      <description>&lt;p&gt;Poor thing, I had to ride it to the garage today.&lt;/p&gt;

&lt;p&gt;The weather has turned so cold and rainy, that I decided to give shelter to my Kawasaki and ride it to a warm place.&lt;/p&gt;

&lt;p&gt;Already having my mind set to the next biking season, the winter is well spent with looking at the new models for 2005.&lt;/p&gt;</description>
      <pubDate>Sun, 31 Oct 2004 14:15:23 GMT</pubDate>
      <guid>5a5e44e2-b78f-4216-a223-7d78076b6561</guid>
    </item>
    <item>
      <title>Beemer's running smoothly now</title>
      <link>http://www.bmwe34.net/</link>
      <description>&lt;p&gt;I drove my new car to the repairshop &lt;a href="http://www.laakkonen.fi/"&gt;Laakkonen &lt;/a&gt;in Espoo yesterday, and they did a routine check + oil change for it.&lt;/p&gt;

&lt;p&gt;The rear brake light problem seems to be gone now, at least I haven't seen the warning message for a while. Knock knock.&lt;/p&gt;

&lt;p&gt;Also, there was no need to replace the rear brake lumps, it was just a case of a missing wear indicator both at the front and at the rear. The previous owned simply took a shortcut to cut costs and only replaced the brake lumps, it seems.&lt;/p&gt;

&lt;p&gt;And while surfing last evening, I found a Canadian page (from 2002, but nonetheless) dedicated to BMW E34's. It appears to have nice repair and troubleshooting tips.&lt;/p&gt;</description>
      <pubDate>Tue, 26 Oct 2004 15:37:14 GMT</pubDate>
      <guid>37a4ae2b-5e28-42e4-92ad-a5cef72e88df</guid>
    </item>
    <item>
      <title>Network packet size can cause trouble</title>
      <link>http://support.microsoft.com/default.aspx?scid=kb;en-us;326152</link>
      <description>&lt;p&gt;Last week gave me insight into network packet sizes that I thought I would never need to bother my head with.&lt;/p&gt;

&lt;p&gt;That is, one of the PCs I need to administer suddenly failed to login to an domain user account properly.&lt;/p&gt;

&lt;p&gt;Yes, we had modified the network packet size (frame buffer size) of the network interface card (NIC) to a somewhat lesser value for our switch was not operating properly with jumbo-sized packets.&lt;/p&gt;

&lt;p&gt;After the change, this single PC failed to login, and it took even very long for it to figure that out.&lt;/p&gt;

&lt;p&gt;Naturally, Google gave wild answers to this problem, but nothing seemed to help. Finally, we reset the network packet size back to close the original value (we had dropped it to 1K for testing), and suddenly everything worked fine.&lt;/p&gt;

&lt;p&gt;The lesson: if you fiddle with network packet sizes, Windows Active Directory might not like it. Solution: make sure the server and the workstation have the same packet size! Good luck...&lt;/p&gt;</description>
      <pubDate>Tue, 26 Oct 2004 15:29:24 GMT</pubDate>
      <guid>69fac976-913f-43c6-a189-97b2f6fa368c</guid>
    </item>
    <item>
      <title>Brake light problems</title>
      <link>http://www.unofficialbmw.com/bmw_e34.html</link>
      <description>&lt;p&gt;I noticed that my new car has issues with the brake lights. The Service Indicator Lights (SIL) indicate that there's a problem with the brake light circuity ("Bremsli. Elektri" it says), and first I went and checked the fuse #1.&lt;/p&gt;

&lt;p&gt;Even though it appeared fine, I replaced it, and the brake lights started to work okay. Good. But, after driving a while and parking to a gas station, I noticed the same message again. I checked the fuse #1 again, and it was fine. After riding home, the lights worked fine for an instant, but then broke again. Must be bad wiring then.&lt;/p&gt;

&lt;p&gt;Oh, in case you are wondering, my BMW 525iA is from the year 1991, so I would say it's a E34 model with the M50 engine.&lt;/p&gt;</description>
      <pubDate>Mon, 18 Oct 2004 18:33:23 GMT</pubDate>
      <guid>df832843-9c06-4605-97c0-789be537ab9a</guid>
    </item>
    <item>
      <title>Bought a BMW</title>
      <link>http://www.bmw.de/de/produkte/automobiles/5er/limousine/index.html</link>
      <description>&lt;p&gt;As the winter is approaching and I soon need to ride my bike into the garage, I decided to visit a nearby suburb called Tuusula with my friend yesterday.&lt;/p&gt;

&lt;p&gt;From there, I found (after a fast-lane test drive) a nice BMW 525 with automatic transmission. It's a 1991 model, so not one of the newest, but the engine and the chassis seem to be in good shape.&lt;/p&gt;

&lt;p&gt;And, the thing is pretty fast, so the thing is a joy to drive.&lt;/p&gt;</description>
      <pubDate>Sun, 17 Oct 2004 09:25:16 GMT</pubDate>
      <guid>2b2cf97a-7f34-434a-88f5-a6dea595775a</guid>
    </item>
    <item>
      <title>Source for press images</title>
      <link>http://gs-com.dyndns.org/</link>
      <description>&lt;p&gt;In case you need good images for your publication, visit GoodShoot.com.&lt;/p&gt;

&lt;p&gt;The site seems to contain quality image libraries, but naturally they won't come cheap.&lt;/p&gt;

&lt;p&gt;But it's fun to surf their pages nonetheless. For some reason the .com address redirects to a DynDNS address. Not a professional touch, though.&lt;/p&gt;</description>
      <pubDate>Thu, 14 Oct 2004 17:08:12 GMT</pubDate>
      <guid>48156180-2693-48e2-ac30-34c481845034</guid>
    </item>
    <item>
      <title>Delphi 2005 launch in Helsinki</title>
      <link>http://www.borland.com/delphi/</link>
      <description>&lt;p&gt;I spent my yesterday afternoon and evening at the Delphi 2005 launch event in Helsinki. It was fun meeting those familiar Borlanders again, and see what I think is the best ever Delphi version.&lt;/p&gt;

&lt;p&gt;Also, I got tons of questions about the new company I work for, so it took time to get the message through to everybody.&lt;/p&gt;

&lt;p&gt;But in the end, I think I can feel satisfied for both the product and the response I got from the audience.&lt;/p&gt;</description>
      <pubDate>Thu, 14 Oct 2004 04:23:29 GMT</pubDate>
      <guid>c31dd7e4-4290-4d54-adbf-d8f4634a666c</guid>
    </item>
    <item>
      <title>New design for personal website</title>
      <link>http://www.saunalahti.fi/~janij/</link>
      <description>&lt;p&gt;For at least two years I've had two separate web pages, one for business and one for personal use.&lt;/p&gt;

&lt;p&gt;I decided to combine these two sites into on for easier maintenance, and now, there's only &lt;a href="http://www.saunalahti.fi/~janij/"&gt;one site&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;My personal site at the helsinki.fi domain is still running for the photos and weblog pages, but in the future these links will be merged into the new look.&lt;/p&gt;

&lt;p&gt;Feedback is always welcome.&lt;/p&gt;</description>
      <pubDate>Mon, 11 Oct 2004 04:22:59 GMT</pubDate>
      <guid>81867d2f-5a69-4f68-bfaf-28404319679f</guid>
    </item>
    <item>
      <title>New photos are online</title>
      <link>http://www.helsinki.fi/~jwjarvin/photos/</link>
      <description>&lt;p&gt;Just updated my photo pages with pictures from Satu and Leevi.&lt;/p&gt;

&lt;p&gt;I also took about 110 pictures from the seashore today. I hope to have them on-line soon, along with those pictures from N.Y. and San Jose.&lt;/p&gt;</description>
      <pubDate>Sat, 09 Oct 2004 11:32:38 GMT</pubDate>
      <guid>9900d151-513d-4e68-89d3-a4ac5ed1e911</guid>
    </item>
    <item>
      <title>From Ravenholm to Moonsoft</title>
      <link>http://www.moonsoft.fi/</link>
      <description>&lt;p&gt;Since the beginning of October, I've had a new employer called Moonsoft Oy, based in Espoo Finland.&lt;/p&gt;

&lt;p&gt;Just today, we got our Finnish web site live on the 'Net, so please go and check it out.&lt;/p&gt;

&lt;p&gt;I'm happy to say that we've got the chance to use latest .NET technologies, and naturally the magic of Delphi.&lt;/p&gt;</description>
      <pubDate>Wed, 06 Oct 2004 17:32:32 GMT</pubDate>
      <guid>71bfbff1-60bf-44c8-8d80-01f058bc988b</guid>
    </item>
    <item>
      <title>SpaceShipOne did it again</title>
      <link>http://www.cnn.com/2004/TECH/space/10/04/spaceshipone.attempt.cnn/index.html</link>
      <description>&lt;p&gt;It's a joy to read what CNN reports today about the private company's spacecraft and its second flight into space.&lt;/p&gt;

&lt;p&gt;The $10 million that the X Prize Foundation gave to Peter Diamandis, Brian Binnie and Burt Rutan are well earned.&lt;/p&gt;

&lt;p&gt;Godspeed, gentlemen!&lt;/p&gt;</description>
      <pubDate>Mon, 04 Oct 2004 17:18:42 GMT</pubDate>
      <guid>8d480fde-cc16-45d6-9bdd-1454f7a613fd</guid>
    </item>
    <item>
      <title>Good C# coding standard</title>
      <link>http://weblogs.asp.net/lhunt/</link>
      <description>&lt;p&gt;As I today had the time to continue my C# sample project, I wanted to make sure my code is "clean" and easy to read.&lt;/p&gt;

&lt;p&gt;Naturally, a good coding convention (or "coding standard") document is a good way to start, so I turned to Google.&lt;/p&gt;

&lt;p&gt;I was a bit disappointed first, when I only found very ignorant standards (from people who cannot accept that both Java and C# can co-exist in this world), but luckily, by scrolling down, I found Lance Hunt's "C#
Coding Standards for .NET" as a PDF file.&lt;/p&gt;

&lt;p&gt;Although I don't argue with exactly 100% of the rules or conventions, Lance's document appears very good.&lt;/p&gt;

&lt;p&gt;So, if you are writing code in C#, I can recommend this document. At the writing of this, the latest version is 1.13a from August 2004. And the document is good reading even if you are using Delphi.&lt;/p&gt;</description>
      <pubDate>Sun, 03 Oct 2004 17:12:44 GMT</pubDate>
      <guid>78452c7b-62d6-4d87-bb2e-4ea4c3ef4c5b</guid>
    </item>
    <item>
      <title>Delphi and the C# lock statement</title>
      <link>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vclrfLockStatement.asp</link>
      <description>&lt;p&gt;If you have studied the C# language, you might be aware of the &lt;i&gt;lock&lt;/i&gt; statement.&lt;/p&gt;

&lt;p&gt;This is a very handy statement in multi-threaded applications. But, if you are a Delphi developed trying to hack together some example code from the net, you are at loss because Delphi doesn't support this statement.&lt;/p&gt;

&lt;p&gt;But, since we all have a IL disassembler, it is easy to see what kind of code a C# creates when using the lock statement.&lt;/p&gt;

&lt;p&gt;When I wrote a very simple C# application like this:&lt;/p&gt;

&lt;pre&gt;
class Test
{
   public static void Main()
   {
        System.Console.WriteLine("Before");
        lock (new Test()) {
          System.Console.WriteLine("Inside");
        }
        System.Console.WriteLine("After");
   }
}
&lt;/pre&gt;

&lt;p&gt;...it turned out that the generated IL code was this:&lt;/p&gt;

&lt;pre&gt;
.method public hidebysig static void  Main() cil managed
{
  .entrypoint
  // Code size       52 (0x34)
  .maxstack  2
  .locals init (class Test V_0)
  IL_0000:  ldstr      "Before"
  IL_0005:  call       void [mscorlib]System.Console::WriteLine(string)
  IL_000a:  newobj     instance void Test::.ctor()
  IL_000f:  dup
  IL_0010:  stloc.0
  IL_0011:  call       void [mscorlib]System.Threading.Monitor::Enter(object)
  .try
  {
    IL_0016:  ldstr      "Inside"
    IL_001b:  call       void [mscorlib]System.Console::WriteLine(string)
    IL_0020:  leave.s    IL_0029
  }  // end .try
  finally
  {
    IL_0022:  ldloc.0
    IL_0023:  call       void [mscorlib]System.Threading.Monitor::Exit(object)
    IL_0028:  endfinally
  }  // end handler
  IL_0029:  ldstr      "After"
  IL_002e:  call       void [mscorlib]System.Console::WriteLine(string)
  IL_0033:  ret
} // end of method Test::Main
&lt;/pre&gt;

&lt;p&gt;So, the conclusion is that the C# lock statement uses the System.Threading.Monitor class internally.&lt;/p&gt;

&lt;p&gt;The conclusion: if you encounted the C# lock statement in code you need to translate into Delphi code, simply use the Monitor.Enter and Monitor.Exit methods around the statement(s). And don't forget try-finally!&lt;/p&gt;</description>
      <pubDate>Sat, 02 Oct 2004 11:39:49 GMT</pubDate>
      <guid>d8689476-548b-4674-958c-98ada9de1ad2</guid>
    </item>
    <item>
      <title>Missing special characters and ASP.NET</title>
      <link>http://support.microsoft.com/default.aspx?scid=kb;EN-US;835385</link>
      <description>&lt;p&gt;It cost me one Friday evening to try to figure out why some special characters in ASP.NET query strings were not passed into my Delphi application.&lt;/p&gt;

&lt;p&gt;For example, I had a basic HTML form that forwards data to an .ASPX page using the GET method.&lt;/p&gt;

&lt;p&gt;This worked fine until I decided to test some Finnish characters like &amp;Auml; and &amp;Ouml;. For example, giving the input "J&amp;auml;rvinen" and then using the Request.QueryString property to read the data only revealed "Jrvinen".&lt;/p&gt;

&lt;p&gt;My first impression was that this was some kind of ASP.NET security setting for I had earlier learned about ASP.NET's way of protecting web applications from scripting attacks, etc. But I was wrong. So, my application misbehaved just the same when I did set the @Page directive's ValidateRequest atrribute to "false".&lt;/p&gt;

&lt;p&gt;Next, I have Google a workout, but that didn't solve my problem. I even created a test project in Visual Studio .NET to see if this was a Delphi problem, but it was not.&lt;/p&gt;

&lt;p&gt;Finally, I decided to launch up my Mozilla Firefox browser to check to see what data my ASP.NET web application returns.&lt;/p&gt;

&lt;p&gt;At this point I noticed how the default character set for my web applications was UTF-8, and luckily that rang a bell in my head. That is, when I create web pages using Dreamweaver, I always use the "iso-8859-1" encoding, which is of course different than "utf-8". Once I changed my HTML page to use UTF-8, the special characters were no longer missing or disappearing.&lt;/p&gt;

&lt;p&gt;Given this hindsight, it was easy to find a Microsoft Knowledge Base (KB) article that details this "error". You can find it by using the number &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;835385"&gt;835385&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For a reference, you can change an ASP.NET application's default character set in the web.config file under the "globalization" section. This is an example how to use "iso-8859-1" everywhere:&lt;/p&gt;

&lt;pre&gt;
&amp;lt;configuration&amp;gt;
   &amp;lt;system.web&amp;gt;
      &amp;lt;globalization
requestEncoding=&amp;quot;iso-8859-1&amp;quot;
responseEncoding=&amp;quot;iso-8859-1&amp;quot;/&amp;gt;
   &amp;lt;/system.web&amp;gt;
&amp;lt;/configuration&amp;gt;
&lt;/pre&gt;</description>
      <pubDate>Sat, 02 Oct 2004 07:09:45 GMT</pubDate>
      <guid>780b9723-c1cf-4666-bf85-51298046ee98</guid>
    </item>
    <item>
      <title>ADO.NET DataReader</title>
      <link>ms-help://MS.NETFrameworkSDKv1.1/cpguidenf/html/cpcontheadonetdatareader.htm</link>
      <description>&lt;p&gt;Learned a new thing about the ADO.NET DataReader (System.Data.IDataReader) class/interface today.&lt;/p&gt;

&lt;p&gt;When you acquire a DataReader for an open connection object, then "the Connection is in use exclusively by that DataReader", says the SDK.&lt;/p&gt;

&lt;p&gt;OK, I understand, but I would share a single connection between multiple transactions and multiple DataReaders. Maybe in ADO.NET 2.0, who knows?&lt;/p&gt;</description>
      <pubDate>Thu, 30 Sep 2004 16:42:44 GMT</pubDate>
      <guid>c94540e8-69b2-47d4-b59a-92cfd10d2f89</guid>
    </item>
    <item>
      <title>Classic Book Chooser</title>
      <link>http://www2.helsinginsanomat.fi/klik/klassikkoautomaatti/klassikkoautomaatti.html</link>
      <description>&lt;p&gt;If you are a Finnish speaking person and are interested in reading classical books, you might find Helsingin Sanomat's web service amusing.&lt;/p&gt;

&lt;p&gt;The service, named "Klassikkoautomaatti 3.0", allows you to select novel style, location and time of events, style of writing etc., and then search for books that might be of interest to you based on your tastes.&lt;/p&gt;

&lt;p&gt;I immediately found something new to read using this service, but before I start a new book, I need to finish one particular Jane Austen I have currently in progress.&lt;/p&gt;</description>
      <pubDate>Thu, 30 Sep 2004 16:26:26 GMT</pubDate>
      <guid>79c24a05-0265-472b-b424-a0ef0e36f6f9</guid>
    </item>
    <item>
      <title>BDP.NET Connections and DataReader</title>
      <link>http://www-106.ibm.com/developerworks/db2/library/techarticle/dm-0404theivendran/</link>
      <description>&lt;p&gt;I was developing test applications for ASP.NET with Delphi 8 when I noticed that the Borland Data Provider (BDP) only supports a single transaction per database connection.&lt;/p&gt;

&lt;p&gt;This seemed a too-odd limitation for me, and I thought I was doing something wrong. Now, I did some research with a bit help from Google, and found Ramesh Theivendran's &lt;a href="http://www-106.ibm.com/developerworks/db2/library/techarticle/dm-0404theivendran/"&gt;article&lt;/a&gt; on IBM's web site (yes!). This article explicitly notes:&lt;/p&gt;

&lt;pre&gt;"The current version of BDP doesn't support connection pooling."&lt;/pre&gt;

&lt;p&gt;Bad luck! I had to re-architect my ASP.NET application so that for each request, and new connection object is created, and then freed after the connection has been handled.&lt;/p&gt;

&lt;p&gt;This is a quick-n-dirty solution, and I had much rather written a connection pool style of connection handling, but I'm pressed by time.&lt;/p&gt;

&lt;p&gt;Borland, if you are listening, we need proper ADO.NET style connection pooling in the next version of BDP!&lt;/p&gt;</description>
      <pubDate>Wed, 29 Sep 2004 04:22:16 GMT</pubDate>
      <guid>fd24f5ee-2405-41d2-8a3a-d41ae0923169</guid>
    </item>
    <item>
      <title>Active Directory domains and Exchange e-mail</title>
      <link>http://support.microsoft.com/default.aspx?scid=kb;en-us;q268838</link>
      <description>&lt;p&gt;I needed to set up an Active Directory domain and route e-mail to the users using Microsoft Exchange 2003.&lt;/p&gt;

&lt;p&gt;Now, Microsoft suggests that you name your (small) domain with the .local suffix, such as "mycompany.local".&lt;/p&gt;

&lt;p&gt;Obviously, this is not a valid e-mail domain name, and say you have registered mycompany.com as your e-mail domain.&lt;/p&gt;

&lt;p&gt;My initial thought was that it would be enough to add the e-mail addresses of the "mycompany.com" format to the Active Directory User's And Computers (for each user that is), but this did not work.&lt;/p&gt;

&lt;p&gt;Instead, you need to explicitly tell Exchange to accept mail for the domain mycompany.com. To do this, edit the default recipient policy, as outlined in Microsoft's Knowledge Base article &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;q268838"&gt;268838&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Note that whenever Exchange asks for an SMTP domain name, you need to include the @ sign, that is, "mycompany.com" is not a valid input, but "@mycompany.com" is.&lt;/p&gt;</description>
      <pubDate>Sat, 25 Sep 2004 14:06:14 GMT</pubDate>
      <guid>3c34fa70-af91-4bad-bb42-3cbf8885e1b2</guid>
    </item>
    <item>
      <title>Delphi 8 ASP.NET and invalid formatting</title>
      <link>http://tidy.sourceforge.net/</link>
      <description>&lt;p&gt;If you are creating ASP.NET web applications with Delphi 8, it is very likely that you want to have your ASP.NET pages in XHTML format instead of plain HTML.&lt;/p&gt;

&lt;p&gt;In XHTML, you need to be much more careful how you align tags and elements, and also make sure all attributes are enclosed in quotation marks, and so on.&lt;/p&gt;

&lt;p&gt;Now, Delphi 8's default HTML code formatter tends to create more HTML-like code than XHTML. Especially if you have a ready-made XHTML file, Delphi 8 will modify your page source so that the page isn't valid XHTML code anymore.&lt;/p&gt;

&lt;p&gt;As you can imagine, this is very annoying! Luckily, Diamondback ("Delphi 9") is much better in this respect (verified), but still, you can configure Delphi 8 to work the way you want.&lt;/p&gt;

&lt;p&gt;To do so, go to Delphi's options dialog box, and browse to the "HTML Tidy Options" section. Make sure you enable HTML Tidy ("Use HTML Tidy as...").&lt;/p&gt;

&lt;p&gt;By enabling this option, you disable Delphi 8's default formatter, and you are much better with your existing XHTML code!&lt;/p&gt;

&lt;p&gt;To further tune HTML Tidy, make sure you set the "Generated output type" setting to "XHTML".&lt;/p&gt;</description>
      <pubDate>Sat, 25 Sep 2004 11:11:21 GMT</pubDate>
      <guid>9a2b7ea7-b55b-4094-90ee-849d36c69263</guid>
    </item>
    <item>
      <title>Canon 20D, the new digital SLR</title>
      <link>http://www.dpreview.com/articles/canoneos20d/</link>
      <description>&lt;p&gt;Canon has recently improved it's digital SLR selection with the 8+ megapixel 20D model.&lt;/p&gt;

&lt;p&gt;To me it looks like a successor to Canon 10D, which I've been looking to buy. However, early tests prove that it has been a good idea to wait.&lt;/p&gt;

&lt;p&gt;But I would still want to have some few more pixels, like 10+. Who knows, soon?&lt;/p&gt;</description>
      <pubDate>Thu, 23 Sep 2004 17:12:34 GMT</pubDate>
      <guid>5b6bc35c-dbbf-4b12-9f1c-64322643579d</guid>
    </item>
    <item>
      <title>New article in Tietokone</title>
      <link>http://www.tietokone.fi/</link>
      <description>&lt;p&gt;The Finnish Tietokone magazine has published my newest article "Skriptit kuntoon Tweakomaticilla" in their issue 10/2004.&lt;/p&gt;

&lt;p&gt;Go read this one-pager!&lt;/p&gt;</description>
      <pubDate>Thu, 23 Sep 2004 16:30:30 GMT</pubDate>
      <guid>7e334869-af1c-4ce7-8ff6-9d05c817b30c</guid>
    </item>
    <item>
      <title>BorCon USA 2004</title>
      <link>http://bdn.borland.com/borcon2004/</link>
      <description>&lt;p&gt;The annual Borland Conference 2004 is now over, and the future version of Delphi is in the minds of everybody.&lt;/p&gt;

&lt;p&gt;Personally I enjoyed the conference once again (I believe this was my 6th conference in a row), and learned many new tips and tricks.&lt;/p&gt;

&lt;p&gt;However, the conference itself seemed a bit downsized from last year, but probably that is to be expected given the current business climate.&lt;/p&gt;

&lt;p&gt;Oh, don't forget to get the session materials from the secret BorCon web site, which is available at &lt;a href="http://bdn.borland.com/borcon2004/"&gt;http://bdn.borland.com/borcon2004/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You need a password to get there, but if you were attending the closing session of the conference in San Jose, you will know it.&lt;/p&gt;</description>
      <pubDate>Sun, 19 Sep 2004 21:55:49 GMT</pubDate>
      <guid>3a0f9ecf-4a90-4b03-a4dd-a56ffce8d3ce</guid>
    </item>
    <item>
      <title>Good introduction to photography</title>
      <link>http://www.amazon.com/exec/obidos/ASIN/0789496372/qid=1094378787/sr=ka-1/ref=pd_ka_1/103-4930870-3899038</link>
      <description>&lt;p&gt;I was visiting Amsterdam earlier this week, and had some spare time to visit a local bookstore named &lt;a href="http://www.frommers.com/destinations/amsterdam/S25896.html"&gt;Waterstone's&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;From there, I picked John Hedgecoe's book The New Manual of Photography. This books is from 2002, so it is pretty recent and contains information about digital cameras as well.&lt;/p&gt;

&lt;p&gt;I've only read about 60 pages of the book, but it looks like an excellent introduction to photography.&lt;/p&gt;

&lt;p&gt;The book is very practical in my opinion, and even though it doesn't concentrate much on each topic (only page or two), it's a good round-trip to the world of photography.&lt;/p&gt;

&lt;p&gt;Seems like good value for 45 €, though Amazon sells it a lot cheaper.&lt;/p&gt;</description>
      <pubDate>Sun, 05 Sep 2004 10:48:01 GMT</pubDate>
      <guid>888c9280-0a10-4a7e-a036-64ea7e03cb52</guid>
    </item>
    <item>
      <title>Microsoft Sender ID proposal</title>
      <link>http://www.microsoft.com/mscorp/twc/privacy/spam_senderid.mspx</link>
      <description>&lt;p&gt;E-mail spam is here to stay, so it seems. But, many corporations and organizations are working on ideas how to stop spam.&lt;/p&gt;

&lt;p&gt;Microsoft's latest proposal is named "Sender ID Framework", and details about it can be found from Microsoft's &lt;a href="http://www.microsoft.com/mscorp/twc/privacy/spam_senderid.mspx"&gt;web site&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The Sender ID Framework (SIF) appears to be open, but the license statement is actually more limiting.&lt;/p&gt;

&lt;p&gt;The Apache Software Foundation has raised it's eyebrows because of this, and have written an &lt;a href="http://www.apache.org/foundation/docs/sender-id-position.html"&gt;open letter&lt;/a&gt; to the community.&lt;/p&gt;

&lt;p&gt;Though I appreciate the open-source community, it should also be possible for corporations to patent ideas. But, it is mostly a matter of whether a patented solution can become an &lt;a href="http://www.ietf.org/"&gt;IETF&lt;/a&gt; standard.&lt;/p&gt;</description>
      <pubDate>Sun, 05 Sep 2004 10:10:27 GMT</pubDate>
      <guid>b6ad132f-cb2d-4eb8-a587-0dbcafbb7593</guid>
    </item>
    <item>
      <title>New article published</title>
      <link>http://www.saunalahti.fi/~janij/published/</link>
      <description>&lt;p&gt;The Finnish &lt;a href="http://www.tietokone.fi/"&gt;Tietokone magazine&lt;/a&gt; published my newest article "Tiedostoversiot talteen".&lt;/p&gt;

&lt;p&gt;This article can be found from the August, 2004 issue of the magazine.&lt;/p&gt;</description>
      <pubDate>Sat, 28 Aug 2004 13:11:54 GMT</pubDate>
      <guid>7440bcd7-b28f-478d-b9f0-7ec5fdf2fc3b</guid>
    </item>
    <item>
      <title>Music mayhem</title>
      <link>http://www.ljudia.fi/</link>
      <description>&lt;p&gt;I finally had the time to hook up my speakers to my amp and mixer combination.&lt;/p&gt;

&lt;p&gt;I cannot imagine how this took so long from me, as I've had no stereo systems working since my last DJ gig in June.&lt;/p&gt;

&lt;p&gt;But now that I have again, I just wonder how I could live without.&lt;/p&gt;

&lt;p&gt;Luckily, the &lt;a href="http://www.ljudia.fi/"&gt;Ljudia&lt;/a&gt; mail-order shop also just mailed me their newest catalog, and those Cerwin-Vega! speakers sure look good. Gotta think...&lt;/p&gt;</description>
      <pubDate>Sat, 28 Aug 2004 09:46:21 GMT</pubDate>
      <guid>a4888f82-9b1b-447a-abeb-48cd44f86853</guid>
    </item>
    <item>
      <title>Mars rover glitches</title>
      <link>http://www.extremetech.com/article2/0,1558,1638764,00.asp?kc=ETRSS02129TX1K0000532</link>
      <description>&lt;p&gt;ExtremeTech ran an interesting article about NASA's Mars rovers on the red planet.&lt;/p&gt;

&lt;p&gt;According to the article, the embedded operating system started to contain too many files, and thus crashed.&lt;/p&gt;

&lt;p&gt;This is a deja-vu for all Microsoft SQL Server administrators: if the log files grow too large, the free disk space will soon be exhausted.&lt;/p&gt;

&lt;p&gt;But honestly speaking I thought this would only be a problem on this planet! :-)&lt;/p&gt;</description>
      <pubDate>Sat, 28 Aug 2004 09:43:35 GMT</pubDate>
      <guid>bfed2527-51a3-4022-8fda-d6fae96d26d3</guid>
    </item>
    <item>
      <title>Korg TRITON Le 61 synth</title>
      <link>http://www.korg.com/gear/info.asp?a_prod_no=TRITONLE&amp;category_id=1</link>
      <description>&lt;p&gt;I finally made my mind and bought a real synth for myself. Yes, I've been talking/thinking about them for a long time already, and now it was time to materialize the thoughts.&lt;/p&gt;

&lt;p&gt;My selection was the Korg TRITON Le 61, which I managed to find under 1000 € with instant delivery from the seller's stock.&lt;/p&gt;

&lt;p&gt;Yeah, I presently have very little experience on the thing (and synths in general I must confess), but so far I must say I like what I see, feel and especially hear.&lt;/p&gt;

&lt;p&gt;The Triton Le might not be the best synth available, but as far as the money goes, I think this is a good choice.&lt;/p&gt;</description>
      <pubDate>Wed, 11 Aug 2004 15:50:46 GMT</pubDate>
      <guid>0a7bd87a-d875-425c-881c-8a2eef0fb5ea</guid>
    </item>
    <item>
      <title>Small businesses and e-commerce</title>
      <link>http://www.tieke.fi/kauppa/aapinen/</link>
      <description>&lt;p&gt;The Finnish &lt;a href="http://www.tieke.fi/"&gt;TIEKE&lt;/a&gt; has published a book that contains information how to efficiently us IT to help your business and bring a presence to the Internet.&lt;/p&gt;

&lt;p&gt;The book is also available on-line, and is titled "Sähköisen kaupankäynnin aapinen". Though the name sounds very basic, the book actually contains tons of good material.&lt;/p&gt;

&lt;p&gt;Sure, some of it is just common sense, but nonetheless, I can easily suggest this book to anybody desiring to improve their IT systems connected to the Internet.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 09 Aug 2004 18:38:21 GMT</pubDate>
      <guid>3262f3e2-01b7-4377-8e16-3b5f1ebefe47</guid>
    </item>
    <item>
      <title>Delphi 8 Issues</title>
      <link>
      </link>
      <description>&lt;p&gt;I've been playing with Delphi 8 lately, and wanted to test access to Paradox tables from a VCL.NET application.&lt;/p&gt;

&lt;p&gt;Unfortunately, I ran into a what seems to be a bug. That is, if I have a data module, and save it as DataModule.pas, Delphi 8 cannot load the form to its designer after closing and the reopening the project.&lt;/p&gt;

&lt;p&gt;I'm not exactly sure what are the steps to reproduce this, but everything started to work once I renamed the data module file as DM.pas.&lt;/p&gt;</description>
      <pubDate>Tue, 03 Aug 2004 14:55:19 GMT</pubDate>
      <guid>414bd9b7-a5c0-43c4-a762-1bf34dc81ea9</guid>
    </item>
    <item>
      <title>Mathematics in ancient cultures</title>
      <link>http://www-gap.dcs.st-and.ac.uk/~history/Indexes/HistoryTopics.html</link>
      <description>&lt;p&gt;Last week I saw a television program about the philosopher Heron of Alexandria. He was an interesting man, and made great many inventions.&lt;/p&gt;

&lt;p&gt;When looking for additional information from him on the Internet, I found &lt;a href="http://www-gap.dcs.st-and.ac.uk/~history/Indexes/HistoryTopics.html"&gt;a nice site&lt;/a&gt; that talks about different philosophers of the early times, and also dives into the old cultures and teaches us about their mathematics.&lt;/p&gt;</description>
      <pubDate>Wed, 28 Jul 2004 04:28:59 GMT</pubDate>
      <guid>cf321f70-8de4-487d-9490-07f8dcea0983</guid>
    </item>
    <item>
      <title>ASP.NET 2.0 resources</title>
      <link>http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/migratefromaspnetto2.asp</link>
      <description>&lt;p&gt;I've spent some hours this summer to investigate what ASP.NET 1.1 is all about. I've learned a lot, but many things are still somewhat shaded.&lt;/p&gt;

&lt;p&gt;But as always, development won't stop, and soon ASP.NET 2.0 is here.&lt;/p&gt;

&lt;p&gt;If you are developing web applications today, it might be a good idea to look what ASP.NET 2.0 has got for you once it is here -- this ought to save you some time in future migration projects.&lt;/p&gt;

&lt;p&gt;A good resource is &lt;a href="http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/migratefromaspnetto2.asp"&gt;Migrating from ASP.NET 1.x to ASP.NET 2.0&lt;/a&gt;, which contains a good comparison of ASP.NET 1.x and 2.0, and details how to migrate when the time comes.&lt;/p&gt;

&lt;p&gt;And, as security is always an issue nowadays, consider peeking at the article &lt;a href="http://msdn.microsoft.com/msdnmag/issues/04/08/WickedCode/default.aspx"&gt;Foiling Session Hijacking Attempts&lt;/a&gt; as well. It is good.&lt;/p&gt;</description>
      <pubDate>Mon, 26 Jul 2004 14:56:39 GMT</pubDate>
      <guid>3ad2f92a-d1f4-49c4-acaa-6b49533fbcef</guid>
    </item>
    <item>
      <title>Tampere from 125 meters</title>
      <link>http://www.sarkanniemi.fi/</link>
      <description>&lt;p&gt;I was visiting Tampere last Thursday, and decided to spend part of the day at the Särkänniemi Amusement Park.&lt;/p&gt;

&lt;p&gt;It was a fun place, and above all I liked the Näsinneula tower, which is about 170 meters high. From up there, you can see a nice view of Tampere and the surrounding areas.&lt;/p&gt;</description>
      <pubDate>Sun, 18 Jul 2004 10:00:12 GMT</pubDate>
      <guid>f8ee270b-9da6-40f6-ae0a-52901fc75d35</guid>
    </item>
    <item>
      <title>Summer holidays</title>
      <link>
      </link>
      <description>&lt;p&gt;I had the chance to start my month-long summer holidays last week, and so far it has been fun. Though the weather could be better, it is great to stay outdoors and enjoy time away from the office.&lt;/p&gt;

&lt;p&gt;In August everything should be back to normal, though.&lt;/p&gt;</description>
      <pubDate>Sun, 04 Jul 2004 15:41:40 GMT</pubDate>
      <guid>eb79b074-7be9-48f7-8e3f-b8b10bde481e</guid>
    </item>
    <item>
      <title>Canon Ixus 430</title>
      <link>http://www.canon.co.uk/For_Home/Product_Finder/Cameras/Digital/Digital_IXUS_430/index.asp?ComponentID=156548&amp;SourcePageID=26181</link>
      <description>&lt;p&gt;I finally bought myself a digital compact camera, and I ended up picking a Canon Ixus 430 from the store. This model is also known as PowerShot S410 in the Americas.&lt;/p&gt;

&lt;p&gt;The camera itself is stylish and small, and it is easy to take pictures with it. The image quality is OK, but not a sharp as my film SLR from the 1970s.&lt;/p&gt;

&lt;p&gt;But for 370 €, I think this is a nice camera that is easy to keep with all the time. I'm saving my pennies for a digital SLR, for better control and image quality, however.&lt;/p&gt;</description>
      <pubDate>Sat, 19 Jun 2004 08:50:57 GMT</pubDate>
      <guid>b9980e53-7113-485e-a882-8cfe446f0a36</guid>
    </item>
    <item>
      <title>New article published in Hardcore VS.NET</title>
      <link>http://www.pinpub.com/html/main.isx?sub=17</link>
      <description>&lt;p&gt;The June 2004 issue of Pinnacle's Hardcore Visual Studio .NET has my latest magazine article titled
&lt;a href="http://www.pinpub.com/html/main.isx?sub=17"&gt;Build a Blog with RSS&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This article demonstrates how to use C# to build a blogging application using WinForms technology. At the same time, the article demonstrates XML programming, introduces an FTP client along with socket programming.&lt;/p&gt;

&lt;p&gt;Go and pick the issue from your local newsstand.&lt;/p&gt;</description>
      <pubDate>Tue, 15 Jun 2004 04:13:47 GMT</pubDate>
      <guid>c34efff5-8ee0-41fa-bdf5-339f6015b33d</guid>
    </item>
    <item>
      <title>DJ gig with Tekla</title>
      <link>http://www.tekla.com/</link>
      <description>&lt;p&gt;Last Friday I had the chance to throw a DJ gig at Tekla's summer party here in Helsinki.&lt;/p&gt;

&lt;p&gt;I rented the PA speakers from &lt;a href="http://www.dsc.fi/dsc/"&gt;DSC&lt;/a&gt; like I've done in the past, and it worked well.&lt;/p&gt;

&lt;p&gt;They borrowed me their new &lt;a href="http://www.omnitronic.com/"&gt;Omnitronic&lt;/a&gt; speakers, the 1000W TMX-1530 model.&lt;/p&gt;

&lt;p&gt;Nice weather was also with us, the party was really a joy.&lt;/p&gt;</description>
      <pubDate>Tue, 08 Jun 2004 15:38:23 GMT</pubDate>
      <guid>29186c90-a0f8-4aab-960c-4f149a118639</guid>
    </item>
    <item>
      <title>Good source for server software</title>
      <link>http://www.serverfiles.com/</link>
      <description>&lt;p&gt;Sometimes you need that additional piece of software to get your work done.&lt;/p&gt;

&lt;p&gt;Yes, there are plenty of web sites available that offer software even for free, but those are mostly desktop applications, games and multimedia stuff.&lt;/p&gt;

&lt;p&gt;However, to get more advanced stuff, you need to go elsewhere. One good destination is &lt;a href="http://www.serverfiles.com/"&gt;ServerFiles.com&lt;/a&gt;, which I can recommend.&lt;/p&gt;

&lt;p&gt;Go check it out.&lt;/p&gt;</description>
      <pubDate>Tue, 08 Jun 2004 04:09:38 GMT</pubDate>
      <guid>6137d856-d99a-4bb4-bb26-0b3e49b6baba</guid>
    </item>
    <item>
      <title>Miss Universe 2004</title>
      <link>http://www.santabanta.com/contest.asp?conid=10</link>
      <description>&lt;p&gt;There are more beauty contents in this world I can even imagine. But, I won't complain.&lt;/p&gt;

&lt;p&gt;The latest that caught media attention is the Miss Universe 2004 competition, where Jennifer Hawkins (Miss Australia) got the top nomination.&lt;/p&gt;

&lt;p&gt;Luckily, many pictures are available, for example &lt;a href="http://www.santabanta.com/contest.asp?conid=10"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 03 Jun 2004 15:29:48 GMT</pubDate>
      <guid>fe4f4c25-2224-4deb-8491-37f098a08d8c</guid>
    </item>
    <item>
      <title>American Heritage Dictionary</title>
      <link>http://www.bartleby.com/61/</link>
      <description>&lt;p&gt;Sometimes I need to check an (American) English description, proverb or phrase. So far, regular dictionaries have helped quite a lot, but sometimes the expressions are tough to find.&lt;/p&gt;

&lt;p&gt;But helpfully, The American Heritage Dictionary of the English Language is here, and I also found it on the Internet, by chance actually.&lt;/p&gt;

&lt;p&gt;The &lt;a href="http://www.bartleby.com/61/"&gt;link itself&lt;/a&gt; is a bit out of the ordinary, but no matter; the site works though it's a bit slow. But slow is so much better than non-existent!&lt;/p&gt;</description>
      <pubDate>Sun, 23 May 2004 18:18:43 GMT</pubDate>
      <guid>1ab056cb-73a5-4d0d-abdc-2088424315a6</guid>
    </item>
    <item>
      <title>Good introduction to ADAM</title>
      <link>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnclinic/html/scripting05112004.asp</link>
      <description>&lt;p&gt;Windows Active Directory is a complex thing, and making sure it works properly is even more so.&lt;/p&gt;

&lt;p&gt;Luckily, for us software developers, Microsoft has developed ADAM, short for Active Directory Application Mode.&lt;/p&gt;

&lt;p&gt;ADAM could be called a light-weight version of the full-blown Active Directory, and ADAM can be installed for example in a Windows XP workstation.&lt;/p&gt;

&lt;p&gt;To get started with ADAM, take a look at the Scripting Guys' recent &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnclinic/html/scripting05112004.asp"&gt;article&lt;/a&gt; on MSDN. It's good reading.&lt;/p&gt;</description>
      <pubDate>Wed, 19 May 2004 17:46:54 GMT</pubDate>
      <guid>6ea12cf4-d955-4949-8dc1-b384d5ac56d2</guid>
    </item>
    <item>
      <title>Delphi 7.1 Update and IBX problem</title>
      <link>http://codecentral.borland.com/</link>
      <description>&lt;p&gt;Today I had finally the time to install the &lt;a href="http://www.tietovayla.fi/delphi/7/files/d7_ent_upd1.exe"&gt;Delphi 7.1 Update&lt;/a&gt; to my Enterprise version of Delphi.&lt;/p&gt;

&lt;p&gt;The Update itself installed smoothly (though you will need the original installation CD to do it), but I had a problem with the InterBase Express (IBX) components.&lt;/p&gt;

&lt;p&gt;That is, I've developed several components that utilize the IBX components, and once I had installed the Delphi 7.1 Update, I ran into the following error message upon starting Delphi:&lt;/p&gt;

&lt;pre&gt;Cannot load package 'ibxpress72.' It contains unit 'IBXConst,' which is also contained in package 'ibxpress70'.&lt;/pre&gt;

&lt;p&gt;Now, the general rule is to compile all custom packages if these kinds of errors occur. But, this time this didn't help!&lt;/p&gt;

&lt;p&gt;I was pretty depressed about this, and tried many things to solve the problem.&lt;/p&gt;

&lt;p&gt;Finally, I decided to &lt;a href="http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=20257"&gt;download&lt;/a&gt; the latest IBX components (7.08 at this writing) from Borland's CodeCentral (with ID 20257), and installed those components.&lt;/p&gt;

&lt;p&gt;Installing this update created the package IBExpress73.BPL, and once this package was available, I was able to recomile my own custom package, and install it properly.&lt;/p&gt;

&lt;p&gt;The lesson: updates aren't always as smooth as one would expect.&lt;/p&gt;</description>
      <pubDate>Sun, 16 May 2004 08:03:34 GMT</pubDate>
      <guid>55be5727-8086-443d-b2c9-69734900e2dd</guid>
    </item>
    <item>
      <title>Occupation: Software Craftsman</title>
      <link>http://msdn.microsoft.com/Longhorn/default.aspx?pull=/library/en-us/dnsoftware/html/software05072004.asp</link>
      <description>&lt;p&gt;Eric Sink's article series about software sales in a small ISV is entertaining. Eric has a good insight into how to do proper business -- with an eye towards geeks.&lt;/p&gt;

&lt;p&gt;The &lt;a href="http://msdn.microsoft.com/Longhorn/default.aspx?pull=/library/en-us/dnsoftware/html/software05072004.asp"&gt;article&lt;/a&gt;, part of MSDN's Longhorn Developer Center is good reading for anybody in the software development &lt;i&gt;and&lt;/i&gt; selling business.&lt;/p&gt;

&lt;p&gt;Also, what I like in the article is Eric's title: Software Craftsman. That pretty good describes this modern occupation.&lt;/p&gt;</description>
      <pubDate>Sat, 15 May 2004 06:14:58 GMT</pubDate>
      <guid>b0f5956b-abb8-40c8-802b-7a730940eaa1</guid>
    </item>
    <item>
      <title>Trade technician</title>
      <link>http://www.markinst.fi/</link>
      <description>&lt;p&gt;Two years have gone swiftly by, as today I got my testimonial for completing the Trade Technician degree at the &lt;a href="http://www.markinst.fi/"&gt;Institute of Marketing&lt;/a&gt; in Helsinki.&lt;/p&gt;

&lt;p&gt;It feels good to have the paper finally in my hand, and know that my friend is getting better each day.&lt;/p&gt;</description>
      <pubDate>Fri, 14 May 2004 17:02:48 GMT</pubDate>
      <guid>a5f916f1-c867-4c37-86c1-d223cd8f744d</guid>
    </item>
    <item>
      <title>Delphi 8 and reserved words</title>
      <link>http://www.borland.com/delphi_net/</link>
      <description>&lt;p&gt;I continued my quest to learn ASP.NET with Delphi 8 today, and was checking the properties of the HttpRequest class.&lt;/p&gt;

&lt;p&gt;This class has the property called Browsers, which in turn is of the type System.Web.Mobile.MobileCapabilities. This MobileCapabilities class has a property named Type, which returns the type of the browser that the client identifies itself to be.&lt;/p&gt;

&lt;p&gt;Now, "Type" is a reserved word in Delphi. First, I though this restriction had been bypassed in Delphi 8, but I was wrong: the compiler complained that a property cannot be accessed as it is a reserved word.&lt;/p&gt;

&lt;p&gt;First, I was at loss. But a bit &lt;a href="http://groups.google.com/intl/en/"&gt;googling&lt;/a&gt; gave me the answer: if a Delphi reserved word happens to be a property or method name, one can prefix the reserved with with the ampersand sign &amp; like this:&lt;/p&gt;

&lt;pre&gt;S := Request.Browser.&amp;Type;&lt;/pre&gt;

&lt;p&gt;This is all clear, but where in the language guide of Delphi 8 is this stated, I wonder?&lt;/p&gt;</description>
      <pubDate>Sat, 08 May 2004 09:25:28 GMT</pubDate>
      <guid>dc987c74-43d0-42b1-b687-797bfd6b9eaa</guid>
    </item>
    <item>
      <title>Not the first out there, but the last one standing</title>
      <link>http://www.borland.se/</link>
      <description>&lt;p&gt;I had the chance to attend the Borland Nordic Partner Training 2004 this week in Stockholm, Sweden. There, I learned -- among other things -- what appears to me to be a change in Borland's strategy.&lt;/p&gt;

&lt;p&gt;That is, previously Borland has been quite aggressively following new market trends. However, now we were presented Borland's new tag line, which goes basically like this:&lt;/p&gt;

&lt;p&gt;"Not the first out there, but the last one standing."&lt;/p&gt;

&lt;p&gt;Does this mean that new areas like the 64-bit world, future versions of .NET and mobile platforms will not be followed until there is real business value?&lt;/p&gt;

&lt;p&gt;If so, that could drive customers away from Borland's solutions.&lt;/p&gt;</description>
      <pubDate>Fri, 07 May 2004 13:50:36 GMT</pubDate>
      <guid>2a47a83c-4afe-4612-a9e7-bb36aec15e76</guid>
    </item>
    <item>
      <title>Another good health resource</title>
      <link>http://www.tukiasema.net/</link>
      <description>&lt;p&gt;While browsing the Internet yeaterday for more information, I came up to a nice Finnish site with a wealth of information.&lt;/p&gt;

&lt;p&gt;As somebody else might also be in need for proper information, Q&amp;A secton and peer discussions, I'm sharing the link &lt;a href="http://www.tukiasema.net/"&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Mon, 03 May 2004 04:21:15 GMT</pubDate>
      <guid>931be792-68ec-448b-8868-c1d882554712</guid>
    </item>
    <item>
      <title>Outlook Alerts and XInclude</title>
      <link>http://msdn.microsoft.com/</link>
      <description>&lt;p&gt;I was browsing MSDN, and found two interesting articles.&lt;/p&gt;

&lt;p&gt;The first one describes Outlook 2003 Alerts, which are basically notifications to the user when something interesting happens. The article can be found &lt;a href="http://msdn.microsoft.com/office/default.aspx?pull=/library/en-us/odc_ol2003_ta/html/odc_olalertswebservice.asp"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The second interesting article is about W3C's XInclude recommendation. This new technique allows you to reference external XML documents so that their contents can be processed the same as it were included in-line.&lt;/p&gt;

&lt;p&gt;The article is titled &lt;a href="http://msdn.microsoft.com/xml/default.aspx?pull=/library/en-us/dnxmlnet/html/XInclude.asp"&gt;"Combining XML Documents with XInclude"&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Sat, 01 May 2004 10:33:55 GMT</pubDate>
      <guid>1facdc93-1075-4ec7-9598-6842d17a4e5f</guid>
    </item>
    <item>
      <title>Fragile mind</title>
      <link>http://www.mtv3.fi/poliklinikka/</link>
      <description>&lt;p&gt;A person important to me became ill, and needed to be taken to the hospital.&lt;/p&gt;

&lt;p&gt;As I didn't have much information about her illness, I decided to find more information from the Internet. One good site I found is called MTV3's Poliklinikka, available at &lt;a href="http://www.mtv3.fi/poliklinikka/"&gt;www.mtv3.fi/poliklinikka&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Getting more information about her illness calmed my mind. Hopefully she's soon back with us.&lt;/p&gt;

&lt;p&gt;Happy May 1st!&lt;/p&gt;</description>
      <pubDate>Fri, 30 Apr 2004 14:20:40 GMT</pubDate>
      <guid>57b05dde-e523-450c-945f-f42b76b631c5</guid>
    </item>
    <item>
      <title>SQL Server batch queries</title>
      <link>http://www.aspnetpro.com/NewsletterArticle/2004/04/asp200404nb_l/asp200404nb_l.asp</link>
      <description>&lt;p&gt;SQL Server has a powerful feature called batch queries.&lt;/p&gt;

&lt;p&gt;The ASP.NET Pro magazine has a nice little &lt;a href="http://www.aspnetpro.com/NewsletterArticle/2004/04/asp200404nb_l/asp200404nb_l.asp"&gt;article&lt;/a&gt; how to use them efficiently from .NET applications.&lt;/p&gt;

&lt;p&gt;But time flies, and I need to head my bike towards Martinlaakso.&lt;/p&gt;</description>
      <pubDate>Sat, 24 Apr 2004 08:19:11 GMT</pubDate>
      <guid>5af6fbda-93b5-4093-8c34-68a6023d1ec6</guid>
    </item>
    <item>
      <title>Early birds</title>
      <link>http://members.surfeu.fi/ratutava/bnijm.htm</link>
      <description>&lt;p&gt;I decided to make my daily bicycle trip early in the morning to avoid congested roads.&lt;/p&gt;

&lt;p&gt;As the sea is soon free of ice except in the remotest bays, there are also many (sea) birds to spot.&lt;/p&gt;

&lt;p&gt;For example, during my trip I spotted swans, gooses and even some grebes, not to mention the more common brids like gulls and wild ducks.&lt;/p&gt;</description>
      <pubDate>Sun, 18 Apr 2004 06:36:42 GMT</pubDate>
      <guid>cbe396fd-a53b-47e9-999c-12ddc33713fb</guid>
    </item>
    <item>
      <title>Array alternatives</title>
      <link>
      </link>
      <description>&lt;p&gt;As I'm learning .NET programming, I've often wanted to add elements to an array once it has been constructed, and get the index of a given array item.&lt;/p&gt;

&lt;p&gt;So far, I've always constructed a new array or scanned the array using a for loop, but today I noticed the System.Collections.ArrayList is just what I have been looking for.&lt;/p&gt;

&lt;p&gt;With it, you can add elements freely, and also remove them.&lt;/p&gt;

&lt;p&gt;For searching, I noticed that you can use the System.Array class, as everything in .NET is actually an object.&lt;/p&gt;

&lt;p&gt;So, to get the index of, say, a string in an array, you could use the following construct in C#:&lt;/p&gt;

&lt;pre&gt;
string[] myArr = new ...;
int index = Array.IndexOf(
  myArr, "lookup value");
if (index &gt;= 0)
{
  // found
  ...
}
&lt;/pre&gt;

&lt;p&gt;Quite easy, once you know it, right?&lt;/p&gt;</description>
      <pubDate>Sun, 11 Apr 2004 16:29:26 GMT</pubDate>
      <guid>aa49a372-ee13-47aa-b60f-0c38ed1ab75a</guid>
    </item>
    <item>
      <title>Curvy road to Porkkalanniemi</title>
      <link>
      </link>
      <description>&lt;p&gt;As the fine Easter weather continues, I decided to make a quick trip to Porkkalanniemi.&lt;/p&gt;

&lt;p&gt;The paved road that leads there is very curvy, which makes it fun to ride with a bike. However, some turns are quite sharp, so don't drive them too fast.&lt;/p&gt;

&lt;p&gt;But once you can see clearly where the roads leads, open the throttle, and ride like the wind!&lt;/p&gt;</description>
      <pubDate>Thu, 08 Apr 2004 16:30:17 GMT</pubDate>
      <guid>cfb4a95b-419b-4af0-870b-3b215b0c14a6</guid>
    </item>
    <item>
      <title>New magazine article: using DPAPI</title>
      <link>http://www.pinpub.com/html/main.isx?sub=5</link>
      <description>&lt;p&gt;The April 2004 issue of Hardcore Delphi published my latest article.&lt;/p&gt;

&lt;p&gt;The title is "Using DPAPI to Protect Your Secrets", and the article demonstrates how to use Delphi 7 to utilize the Microsoft Data Protection API from your own applications.&lt;/p&gt;</description>
      <pubDate>Thu, 08 Apr 2004 06:14:55 GMT</pubDate>
      <guid>ddddb87b-904e-4865-ab98-03255cd24ff8</guid>
    </item>
    <item>
      <title>Gotta be careful where you park your bike</title>
      <link>
      </link>
      <description>&lt;p&gt;I was a bit surprised this morning when I saw my bike moved to the green grass on the neighbouring house. The thing was that I didn't notice that every first Tuesday of the month is a road cleaning day on my home street...&lt;/p&gt;

&lt;p&gt;Yeah, those guys had simply lifted my bike there, but they were nice to put a stone beneath the side stand, so as the bike would not fall on the soft ground. But, the chill greetings will come by post later, maybe a 50 to 60 € fine.&lt;/p&gt;</description>
      <pubDate>Tue, 06 Apr 2004 17:16:40 GMT</pubDate>
      <guid>630dd123-87ce-44c7-b314-81c934190d81</guid>
    </item>
    <item>
      <title>Spring trip to Porvoo</title>
      <link>http://www.porvoo.fi/</link>
      <description>&lt;p&gt;Yesterday was a great sunny day, so I decided to ride my bike to Porvoo. The weather was pretty cold, about +5 centigrade, but the roads were dry.&lt;/p&gt;

&lt;p&gt;I wanted to visit the old Cathedral, but of course I forgot it was the Palm Sunday, which meant there was a service requiring a 10 € ticket. So, I only got to photograph the building from the outside.&lt;/p&gt;</description>
      <pubDate>Mon, 05 Apr 2004 07:19:57 GMT</pubDate>
      <guid>f2f3c15d-8954-471f-8941-64a1a90c48cd</guid>
    </item>
    <item>
      <title>Start of the biking season</title>
      <link>
      </link>
      <description>&lt;p&gt;Tuesday this week was the day when I took my bike out of the garage.&lt;/p&gt;

&lt;p&gt;It is still quite cold (and slippery) outside, and not so many bikes around, but the coming weekend will surely get them out.&lt;/p&gt;</description>
      <pubDate>Fri, 02 Apr 2004 13:02:51 GMT</pubDate>
      <guid>0cec3e54-9483-4998-98ba-0fd768dd09ce</guid>
    </item>
    <item>
      <title>Browser Helper Objects (BHOs)</title>
      <link>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebgen/html/bho.asp</link>
      <description>&lt;p&gt;Sometimes, browsing on different entertainment websites often causes windows to popup asking if you want to install a plug-in to your browser.&lt;/p&gt;

&lt;p&gt;Many of my colleagues have many of such plug-ins installed, often to the point that their web browser won't start anymore because a plug-in crashes.&lt;/p&gt;

&lt;p&gt;For a long time I've tried to find the technical name of these plug-ins so that I could find the location in registry where these objects are listed.&lt;/p&gt;

&lt;p&gt;I finally found the answer, and those plug-ins are called &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebgen/html/bho.asp"&gt;Browser Helper Objects&lt;/a&gt; or BHOs.&lt;/p&gt;

&lt;p&gt;Now, they get registered to the following registry location:&lt;/p&gt;

&lt;pre&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects&lt;/pre&gt;

&lt;p&gt;How come these are under "Explorer", not under "Internet Explorer"? Well, now that I know, it's worth checking this location if your browser won't start anymore.&lt;/p&gt;</description>
      <pubDate>Sat, 27 Mar 2004 07:10:01 GMT</pubDate>
      <guid>ed190aae-cd72-40d3-a2f4-777fbbec09e8</guid>
    </item>
    <item>
      <title>Software wiretaps</title>
      <link>http://www.cnn.com/2004/LAW/03/13/internet.wiretaps.ap/index.html</link>
      <description>&lt;p&gt;Recently, CNN had an article about the US government requirement to include wiretaps in networking applications, including software.&lt;/p&gt;

&lt;p&gt;This proposal seems to be interesting in the sense that it is very difficult to include such wiretaps in open-source software without a) the taps becoming public knowledge or b) the tapping algorithms getting reverse engineered.&lt;/p&gt;

&lt;p&gt;To me, it seems much easier to include such "hidden" wiretap in traditional, commercial software. It remains to be seen how this proposal advanced in the legislation, and how open-source software gets addressed.&lt;/p&gt;</description>
      <pubDate>Sun, 21 Mar 2004 12:00:11 GMT</pubDate>
      <guid>30771777-d583-44b2-a28f-92f5a92e2f03</guid>
    </item>
    <item>
      <title>TheServerSide, but this time for .NET</title>
      <link>http://www.theserverside.net/</link>
      <description>&lt;p&gt;If you've studied Java at all, you've most probably aware of the great site named &lt;a href="http://www.theserverside.com"&gt;TheServerSide.com.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, did you know that a similar site exists that focuses on .NET instead of Java? I didn't. Until today, that is!&lt;/p&gt;

&lt;p&gt;Here is the site I'm talking about: &lt;a href="http://www.theserverside.net/"&gt;TheServerSide.NET&lt;/a&gt;. Good thinking with the web address, I must say!&lt;/p&gt;</description>
      <pubDate>Sun, 21 Mar 2004 06:12:20 GMT</pubDate>
      <guid>262f9d68-c4e8-4608-a851-111f136a8b2d</guid>
    </item>
    <item>
      <title>Good resources from Red Cross</title>
      <link>http://www.redcross.fi/</link>
      <description>&lt;p&gt;After the Konginkangas bus/truck accident, the Finnish Red Cross has put up several good resources on the Internet to help those that grieve.&lt;/p&gt;

&lt;p&gt;For instance, there's information about how anxiety can &lt;a href="http://www.redcross.fi/tukea_jarkytykseen/ensimmaiset_paivat/"&gt;affect you&lt;/a&gt; after an accident, how to &lt;a href="http://www.redcross.fi/tukea_jarkytykseen/lapsen_tukeminen/"&gt;cope with children&lt;/a&gt; in the same situation, and finally &lt;a href="http://www.redcross.fi/tukea_jarkytykseen/muiden_apu/"&gt;when to get&lt;/a&gt; outside help.&lt;/p&gt;

&lt;p&gt;This is also a good resource on the anniversary of the Iraq war.&lt;/p&gt;</description>
      <pubDate>Sat, 20 Mar 2004 10:54:41 GMT</pubDate>
      <guid>3d048ba4-c4cb-457e-b709-026326d76c89</guid>
    </item>
    <item>
      <title>Analog Synth</title>
      <link>http://www.alesis.com/products/a6/about.html</link>
      <description>&lt;p&gt;Today somebody posted a brochure to our office representing all kinds of music equipment.&lt;/p&gt;

&lt;p&gt;One of the things shown was the new &lt;a href="http://www.alesis.com/products/a6/about.html"&gt;Andromeda A6&lt;/a&gt; analog synth from Alesis.&lt;/p&gt;

&lt;p&gt;Looks like a dream! I want mine! And only 2995 € from &lt;a href="http://www.intoluthman.fi/"&gt;Into-Luthman&lt;/a&gt;...&lt;/p&gt;</description>
      <pubDate>Wed, 17 Mar 2004 16:12:47 GMT</pubDate>
      <guid>08941adf-a5fd-45c5-bdc8-ef72b6fc74f2</guid>
    </item>
    <item>
      <title>Tchaikovsky's 1812 Overture</title>
      <link>http://www.classical.net/music/comp.lst/works/tchaikov/1812.html</link>
      <description>&lt;p&gt;Sometimes one has to listen to classical music as well as pop. For that purpose, a lazy Sunday afternoon and Tchaikovsky's 1812 Overture are an excellent combination.&lt;/p&gt;

&lt;p&gt;The Classical.net web site contains a &lt;a href="http://www.classical.net/music/audio/midi/tchaikovsky/1812overture.mid"&gt;MIDI version&lt;/a&gt; of this classic tune, and if you haven't heard the composition before, it is time to do so now.&lt;/p&gt;

&lt;p&gt;Also, the page contains some basic information about the overture. History is always worth reading.&lt;/p&gt;</description>
      <pubDate>Sun, 14 Mar 2004 15:50:26 GMT</pubDate>
      <guid>15d0aacc-6bc9-49e5-949b-318a4724ab70</guid>
    </item>
    <item>
      <title>Abstract photography</title>
      <link>http://www.htcfinland.fi/</link>
      <description>&lt;p&gt;Today was a bright sunny Saturday here in Helsinki, so I decided to wake up early, and take my camera to Ruoholahti.&lt;/p&gt;

&lt;p&gt;There's a building complex called the &lt;a href="http://www.htcfinland.fi/"&gt;High Tech Center&lt;/a&gt; which I especially like.&lt;/p&gt;

&lt;p&gt;The orange steel tubes that align with the sea are something I wanted to capture on film.&lt;/p&gt;</description>
      <pubDate>Sat, 13 Mar 2004 15:21:10 GMT</pubDate>
      <guid>367e82e0-0e81-421d-9d69-49f4d27745df</guid>
    </item>
    <item>
      <title>Another good digital photography site</title>
      <link>http://www.megapixel.net/</link>
      <description>&lt;p&gt;I found another nice digital prohotgraphy web site, this time in English.&lt;/p&gt;

&lt;p&gt;The site, &lt;a href="http://www.megapixel.net/"&gt;megapixel.net&lt;/a&gt; has introductory articles to photography, camera reviews and a good glossary.&lt;/p&gt;

&lt;p&gt;Go check it out.&lt;/p&gt;</description>
      <pubDate>Sat, 06 Mar 2004 17:36:30 GMT</pubDate>
      <guid>c8abacbe-8767-48e1-bf2c-5b10f5d41c11</guid>
    </item>
    <item>
      <title>Freewheel issues</title>
      <link>
      </link>
      <description>&lt;p&gt;The cold yesterday morning wasn't to my bicycle's liking, it seems. Otherwise, the bike worked well, but then I noticed that pedaling transmitted no torque to the back wheel though the chain was in place.&lt;/p&gt;

&lt;p&gt;After a short inspection, I noticed that the freewheel was probably wearing out. And, because it was very cold that morning (-16 centigrade), it didn't want to work.&lt;/p&gt;

&lt;p&gt;After moving the pedals, i.e. warming the thing up, torque started to flow again, so the bike was rideable.&lt;/p&gt;

&lt;p&gt;I hope this occurrence would just be a one-time only thing, but since it's an old bike, I fear for the worst.&lt;/p&gt;

&lt;p&gt;Nonetheless, I need a new bike, but I would only like to buy it in the summer, not in March.&lt;/p&gt;

&lt;p&gt;Let us hope that the freewheel lasts for some three months more.&lt;/p&gt;</description>
      <pubDate>Sat, 06 Mar 2004 08:44:56 GMT</pubDate>
      <guid>236944cf-d8a6-41a7-899f-c3a094162957</guid>
    </item>
    <item>
      <title>Nerd's error lookup tool</title>
      <link>http://www.microsoft.com/downloads/details.aspx?FamilyId=BE596899-7BB8-4208-B7FC-09E02A13696C&amp;displaylang=en</link>
      <description>&lt;p&gt;On a recent Microsoft Exchange Server 2003 course I learned about a great command-line tool that is able to lookup error messages based on the error number.&lt;/p&gt;

&lt;p&gt;Yes, a rudimentary tool came already with Visual C++ 6.0, but that tool didn't support that many error messages.&lt;/p&gt;

&lt;p&gt;Now, the "Exchange 2003 Error Code Look-up Tool" is able to scan many .H files, and return the correct error information.&lt;/p&gt;

&lt;p&gt;Also, you don't have to have the .H files available, since all that data has been incorporated into the single 1.6 MB EXE file.&lt;/p&gt;

&lt;p&gt;I can heartily suggest downloading this tool, even though the output can be very verbose.&lt;/p&gt;

&lt;p&gt;The tool is available here:&lt;/p&gt;

&lt;pre&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=BE596899-7BB8-4208-B7FC-09E02A13696C&amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=BE596899-7BB8-4208-B7FC-09E02A13696C&amp;displaylang=en&lt;/a&gt;&lt;/pre&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <pubDate>Thu, 04 Mar 2004 15:54:53 GMT</pubDate>
      <guid>c4d4d35f-c953-4ff1-9b48-3250df654173</guid>
    </item>
    <item>
      <title>Sure signs spring is soon here, part II</title>
      <link>
      </link>
      <description>&lt;p&gt;After a long winter season, I decided to go to the garage and check my bike.&lt;/p&gt;

&lt;p&gt;It was a bit dusty, but it was soon cleaned, and so I pushed it out to the sunshine.&lt;/p&gt;

&lt;p&gt;After a few vain attempts, I got the engine running. I can sure say that at that precise moment, I forgot the existence of the World. :-)&lt;/p&gt;</description>
      <pubDate>Sun, 29 Feb 2004 10:10:00 GMT</pubDate>
      <guid>f61c0cfe-1d65-4103-bd9b-ecdf7b0df739</guid>
    </item>
    <item>
      <title>Basic statistical terms explained</title>
      <link>http://tilastokeskus.fi/tk/tp/verkkokoulu/index.html</link>
      <description>&lt;p&gt;Statistics Finland has launched a Finnish web site that explains the basic statistical terms to the public.&lt;/p&gt;

&lt;p&gt;The approach is welcome, as many of the terms needed to study statistic data are very academic in nature.&lt;/p&gt;

&lt;p&gt;The web site is good material if you've lost track of those common terms since graduating.&lt;/p&gt;</description>
      <pubDate>Wed, 25 Feb 2004 20:01:41 GMT</pubDate>
      <guid>03aef233-e042-40c8-a120-19152fb4d7dd</guid>
    </item>
    <item>
      <title>Awesome Last Ninja remix</title>
      <link>http://remix.kwed.org/</link>
      <description>&lt;p&gt;Remember that old Last Ninja game from the Commodore 64 era?&lt;/p&gt;

&lt;p&gt;Marcus Geelnard has composed an excellent dance remix of the Wilderness theme. It is available on RKO (which is now again online after a major hardware fault):&lt;/p&gt;

&lt;pre&gt;&lt;a href="http://remix.kwed.org/download.php/2196/Marcus%20Geelnard%20-%20Last%20Ninja%20Wilderness%20%28dance%20mix%29.mp3"&gt;http://remix.kwed.org/download.php/2196/Marcus%20Geelnard%20-%20Last%20Ninja%20Wilderness%20%28dance%20mix%29.mp3&lt;/a&gt;&lt;/pre&gt;

&lt;p&gt;Go get it!&lt;/p&gt;</description>
      <pubDate>Sun, 22 Feb 2004 18:31:18 GMT</pubDate>
      <guid>68302a25-912a-4243-adfa-debbb37bf5ba</guid>
    </item>
    <item>
      <title>Good digital photography sites</title>
      <link>
      </link>
      <description>&lt;p&gt;Recently, I've been browsing the Net for good digital photography sites. Canon EOS 10D is on my mind, so I found the following pages of excellent help.&lt;/p&gt;

&lt;pre&gt;
Digicamera.net:
&lt;a href="http://www.digicamera.net/"&gt;http://www.digicamera.net/&lt;/a&gt;

Digikameran omistajan FAQ:
&lt;a href="http://www.digifaq.info/"&gt;http://www.digifaq.info/&lt;/a&gt;

Canon EOS-10D on DPreview.com:
&lt;a href="http://www.dpreview.com/reviews/specs/Canon/canon_eos10d.asp"&gt;http://www.dpreview.com/reviews/specs/Canon/canon_eos10d.asp&lt;/a&gt;
&lt;/pre&gt;

&lt;p&gt;Note that two of the pages are in Finnish.&lt;/p&gt;</description>
      <pubDate>Thu, 19 Feb 2004 18:08:47 GMT</pubDate>
      <guid>6a4b7134-ec39-4776-895a-1fc4a21f4e5f</guid>
    </item>
    <item>
      <title>Sure signs spring is soon here, part I</title>
      <link>http://sportsillustrated.cnn.com/features/2004_swimsuit/</link>
      <description>&lt;p&gt;Want sure signs the spring is soon here?&lt;/p&gt;

&lt;p&gt;Well, the SI Swimsuit issue 2004 is again on the shelves and on the Internet.&lt;/p&gt;

&lt;p&gt;Go get it!&lt;/p&gt;</description>
      <pubDate>Wed, 11 Feb 2004 16:29:38 GMT</pubDate>
      <guid>9619a6dc-1cb6-459c-a346-2da8a19a7185</guid>
    </item>
    <item>
      <title>W2K3 Shadow Copy Service</title>
      <link>
      </link>
      <description>&lt;p&gt;Today I had some time to play with the Windows Server 2003 Shadow Copy Service (VSS).&lt;/p&gt;

&lt;p&gt;This new feature in W2K3 allows even basic users restore files to their previous states without calling tech support personnel.&lt;/p&gt;

&lt;p&gt;However, what amused me was the fact that you can even restore a deleted file. If you know the name of the file, you can simply re-create an empty file with the same name, and the return to a previous version.&lt;/p&gt;

&lt;p&gt;But, you can also right-click the upper-level folder, and restore &lt;b&gt;its&lt;/b&gt; contents to a previous level.&lt;/p&gt;

&lt;p&gt;Your personal time machine, as they say!&lt;/p&gt;</description>
      <pubDate>Tue, 10 Feb 2004 18:23:40 GMT</pubDate>
      <guid>58c225bf-784a-40a6-873c-7b77abd6c902</guid>
    </item>
    <item>
      <title>New article published</title>
      <link>http://www.pinpub.com/html/main.isx?sub=5</link>
      <description>&lt;p&gt;Hardcore Delphi has published another article of mine.&lt;/p&gt;

&lt;p&gt;This is the second part of the "Using Windows 2003's New Role-Based Access Control" article.&lt;/p&gt;</description>
      <pubDate>Sat, 07 Feb 2004 16:27:59 GMT</pubDate>
      <guid>b3dd524b-0ef6-4807-8680-c41734190616</guid>
    </item>
    <item>
      <title>Myers-Briggs Type Indicator</title>
      <link>http://msdn.microsoft.com/longhorn/default.aspx?pull=/library/en-us/dnsoftware/html/software01262004.asp</link>
      <description>&lt;p&gt;Another entertaining tidbit from MSDN, the Myers-Briggs Type Indicator (MBTI). It is a simple personal test, and yes, it is kitchen psychology. But, it is fun nonetheless.&lt;/p&gt;

&lt;p&gt;The test delivers a four-letter type indicator, and is based on four questions.&lt;/p&gt;

&lt;p&gt;The first letter is E (extravert) or I (introvert). This describes how you "recharge your batteries."&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;E's draw energy from being around other people.&lt;/li&gt;
&lt;li&gt;I's draw energy from solitude.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The second letter will be N (intuitive) or S (sensing) and describes how you think about things.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;N's tend to be "big picture" thinkers.&lt;/li&gt;
&lt;li&gt;S's tend to be better at details.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The third letter will be T (thinking) or F (feeling) and describes how you make decisions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;T's tend to make decisions with their head.&lt;/li&gt;
&lt;li&gt;F's tend to make decisions with their heart.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The fourth letter will be J (judging) or P (perceiving) and describes how you run your life.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;T's tend to make decisions with their head.&lt;/li&gt;
&lt;li&gt;F's tend to make decisions with their heart.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, 16 different types is way too board to describe any person properly, but you might still be able to find yourself from these descriptions. Good luck!&lt;/p&gt;</description>
      <pubDate>Sat, 07 Feb 2004 14:52:11 GMT</pubDate>
      <guid>a583fb3e-a69c-42f5-8b2d-7bade40916dd</guid>
    </item>
    <item>
      <title>Visual Studio "Whidbey" and Word Smart Documents</title>
      <link>
      </link>
      <description>&lt;p&gt;I found two new interesting articles from MSDN.&lt;/p&gt;

&lt;p&gt;The first &lt;a href="http://msdn.microsoft.com/vcsharp/default.aspx?pull=/library/en-us/dv_vstechart/html/whidbey_csharp_preview.asp"&gt;article&lt;/a&gt; is about Visual Studio "Whidbey", which looks great. The new version contains many features that are "must have" at least in my opinion.&lt;/p&gt;

&lt;p&gt;The other &lt;a href="http://msdn.microsoft.com/office/default.aspx?pull=/library/en-us/odc_wd2003_ta/html/odc_wdsimplesd.asp"&gt;article&lt;/a&gt; is about Smart Documents in Word 2003. With some little coding, user's can select options from the Task Pane, and Word automatically fills in the document. Cool, and I've seen it live, too using InfoPath 2003.&lt;/p&gt;</description>
      <pubDate>Sat, 07 Feb 2004 14:45:42 GMT</pubDate>
      <guid>4d4e1716-6d11-41cd-803a-55116f27ec15</guid>
    </item>
    <item>
      <title>SAP Business One</title>
      <link>
      </link>
      <description>&lt;p&gt;I got a CD from a trade fair that demonstrates the latest version of SAP Business One for mid-sized companies.&lt;/p&gt;

&lt;p&gt;Though I don't like Flash demonstrations with talk and then some more talk, the software looks very nice. It might be a good idea to study it some more.&lt;/p&gt;

&lt;p&gt;But first I want to be on techie side and focus on some .NET stuff.&lt;/p&gt;</description>
      <pubDate>Tue, 03 Feb 2004 16:32:47 GMT</pubDate>
      <guid>985c5c67-3f4c-4e47-b7c2-8658a10933c9</guid>
    </item>
    <item>
      <title>Centralized exception handling in .NET</title>
      <link>http://www.aspnetpro.com/NewsletterArticle/2004/01/asp200401bn_l/asp200401bn_l.asp</link>
      <description>&lt;p&gt;Exception objects are a great thing, but keeping a log of all those exceptions at runtime can be a nasty thing.&lt;/p&gt;

&lt;p&gt;An article by &lt;b&gt;Brian Noyes&lt;/b&gt; contains information about Microsoft's Exception Management Application Block, or EMAB.&lt;/p&gt;

&lt;p&gt;With EMAB, you have a location where to "publish" your exceptions, and then let the EMAB store them in different formats: a file, a database, etc.&lt;/p&gt;

&lt;p&gt;EMAB sounds like those products especially in the Java world that are able to catch all exceptions an application generates.&lt;/p&gt;

&lt;p&gt;EMAB does just about the same, and only requires a single line of code:&lt;/p&gt;

&lt;pre&gt;
catch (Exception ex)
{
  ExceptionManager.Publish(ex);
}
&lt;/pre&gt;

&lt;p&gt;Quite neat.&lt;/p&gt;</description>
      <pubDate>Sun, 01 Feb 2004 13:16:35 GMT</pubDate>
      <guid>3874d7c9-0f60-4b1a-9868-51184c75117d</guid>
    </item>
    <item>
      <title>What do you pay your tickets with?</title>
      <link>http://ww2.yle.fi/pls/show/page?id=240217</link>
      <description>&lt;p&gt;The cheap-priced national airline Flying Finn is about to file its bankruptcy application tomorrow. Naturally, those 20000 tickets already booked are on shaky ground if the company operations are stopped abruptly.&lt;/p&gt;

&lt;p&gt;What is interesting is that the Finnish Consumer Agency noted that if the plane tickets have been bought with credit card, the credit card company must pay back the price of the tickets. However, should the tickets have been bought with plain cash, then it is up to the buyer to claim his or her money directly from the company.&lt;/p&gt;

&lt;p&gt;Personally, I would have thought that the CC company isn’t liable in this kind of situation, but apparently it is. Another reason to use plastic instead of cash.&lt;/p&gt;</description>
      <pubDate>Tue, 27 Jan 2004 18:00:47 GMT</pubDate>
      <guid>98e5165b-486a-42fc-a1bf-5c6d255bb0e2</guid>
    </item>
    <item>
      <title>Liquor is expensive</title>
      <link>
      </link>
      <description>&lt;p&gt;Luckily, I don't need to drink all that booze I've bought over the last three days. Instead, the people attending my housewarming party on Friday will get their chance to destroy all the bottles.&lt;/p&gt;

&lt;p&gt;But all this reminds me of how expensive all alcohol is. The taxes will be lowered in March, but that probably won't be visible much. And even if it would, I don't think I'm going to drink any more than I'm today (which isn't much).&lt;/p&gt;</description>
      <pubDate>Mon, 26 Jan 2004 19:14:23 GMT</pubDate>
      <guid>b364425b-edb2-46bb-9f0c-42bfd95cbedf</guid>
    </item>
    <item>
      <title>Great work, JPL!</title>
      <link>http://www.cnn.com/2004/TECH/space/01/25/mars.rovers/index.html</link>
      <description>&lt;p&gt;NASA's second Mars rover, Opportunity, has landed safely on the Red Planet.&lt;/p&gt;

&lt;p&gt;The first pics are available as I write this, and the views are different from those sent back by Spirit.&lt;/p&gt;

&lt;p&gt;Good luck there, my boy!&lt;/p&gt;</description>
      <pubDate>Sun, 25 Jan 2004 12:49:28 GMT</pubDate>
      <guid>21e23ec2-5ec1-4fa2-bced-dd9d2560827a</guid>
    </item>
    <item>
      <title>Spirit communicating again</title>
      <link>http://www.cnn.com/2004/TECH/space/01/23/spirit.contact/index.html</link>
      <description>&lt;p&gt;The Mars rover Spirit has had its troubles communicating back to Earth. Luckily, at least some data has been retrieved today.&lt;/p&gt;

&lt;p&gt;NASA's engineers think the problem could be a caused by a software glitch. Though this is only one of the possible reasons, I hope this won't be the real reason. If nothing else, I don't want to hear that a superb mission on another planet to crash because of software bugs!&lt;/p&gt;

&lt;p&gt;Damn, Spirit, stay alive there!&lt;/p&gt;</description>
      <pubDate>Fri, 23 Jan 2004 19:40:04 GMT</pubDate>
      <guid>41c6feda-1ee8-42cb-b660-675c47c9211f</guid>
    </item>
    <item>
      <title>Winamp 5.01</title>
      <link>http://www.winamp.com/player/</link>
      <description>&lt;p&gt;I had the time to install and test the new Winamp 5 today. The user interface looks appealing at least to me, and the color scheme is easy to change.&lt;/p&gt;

&lt;p&gt;However, I'm still missing the "Repeat This Song" feature. Sure, you can enable manual playlist advancing, but this is not what I want. I want to repeat one song forever until I choose another song.&lt;/p&gt;

&lt;p&gt;Also, the enqueue feature could work the same as it did in Winamp 3. I would like to see the next-playing song, so that I could decide which songs play next without customizing the playlist all the time.&lt;/p&gt;

&lt;p&gt;But one cannot get all. Winamp 5 is very nice as it is.&lt;/p&gt;</description>
      <pubDate>Fri, 23 Jan 2004 15:30:33 GMT</pubDate>
      <guid>76f55b9c-8196-4fa6-b9d7-2b1c7db9b414</guid>
    </item>
    <item>
      <title>Weight loss, weight loss!</title>
      <link>http://www.cnn.com/2004/HEALTH/diet.fitness/01/22/oj.diets.ap/index.html</link>
      <description>&lt;p&gt;Too much is too much. Now the dieting frenzy has gone so far as to note that orange juice is bad for you because it contains so much sugar.&lt;/p&gt;

&lt;p&gt;On what is one supposed to live, then? On water and salt, maybe? I soon start to become sick of all this weight loss thing. And thank God, I don't have the need to lose any weight!&lt;/p&gt;</description>
      <pubDate>Thu, 22 Jan 2004 18:21:23 GMT</pubDate>
      <guid>92058bf6-c53a-44f8-9c39-097c7b17c1c2</guid>
    </item>
    <item>
      <title>Lights &amp; smoke</title>
      <link>
      </link>
      <description>&lt;p&gt;I bought some PAR-38 spotlights from Eurolite and a fog machine from Acme just lately.&lt;/p&gt;

&lt;p&gt;Today I placed some fluid in the fogger and turned the thing on. Then, I directed the smoke onto the lights. Visual, man!&lt;/p&gt;

&lt;p&gt;Of course, I couldn't resist taking some photos as well. Looks like they are going to be groovy pics. Cannot wait to develop them.&lt;/p&gt;</description>
      <pubDate>Mon, 19 Jan 2004 17:44:13 GMT</pubDate>
      <guid>cca6e984-f51f-4849-8fb4-8e0723bab085</guid>
    </item>
    <item>
      <title>Delphi 8 for .NET almost unusable</title>
      <link>
      </link>
      <description>&lt;p&gt;Most of you know that I'm a Delphi advocate, but the most recent version of Delphi 8 for .NET is very buggy.&lt;/p&gt;

&lt;p&gt;If nothing else, this lack of quality detoriates my feelings and makes it harder to believe to the future of the product.&lt;/p&gt;

&lt;p&gt;For instance, I just installed Delphi 8 into one of my machines, started a WinForms project, and saved it. Next, I naturally tried to compile it. But this didn't work, and all I got was this error:&lt;/p&gt;

&lt;pre&gt;Access violation at address 0981C07B in module 'dcc71il.dll'. Read of address 0E628000.&lt;/pre&gt;

&lt;p&gt;Trying to compile again causes the compiler to enter an endless loop without the possibility to cancel the operation. The only way to stop is to kill Delphi using the Windows Task Manager.&lt;/p&gt;

&lt;p&gt;Bad, very bad.&lt;/p&gt;</description>
      <pubDate>Sun, 18 Jan 2004 12:32:59 GMT</pubDate>
      <guid>49826735-9bed-40ed-8597-9a626d6cb70a</guid>
    </item>
    <item>
      <title>InterBase LIKE pretty fast</title>
      <link>
      </link>
      <description>&lt;p&gt;I recently needed to build a search engine using Delphi and InterBase 7.&lt;/p&gt;

&lt;p&gt;At first, I thought I couldn't use the InterBase LIKE search method, since I had the impression that it was slow. It turned out to be the other way around!&lt;/p&gt;

&lt;p&gt;Also, the new ROWS clause in the SELECT statement helps limiting the results of the query.&lt;/p&gt;</description>
      <pubDate>Sat, 17 Jan 2004 14:11:21 GMT</pubDate>
      <guid>b6254efa-0066-4698-813d-6c28333261c7</guid>
    </item>
    <item>
      <title>New published articles about RSS and W2K3</title>
      <link>http://www.saunalahti.fi/~janij/published/</link>
      <description>&lt;p&gt;Two of my articles just got published in both &lt;a href="http://www.pinpub.com/html/main.isx?sub=5"&gt;Hardcore Delphi&lt;/a&gt; and the Finnish &lt;a href="http://www.tietokone.fi/"&gt;Tietokone&lt;/a&gt; magazine.&lt;/p&gt;</description>
      <pubDate>Fri, 16 Jan 2004 15:38:20 GMT</pubDate>
      <guid>a4881c09-38ee-4391-8c49-95c131b9bed2</guid>
    </item>
    <item>
      <title>First touch with Visual Studio .NET 2003</title>
      <link>
      </link>
      <description>&lt;p&gt;I today got my first chance to get in touch with Visual Studio .NET 2003. It looks very smooth, but I must say I'm already missing the refractoring features that are planned for the next release.&lt;/p&gt;

&lt;p&gt;Compared to Delphi 8 .NET and C#Builder 1.0, the Visual Studio is ahead in the IDE area. That is sad, because I feel the IDE is the thing that is ultimately the most important.&lt;/p&gt;</description>
      <pubDate>Fri, 16 Jan 2004 15:33:28 GMT</pubDate>
      <guid>f2f2249b-81a1-42d0-b4d0-9cb00c5a6ce7</guid>
    </item>
    <item>
      <title>System.Configuration.ConfigurationSettings</title>
      <link>
      </link>
      <description>&lt;p&gt;The .NET class System.Configuration.ConfigurationSettings seems to be interesting. Looks like this class gives one easy access to the settings in the application configuration file.&lt;/p&gt;

&lt;p&gt;But the question is: can this class somehow be used in normal applications, say in WinForms applications. That question remains still open.&lt;/p&gt;</description>
      <pubDate>Mon, 12 Jan 2004 20:14:24 GMT</pubDate>
      <guid>c858f089-2975-4693-b28e-1b0a418d06fa</guid>
    </item>
    <item>
      <title>New pics from Mars at JPL web site</title>
      <link>http://www.jpl.nasa.gov/index.html</link>
      <description>&lt;p&gt;The Spirit rover has some very sharp eyes. If you go to the JPL web site, you can download the latest pictures.&lt;/p&gt;

&lt;p&gt;For example, I downloaded a 24 MB TIFF image showing martian terrain in glorifying red. Makes a brilliant desktop background, I just changed mine!&lt;/p&gt;

&lt;p&gt;I'm naturally very happy that NASA makes those pictures available to the general public in such high resolution. Good service!&lt;/p&gt;</description>
      <pubDate>Mon, 12 Jan 2004 19:49:07 GMT</pubDate>
      <guid>ed43c9b1-a599-4e2f-8d7d-d4a8066c2a38</guid>
    </item>
    <item>
      <title>Candleholders</title>
      <link>
      </link>
      <description>&lt;p&gt;It was nice visiting Linköping after a while, though it was pretty odd that you had to fly through Copenhagen to get there.&lt;/p&gt;

&lt;p&gt;Borland Together seems to be a nice product, and very useful as well. However, I had the time to test Delphi 8 as well during the training, and I must say I'm depressed by the code editor's quality. Too many bugs in core functionality.&lt;/p&gt;

&lt;p&gt;It is even more difficult to hold the candle high with this version.&lt;/p&gt;

&lt;p&gt;Now, I bought a candleholder made of glass from the Copenhagen airport. It's lime in color and it looks very nice on black background. It would have made a great gift as well, so who knows?&lt;/p&gt;</description>
      <pubDate>Sat, 10 Jan 2004 15:42:27 GMT</pubDate>
      <guid>0eb864b5-301e-4bf6-89f4-9b90f7d80fea</guid>
    </item>
    <item>
      <title>Visual Studio .NET "Whidbey"</title>
      <link>http://msdn.microsoft.com/vstudio/whidbey/default.aspx?pull=/library/en-us/dv_vstechart/html/vs2004_intro.asp</link>
      <description>&lt;p&gt;The forthcoming release of .NET 2.0 (or whatever it will be named) really looks like a killer. Now, I'm pretty sure that you will also need the latest version of Visual Studio .NET to get your hands dirty with all those new features.&lt;/p&gt;

&lt;p&gt;MSDN has an "peek" article about the soon-here release of Visual Studio .NET "Whidbey". It really looks interesting.&lt;/p&gt;

&lt;p&gt;Borland, take note! I wanna see the same features in Delphi .NET and C#Builder.&lt;/p&gt;</description>
      <pubDate>Tue, 06 Jan 2004 08:22:59 GMT</pubDate>
      <guid>658f1131-5a28-4447-8238-c82b3a35af37</guid>
    </item>
    <item>
      <title>Music from Holloway Road</title>
      <link>http://www.retrofuture.com/telstar.html</link>
      <description>&lt;p&gt;Well, I found my old Synth Classics vinyl compilation from the '90s, and put one of the discs onto my Technics. As the needle hit Joe Meek's Telstar, I couldn't but just marvel. Just an awesome, happy tune with a capital T! Get thee a copy, I say.&lt;/p&gt;

&lt;p&gt;Another hit pick for today is the "Secure Coding Guidelines for the .NET Framework", available on &lt;a href="http://msdn.microsoft.com/security/securecode/bestpractices/default.aspx?pull=/library/en-us/dnnetsec/html/seccodeguide.asp"&gt;MSDN&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Mon, 05 Jan 2004 16:39:23 GMT</pubDate>
      <guid>dfed3f10-6c57-4427-9a14-b405440e6ccc</guid>
    </item>
    <item>
      <title>Raw Images from Mars</title>
      <link>http://marsrovers.jpl.nasa.gov/gallery/all/spirit001.html</link>
      <description>&lt;p&gt;Finally some pics from Mars!&lt;/p&gt;

&lt;p&gt;The pictures showing the martian soil remind me of those rocky deserts in Arizona and Nevada I saw last year.&lt;/p&gt;</description>
      <pubDate>Sun, 04 Jan 2004 15:48:12 GMT</pubDate>
      <guid>26ca75f3-c973-4038-8439-aac520cec72f</guid>
    </item>
    <item>
      <title>Life on the Death Planet</title>
      <link>http://www.cnn.com/2004/TECH/space/01/04/mars.rovers/index.html</link>
      <description>&lt;p&gt;According to the reports, NASA's Spirit Mars rover has survived the rough landing.&lt;/p&gt;

&lt;p&gt;That is great news! I'm waiting for the pics to see what it's like in the Gusev Crater.&lt;/p&gt;</description>
      <pubDate>Sun, 04 Jan 2004 07:06:42 GMT</pubDate>
      <guid>129aa3f7-e152-4d54-9343-c0da50b51c07</guid>
    </item>
    <item>
      <title>Stardust touchdown</title>
      <link>http://www.nasa.gov/vision/universe/solarsystem/stardust_update.html</link>
      <description>&lt;p&gt;NASA's Stardust spacecraft made a great success yesterday night, capturing comet dust and taking awesome pics. I hope the dust container will safely return to Earth in 2006.&lt;/p&gt;

&lt;p&gt;I cannot but just wonder the precision the craft was able to maintain during its five-year journey. Mathematics and engineering at their best, I reckon.&lt;/p&gt;

&lt;p&gt;More pics should be available on NASA's web site soon.&lt;/p&gt;</description>
      <pubDate>Sat, 03 Jan 2004 07:10:43 GMT</pubDate>
      <guid>4bf8ef50-e5db-4eae-a3ba-cc72ebf9e625</guid>
    </item>
    <item>
      <title>Longhorn SDK available online</title>
      <link>http://longhorn.msdn.microsoft.com/</link>
      <description>&lt;p&gt;Like Don Box put it, "I must be the last one to notice that the Longhorn SDK is available online."&lt;/p&gt;

&lt;p&gt;Indeed it is. I must say I'm excited about WinFX and Longhorn, but it seems I have to wait until 2005 or even 2006.&lt;/p&gt;

&lt;p&gt;While waiting for Longhorn, there's lot to study in .NET. All one needs is time.&lt;/p&gt;</description>
      <pubDate>Fri, 02 Jan 2004 18:54:46 GMT</pubDate>
      <guid>a0cb955c-8fb9-47d0-951e-cca0f95d5262</guid>
    </item>
    <item>
      <title>Borland Post-conference CD a bit buggy</title>
      <link>http://bdn.borland.com/borcon2003/.net/0,1418,10104,00.html</link>
      <description>&lt;p&gt;The Borland Post-conference CD finally arrived by mail yesterday, and since it's a holiday today, I had time to browse it.&lt;/p&gt;

&lt;p&gt;As I'm anxious to learn more about .NET, I went straight to the Proceedings page, and there clicked ".NET". To my disappointment, a blank page was displayed!&lt;/p&gt;

&lt;p&gt;Indeed, the link:&lt;/p&gt;

&lt;pre&gt;file:///E:/borcon2003/bdn.borland.com/borcon2003/.net/0,1418,10104,00.html&lt;/pre&gt;

&lt;p&gt;...pointed to a non-existed file! Next, I tried to figure out other ways to get to the content, but each time I opened a .NET-related PowerPoint slide show, the only thing I got was script errors in my browser. Not good.&lt;/p&gt;

&lt;p&gt;But, I finally figured a way to solve the problem, since everything on the CD is also available on-line, you just have to know where to look!&lt;/p&gt;

&lt;p&gt;To fix all the errors, replace the URL part "file:///E:/borcon2003/" simply with "http://".&lt;/p&gt;

&lt;p&gt;For instance, all the .NET proceedings are available here:&lt;/p&gt;

&lt;pre&gt;http://bdn.borland.com/borcon2003/.net/0,1418,10104,00.html&lt;/pre&gt;</description>
      <pubDate>Thu, 01 Jan 2004 10:50:56 GMT</pubDate>
      <guid>f5a6b342-308a-4d0e-9da7-58ca2863ddd5</guid>
    </item>
    <item>
      <title>Quick reference to what's different in .NET CF</title>
      <link>http://msdn.microsoft.com/mobility/default.aspx?pull=/library/en-us/dnnetcomp/html/Net_vs_NetCF.asp</link>
      <description>&lt;p&gt;Mobile development seems interesting enough to study. If you know .NET, MSDN has a quick reference for you that shows what's different in .NET Compact Framework (CF).&lt;/p&gt;

&lt;p&gt;Happy New Year 2004!&lt;/p&gt;</description>
      <pubDate>Thu, 01 Jan 2004 08:44:13 GMT</pubDate>
      <guid>7984a857-7a1f-4f22-a14c-a434604292ae</guid>
    </item>
  </channel>
</rss>