I spent my Saturday at Code Camp NYC at Microsoft, and aside from getting no lunch because there wasn’t enough pizza, it was a pretty cool day.
I finally met Don XML in person and attended his talk on “Syntactic Sugar”. I liked his exploration of the language features of C# you can use to clean up your code. He covered indexers, implicit and explicit conversions, and operator overloading. The yield keyword was conspicuously missing, and he lumped in a lot of stuff that falls outside of my concept of syntactic sugar. Nevertheless, he delivered all the information with aplomb and had an excellent rapport with the room.
David Laribee’s talk on NHibernate, Domain Driven Design and TDD was interesting. He definitely tried to cover too much for the time allotted, but the clarity of the design he presented was compelling. And his slides were beautiful — great imagery.
Enough people, now including Don and David, have recommended the Eric Evans book that I’m going to have to read it. I suppose I’ve kept it in the queue because with TDD and BDD, I wondered if I really needed something else “driving” my design!
Watching Chris Donnan speak about Scaling Agile, I thought of my colleague Ken — Chris and Ken would get along well. Both seem to be good strategic thinkers that think deeply about the holistic dynamics of introducing agile into a business. Chris was not able to complete his presentation in his time slot either — the timing thing is not easy!
After watching other people eat the last of the pizza, I set up for my talk. In the presentation, refactored a simple application using some key WPF concepts and using dependency injection with Castle. I’ve never done a live-coding talk before and I was pleased with the results. I prepared each step of the refactor with notes and talking points in a binder which I flipped through as I went, and gave a great Resharper demo in the process.
The only bummer was that attendance at my talk was light — I think I had 15-20 people. I was up against Scott Watermasysk‘s “ASP.NET for Web 2.0″ talk and a TestDriven.NET talk, so people certainly had worthy alternatives. My topic “Supercharging the WPF Command Pattern with Dependency Injection,” was probably too esoteric for this setting. Considering people’s experience levels, an Intro to WPF or Intro to Dependency Injection might have been more useful in hindsight.
Anyhow, I’ll get a blog version of the talk up soon.
In the last two sessions of the day, my colleagues Wendy Friedlander and Oksana Udovitska led excellent sessions on “The Gentle Art of Pair Programming” and on Rhino Mocks. Their poise was excellent; their explanations creative and clear; and their enthusiasm contagious to everyone in the room. Instant stars!