October 2009 - Posts
It’s been blogged about before but I still see people doing it.
With #region you can hide parts of your code. Why is this harmful? Well because why on earth do you want to hide parts of your code? Are you ashamed of it? Most people tend to use it because the method or class they’re writing gets too big to fit nicely on their screen. Please cut up your class or method in normal ways then by introducing new classes or methods, not but just stuffing away your code in a region.
The only thing when it was useful in the past is to place generated code or lot’s of properties for a class in a region. But C# introduced partial classes for this so please use them.
So no excuses anymore for using #region… no really not, please stop using them asap!
Last year I was one of the lucky guys to be there. And this year... I will be there again because it's part of Achmea MXP Program :-)
My employer (Achmea) runs a program together with Microsoft Services from the Netherlands called the Microsoft Excellence Program (MXP). The program is aimed at to train Microsoft Thought leaders in the Achmea Microsoft Community. Pretty cool that they're doing this. There were only limited places available in this program so you had to do an Idols / Pop stars like audition for a jury. The audition consisted of a one hour during presentation of a recent project you did and another hour for the jury to ask questions about your presentation. Apparently I did well and I’m in!
The other participants are: Remco Hulshoff, Phons Stokkermans and Alex Thissen.
The program will be run by Martijn Hoogendoorn and Rossen Blagoev, both from Microsoft Services in the Netherlands.
So what are we going to do? Well the first thing is to join this year’s Microsoft Lead Enterprise Architect Program (LEAP). Besides that we’ll be meeting every couple of weeks at Microsoft for intervision and coaching sessions. The program will be shaped further individually to gain the right skills to become a thought leader.
Intro
After PDC 2008 there was quite some confusion around what you can do with Microsoft “Oslo”. I was already busy with Domain-Specific Languages for a while so I got a general idea. There weren’t a lot of good and complete demos either for “Oslo”, so that didn’t help in getting “Oslo” clear for lots of people.
Last year back at Avanade I decided to start building a good showcase together with two enthusiastic graduation students (Michael Wolbert and Bryan Sumter) and Felienne Hermans from Delft University of Technology. Some of you may have already seen this at Code Generation 2009 where I did a session about “Oslo” together with Felienne or at the Achmea Technight where I did a similar session with Alex Thissen. More of you will start to see this demo since it will probably run at the “Oslo” booth at PDC09!
Bryan and Michael pulled this very well together so let me briefly describe what this is about.
The case
Our domain is questionnaires for insurance products. Before you get accepted for insurance product companies tend to ask quite some question so they can calculate risk. These questions generally change quite a lot or extra questions are added due to new insights by insurance experts. Now if you’re a big insurance company and sell quite some products you can build these questionnaires one-off every time, but that isn’t very handy.
The “Oslo” solution
Here is how you could solve this problem with Microsoft “Oslo”. I will only show you how this works for the end users and insurance experts, only briefly how this is build with “Oslo”.
1. Textual DSL
We wrote a textual DSL with M. Insurance experts can use this together with a developer to quickly specify all the possible questions and their types in Intellipad:

2. Visual DSL
After pushing into the repository from “Intellipad” the insurance expert can model the order and relationships of the questions in “Quadrant”.

3. Runtime
If the insurance expert and the developer are done in “Intellipad” and “Quadrant” we can launch the runtime. The runtime picks up all the data from “Intellipad” and “Quadrant” from the repository and shows the right questions. Optionally the developer can spend some time with stylesheets (css) to adjust the looks of the website. Finally the runtime can be used by customers to request insurance products. Questions can be changed (via “Quadrant”) or added ( via “Intellipad” and “Quadrant”) and the runtime will render accordingly.
Conclusion
So there you have it, a full case of how “Oslo” could be used for this problem. Again credits to Michael Wolbert and Bryan Sumter for pulling this together. Hope they start blogging about the inner things of how they got this working. Go check this out at the booth of the “Oslo” team at PDC09 if you’re lucky enough to be there.
Somewhere back in 2005 I joined Avanade and I had a really great time over there. It's one of the best places to be if you're a Microsoft geek. I started with a super cool project in 2005 at the head office in Seattle. Created a Domain-Specific Language (ACA.NET) that abstracts away the details from Windows Communication Foundation for Avanade consultants. Somewhat similar than WSSF, but more geared towards productivity gains. Moved back to the Netherlands (my home country) after that and spend a couple of years mainly helping Avanade clients with Application Integration solutions.
But now what? My girlfriend and I choose last summer to move back to the region where we grew up and our families live. Unfortunately this is remote from where most Avanade clients are. At the same time some Microsoft employees told me the largest Dutch insurance company (Achmea) started a business agreement with them. Achmea was about to set up a "Microsoft Center of Excellence" and a training program called the "Microsoft Excellence Program" for a few Microsoft talents. Achmea is also an early adopter of Microsoft technology and has one of the largest .NET communities in the country with about 200 developers. So enough ingredients to get me excited! Besides that it's also close to my new home so last summer I've joined Achmea as a Microsoft Lead Developer.
After lots of requests from colleagues and friends and refusing it for years I decided today to actually start blogging!
Why? Well, I'm quite busy in the Microsoft Software Development world (.NET, DSLs, WF, WCF, SharePoint, BizTalk, etc) and I'm planning to share interesting things around that with you. Hope you'll find it interesting!