Today's theme was "Development", but I'm not really sure that was what we talked about for most of the day. There were some good talks, here's more about them:
Keynote - John Lam
John Lam's presentation, for the most part, centered around IronRuby. He ran a good code demo inside the ironruby version of irb, on mono, in a linux vm on his mac. I know, its weird to see a Microsoft employee working off a Mac. But John was not the only presenter doing so. There was an especially exciting demo of using Ruby to dynamically generate Silverlight objects. Currently, this is hard to do in C#. I think that it is really great that IronRuby is a fully open source project that accepts contributions from outside developers. The team uses Subversion for the code repository and hosts the bits on RubyForge.
The Right Tools for the Right Job - Rocky Lhotka
Rocky started off by reminding us that Object-Oriented Design isn't dead. He gave a in depth comparison of the strengths and weaknesses of OO, SOA, and Workflow design. It was really enlightening to see his take that your can see aspects of OOP in all of these design architectures.
Model Based Design - David Trowbridge
This turned out to be a demonstration of how to use the class builder, and some new modeling interfaces, to generate code. It's a shame that we will need Team System Architecure edition to actualize any of the examples. Maybe our team can win the lottery one day.
Dependency Injection Frameworks - Peter Provost, Scott Densmore
Have you ever wanted to know how to roll your own Dependency Injection into your application? I thought I did. Sure, it was very interesting. However, if they were pitching it for my application, I'd have gone out and bought a license for typemock by the second example. Let's just say there is a lot of work that Typemock(or other mocking frameworks) do for you automatically.
Designing for Workflow - Ted Neward
Once again, Ted delivers a great presentation, full of poignant wit. Ted makes the argument that Workflow, as we know it in the realm of recent Microsoft tools, hasn't really been around long enough for us to declare any best practices. Of course he offers his point of view, which left no time for the audience to chime in.
Panel: The Future of Design Patterns - Dragos Manolescu, Wojtek Kozaczynski, Ade Miller, Jason Hogg
This was strange. They gave the guys on the panel toy guns that shot little foam discs so they could shoot each other when they were in disagreement. They then discussed the failure of a patterns web site and debated whether we should be generating more documentation and collaboration around patterns or whether we should just build them into development tools. I like the gun idea, no pattern or practice would truly be complete without firearms. I think I'll try it out at our next team meeting.
EntLib Devolved - Scott Densmore
EntLib is short for Enterprise Library. Entlib is a collection of general purpose application blocks addressing enterprise scenarios. For example, there is an application block for logging. Scott Densmore, one of the developers, gave a quick overview of the blocks and elicited feedback from those that had used it. I have never used it, but it looks cool.
So, tomorrow's theme is "Software Factories" and the keynote is by Scott Hanselman. It should be a very interesting day!