I have just received mail from Pearson VUE informing me that have passed the Beta Exam 70-528 TS: Microsoft .NET Framework 2.0 - Web-Based Client Development (called 71-528 while it's in Beta). I also received a free Voucher for a next exam, thanks guys.
On Friday I will try the Beta Exam 70-551 UPGRADE: MCAD Skills to MCPD Web Developer by Using the Microsoft .NET Framework. One week later I will try the Beta Exam70-552 UPGRADE: MCAD Skills to MCPD Windows Developer by Using the Microsoft .NET Framework . Wish me luck.
I stumbled today on this SourceForge project with some really nice screensavers. Goto rssavers.
Three years ago I have written some useful Visual Studio 2003 macros: SortCode and CreateProperty. With the introduction of VS2005 it was time to upgrade them.
The new SortCode macro also supports VB.NET 2005. Totally new is the EncapsulateAllNonPrivateFields macro. It creates properties get/set for all non private (public, protected, internal) fields. By using the CodeDom I managed to supports VB.NET and C#.
Example

After running the marco the 3 fields are private and there are 3 extra properties.
A friend of my send me a link to a great freeware software application. I love it!
Qliner hotkeys is a free and open source keyboard productivity environment. It is the first product of it's kind that is usable by computer geeks and non geeks alike.
Key features:
- Smart Application Launching
- Smart Application Instance Switching
- Drag and Drop Configuration using an Onscreen Keyboard
- Support for 100+ International Keyboards (making it a handy tool for international keyboard users).
- Support for Dvorak keyboards
- Volume Control Add-in
- Clock Add-in
- Optionally maps Caps Lock key to Window key (handy if your keyboard does not have a Windows key or if you just hate the default bahavior of Caps Lock)
Hotkeys builds on the concept of Windows shortcut keys but takes this concept to a whole new level. Do you think key combinations are hard to remember? Just hold the Windows key for three seconds and up pops a Onscreen Keyboard with icons on the keys that are configured. This you can you use , not only to remind you of hotkey combinations, but also for Drag and Drop Configuration.
I have written a small content management system using ASP.NET. Sjef de Corte has implemented 3 websites with it. Well done Sjef!
I have found two more Avalon Minesweeper implementations.
BTW I plan to post the sourcecode of my implementation soon. I have to clean it up first.
I just saw the great Sparkle video on Channel9. On of the most funny part was the question 'What is an Architect?'. The anwer from John Gossman was 'It is a fancy title for a programmer' or in other words 'You are old'. I hope you enjoy the movie, I did. I can't wait to play with it.
I have build my first Windows Presentation Foundation (WPF) application. It is a remake of my WinForms Minesweeper game. Go to the ClickOnce publisher page and install Avalon Minesweeper.
Make sure you have the Microsoft Pre-Release Software WinFX Runtime Components - September Community Technology Preview (CTP) installed on your computer.
To run this sample you must add 'https://www.mydotnetplayground.nl/WpfMinesweeper' to your Trusted Sites in Internet Explorer.
UPDATE 1-1-2006: Moved to my own provider and updated to the December CTP.
The slides from my presentation 'NDoc Integratie in Visual Studio 2003 & 2005' can now be downloaded.
Many years ago I programmed in Smalltalk (Enfin which later became ObjectStudio). I have always liked it although it was not very programmer friendly (no IntelliSense). I have just wachted this C# 3.0 Language Enhancements in action video. The shown Extension Methods feature realy looks like the Secondary Class files of Smalltalk. Nice to see them back, they where very handy.
In the following example I have added the 'IsPrime()' method to the 'Int32' type. The 'this' keyword in front of the 'number' parameter of the IsPrime() method did the real trick. This makes it an Extension Method.
class Program {
 staticvoid Main(string[]args){
   Console.WriteLine(5.IsPrime());    Console.WriteLine(9.IsPrime());    Console.WriteLine(23.IsPrime());  }
}
staticclass Extensions {
 publicstaticbool IsPrime(thisintnumber){
   if(number==1||number==2||number==3){
     returntrue;
   }
   if((number%2)==0){
     returnfalse;
   }
   intsqrt=(int)Math.Sqrt(number);
   for(int t =3; t <=sqrt; t = t +2){
     if(number% t ==0){
       returnfalse;
     }
   }
   returntrue;
 }
}