I just got back to Brighton after spending last night and all of today at the ALT.NET UK open spaces conference. It was inspired by the US ALT.NET conference that took place last summer and ably organized by Ian Cooper, Alan Dean and Ben Hall. I was more than slightly suspicious about the idea of a load of programming geeks turning up with no agenda and just seeing what happened. I did come away thinking that this kind of event is no substitute for something with prepared speakers, but it was great; I really enjoyed myself. Without dressing it up in 'open spaces' language, it was a fantastic opportunity to get together with like minded uber-keen developers and chew the cud.
The night before we all put our suggestions for topics on the white board wall (see the photo above) and then retired to the pub. Ian, Alan and Ben organized them into topics the next morning. To kick off the day in one room, I'd suggested the topic of IoC containers after my talk at DDD. I briefly introduced the subject by describing how I'd come to the IoC game via TTD and Dependency Injection. Uber blogger Roy Osherove (who'd come all the way from Israel) then started up a really interesting discussion around the limits of IoC, or rather how doing TDD forces you to do DI rather than giving you a choice. It was a very good point, and one that hadn't really struck me before. Of course Roy works for Typemock, so he obviously interested in showing how Typemock can alleviate TDD's arm lock on your architecture. Personally I'm still in my honeymoon period with IoC containers and TDD and haven't found the edge cases yet where I feel like enforced DI is dragging my architecture or productivity down enough that I need to do something about it. The discussion continued about the depth of unit testing that's appropriate, how to test legacy code and tradeoff between integration and unit tests. All good stuff.
I hung out in the room discussing F# and all things functional for the rest of the morning and learnt a lot about the why-of-functional that I hadn't really appreciated before. I must fire up the F# shell again and have another play. During the afternoon I failed to attend any sessions at all. Firstly I got into a very long and interesting conversation with Michael Foord. I've been reading his blog for a while and I caught his talk at Mix UK last summer, so it was good to get to chat to the man in person. He showed me Resolver, the python code generator / spreadsheet that his company is building. It's a very impressive piece of work that brings together the immediate graphical data manipulation of a traditional spreadsheet and any managed code that you want, all glued together with python. You can imagine building component-oriented financial software and binding it together under the spreadsheet front end. Or, building a model with the spreadsheet and simply taking the python code it generates, sticking it an assembly and then harnessing that model from your application. We also chatted about his upcoming book, Iron Python in Action, which I'll be getting a copy of as soon as it hits the (virtual) shelves.
For the rest of the afternoon I just stayed in the lobby area chatting. That was probably the best thing about the event for me, just being able to meet other .net geeks and talk about coding all day. Usually when I do that, even with many people who's full time job is coding, I tend to see eyes glazing over, but not today :) Hey, I'm already looking forward to the next one.
There's a wiki: http://altnetpedia.com/ that's going to act as a record of the discussions today. Hopefully, along with the mailing list, it can act as the nucleus of a growing UK ALT.NET community.
Mentioning me is one way of getting me to read your blog! Enjoyed chatting to you on Saturday.
ReplyDeleteIf you play around with Resolver One, you should look at some of the examples on Resolver Hacks:
http://www.resolverhacks.net/
Michael