Saturday, February 24, 2007

Addicted to Sudoku

I've never understood the hype around the Sudoku puzzles, or maybe I simple never paid attention to it. But recently, while visiting my parents, my father told me about his newest addiction. Due to his enthousiasm, I've tried one myself. It's a bit getting used to, but eventually it worked for me as well. In the mean time, we bought a whole pocket bock full of Sudoku puzzels at some kiosk ranging from 1 to 4 stars.

Well, I'm officially addicted now. I've started with a few 1-star puzzles but worked myself up to the 4-star ones. Since these are usually too difficult to solve without making a lot of notes, I was looking for some nice Sudoku templates that have a bit more space.

My search completed with a great article by Michael Mepham about several advanced techniques for solving a Sudoku. And his articles provides some great worksheets as well. I suppose you can call somebody who performs research on how to solve Sudokus addicted, shouldn't I?

Update 28-02: Check out this link. It's an online Sudoku game that you abuse for solving your paper-based Sudoku's as well.

Thursday, February 22, 2007

Printing a Compiled Help File (.CHM)

Many SDKs ship with a huge .CHM file that includes the documentation and often a class library reference. Also, many books are available as .CHM files as well. But since I prefer to read those books off-line, I often try to print out topics. Since the introduction of Internet Explorer 7, this has become quite problematic. IE has a new Shrink-to-Fit setting that is enabled by default. Due to that, printing a .CHM often results in an unreadable small font. Using IE's Print Preview option you can choose the exact scaling settings, but unfortunately, this setting is not available from the Html Help Viewer. To work around this limitation do the following:

  1. Open up the CHM file in the Html Help viewer
  2. Select the topic you want to print and choose Print... from the context menu
  3. From the dialog box, select Print the Selected Heading and all Topics.
  4. Wait for the Print dialog to appear. Now look behind that dialog for another window called HTML Help. The help viewer basically renders all those topics into one big .htm for printing.
  5. Select Properties from that window's context menu and copy the URL pointing at a local .htm file. DO NOT CLOSE THE HTML HELP WINDOW.
  6. Now open up that URL in a new IE window.
  7. Choose Print Preview and change the scaling setting to whatever suits you and print...

Wednesday, February 21, 2007

Virtual PC 2007 available for free

I have been using Virtual PC 2007 since its first beta. Well, not voluntarily though, but simply because the 2004 version did not run properly on Windows Vista. Nevertheless, it has run like a charm since the very beginning. I've been using it to still do some leftover developments in Visual Studio 2003 on my laptop. No crashes, no strange lock-ups, no nothing. Well, yesterday, Microsoft finally released version 1.0. And the best thing of it all? It's free! Apparently, Microsoft is trying to gain some market space from its competitors.

An evening with IKEA

Yesterday, I finally convinced my girlfriend Barbara to join me in an effort to pick up a new desk for my desktop system. I wanted a desk with a nice curve in the corner and a dark color that fits the rest of our interior.

Because of major redesigns, the IKEA in Delft is currently one big construction yard, so I was very happy to find a parking space in the vicinity of the building exit. Since we left directly after work, we quickly consumed an Ikea-style Tortellini with 15 (!) Swedish meatballs. And that is just the normal menu...

I already had a brochure for the Galant-series with me, but to reach the self-service warehouse, you have to take the entire tour throughout the store. Unfortunately, after arriving in the huge warehouse, one of the employees explained us that we had to go back to the shop and let one of his colleagues prepare an order. Due to the construction activities, they had to move a part of their stock to another warehouse somewhere else in Delft. Gee, would have loved to know that before...

Well, after taking the reverse tour back to the shop, we finally were ready to pick up the packages at the warehouse. But somehow, I expected that my 2006 Volkswagen Passat would be large enough to fit a 120 cm by 160 cm desk easily. How ignorant was I... the damn thing did not fit at all. You should have seen the angry face of my girlfriend (and my own stupid face) :-)

Fortunately, we were able to pick up my girlfriend's father's Renault Scenic. With a bit of squeezing and pushing it just fitted. But since the door didn't close completely, we had to use a rope to keep it closed. I don't recall having driven as slow as 80 km/hour on a high-way...

We arrived home at about 21:15. Since we left at 18:30 you can genuinely call it an evening with IKEA...

Tuesday, February 20, 2007

Aviva Solutions Weblog

As of last week, Aviva Solutions now has its own weblog. I will cross-post most of my technical stuff both on this blog as well as the new company weblog. The great thing about this weblog is that is had been created using the Weblog template of Microsoft Office Sharepoint Server 2007. I was surprised how easy it is to tweak the look-and-feel of a MOSS site (also refered to as customization).

Tuesday, February 13, 2007

Team Foundation Server setup experiences...

During the last couple of days, I've been busy completing an installation of Team Foundation Server on a fresh Windows 2003 Enterprise Edition install and make it accessible through the internet. While doing so, I ran into a few challanges for which I though they might be useful to remember the next time you try something similar. 

  • Before you start doing anything, make sure you download the most recent versions of the installation and the administration guides!
  • While going through the pages and pages of the installation guide, you'll eventually end up at the SQL Server 2005 setup wizard. I have already installed SQL Server a few times in my life, but I never bothered digging in the mysteries behind those collation settings. Unfortunately, accepting the default settings did not make TFS very happy. After searching through several articles and newsgroup discussions, I finally discovered that choosing Latin1_General with Accent Sensitive is the best option.
  • After installing Service Pack 1, I started receiving TD30059 errors while connecting to the TFS server. Fortunately, ThinkTecture's Neno Loje already discovered this little flaw in the sp1 installation and found a solution
  • A very well known issue when accessing TFS from outside the domain realm, is that the Documents and Reports appear in the Team Explorer with a red cross. Usually this is caused by the fact that the corresponding URLs include the NETBIOS name of the server instead of the fully qualified domain name. You can fix that using the following article.
  • By default, TFS uses port 80 (or 443 if you use SSL) for the Windows Sharepoint Services website and the SQL Server Reporting Services, and it uses port 8080 (8081) for the TFS web services. Although we do want to allow access to our TFS server from the Internet, we prefer not to open up port 8080 or 8081. So with the help of this article and the administration guide, I've tried to assign two different DNS names both using port 80. However, whatever I tried, I could not get that scenario to work. I've been Googling my off, but none helped me with that problem. Officially, Microsoft does not support this scenario until the next installment of TFS (part of codename "Orcas").
  • One of the pains of administering a TFS installation is that adding/removing groups and users involves making subtle changes to TFS, Windows Sharepoint Services and SQL Reporting Services. Some of that pain can be resolved with cleverly chosen AD groups, but nothing can compare with the ease introduced by the newest Visual Studio PowerToy: the TFS Administration Tool. Simple assign a TFS role to a (newly added) user and changes are applied to all three platforms. The only requirements is that the system from which you are making changes is part of the same domain as the TFS installation.
  • In pre-service pack 1 versions of TFS, the only way to allow access to your TFS installation from the internet is to allow Windows Authentication through your firewall. Since sp1, TFS also supports basic and digest authentication. Well, basic authentication combined with SSL works like a charm! Check the latest version of the administration guide to find out how to get things configured correctly.

Monday, February 12, 2007

About maintainable code

As a coding standard evangelist, I've published standards for C# 1.0 and C# 2.0 while working for my former employers. Moreover, I'm also somebody who tries to apply and share good design guidelines and principles. As part of that interest, obviously, I've read many books and articles on that subject. A former collegue of mine, ran into two great articles written by Jeremy D. Miller which I could not resist sharing with you. The first one, On Maintainable Code, shows some real-world examples on the subtle issues around this. The other one, Orthogonal Code, focusses on some very essential design principles that everybody should use at all times.

Tuesday, February 06, 2007

CSS Reference Chart for SharePoint 2007

During the last couple of days, I've been trying to customize a MOSS 2007 blog site to match the Aviva look-and-feel. Since I'm more a Windows developer, these CSS styles are causing me a pain in the ass. Fortunately, the Internet Explorer Developer Toolbar really helps to figure out what particular CSS class is effecting which part of your site. And if you then add Heather Solomon's excellent CSS Reference Chart for Sharepoint 2007, a web developer's life gets better and better. The new Aviva Solutions weblog is not quite operational yet, but as soon as it is, I'll let you know...