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
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
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
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
Monday, November 20, 2006
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
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
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
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
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.
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.
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
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.
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....
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...
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 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.
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
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…
- 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.
- 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
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
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
Tuesday, August 15, 2006
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
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
Tuesday, August 08, 2006
Thursday, August 03, 2006
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.
Tuesday, July 25, 2006
Monday, July 24, 2006
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
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
Tuesday, July 11, 2006
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
Thursday, June 08, 2006
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.
Thursday, June 01, 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
Wednesday, May 10, 2006
Thursday, May 04, 2006
Monday, May 01, 2006
Monday, April 24, 2006
Wednesday, April 19, 2006
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….
Thursday, April 13, 2006
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.
Wednesday, March 22, 2006
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
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
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
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.