Last weekend I went to my first DDD (Developer, Developer, Developer) day, which was a really fun and interesting day with some excellent speakers. It's probably one of the best conferences I've been to and I have been to a fair few. The reason it's so good is because of the calibre of speakers and content. I believe this has to do with several factors. Before the conference, the sessions are submitted and voted on which means we get more of what we want. Another factor is although there is obviously some input in the form of sponsorship from Microsoft, being that they host the event and that it is .NET focused, it isn't a Microsoft event where Microsoft products are being pushed. The sessions were more balanced and focused on not just .NET technologies but also technologies which you can use to improve your applications including Ruby for testing which Ben Hall covered in his session.
So here's my two peneth worth for the sessions I attended...
Mixing functional and object orientated approaches to programming in C# - Mark Needham
This was a great introductory session to using functional language capabilities which were introduced in .NET 3.0 with lambda expressions. The second part of the session was of the most interest for me as Mark introduced the idea of using lambda functions and actions to replace interfaces in design patterns such as the command and strategy pattern.
Multi-tenant ASP.NET MVC Projects (Or 30 very different customers and a single codebase) - Rob Ashton
Robs presentation was on how to overcome the problem of having a single code base which provides the flexibility for meeting the varying requirements of different customers. His solution uses controller factories to select and build controllers as you want, which is worth investigating. The slides are available here.
C# - Jon Skeet
This talk was hugely popular taking up two rooms. He spoke in his usual engaging style about the new features of C# which included Named Arguments, Default Parameters, General Variance(Covariance and Contra-variance), Dynamic Typing and better COM Interop, essentially bringing C# more inline with VB which wasn't of the most interest to me, being in the web development world. The best part of this talk for me was having General Variance explained in a manner I actually understood. I only wish Jon had been a lecturer in every subject I learned at university. I won't try and re-explain it here as I wouldn't do it justice!
C# on the iPhone with MonoTouch - Chris Hardy
If you have a great idea for an iPhone app but are put off by having to learn objective c then this is a great alternative, but the downside is the $399 cost for a MonoTouch licence and you need a mac and an iPhone so it's a pretty big investment up front. Really cool though and the IDE is nice as well.
Testing C# and ASP.NET applications using Ruby - Ben Hall
This talk was on how to test your web apps with tools and languages outside of the .NET framework. Choosing the right tool for the job and not restricting yourself to a language. Ben chooses Ruby as it's easier to read and show your intent which is the whole point of testing - showing what your app should do! Ruby is much more natural and I was really interested to see WebRat which I hadn't even heard of being used as a DSL to drive selenium which allows you to test in a headless browser. His slides are available here.
I would like to thanks all the organisers, sponsors, helpers and speakers for this fantastic event and I really look forward to the next one.