Boise Code Camp 2008

This last weekend I got the opportunity to travel down to Boise, ID for their third annual Code Camp. Code Camps are a relatively new activity, largely supported by Microsoft (though non-Microsoft talks are welcome). It’s an opportunity to spend a day attending sessions given by software people, for software people, so that we all can take away something to become better coders.

I traveled down to Boise with a few people from work, which allowed us to split up and watch a bunch of different sessions. We also took a few cameras so that we could record some of what we saw, both for our own records, and possibly to make available for others.

I was happy with most of the sessions I attended. Scott Hanselman’s keynote was fantastic (no video from us, hopefully someone got some). Not very informative, but it wasn’t really meant to be, and it was really, really funny. Almost as funny was the tripod we were able to almost magically provide when they were having trouble getting a projector set up so that everyone could see it.

After the Keynote, I went to a talk on using Adobe’s Flex framework, and how one company is using it and Perl to quickly write applications for a variety of customers. Flex is a RAD system for developing Flash applications using an XML format, to provide a richer application experience through the web browser than AJAX can at this point. And, with Adobe’s new Air, the same application designed for the web, can be built for the desktop, even with support for a local data store. It’s an interesting platform, and one that I may need to investigate more.

My next session was on Testing with Rhino.Mocks, a framework that allows you to easily “mock” objects, as well as configure what expected usage is, in order to test all your assumptions of how a certain part of a program will be used. The platform looks interesting, though an hour was barely long enough to get a good look at the system. Still, as I move closer toward writing unit tests first and code second, it looks like an interesting tool.

My next two sessions were terrible. I went to a session on MVC by a guy who designs web-based software for the government. The talk was really, really lousy. The presenter seemed as if he was going to drop dead from a stroke at any moment, and never really seemed to get to the point of what MVC was, why we would want to use it, and what benefits it held. I spent an hour in this room, and got nothing out of it. Then, I went to a session on Service Oriented Architecture, which I quickly realized I understood pretty well, and the presenter had no idea how to present what he was trying to talk about.

The next few hours were more useful. I attended a session on Workflows in Sharepoint, which also provided a decent introduction into Windows Workflow. It’s a technology we’re planning to use a bit at work, and it appears an interesting mechanism to track a piece of work through a series of steps until it reaches a completion state. The technology is interesting, though I fear that it might be a little too restrictive. If the trade-off in restrictions is worth the time saved, I haven’t determined yet, but it will be interesting to pursue.

Wrapping up with a session on C# 3.0 and .NET 3.5 and Practical Hashing (which was heavily password focused, and not as meaty as I’d hoped), the session ended. It was an interesting day, though I didn’t walk out of the session with as much as I’d wanted. The technology was very Microsoft-centric (though it didn’t need to be), though several of the bits of technology will work in Linux development too.

I’m still kind of tired from the trip, but I hope to talk a bit more about some of the technologies we learned about. Rhino.Mocks in particular will be next on my to-learn list, and I’ve already been working on MVC systems.