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.
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.
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