CodeMash Day 2 Recap

This morning’s keynote, Concurrency: Past and Present, was given by Brian Goetz.  The talk was a general overview of why concurrency is so hard and what may be coming in the future to solve the problems.  Both Intel and Sun (probably others) are looking at hardware solutions.  Java and .Net are also looking at software solutions.  Unfortunately I had to step out of the talk and didn’t hear the last few minutes.

The first presentation I made today was Bill Wagner’s Real World C# 3.0.  I enjoyed this talk of his much more than the one on Thursday (the implementing your own query provider for Linq).  Bill went over a few of the new languages features in C# 3.0 such as Extension methods, Lambda expressions, and automatic properties.  Just the overview of these features wasn’t that interesting, but Bill went further to discuss how the over/mis-use of these features can get you into trouble.  For example, with extension methods you have to understand the scope of the extension method (i.e., when the extension is in scope) is controlled by the imports statement when you pull in the namespace containing the static class the extension is defined in.  Because of this you need to be very careful on not overloading an extension by adding it to different namespaces which can lead to unexpected behavior and confusion.

For the session prior to lunch I decided to hit an Open Spaces talk on Speak.Net.  This is a Google group that was recently started for professionals wanting to speak on .Net topics.  I had not heard of it before this conference, but I’ve signed up for the group now.  The Open Space took a little to get going, but we did talk about where to get topic ideas, speaking styles, what tools to use, etc.  I’m looking forward to get more involved with the Google Group going forward.

After lunch I hit the vendor session hosted by Pillar.  Pillar has sponsored code camp two years in a row, so they are great about giving to the community.  What drew me into the session was that Pillar is working on a tool that is designed to help estimate agile projects.  The tool was called “Construction Model Workshop” and I wasn’t able to find a link for it online.

After the vendor session I was a little side tracked, so I missed the first few minutes of Jim Weirich’s talk on 10 Things You Have to Know About Ruby.  Like Catherine Devlin, Jim has spoken at previous Code Camps, but I didn’t get a chance to see his talks.  Boy,had I missed out.  Jim is an excellent speaker and after leaving that talk I think I had a better appreciation of Ruby than I had gotten from any of the articles or side discussions I have had on the language.  If you get a chance to see Jim talk, even if you’re a Microsoft developer like I am, it’s worth it.  If you give talks, you should also sit in on one of Jim’s talks.

The final session of the day for me was Distilling the Dynamic Language Runtime by Josh Holmes.  It will be interesting to see how much the DLR swings Microsoft developers over to using things like IronRuby, IronPython and managed JavaScript. 

At the end of the conference they gave out some really great prizes which included some pretty high dollar software and a “metric crapload of books” (to quote Josh Holmes quoting Jim Holmes, though I’m not sure crapload was the word originally used).  Joe Wirtley took home an XBox 360 Arcade edition….which brought boos from the crowd since last year he had won the Wii. 

So ends CodeMash 2.0.0.8.  It was a great conference!  They have already announced that there will be a CodeMash 2009, which is awesome.  The conference size was pretty good, just around 300+ professionals.  Still, I ran into a lot of people I knew and got to meet a lot of people as well.  I haven’t been to many conferences before, but this one was well worth the $125.  Next year I hope the family can actually make it to enjoy the water park.