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.