Monday, December 04, 2006

WPF Everywhere

Codename WPF/E or Windows Presentation Foundation Everywhere in full, refers to the technology that allows lightweight XAML based applications to run within Internet Explorer, Firefox, or even Mac's Safari. To see what I'm talking about, download the CTP from here, and then check out the samples from here. According to several blogs, it's Microsoft's answer to Flash and other animation-oriented web-technologies. However, members of the community seem not to agree on whether it is purely based on Windows Presentation Foundation (such as mentioned in this blog) or relies heavily on AJAX such as mentioned on the download site.  

Sunday, December 03, 2006

Uninstallation aid

I recently posted about a problem I had while upgrading from Office 2007 Beta 2 to the final version. Somehow, the unstallation of beta 2 still left some pieces floating around on my harddisk. I then used a manual workaround, but in the mean time, I've also found a nice little tool that really shows you what's installed. Should have saved me some time.

Friday, December 01, 2006

Cool Windows XP Theme: Zune

I ran into this while looking at the weblog of Alex Thissen.

Zunetheme

Download this from here.

Team Foundation Server roadmap

I was quite surprised that nothing was announced on Team Foundation Server during this year's TechED. We've been using TFS since it its beta 3 stage, and we all know that it is a great product, but it still misses some important features. The biggest limitation from my perspective is the lack of decent support for accessing TFS over an open Internet connection. We currently use SSH tunneling as a limited workaround. Additionally, I'd love to have a web interface for tracking workitems. I know that there are some third-party solutions for that, but come on, we've payed a lot for TFS. Anyway, check out this great blog on the what's coming up for TFS in 2007.

During the TechED, I had a chance to talk to Neno Loje and Ognjen Bajic, both Team System MVP. These guys found a lot of additions and workarounds that you may find very helpful in your daily life in the world of Team System. Check out their blogs for some interesting articles and tools. 

Also, if you want to get some help figuring out how to set-up your project, check out this article.

Thursday, November 30, 2006

Anti-Patterns for Test Driven Development

This is a nice and funny list of anti-patterns that you may recognize, and like me, may have used in the past. I particularly like The Inspector and Generous Leftovers. It seems to be quite difficutl to write a decent and reliable unit test without falling into the same trap again.

Wednesday, November 22, 2006

Office 2007 Developer posters

If you're into developing based on the Microsoft Office 2007 System, you may like these great A0 posters created by Microsoft.

Monday, November 20, 2006

Uninstalling Microsoft Office 2007 Beta 2

Recently, I tried to uninstall Microsoft Office 2007 Beta 2 Technical Refresh so that I can go back to Office 2003 again. Even though the uninstallation completed succesfully, Office 2003 refused to install due to some residual leftovers. Trying to delete the physical files and some obvious references in the Registry did not help either. But as usual, Google came to the rescue with a blog entry that helped me solve this problem in a glitch.

Wednesday, November 15, 2006

GhostDoc on Vista

If you, like me, have been using GhostDoc for improving the documentation of your code, you may have noticed that installing it on Vista causes some troubles. In order to succesfully install version 1.9.5 (for Visual Studio 2005), install it from the command line and make sure you use the fully qualified path to the .msi file:

msiexec /i "<fullpath>\GhostDoc1.9.5.msi"

Sunday, November 12, 2006

Leaving Barcelona

I wonder how busy the Barcelona Airport is in the middle of the summer when all those people are transfered from and to coastal areas such as Calella, Lorett de Mar and Salou; it took us almost one hour just to check in. But Saturday afternoon, at around 15:30, I finally set foot on Dutch soil again. Damn, what a difference in weather conditions. It is only a two-hour flight, but we went from a sunny 20+ degrees Celcius to a windy and rainy 5-10 degrees. I think I'll immigrate to Spain when I have the time :-)

Friday evening, we concluded our stay in Barcelona with a nice outside dinner at the Plaza Real while enjoying a nice glass of beer. At around midnight we decided to go visit the Baja Beach club just outside the city center and meet up with some of the people we met during the TechED. It is quite funny to see that this club is using the exact same formula as the equally named club in Rotterdam. In fact, by now, I know that they have the same owner, so not a coincidence after all. Since we needed to be at the airport at 10:00, we left the club to go to bed at around 2:30 in the middle of the night.

Friday, November 10, 2006

TechED is over

Oh my, this was already the last day at the 2006 Barcelona TechED for Developers. Tomorrow around noon, we'll fly back to cold and rainy Holland. That will sure be big a disappointment after enjoying a full week of warm and sunny days here in Barcelona. Anyway, still a few sessions to attend today.

The first one, Developing Smart Clients with the Smart Client Software Factory and the Composite UI Application Block covers many subjects that are very close to me. It was presented by an architect from Microsoft Austria which has been using both blocks in real-live applications. He elaborated a fair amount of time on defining the scope of CAB workitems based on functional requirements such as use cases. Because that part of the SCSF is the least well explained, I especially liked that. He also showed some nice extensions they've been creating to improve the overall design of a SCSF-based Smart Client. I forgot how much I like Smart Client applications. I foresee a happy future since new components and technologies such as software factories, WPF and Synchronization Services are arriving real soon.

I skipped the second session of the day to meet up with Don Smith, product manager for Microsoft's Web Service Factory and a colleague of Tom Hollander. He missed our demonstration of our SMART-Microsoft Software Factory during Tom's session last Tuesday. We've been talking for more than an hour to show off our DSLs and the way we have approached our productivity efforts. He has also shown recent technologies such as the Guidance Automation Extensions and how they can help us to improve the use of our factory even more. We are sure going to stay in contact. What is great to hear is that the Patterns & Practices team really listens to developers and customers working in the Microsoft community.  

I did however visit the third (and one-but-last of this year's TechED) session. One of the founders of Thinktecture. Christian Weyer, presented a level 400 (!) demo on building distributed applications with .NET 3.0 technologies. He created an awesome multi-media system consisting of several WCF services, web clients, WPF Windows clients, while employing all aspects of .NET 3.0. Stuff I've seen: WCF custom behaviours, workflow extensions, streaming video over multiple WCF channels, MSMQ queing through WCF, a WPF media player. I'm going to download that code as soon as it is available. Absolutely awesome!

Next came another Windows Forms/WPF session by Brad Adams, this time elaborating on the Windows Forms stuff and how that will work together with WPF in Visual Studio Orcas. According to this guy, Windows Forms should be used for rapid application development while WPF is great for graphical-rich applications such are often used by hospitals, control pads for operating factory machines or public systems. However, you can actually host a WPF control in a WinForms application as he proved in a demo. Shame though that they were repeating the synchronization stuff that I already saw in a previous session by Brad. Not the best presentation of this week.

And what that session, the formal part of the TechED completes with a day full of Smart Client technology. Let's enjoy this last night in Barcelona...

Thursday, November 09, 2006

Patterns & Practices' Web Service Factory

While deeply mourning over losing my Idols Contest (well, a little bit), I visited Don Smith's introduction of the P&P's Web Service Software Factory. Since we at Ordina have a lot of experience with software factories through its DSL-based SMART-Microsoft Software Factory, I was eager to find out what Microsoft has been up to here. Their Service Factory is actually pretty cool. Although ours focusses more on leveraging the business domain (using DSL Designers), their's has a more technical origin. Using the Guidance Application Toolkit and a lot of wizards and dialogs, it provides guidance for tasks like generating the solution skeleton, securing your website, adding new WCF data and service contracts, and much more. Unlike SMART-Microsoft though, it does not support a fully functional object-relational mapper or any fancy model designers. Nevertheless, I think that both solutions can benefit from eachother very well. By combining them, you'll get the best solution for reaching the optimum business value while retaining the technical flexibility to match any possible scenario.

Not this year...

Well, I just had my take in the 2006 TechED Idols Contest, and I lost. In the third wave, five contestants got a chance, but a Belgian student gave a fancy demo as if he has been doing that all his live. Well, I've tried and I give myself credits for that. The judges thought that I did have the skills, but appeared a bit unstructured (it was not clear what point I was trying to prove). Good remarks that I'm going to take into consideration next time.

The Belgian guy was even better than the UK guy from the first wave and became the 2006 TechED Idol. Rumours (from our Ordina Belgium collegues) say that he already was in contact with some Microsoft guys and even may go to Redmond anyhow. Well, I preferred him over the UK guy anyway. He was really good.

D-Day

Well, here we are at the fourth day of the 2006 TechED for Developers in Barcelona. Today I will to have to show the Idols Contest jury what I have to offer on presentation skills. Unfortunately, yesterday evening was also the right time to be at the Dutch Country drink in Barcelona City Hall night club. Drinks were free, and I forgot that I'm not used to drink that many Bacardi Coke's anymore.

Therefore, I decided to start the day with a highly interactive Whiteboard Discussion on best practices for using Team System (which is great for starting after a hangover). The session was hosted by two Team System MVPs so clearly these guys have a lot of experience. In fact, it already took 15 minutes just to prioritize the many requests from the audience, . Since I ran into many issues while working with Team System, I'd like to ask them a question or few! I sure am going to check-out their blogs later on. As a side note, I was now getting a little bit nervous for the Idols stuff during lunch...

The next session was about the synchronization issues you run into with occasionally connected Smart Client applications. It was co-presented by Microsoft's Brad Adams, which is known for his books on .NET design guidelines. As part of Visual Studio 'Orcas', they've been cooking up a framework that should help us creating applications that are as great to use as Microsoft Outlook even if you don't have a connected right now. This stuff is not yet available fully and it relies on SQL Server Compact Edition for the local database, but a CTP is supposed to arrive soon enough.

Wednesday, November 08, 2006

Halfway through the 2006 TechED for Developers

Well, here we are at the third day of a week full of technobabble and mostly nerdish guys trying to gain some attention from all those Microsoft gurus. The day started with a presentation on the class object model of Sharepoint Portal 2007 and Windows Sharepoint Services 2007 and was provided by us by Ted Pattison. It was quite technical but even as a novice Sharepoint user, I managed to learn a decent amount of new stuff. One thing we should look at when we're back home is to integrate our custom ASP.NET pages that now run separately into Sharepoint's page collection. You can then obtain some neat information from Sharepoint itself and even modify site collections, navigation bars, sites and pages in a very detailled way.

The next session was presented by one of the leading guys of the AJAX Control Toolkit team. He showed us how easy it is to enhance an existing website with AJAX animation, hovering menus, pop-ups and much more eye-candy without bothering with JavaScript code. He also explained in a lot of detail how to create your own AJAX Behaviours (client-side) and Extenders (server-side) using the base-classes in the toolkit. Although the toolkit is an open-source project by a small Microsoft team and some 3rd party contributors, they've tried to do there best to releave us of too much plumbing-related work. The toolkit is not part of the ASP.NET AJAX core functionality, but will evolve over time when more contributers will jump on the train. Really cool stuff if you ask me... 

Again, similarly to each day so far, lunch was moderate. It seems that people from the south of Europe tend to have a warm meal during lunch. But we Dutch people, prefer to have a piece of bread with ham or cheese. The only food left for us was some cold stuff that you can hardely call lunch. Bad call Microsoft!

Following lunch, I attended a session on combining Office 2007 and Windows Sharepoint Services 3.0 in a collaborating solution. The two presenters showed some neat tricks to extend Sharepoint with custom-build components (such as custom fields and validators). Since I don't have personal experience with developing in Sharepoint, this session was a little bit to deep for me. Nevertheless, I did leave the session with the knowledge that you can do pretty much everything and that it shouldn't be too difficult if you already have some basic knowledge on the Sharepoint object model.

Session four of the day was given by the famous Ivar Jacobson, co-founder of the Unified Modelling Language and Rational Unified Process. This time, he was promoting his new Essential Unified Process, a new process consisting of eight essential practices, incorporating Agile aspects, social engineering prinicples and more. His goal is to overcome the heavy weight of RUP and introduce new process that should be easy to understand, easy to use, and easy to maintain. The great thing is that he has been integrating this process in Visual Studio Team System. However, looking at the demo and the material, I think it is still in development and needs a lot of marketing.

The day completed with another Ted Pattison presentation on Windows Sharepoint Services 3.0 development, this time focusing on web parts, master pages, field types and more. I'm definitely going to order a good book on this subject now. Sharepoint has a great future. 

This completes the third day at wonderful Barcelona. Tonight, we're going to join a party organised for Dutch developers visiting the TechED. It's in the Barcelona City Hall Nightclub....

TechED Idols Contest Wave 2

During Wednesday's lunch, the second round of the 2006 TechED Idols Contest completed with another wave of three speakers.

The first one, an Italian student (part of the 2006 Imagine Cup winner team), showed a very nice demo of a Windows Sidebar Gadget hooked up to a Bluetooth heartrate monitor. He had a bad Italian accent that made him difficult to understand, and somehow none of the speakers have managed to stay within the proposes five minutes.

The next one, a UK guy living in Austria spoke so fast that nobody must have been able to keep up with him (even the native speakers). Then again, explaining ASP.NET AJAX extenders in five minutes is quite a challenge on itself. He definitely lost the group rightaway.

The third one, some East-European guy could barely speak English, so not worth mentioning. I'm astonished he actually came through the initial submission selection. But the fourth one, somebody who gained access through one of the wildcards that were made available to the audience, was not bad at all. He was a Romanian guy that presented (in good English) some stuff about user interface design.

Overall, this wave was not up to the standards set by the raw presentation power displayed during the yesterday's first wave. To my surprise, the Italian guy won this wave. I'm now starting to doubt what really excites the judge...

Day two of the TechED 2006 for Developers

Because the first day of the 2006 TechED for Developers in Barcelona was actually a pre-conference day, the second day started with the traditional keynote. I thought that the first speaker (don't recall his name), was a bit uninspiring for the 3800 developers. But they called a little eleven year old Pakistan girl on stage who obtained her first MCP exam already! Her future is guaranteed I say…

The keynote speaker, Eric Rudder, was followed by two rather impressive demos. The first one showed the full potential of combining the power of Sharepoint 2007, Office 2007 and .NET 3.0. They even used a WPF control library from Infragistics. The second demo was even impressive since it demonstrated the possibilities of the new C# 3.0 LINQ functionality, both in a database and an XML centered context.

Right after the keynote session, I met Tom Hollander to prepare for the Software Factories presentation later on that day. I even gained access to the Speaker Area :-)

The first real session of that day was about Commerce Server 2007 by Ryan Donavon. Since a client of ours is considering migrating from 2002 to 2007 (and from .NET 1.1 to 2.0), I was quite interested. Unfortunately, the session was rather moderate from a content point of view. It basically listed the differences and new features, but did not show any real code-examples or more in-depth details. What the speaker did mention was that migrating to 2007 means nothing more than running a wizard (in most cases). I would have loved to know what those exceptions were. Prices will stay the same, and there will be a free developer version. The old COM codebase is still there though.

During lunch, I had to meet-up with the Idol Contest crew and the other contestants. According to the crew, about 20 submissions have been received of which nine were selected for the real deal. However, three wildcards will be provided for daredevils that want to try it without preparation. That makes a total of 12 contestants. Three guys are natively speaking English, so that's a disadvantage for me. The Greek guy (Evangelos or something) is part of the Ask-The-Experts team so he may already have more stage experience than me.

I was planning to go to a live demonstration on Sharepoint 2007, Windows Workflow Foundation and Infopath, but that session was already full in minutes, so I had to fall back on a presentation on C# language innovation by Karin Liu. No tears necessary though, since she give a very nice presentation on how typical limitations of one C# version have been addressed in the next version, up to and including C# 3.0. I really liked the stuff on how LINQ works under the hood and what C# 3.0 functions have been introduced to make this all possible.

The last session of the day dealt with all the new stuff for Web developers that becomes available in Visual Studio "orcas" (and .NET 3.5). Expect a lot of cool stuff to improve the productivity of the design-tools within Visual Studio such as: improved ASP.NET designers, seamless integration of new technologies such as AJAX, Intellisense and debugging support for JavaScript, and finally, LINQ designers. One notable aspect of LINQ was that it provides a full-blown object-relational mapper making products like Nhibernate obsolete. They also showed a command-line tool that generates a complete and fancy ASP.NET 2.0 website that provides extensive maintenance screens using a database schema as its source.

The day concluded with an introduction reception at the central Exhibition Hall. Microsoft has a history of spectacular parties (even the one at the DevDays 2006 was nice), so imagine the disappointment when there was no party at all. No music, no (exotic) dancers, no nothing. Well, the snacks were nice and there were some dressed up actors pretending to be fortune tellers, santa clause or something else peculiar. Hopefully, the Dutch party at the Barcelona City Hall Nightclub on Wednesday will be better.

TechEd Idols Contest Wave 1

At 19:00 I went to see the first wave of the Idols Contest in the Exhibition Lounge. Wow, competition is huge this first year. The first speaker, a UK guy, give an extremely smooth presentation like he was an oiled machine. Noted, he took too much time, has a very annoying voice and he would fit in the cast of the next installment of Revenge Of The Nerds, but he sure is going to be very tough to beat. The second speaker was from the UK as well, but his presentation didn't provide too much content and he overused his slides. Moreover, he looked like he is going to die soon. The third guy was from Greece and centered his presentation around Pizzas. His approach was a bit different from the others by creating a big party out of his 5 minutes. His slides were very busy and filled with pizza-related images, but his English was awful with ehs and ehms every two words. He is not going to be much of a competition.

Well, I've lost my confidence in winning the final e a bit, but I'm still going through. Sure, getting free entrance next year is still nice, isn't it...

Tuesday, November 07, 2006

Ordina Software Factory at the TechED 2006

Tom Hollander, Product Manager for Microsoft's Patterns & Practices team, was at the TechED to share their future plans on software factories. Since we have been using the Domain Specific Language tools for almost a year now, Tom asked us to provide a 15 minute demonstration of our SMART-Microsoft Software Factory in action. The session was labeled as a whiteboard session and was attended by about 80 people, mostly architects observed by the kind of questions we received. I shortly showed the different DSLs and what kind of code they generate. It was quite funny to see that several concerns from the audience on software factories were answered by the way we use DSLs in a real-live solution.

A day of ASP.NET AJAX (TechEd Day 1)

On Monday, I've been attending the pre-conference session on ASP.NET AJAX (formerly referred to as ATLAS) brought to us by Wintellect's Jeff Prosise. From what I read before, I thought it was merely some kind of SDK which primary purpose is to allow page updates without a full post-back and heavily relies on web services. How wrong I was…

Only a few years ago, Microsoft was still promoting the server-side aspects of ASP.in contrast to tedious client-side scripting and classic ASP. However, the big challenge since then is that Web-based applications could never compete with the visual richness of desktop applications. With ASP.NET AJAX, Microsoft shows that they've invested a lot in an attempt to get rid of this limitation. It essentially allows us to add a lot of eye-candy to traditional ASP.NET applications without a hassle. Most of the AJAX stuff intends to abstract away the complexity and the vast amount of Javascript code required prior to the introduction of AJAX. And I must say, I'm impressed!

Of course, AJAX itself is not a Microsoft technology, but they've clearly embraced the necessity of powerful client-side logic. Obviously, they are not a big fan of tedious Javascript code (as am I), and you can expect big changes on that side of the fence. In short, ASP.NET AJAX (beta 1) contains (amongst many other things):

  • A very powerful UpdatePanel control that abstracts away the Javascript and server-side code for asynchronously updating parts of a webpage without any flickering. Microsoft itself calls it the crown-jewel of ASP.NET AJAX. You can actually surround a part of an existing ASPX page with this control and voila; it now updates as smooth as possible.
  • An exhaustive set of (Browser-agnostic) extensions for Javascript providing us with an OOP-like development environment with .NET-like classes. This is an important aspect of AJAX, because apparently these extensions forms the foundation for all the other eye-candy.
  • Support for calling ASMX web services from client-side scripts (no WCF support yet).
    Advanced client-side databinding with web services running on the server.
  • XML-Script for declaratively defining client-side layout, appearance and behavior without the need to write one line of Javascript.
  • An extensive control toolkit with 30+ AJAX-enabled controls such TextBoxExtender, CollapsablePanel, and DragPanel. This toolkit includes really useful controls that provide more than just eye-candy.
  • Support for orchestrating complex animations (colors, fading, scaling, moving, sequentially, parallel), and drag-and-drop through any control.
  • Abstraction classes hiding away the browser-specific DOM. For instance, there is a TextBox class that wraps an browser textbox and provides the same events and properties regardless of the actual browser.

Monday, November 06, 2006

Barcelona at night

Yesterday (Sunday), we arrived at Barcelona at around four o'clock in the afternoon. We had no delays at Schiphol and the flight took fifteen minutes less than expected. A shuttle bus organized by the TechED organization was supposed to bring us to our hotel, the Hesperia Metropol in downtown Barcelona. Unfortunately, the lady in bus was a bit confused and brought us to the suburbs of Barcelona where the TechED is located. Her directions caused us to walk around for 15 minutes asking the locals for directions, until we walked into an American women living in Spain telling us that we needed to go downtown again. Fortunately, a cab (with a driver that didn't speak any English at all) finally brought us to the hotel.

Apparently, our hotel was only 400 meters away from the famous Ramblas boulevard, so we decided to have diner at one of the restaurants along it. Unlike what we expected, prices were quite low and I enjoyed a nice three-course meal accompanied with half a liter of beer (which is the medium size; I wonder how big the large one is!?). Barcelona actually has a lot of trendy bars and pubs, and I ran into a number of Starbucks as well. I sure am going to enjoy a nice Frappacino and a brownie sometime this week and try to forget me being on a diet for a brief moment :-)

This morning, the pre-conference session of the TechED started, and I'm writing this while joining the ASP.NET Ajax session of Jeff Prosise. Tonight, I'll need to perform a last test-run of our SMART-Microsoft Software Factory demo that I'm going to do as part of Tom Hollander's session on Software Factory Futures tomorrow.

Monday, October 30, 2006

Five minutes of fame at the TechEd Europe 2006

Next week, I'm going to attend the 2006 edition of Microsoft's TechED for Developers in Barcelona, a five-day conference with over 250 presentations and 3000+ visitors.

For the first time ever, Microsoft offered everyone visiting the TechEd a chance to submit a three-minute video showing his or hers presentation skills in the TechEd Idols Contest. As expected, I couldn't resist myself, borrowed a camera and recorded a short video. Well, I'm through!

Only 40 submissions were allowed of which the best 12 would get a chance to show-off at the TechED in three waves. The best three will get a free entrance to next year's TechED, but the winner will get his own track!. I'm not sure whether they were short on proper material, or there were simply not enough submissions, but 9 finalists will have to compete in three waves. I'm up on Thursday between 12:30 and 13:30. I'm excited already.

Tuesday, October 03, 2006

I'm back!

Well, because I've been very preoccupied with all kinds of things both personally and professionally, it has been a long while since I've posted. But I'm back! The contents of this blog will change considerably though. Recently, I've set-up a blog for my employer Ordina, so I'll probably post all technical stuff on that blog and continue this blog with stuff from my personal life. So if you really want to keep up with what's up with me, you need to track both blogs. Fortunately, both have proper RSS feeds, so that should be easy.

Tuesday, August 15, 2006

Superman is back!

Yesterday, me and Paul Dutmer (a colleague of mine), went to see Superman Returns in Pathé Scheveningen. I was afraid this one was going to be another poor attempt to bring an action comic to live, but I was so wrong. The X-Men series were on the top of my list of great conversions, followed by Spiderman, but this has changed. Superman Returns definitely earns a 2nd place in my personal charts. It is incredible how good the cast and crew managed to recreate the atmosphere of the original Superman movies.

You may have heard the discussions on who was supposed to play the role of Superman, but they’ve made the right choice. Brandon Routh did an excellent job of portraying Superman. The way he moved and talked really gave credit to the late Christopher Reeve. Even fanatics that avoid Superman Returns because of commercial exploitation must admit the director sincerely tried to recreate the atmosphere of the original series. For instance, while you're watching it, note the perfectly blended in archive footage of Marlon Branda as Superman's father Jor-El.

The only compliant I can come up with is the casting of Kate Bosworth as Lois Lane. She looks far too young for a role like that. I hope that they find a different actress for a possible future installment.

Monday, August 14, 2006

Losing weight

I’m in the second week of a diet from a book written by Sonja Bakker. I was a bit skeptical, but the many success stories made me decide to try it anyhow. Well, in exactly two weeks, I’ve lost 6.5 kilograms, even though I actually committed terrible sins twice (by eating sate and having a BBQ). But for the remainder of the days I tried to stay as close as possible to the prescribed meals.

Time to make fun of me

Last Thursday, my girlfriend had a tennis tournament, so we decided to go to the court early and have diner first. Because I had some short nights before, after finishing diner, I couldn’t resist closing my eyes for a few minutes. Unfortunately for me, there was a photographer around…


Thursday, August 10, 2006

LinkedIn and Hyves profiles

I've set-up a professional profile through LinkedIn and a more social profile through Hyves (although the latter is in Dutch only). Check them out if you want to know more about me.

Team System tips & tricks

I've found an excellent site with tips & tricks on how to customize and extend Team Foundation Server. It covers several scripts, add-ins, and solutions to everyday problems. I'm sure going to try a plug-in that sends detailed mails to people who get a workitem assigned to them.

Tuesday, August 08, 2006

Moved my domain

I've finally managed to move my domain to a provider that allows me to use a real IP address instead of forwarding everything to different system. You'll notice the difference by looking at the URL in your browser's address bar. With my previous owner, you would see the physical name of the server hosting my blog. Now, you only see www.dennisdoomen.net, as it should...

Thursday, August 03, 2006

NDoc is over, welcome Sandcastle

Kevin Downs, the leader of the NDoc project has thrown the towel in the ring (is that English btw?). He claims to not have received any support from the community or from Microsoft. That’s a shame. I’ve been using NDoc since 2001, and I was eagerly waiting for the moment a .NET 2.0 version would become available.
Unfortunately, Microsoft’s Sandcastle project is far from complete. With the CTP, it is very possible to compile a set of assemblies in a nice .CHM file, but it will still take a few months more before we get the nice user interface NDoc offered. Moreover, to get it to work for .NET 1.1, you need to perform a decent amount of hacking.

150 free Windows programs from Microsoft

Blake Handler of The Road To Know Where has compiled an awesome list of free goodies from Microsoft. I haven't tried all but I did like the Vista-like Alt-Tab plugin. It shows a thumbnail of the application while alt-tabbing. I also saw some potentially interesting tools that I'm going to try out soon.

What is the Web 2.0?

I've already posted about this before, but Supr.c.ilio.us has compiled the 20 best answers to this questions here.

Tuesday, July 25, 2006

I'm Lost in Star Trek

J. J. Abrams, the director and producer widely known for its hit-series Lost, is going to direct the next installment of one of my favorite SF-series, Star Trek XI. This news is already public for a few weeks, but Startrek.com now sports a short interview with him talking about the rumours related to the movies' storyline. The movie is supposed to be released in 2008, but they already have a teaser poster on their site right now!

Monday, July 24, 2006

New cellphone for me

Various Internet shops did not expect my new phone to arrive before the beginning of August. But to my surprise, it arrived much sooner than that. So check out the picture below to see what I'm talking about...It's the brand new Nokia 6233.


A picture of the new Nokia 6233. Notice that this is just a picture,
and that that hand is not mine ;-)

You can treat it as the successor of the Nokia 6230, a very popular business phone. I own the 6233 for about two weeks now, and I must say I'm very happy with it. I also have the 6230 as my corporate phone, but the differences are huge. The body is partially chrome and partially made of some kind of expensive soft plastic. It is a bit heavier than the 6230, but it feels very robust compared to most phones. I had a Samsung D500 prior to this one, and I hated its small keys. Especially the ones near the four-way button were difficult to use. Well, the 6233 does not have this problem. The keys feel extremely comfortable and solid. To only thing is that because of the material, the keys reflect light easily which makes it sometimes difficult to read the labels.

The display consists of a 320x240 TFT screen supporting 256K colors, and is comparable to a friend's Samsung D800. Nokia has put a lot of effort in getting its operating system to take advantage of those capabilities. For many years, Nokia's OS has been quite dull compared to those of Samsung or Motorola, but this changed. Just check out one of the latest phones for the ladies (my girlfriend has one) such as the Nokia 7370. Nevertheless, I must admit that the fonts the've chosen for the standby mode are not always that readible with all background images. But a little tweaking will help. The camera sits on the back and allows taking pictures of up to 2 megapixels. I haven't had much experience yet, but the few tests I've tried look great. Especially the high-resolution display is very convenient for taking pictures in landscape mode.

The stereo speakers provide a very loud, but clear and crisp sound. The supplied 32 MB mini-SD card contains a lot of nice tones and MP3s out of box that clearly demonstrate the quality of the speakers. Of course, standard features like Bluetooth, infrared, a headset and a built-in radio are included as well. I've even configured it to automatically synchronize its calender and notes with Outlook. As soon as I open up my laptop it start the synchronization.

The mini-SD card comes with an extra application that you can use to control your Bluetooth-enabled laptop or desktop. Just install the Nokia Presenter software and launch Powerpoint or Windows Media Player. The display of the phone will list the songs or slides and allow you to navigate between them. Great for listening on the couch or providing a presentation in front of a large group.

I haven't seen many reviews yet, and even Mobile-Review hasn't posted anything yet, so I suppose it is not available in all countries yet. Anyway, up to now, I really recommend it if you're looking for a 6230 successor.

Thursday, July 20, 2006

C# 2.0 Coding Standard

As Ordina is executing more and more .NET 2.0 (and even .NET 3.0) projects, we found it time for writing up a set of decent C# 2.0 coding guidelines. We essentially studied several existing documents, including the Microsoft Class Design guidelines and a C# 1.0 coding standard I co-wrote while working for a previous customer, and incorporated our own experiences. Since typical projects do not always consist of seniors, we tried to maintain only useful guidelines and ensured ourselves that we provided enough explanation on the 'why' of each guideline.
You can imagine that a endeavor like this has cost us a lot of time and energy, but we felt it useful for the .NET community to be able to benefit from it as well. Check out this link and judge yourself. Feel free to distribute it as much as you like and make sure you contact me if you have any questions, suggestions or remarks.

Updated November 28th, 2008: Updated the links to the document to the Aviva Solutions C# Coding Guidelines.

Updated March 9th, 2009: Check out our new C# 3.0 Coding Guidelines.

Thursday, July 13, 2006

Review: Pro .NET 2.0 Windows Forms and Custom Controls

During my holiday, I finally completed reading the 1000+ pages of the excellent book Pro .NET 2.0 Windows Forms and Custom Controls by Matthew MacDonald. I’ve already read many .NET books (both good and bad), but this one really kept my attention from front to back.It covers all aspects of developing Windows Forms application and building rich control libraries. Especially the chapters on building a professional design-time environment were really helpful. In fact, as a long-time Windows Forms developer, I even learned some stuff that was already available in Visual Studio 2003, but which the MSDN failed to explain properly. It also explicitly notes the differences and changes introduced in Windows Forms 2.0. I always find it incredible how an author manages to get so much in-depth details while the actual product is still in development (the book was released in December 2005). Make sure you check out the customer reviews on Amazon as well. What’s next? Well, XAML of course…

What’s next with Enterprise Library 3.0

Microsoft’s Patterns & Practices team are consolidating the requirements for the 3rd installment of the Enterprise Library. Check out the link to give your feedback.

Tips for migrating from .NET 1.1 to 2.0/3.0

If your considering migrating to .NET 2.0 (and 3.0 since that is merely a huge add-on) check out this blog.

Tuesday, July 11, 2006

Summer Holiday....is over.

I’m back from a relaxing and sunny holiday in the south of France (Cote D’Azur). We spend the first week in a brand-new convenient mobile-home on camping Les Tournels just a few rocks away from the famous St-Tropez beach Pampelone. From there, we visited several beaches in the region and did one-day trips to Monaco, Antibes, and Nice. The next week we moved to a summer house about 20km from St. Raphael. Since it was more or less in the same region, we continued the same kind of trips from there.

I have actually lived in Paris for one year and was quite okay with the French, regardless of the prejudices most people have, but this has changed. These people drive like idiots! Just imagine yourself the tiny roads between and around the mountains. As I carefully stay within my driving lane and try to avoid accidents, these people drive around the corner as if they are the only one on the mountain. I’ve lost count of the many I’ve held my breath while some idiot almost hit my car.

Well, the last week continued back in the Netherlands filled up with home improvements, visiting the beach, watching DVDs, and sleeping… Back to work now…

Saturday, June 10, 2006

WinFx is dead, live .NET Framework 3.0

According to the latest rumors, Microsoft decided to rename WinFx (a new set of technologies including Windows Communications Foundation, Windows Presentation Foundation, and Windows Workflow Foundation) to .NET Framework 3.0. Moreover, 3.0 wil ship as part of Vista.

Thursday, June 08, 2006

Windows Vista Beta 2 attempts

The weekend Vista Beta 2 was released, I downloaded it from the MSDN subscribers site and tried to install it on my desktop PC (P4, 2GB of memory, 500GB HD). The installation went quite well in fact. Even my two RAID configurations did not cause any problems since the old XP drivers still worked. Also, I was quite happy to see that the old DOS-style installation UI has been replaced by a genuine windows-based UI. You can even pop-up a command prompt with SHIFT-F10 at any point within the installation. Most other drivers are built-in, but I downloaded the latest NVidia driver for my Geforce 6800GT to get the most out of the Aero theme (which looks amazing). I was actually planning to replace my XP installation with the Vista (I have been using XP since it was beta 2), until I ran into a driver problem. Apparently, Creative does not have properly working drivers for the Audigy 2 ZS card I own. And, without it, Vista is useless, so that’s that…

Then one of my colleagues mentioned that he had installed Vista Beta 2 on his company laptop, a Dell Latitude D800. He was quite fond of it and convinced me that it was working like a charm. He already replaced his standard XP and installed all the other stuff as well (Visual Studio 2005, WinFx beta stuff, WWF, WCF, Office 2007 Beta 2). After a week or so, I decided to try it as well. The installation did run like a charm. All the drivers were installed automatically, even WiFi and Bluetooth. With XP, you need to install a long list of drivers to get it to run properly. I then installed all the common packages and components I use for daily work. But then the trouble began….

After a few BSODs while trying to get my laptop to sleep (closing the lid), several forced kills of the explorer.exe process, and the WiFi connection failing intermittingly, I decided to put my XP installation back. My girlfriend uses the laptop for daily browsing and wasn’t quite happy with all these problems. Let’s wait for beta 3.

Although I do see the potential of Vista (and many of you will too), Scott Finnie wrote an enjoyable article highlighting some of the things you may not like.

Web 2.0? Does the web have a version number?

While we were visiting Redmond, one of the presentations mentioned the phrase Web 2.0. Since then, I’ve been trying to grasp the concept of that, but apparently I’m not the only one who couldn’t get a clear picture. In fact, the whole concept is as vague as possible, and none of the articles I’ve read did a good job of making the concept more clear. Tim O’Reilly was the first to write an article that made sense to me. Make sure you check it out…

WCF MasterClass

Next week I'm going to attend a WCF MasterClass at Microsoft Netherlands. Since Gijs de Jong is currenly most visible as the WCF expert here, I presume he will be the tutor for those two days. I'm looking forward to it, but I hope I haven't spend to much time reading all those articles...

C# 3.0 is Cool

I’ve already mentioned this article, but I decided to give it another thorough look, and I must say, C# 3.0 is really cool! The article is written by the infamous Don Box and it provides a comprehensive step-by-step tutorial on how each of the new C# 3.0 features can be used in practice, and eventually, how they are all meant to support the new query expressions. I already knew about LINQ, but until now, I wasn’t aware of its full potential. Many people have stated that it’s just an attempt by Microsoft to get a share in the ORM market. But in the same sense the foreach keyword is merely a shortcut for using the IEnumerable/IEnumerator interface, query expressions are really a SQL-like shortcut syntax for concatenating various query-like operations. You can perform query expressions on collections, databases (DLINQ), XML structures (XLINQ), and any other data source that conforms to the query expression pattern. Most of the new C# 3.0 features have been introduced to make this syntax compact and readable.

Thursday, June 01, 2006

C# 3.0 Specifications for May 2006

If you have visited the Future Versions page of the Microsoft Visual C# Development Center, you may have already browsed through the C# 3.0 documentation that is already available. Since I have been studying the May 2006 version of the C# 3.0 Specification, I’ll quickly provide a summary of the most important aspects.

  • Implicitly typed local variables and arrays. With the use of the var keyword, the compiler will try to determine (infer) the appropriate type of the variable without the need to expliclty specify the type of variable. This works both for simple variables and arrays. Although that sounds really convenient, I’m afraid this feature will be error prone. I already see a coding standard rule appearing…
  • Extension methods. This allows you to add new members to existing classes even if you do not have the source code. For instance, you can add a new member to the built-in String class without deriving from it or modifying its existing code. Quite a cool and handy feature.
  • Lambda expressions. Introduces a new syntax for defining a delegate handler with less code than anonymous methods already require. It supports defining both statements and expressions in one line (e.g. x => x+1).
  • Object initializers. In a similar fashion as arrays can be initialized, we can now initialize any object during its construction. C# 3.0 introduces a new syntax that allows calling the default constructor while initializing one or more of its properties in one statement.
  • Collection initializers. It was already possible to initialize an array with a collection of values, but now we can also initialize collections as well as long as they implement ICollection.
  • Anonymous types. With the combined efforts of the var keyword and the object initialization features, you can now create an instance of an anonymous class that is defined when you create it. Nevertheless, since you cannot refer to that instance other than through the variable, I’m not sure how it is useful other than in the LINQ stuff (see below).

Although most of those new features can be quite useful on its own, looking more closely at the syntax and examples of the new Query expressions (LINQ) reveals that they have been introduced for facilitating the query expressions. This new syntax allows a developer to use a kind of SQL statement right into your code. The compiler will translate this syntax into a hierarchy of method calls on a type that supports the Query Expression Pattern, a set of methods and properties required for supporting query expressions. This potentially allows a developer to perform queries on multiple data sources such as databases, XML documents, or other relational data structures. Check out this article to get a feeling on what you can do with it. (It’s from September 2005 though, so some stuff may have changed already).

Monday, May 29, 2006

Catching the Long Tail

At the end of March, we got a chance to visit Redmond and attend two days of presentations from several Microsoft architects. Amongst them was a presentation by Gianpaolo Carraro that dealt with the concept of Software as a Service, which, according to many, will have major impact on the software industry. I could try to explain what that concept is about, but obviously, Gianpaolo can do it much better himself. So check out the article Architecture Strategies for Catching the Long Tail.

Digging into WCF

I’ve just completed reading a great in-depth article on WCF written by Juval Lovy (founder of IDesign). Those who have worked with .NET Remoting a lot may find this article very useful since it deals with the WCF equivalence of .NET Remoting’s SingleCall and Singleton and more. I myself am going to attend a MasterClass WCF in June here in the Netherlands, so I’m sure I’ll get there well prepared.

Wednesday, May 10, 2006

I’m in Ordina’s annual report

As I’m a little vain, I couldn’t resist mentioning the fact that my picture is in Ordina’s annual report. Check out the report and browse to page 46….

A peek into Ordina’s kitchen

Ordina is well known for its DaVinci platform and now offers you a chance to peek into our kitchen to see how we develop professional enterprise applications. You’ll get a chance to understand our development process, how we employ UML for generation purposes, and you can join a presentation on Domain Specific Languages (DSLs) and Ordina’s new DaVinci.SF. software factory Check out the registration site (it's in Dutch).

Windows Communication Foundation at a glance

Check out this article published on TheServerSide.net. It provides a tip of the iceberg on what you can do with WCF. For those who don’t have a clue of what I’m talking about, WCF is Microsoft’s attempt to unite all their communication protocols into one uniform communication stack. On turn, this stack is part of WinFX, the next-generation managed APIs by Microsoft.

Hands-on with NHiberate

You may have heard of NHiberate, the .NET variant of the famous Hibernate product, and you may understand the concept of an Object-Relational Mapper. But you may not have a clear picture of what it really can and does. Justin Gehtland published an article on TheServerSide.net that gives a quick introduction on how to configure NHibernate to map a domain model to a database model. The examples include one-to-many and many-to-many relations and inheritance.

Thursday, May 04, 2006

The Liskov Substitution Principle

As Ordina is working on new C# 2.0 coding guidelines, last week I had a discussion with a colleague on object-oriented design. One important principle is the Liskov Substitution Principle which in a C# context is often written as "methods that use references to base classes must be able to use objects of derived classes without knowing it." I had quite some troubles explaining what it is really about, so I dug up an old (10 years) article written for C++ that still applies to modern-day languages. In fact, it also touches the subject of Design by Contract, another interesting principle that few use these days.

Monday, May 01, 2006

Copying & Pasting

While reading this article, I ran into two must-have tools which should have been part of Visual Studio from the beginning. First of all, Smart Paster is a handy tool for pasting a chunk of text into a source file in various nicely formatted formats. Secondly, Copy Source As HTML allows you to copy a code snippet for use in your blog or website while maintaining the syntax coloring.

Monday, April 24, 2006

Moving to Software Factories

You may have heard of Software Factories already, but failed to grasp the actual meaning of it. This two-pager should help to understand the fundamental ideas behind Software Factories and the way Microsoft and Ordina deal with them.

Wednesday, April 19, 2006

Redmond 2006 - A Trip Report

Since I'm back, several colleagues and friends inquired about the trip to Redmond. But sadly, the last two weeks were a bit busy (both personally as well as professionally), so I simply did not find the time to write a trip report...up to now...

The trip started on 10:00 Tuesday the 28th of March when the entire group of 61 people (including the Microsoft hosts) met at Schiphol Airport. Since I didn't want to leave my car on the airport for the remainder of the week, I decided to take the train instead. But apparently, NS (the Dutch railroad agency) finds it very difficult to follow their schedule, so I missed the transfer in Leiden. After waiting for three hours at the airport, including answering a personal questionnaire and undergoing a thorough strip-search at the gate, flight NW33 finally took of at 13:05.


The 10-hour flight in an Airbus A330-200 was operated by Northwest Airlines. Although the flight attendants weren’t all that friendly, the service was good, in particular the amount of snacks and beverages. Moreover, each seat was equipped with a personal entertainment system, so I tried to kill the time by watching the movies Derailed and Aeon Flux, talking with the lady next to me (who happened to work for Amazon), and reading the magazines I brought along. But still, 10 hours is a heck of lot of time...



We arrived at Seattle/Tacoma airport at 13:30 local time, which is rather weird since at that time, I would normally be asleep. A bus brought us to the Hyatt hotel in Bellevue, but to make sure we didn't fell asleep, we immediately left for a visit to the local shopping mall. One thing I noticed is that the amount of typical American cars is actually rather low. Apart from the SUVs, you find the same Volvos, BMWs, Hondas, Toyotas and Volkswagens as we have in the Netherlands. Apparently, gas prices do have some impact. After having seen enough of the stores and getting fed up with the overacting girls working there, we finally found a nice spot at one of Starbucks' lounges. Incredible how tasty that Frappacino Caramel is! Having stayed there for a few hours, we then tried to find a nice place for enjoying our diner. Obviously, the 10-hour time difference started to take its toll. Unfortunately, the trendy Chinese restaurant in the shopping mall was fully booked, so we had to find some other place. For a few minutes we considered the Italian restaurant Little Italy, but somehow, the place looked like the headquarters of the local Mob..... So we decided to enjoy a nice big steak at Ruth's Chris Steak House. I was impressed on how easy a 400 grams steak stuffs you up, but I was even more impressed that some of us still found some space for a desert. Of course, I could not stay behind and concluded my diner with a nice Warm Apple Crumb Tart. Around that time, the exhaustion finally started to kick in and we all went to bed.

On the next day, our bus to Redmond was supposed to leave at 7:45, so we got up early to enjoy some breakfast and coffee. In contrast to an ordinary Dutch breakfast, the one we got consisted of brownies, muffins, sweetened bread and fruit.
The trip to the Microsoft Campus in Redmond took us about 30 minutes, and we didn't actually notice the campus until we saw the building numbers. In fact, the campus is completely open for public. You simply take the proper exit of the freeway and there you are. No gates, no fence, no security, no nothing (although you do need a badge to actually get in to the buildings). Also noticeable were the amount of white Toyota Priuses driving around the campus. We now understand why they call it a campus. It really looks like a university campus. Lots and lots of green, mostly one or two-story buildings, plenty of parking spaces, and even fields for exercising various sports.


To give us a sense of how typical Microsoft employees work, instead of going to the Conference Center, we had our presentations at building 40 (which hosts several of the Visual Studio teams). They even have their own Starbucks coffee corner. Most noticeable were the families sitting there during the lunch. Since typical Americans have long working days, I suppose they invite their family to have lunch with them at work.


The sessions where introduced by Dik Bijl en Simon Guest, after which John deVadoss explained how SOA architectures and the Web 2.0 will meet. Since I’m not sure which parts are public, and which not (we signed an NDA), I’m not going into any depth here. John’s session was followed by a (rather out-of-context) session involving a procedure for identifying organizational issues using a pragmatic approach. It was presented by Ric Merrifield. But more interesting and presented with more enthusiasm was the Software as a Service session by Gianpaolo Carraro, a member of Microsoft’s Architecture Strategy Team. This dealt with an architecture for software that is designed to be deployed as a hosted service (e.g. Hotmail). The visit to building 40 was concluded with a really interesting session by Kim Cameron about the efforts of Microsoft and other companies to provide a unified abstraction layer to the various internet security protocols. Make sure you check out his article Laws of Identities and the accompanying Microsoft whitepaper.

After leaving the campus, we had a short visit at the Executive Briefing Center, after which we continued to a nearby Golf club where we had diner. I don’t recall the menu anywhere, but I do remember the impressive view on Seattle from the hill the restaurant was located at. The rest of the evening consisted of drinking wine (I think, I don’t recall either), and sleeping in the bus back to the hotel…


The next day we started with a great presentation by Brenton Webster. It dealt with a huge project that Microsoft did for the Australian Commonwealth Bank. They basically created a distributed CRM application that fully complies with the architectural guidelines that you find on MSDN’s Patterns & Practices, including a Smart Client Windows Forms front-end, Web Service interfaces, agents and connections to legacy systems. In fact, the new Composite User Interface application block has its origins in this project. I especially liked the way they handle asynchronous execution of web service calls. Brenton told me that Microsoft will soon release a technical paper to the public explaining the major design choices they made. I’m sure going to read that one.



The next session was given by Dave Green, the founder of Windows Workflow Foundation. However, most of his topics were already presented at the Microsoft DevDays 2006 in Amsterdam and various articles on MSDN, so I was a bit disappointed by the lack of depth.

The session thereafter covered Software Factories and was presented by Jack Greenfield, which may sound familiar. And you’re right; he is the co-author of the famous book Software Factories. Although still worthy of note, the session was primarily an introduction to software factories. We had one final session, but since it fell under our NDA, I can’t tell anything about it. After that one, we had a short stop at the company store for buying some Microsoft goodies, and then we finally left the campus.



After we arrived back at the hotel, we took our last chance for visiting the shopping mall and purchased some commodities for our family. We then went to the 21st floor of the building next to the hotel to have diner at Daniels’ Broiler, another steakhouse. Since I’m afraid of heights, I used the first 15 minutes for adapting to the feeling of being at the 21st floor, but having done that, we discovered the Oyster Bar next to the restaurant. After having finished with the appetizer and the steak, my colleague Octavie and I decided to skip dessert and to get us a drink at the bar and inspect the ‘audience’. After about an hour several members of the group joined us, but at that time most of people in the bar had already left, so we inquired the bartender for another place to go to. Nico Copier, one of the Microsoft hosts remembered a restaurant/pub called Rock Bottom a few blocks further, so the five of us left the bar to check out this place. At first, the place looked abandoned outside some teenagers outside, and apparently the restaurant was closing. But at the top floor it had a small pub where a rock band was playing, and they did that rather well. In fact, our request for Radar Love was honored with an astonishing piece of rock music (that said by somebody who prefers dance/trance).


The next morning, a bus brought us back to the airport were the waiting started. Even worse, the usage of e-tickets caused our 60-man group to get spread all over the plane. I was confined to a window seat next to some other Dutch guy unknown to me. How annoying is it to have to ask your neighbor to step-up every time you want to stretch your legs... Consequently I tried to keep myself busy as long as possible, but failed to get some sleep. The flight back took exactly 9 hours so we arrived at Amsterdam at 7:05 in the morning with still a full day ahead….

Eastern wasn't so good for me

From a weather point-of-view, Eastern was quite good. I've visited Delft by bicycle for two days and enjoyed some nice beverages in the sun. However, it didn't finish well. Yesterday morning I discovered that somebody couldn't leave its hands off my car!!!! The lock was broken, the Pioneer DEH-P80MP was gone, as well as my active subwoofer, my Rayban sunglasses, and some other stuff hidden in my armrest. Even worse, I would expect something like that to happen somewhere in the streets of Amsterdam, but not in the locked and private garage that our appartment building has. But the worst of it all, is that none of the equipment was secured. The lease company did not explicitly mention an important regulation that changed when they took over my lease contract from my former employer.

Thursday, April 13, 2006

Managed Debugging Assistents on the rescue

In several projects, I've been heavily using COM and other interop-related technologies. The pain with these technologies is that is often very difficult to track down bugs and interop mismatches. The same applies to working with No-Touch Deployment. Problems that occur while loading the application (assembly binding) are very difficult to analyse.
In Visual Studio 2005, Microsoft introduced Managed Debugging Assists that can help you detect those obscure problems and act accordingly. Check out this article to find out.

Back from Redmond

Just to let everybody know that I'm working on an extensive trip report. Just be patient...

Wednesday, March 22, 2006

Redmond, here we come...

In the last couple of months, me and five fellow consultants have been attending Microsoft Netherlands' Lead Enterprise Architect Program. Up to now, this program consisted of four evenings in which Microsoft consultants elaborated on how their products and components can be used in the daily challenges of defining an information and application architecture and settung up the corresponding infrastructure. All quite interesting, but more importantly, next week we'll be flying to Seattle to visit the Microsoft campus in Redmond for a few days!!

From what we understand, it'll be a very intensive week. We'll leave from Amsterdam on Tuesday, and we'll be back on Saterday morning. Knowing that the flight only already takes 10,5 hours....pfew...

Wednesday, March 08, 2006

Two days at the DevDays 2006

I've just completed two days of intensive knowledge consumption in which I attended several sessions about all of the major .NET news for 2006. Of course, I'm talking about the Microsoft Developer Days 2006 in the Amsterdam RAI. Just to give you an impression, the guy in the purple sweater is me. Ordina uses a platform for generating database-oriented applications from UML models, also known as the DaVinci Framework. In this intimite session, I was demonstrating how to build a 4-layered website in 30 minutes.



The snapshot below shows me with my good coworker Octavie van Haaften and one of this year's speakers, Alex Thissen who gave a Black Belt session on ASP.NET 2.0 (and obviously forgot to smile to the camera :-)) Four years ago, when Alex was still working for Twice, I attended a .NET course he was doing, and I didn't see him until this conference.

Thursday, February 23, 2006

RSS feed has been fixed

An attempt to reorganize my server with Norton Partition Magic screwed my primary partition. I had to reinstall my machine. While doing that, I managed to fix the RSS feed for my blog, so don't forget to update your reader.

Ordina at the Microsoft Developer Days 2006

If you live in the Netherlands, don't forget to subscribe for the Microsoft Developer Days that will happen in Amsterdam on the 7th and 8th of March. Ordina is one of main sponsors and will have a dedicated location on the show. As far as it looks now, I'm going to give a short demonstration of Ordina's DaVinci UML-based code generation framework.

Murach's ASP.NET 2.0 Upgraders Guide

I've recently completed reading Murach's ASP.NET 2.0 Upgraders Guide. It's a fairly recent book that deals with the new features of ASP.NET 2.0 and targets an audience that has quite some experience with ASP.NET 1.0. As an experienced .NET developer I was looking for a book that would bring me up to speed with the latest and the greatest of ASP.NET 2.0. I tend to get bored easily, so I need a book that gets to the point immediately. This is where it failed for me.
It does cover all the important aspects such as Master Pages, DataGridView, DetailsView and Role and Membership Providers. And does do that well since I learned a lot of new stuff (even though I keep a tight lease on the MSDN site). It even explains how some solution was implemented in ASP.NET 1.0 and why the new solution is so much better. But what bothered me was that a majority of the book is explaining basic concepts that should already be imprinted in your mind. Moreover, the book is organized in way that on every few pages a new concept is explained in two different ways. The right page usually contains a large bullet list with an explanation and some examples, whereas the left page basically contains the same information but written out. For me, it was annoying to start reading the summary (because the text starts by referring to it) and then discover that the left page is not adding anything substantial. One of the two is sufficient for understanding the technology, so I wonder what the author had in mind.
Anyway, I would give the book three out of five stars. The content is really good, but should have been more compact.

Wednesday, February 15, 2006

Resharper 2.0 Early Access Program

If you have never heard of Resharper, then you should come out of your little cave right now! I have been using Resharper 1.5 for a long long while now, and it's incredible I have managed to work professionally without it. It's the best add-in I ever ran into (Visual Assist was my prior favorite).
Well, since a couple of months, I've been trying the Early Access Program for Resharper 2.0 for Visual Studio 2003. As of this writing, the latest build is 217. It is still rather unstable, but the productivity increase already outweighs the number of open issues. New builds are releases almost every week, so as soon as it gets stable, I'm sure I'm going to get myself a license.
Also, a couple of collegues have tried it with Visual Studio 2005 and were surprised how many productivity features Microsoft forgot to built-in. Even with the enhanced VS 2005 editor, Resharper is still a major improvement.

Enterprise Library for .NET Framework 2.0

Lost month, Microsoft released an updated version of the Enterprise Library. I haven't tried it yet, but from the documentation it does not seem te bring a lot of new features, other than compatibility with the 2.0 Framework. We have been using the May 2005 release for a long while now, and I can't ignore the many manual bugfixes we had to do to make it really work. Hopefully, Microsoft listened to the community.

Sunday, January 15, 2006

Technology Breakthroughs in 2006

Completely unrelated to .NET, but still interesting, this site brings you an overview of the 15 most important technological and scientific concepts that will appear in 2006. It is noticable that the automotive industry is really trying to move further.

Thursday, January 05, 2006

WinForms Tips & Tricks

While I was looking for a solution for the disappearing image of a XP styled button, I ran into this small site. Mick Dohertys provides some nice tips and workaround for common Windows Forms (.NET 1.1) bugs.

Tuesday, January 03, 2006

Happy New Year

I wish you all a very healthy, challenging, and interesting new year.