Monday, February 01, 2010

DDD8 Round up

I've just arrived back from the DeveloperDeveloperDeveloper 2010 aka DDD8 Conference in Reading and had fantastic time there. The conference was situated on the Microsoft campus but was organised by the .net development community for the development community. There were no major vendors (including Microsoft) shoving their products down you throat and the events chosen were voted in by the public.


Registration was opened a couple of weeks before the event and the 300 and something places were snapped up in an amazing 12 minutes! This must be frustrating for the many developers who wanted to attend but were not quick enough to register. There seemed to be issues with the emailing system which left some confusion with delegates not knowing they were registered or not. Those people on the waiting list had to wait but many of those on the list eventually got in (I spoke to someone who told me he was over 150 places away). It seemed a little unfair that early birds got all the ticket and I hope the team will introduce some sort of ballot system next time.

The Venue

The sessions were held within 4 rooms Chicago 1 and 2 were separated by thin divider, Memphis upstairs and Everest in another building. All rooms were of a good size and even when sat at the back I was able to enjoy each of the sessions. The main issues I found were that Memphis was a sweltering and stuffy room and that sometimes the sessions in Chicago 1 were so loud they would distract the Chicago 2 talk.
As the venue was in the middle of bloody nowhere we had to set off at 4:30 in the morning! (Note: the centre of the earth is in Manchester and therefore all events should be within a 1 hour drive from there)

The Sessions

Unfortunately I couldn't see everything (I've not been able to master replication - yet) so I can't comment on all the talks but talking to other delegates I got the impression that most of them were pitched at an introductory level. I realise that the community voted the events in but there seemed to be nothing that covered a subject in depth. I mainly went down the testing route as I am looking at that side for my msc dissertation so missed a couple of others I really wanted to go to. I'll go through the ones I attended.

Mark Needham - Mixing functional and object oriented approaches to programming in C#

Mark Needham's talk was on his experiences using functional aspects of c# (LINQ) as his approaches to master it. He talked about the strength's of functional programming and the strengths of OO and how they should work together to create readable and maintainable code. He then went through the basic LINQ methods and drew parallels with the Functional Programming world. (Map = Select, Filter = Where, Reduce = Sum) and talked about taking things one step at a time. We got then into some code examples from the wild which were interesting to listen too.
  • DRY and LINQ
  • Extract method and LINQ
  • Functions into Maps
  • Patterns as functional language.
This was a great talk. Mark is obviously a great researcher and it was a fantastic run through. A promising start to the day. He has put his slides online.

Andrea Magnorsky - Lessons learned on Unit Testing

Andrea's talk was an all energy affair on unit testing, heavily influenced by Roy Osherove's book The Art of Unit Testing. Andrea's style was engaging as she took us through test naming, mocking, stubs, fakes, dependencies.  Tests should be trustworthy maintainable and readable and being careful is the key.
It was a good run through and one of the sessions I enjoyed the most. If there was any criticism to give I think Andrea got her timing a little wrong (she skipped a few slides) and that 'dupplication' has only one p. :) She has now blogged with links to her code and thoughts.

Andy Gibson - Web Application Testing With Selenium

Andy's talk was a walk around the UI Testing framework Selenium up in the stuffy Memphis room.
The aim was to introduce the novice into Selenium and Andy's talk tried to cover a lot. (perhaps too much). It seemed from his talk that the framework is huge and the he seemed to position himself as an expert in all. It may have been better if he had done the talk in the 'this is how I use Selenium' style rather than the 'this is you to use Selenium'. Still it was a great to see Selenium in action.

A special mention goes to Craig Murphy who read my tweet asking for water and delivered some to me mid-talk :).

Kris Athi -Microsoft Surface

By this stage I was well and truly frazzled so I decided to go and see something pretty to recharge the braincells. Surface looked the the perfect talk. I'd just sit there dribbling and look at all the pretty graphics. Sadly I was disappointed. Kris's talk was on the Surface SDK but he didn't even have a surface. C'mon guys there is a Surface room apparently on the MS Campus so I was sorely disappointed that we didn't see one in the flesh. Kris went through the SDK talked a little about the design issues and showed us some code. The surface looked good but I expected to be wowed by an awesome demo app.

Ben Hall - Testing C# and ASP.Net applications using Ruby

The last session block I could have seen any number of talks but after much deliberation I ended up in Ben's. Ben Hall's talk began unconventionally with Barry Dorran's hijacking the speaker system to wish Ben a happy birthday. After that Ben started to talk about the benefits of Ruby's expressiveness in tests and using BDD style specs to make intent clearer. He talked about all the different levels of testing and where things. This talk really complimented the other talks I went to that day and it was great to see a DSL like WebRat firing Selenium. A very enjoyable talk. Ben's slides are available on his blog.

The Rest

It was a brilliant day. I met a million people who I've spoken with on twitter and missed a million people who were there and I didn't meet. I just want to say a big THANK YOU to the organisers if everyone got as much out the day as I did then you should be proud of yourselves. Can't wait for the next one!

No comments: