It has been a while since I wrote anything, but that’s mainly because we have a new family member… Romée, a beautifull daughter, six weeks old!

Back to the usual stuff. What have I been doing the last month. Well, there were Techdays, on which I wrote a few things but I still need to round that up. I also went looking for best practises to build a .NET layered application. The Northwind Starters Kit was most usefull for this. And there were also the Mocking frameworks, which seemed very complex at first (like everything in it it appears to be very simple afterwards…).
Very inspiring talk on Techdays about automated White box Testing and finding and reproducing Heisenbugs in concurrent programs. There was an example of a team that got a report of a bug that had to do with concurrency they just couldn’t reproduce. They let CHESS do its thing and in less than a minute they found the bug. Very impressive.
Mocking frameworks
In my Flex projects I had already used mocks, but they weren’t exactly mocks… Now that I began exploring .NET architecture, I really found out what these mocking frameworks are about. And they impressed me. Certainly the fact that if you want to use mocking frameworks you need good design, is interesting. To me it seems that a mocking framework is very good to test your base design (framework), if it’s done using principles described in books like Patterns of Enterprise Application Architecture or Domain driven Design (or others).
This Kit has helped me a lot in having a good example of how you could implement a good .NET layered architecture. I also checked out DinnerNow, but things went wrong when installing (and I just hate that — if you’re limited in time, you don’t want to go looking why this or that doesn’t install properly. If I have to make installers for cd-roms, they need to work…). I’m now implementing a very small part of a product of ours with this NSK example. I will also try to check out a few mocking frameworks and a few IoC frameworks and integrate them in this small part. The best way to check out this NSK is to checkout the svn repo.
A few good presentations on SilverLight at TechDays. I certainly think they got a lot of advantages over Flex, but it will still take a lot of time. What really annoys me a lot is the arrogance by which some presentators present SilverLight. Anyway, their CLR seems a lot more robust that the Flash Player, but so far I haven’t seen business solutions being created with SilverLight. So I’m actually waiting a little bit on such examples. Now it’s always very simple examples or interactive sites that really don’t have to deal with a lot of data. There was a neat example of a Chess Game where they let a Javascript engine play against an .NET engine (SilverLight). SilverLight always won and could precess a lot more paths/second. A colleague of mine ported the engine to Flash, and could then compare Flash against .NET. The original game can be found here. The blog post from my colleague here. After the presentation on this, I asked a Microsoft guy how Flash would compare to this. He told me you couldn’t do this in Flash. Mmmm.
Very good presentation on Linq! Now I now what Monads are (look them up in Wikipedia). I haven’t used Linq all that much, but loving maths I’m interested in how this is implemented. The presentator quickly went deep into the subject which was fantastic (but also sometimes a labyrinth). Also the possibility to extend Linq to any other sort of data is great.
Seemed very interesting, but I’ll have to check more examples to know how this could be used in every day development. The custom parser seemed very powerfull if you would need to convert data to another format.
Cheers, Lieven Cardoen