Last week was CodeMash 2009, a developer's conference
in Sandusky, Ohio. The conference, which lasted from Wednesday, January 7th, through
Friday, January 9th, was held at the Kalahari Resort, a hotel and indoor water park;
this makes the conference unique, as families are able, and encouraged, to join the
attending developer for the week, and while the developer is off learning about the
Next Big Thing, the significant others, spouses, and children are off enjoying the
fun of the water park. As for the conference itself, it is billed as an event where
opposing developer communities congregate and mash together. Attendees are encouraged
to exit their comfort zone—.Net developers can attend sessions on Java or Ruby; Java
developers can attend sessions on Azure or .Net—allowing a seasoned developer to get
a new perspective, and allowing communities to cross-pollinate ideas and practices.
This was not only my first CodeMash as a speaker, but also as an attendee, and it
will not be my last.
Day Zero (The Precompiler)
As Brian Prince points
out, we developers love to start lists with zero. It's cool, now that we no longer
think digital watches are a pretty neat idea. Day Zero at CodeMash was the Precompiler,
an optional extra day of sessions that was new feature of the 2009 event. Unlike the
conference's traditional hour-long sessions, the precompiler is split into two half-day
sessions, allowing attendees to take a deep dive into a particular topic. For me,
it was a dive into Ruby by Joe
O'Brien and Jim Weirich and
into Windows Azure with David
Aiken.
In the Ruby session, @objo and @jimweirich used
"koans" to teach Ruby
to the attendees. Effectively, these koans were unit tests coded in Ruby against the
Ruby language. Each test purposefully failed, and the process of correcting the code
of the each test progressively taught more and more about the ruby language. The tests
begin with assert false which must be converted to assert true to
pass, and proceeds through conditionals, strings, arrays, hashes, blocks, and beyond.
Ingenious.
In the Azure session, @thedavidaiken,
the evangelist for the Azure platform, gave a once-over and code demo to Azure. After
this talk, I'm very excited about playing in the Azure sandbox, and have been brainstorming
for a good topic. I have since gotten my invite into the Azure CTP, and should be
making sand castles, soon.
Other precompiler sessions were available, including 101-level sessions on iPhone
development, Java, and more, and what I have only heard described as a phenomenal
talk by Mary Poppendieck on Value Stream Mapping. Also, an all day CodeJam allowed
any of the attendees to pop in and code with their friends, colleagues, and other
attendees. I wish I could have cloned myself, and attended some of these other sessions.
Day One
After a night that included a few hours of water park slides followed by a few hours
catching up with people I hadn't seen since DevLink 2008 or last fall's Ann Arbor
Day of .Net, the conference officially kicked off with breakfast and a fantastic keynote
by Venkat Subramanian. Then it was off to a day of sessions and Open Spaces, split
by a keynote by Mads Torgersen during lunch. I attended Jeff Blankenburg's A Lap
Around the Live Framework and Mesh Services talk, and stopped in to Bryan Weber's Functional
Concepts for OOP Developers talk for a bit, all in between preparing for my talk.
The Open Spaces, where this year's theme was Techniques, Not Tools, are always
a part of my day at conferences, especially since these were facilitated by Alan Stevens.
Any time he is involved in organizing an event's open spaces, the attendees are in
for a treat. We had some great conversation on testing practices and on pragmatic
learning (which incidentally spawned another open space on Day Two on mentoring.
During Day One's final block of sessions was my talk, Continuous Integration:
It's More Than Just a Toolset. Though this was my first presentation at a conference,
it went off great. Having given this talk a few times prior at various area user groups,
I was comfortable with the talk and had all of the bugs worked out. I was fortunate
enough to have a sizeable crowd and great questions from the audience. I am looking
forward to speaking, again.
Day Two
The second day kicked of with another breakfast keynote, this time delivered by Eric
Meyer. I spent the entire day involved in open spaces. Alan Barber convened a discussion
on Getting in to Speaking. Rick Kierner convened an open space on having and becoming
a mentor, a topic that originated from the pragmatic learning discussion from the
prior day. I hope that the outlines of these discussions make its way to Heartland
Open Spaces, soon.
The day, and the conference, ended with a trip to the open spaces Closing Circle followed
by the Closing Giveaway. The Closing Circle, open to anyone who wished to participate,
is where we could all look back on the open spaces of the event, and discuss what
we liked and provide constructive feedback on how to improve for next year. Alan did
another great job with organization; I would have liked the open spaces to be in a
more prominent location, to help introduce open spaces to the crowd, and apparently,
this is already taken care of for next year. The Closing Giveaway in the conferences
Great Hall ended the show for everyone with an hour of prize giveaways, which included
two XBox 360s, a Wii, the full Rock Band 2 set, the full Guitar Hero World Tour set,
and much more. My number was cursed; I did not win a thing. I'll have to acquire Rock
Band 2 through some other means.
Thoughts
This was my first CodeMash. I loved it. It is a very cool event, for if no other reason
than it is great to have the conference and the hotel room be in the same building.
I enjoyed the opportunity to learn new things that were outside of my day-to-day space,
as well as share the wealth by giving a talk to others. I look forward to next year,
and I hope that they will again have me as a speaker.
Thank you to all of the CodeMash organizers for a great event.
Technorati
Tags:
CodeMash