It’s now been over six months since I’ve done any C# development outside of work except for presentation prep and delivery; it’s been F#, erlang and JavaScript mostly.


Highlights of 2013

Best Conference: DDDNorth
Incredible atmosphere and a wide variety of sessions including three on F#.

Best Conference Session: Kendall Miller (Scaling Systems: Architectures that Grow) at DDDNorth.
No code, just awesome advice from someone who’s been there and done it (and failed a few times as well!). You can see the slides at

Best User Group Session: Ian Cooper (TDD: Where did it all go wrong) NxtGenUG Oxford
A really thought-provoking session. You can see a video of Ian delivering the main points at NDC 2013 or a longer version for LIDNUG.

Nicest Person:
I have to say that virtually everyone that I have met this year at conferences and user groups has been an absolute delight! I really shouldn’t single anyone out but I’m going to highlight two people; Phil Trelford and Bryan Hunter.

Best Website: http://fsharpforfunandprofit.com/
An information goldmine on functional programming and F# run by Scott Wlaschin.

Biggest Shock:
Realising that I’d been sat at a table showing some F# Units of Measure code to Robert Virding (one of the inventors of erlang)!


Review of 2013

I set myself some goals for 2013. Lets see how I did!

Make sure CraftyCoders is a success.
We have held an event every month and two Code Retreats. The number of attendees is not as high as we might like; we have moved our primary website to Meetup.com in an attempt to improve this.

Improve my F#.
Moved on a long way! Reached the stage where I feel comfortable presenting about quite complex features like MailboxProcessor. Finally ‘getting’ functional programming has led me to look at erlang as well.

Learn python and use Raspberry Pi in anger.
Complete failure!

Deliver at least one presentation at a UK community event or LDNUG.
I spoke about DI at DDDEastAnglia and F# at DDDNorth. I also presented a tutorial on DI at the Progressive.Net Tutorials at Skillsmatter in London.

Blog on technical issues.
Complete failure again. I think I managed one technical post last year. I’m not going to post just for the sake of it!

Lose at least 4 stone in weight.
Partial success; I’ve lost a couple of stone but have a long way to go.

Attend at least 12 user group sessions.
I attended 15 user group sessions, that I didn’t present at, in 2013.

Attend GiveCampUK and return to Progressive.Net.
There wasn’t a GiveCamp in the UK and I presented at Progressive.Net.


Scheduled User Group Sessions for January

The good, the bad and the ugly of mocking
Mocking is one of the least understood, most poorly executed and contentious activities that we can undertake in .Net. In this session, Ian Russell will help you to resolve any misunderstandings and help you to determine if mocking will help you to add value to your software projects by delving deeply into the practices and philosophy of mocking.

Tuesday 14th January - NxtGenUG (Birmingham)

Thursday 16th January - CraftyCoders (Bromsgrove)

Tuesday 28th January - DotNet Developer Network (Bristol)

"It is well enough that people of the nation do not understand our banking and monetary system, for if they did, I believe there would be a revolution before tomorrow morning."

— Generally attributed to Henry Ford


DDDNorth Review

On Saturday 12th October 2013 I was at DDDNorth in Sunderland to deliver a session on F#.

The Venue:
The event was held at the University of Sunderland as it was two years ago but this time with more attendees and bigger rooms. There was free parking at the venue and there were plenty of drinks available throughout the day.

Andy Westgarth and his team organised a superb conference. There was something about the atmosphere during the day that was different from lots of previous DDDs that I’ve attended. I have a feeling that having 40% of attendees who had never been to a DDD event before may well have had a significant effect as did the wide variety of technologies being presented during the day.

Very relaxed schedule with five slots over five tracks. There was plenty of time between sessions to have a chat, get a drink or take a comfort break.

Session 1 - F# Eye for the C# Guy (Phil Trelford)
Session 2 - Scaling Systems Architectures That Grow (Kendall Miller)
Session 3 - Functional Programming and Why You Should Care (Grant Crofton)

I won’t do breakdowns of each session as others will do that but surfice to say that I enjoyed them all.

As seems to be traditional for me, I missed the grok talks at lunchtime! I will try to do better at the next event that I attend.

Session 4
Sat this one out in the Speaker’s Room going through some last minute checks that my code still worked and had a great chat with Alistair Smith who was presenting a session at the same time that I was.

Session 5 - You’ve learnt the basics of F#: What’s next? (Me)
I was more than a little worried about this session as it was in the last slot, I was doing a session on stuff that really needs some F# experience to fully grasp, I’d not delivered this session before and I’m not the funniest of presenters. However, it seemed to go well and the feedback backs this up!

Conference close and prize draw
Held in a large lecture theatre that was packed to the rafters with geeks seeking swag. Massive thanks to Andy and his team of organisers, Sunderland University for hosting the event, the sponsors and all of the speakers and attendees for making it such a great day.

The key highlights for me were the interest in F# shown by the number of attendees at the F# sessions and, trying not to sound like a complete fanboi, meeting Phil Trelford. He is a genuinely nice guy and it was great to have a chat with someone with his level of practical F# experience.

Great conference with an extremely wide range of technologies being presented on. If this is the future of DDD events, I for one will be very happy!!

"95% of the cost of software is in maintenance and upgrades: if the next person can’t figure out what you did without your help, you didn’t do as good a job as you might think!"

Daily WTF


My current favourite dev books

The following is a list of the 10 books that I currently view as being my favourites (in alphabetical order);-

Clean Code by Robert C. Martin

Dependency Injection in .NET by Mark Seemann

Expert F# by Don Syme, Adam Granicz and Antonio Cisternino

Growing Object Oriented Software, Guided by Tests by Steve Freeman and Nat Pryce

Implementing Domain-Driven Design by Vaughn Vernon

Practical Object-Oriented Programming in Ruby by Sandi Metz

Practices of an Agile Developer by Venkat Subramaniam

Professional Node.js by Pedro Teixeira

Programming F# 3.0 by Chris Smith

ReWork by Jason Fried and David Heinemeier Hansson


Speaking Schedule

In September, I am talking about Dependency Injection at Agile Yorkshire in Leeds and about MongoDb at NoSql and Big Data Birmingham.

I have had an F# session selected for DDDNorth in October.


Speaking about F#

I will be delivering a practical, hands-on session on functional programming in F# for CraftyCoders on Thursday 18th July (www.craftycoders.net/events).

I have also agreed to present “An Introduction to Functional Programming with F#” for what was NxtGenUG Birmingham on Tuesday 16th July. (http://www.nxtgenug.net/ViewEvent.aspx?EventID=584). If this proves to be successful, I will offer it to other user groups.