Today was the pre-compiler, the "optional" first day of CodeMash.
I did two sessions: Ruby Koans and Software Craftsmanship.
Ruby Koans is simply a series of tests that "prove out" Ruby as a language, with the primary goal of teaching Ruby as you make the tests pass, and the secondary goal of actually seeing if anything in Ruby breaks from version to version. One could write Koans for any language, actually, and the whole concept of such Koans is a fantastic idea, especially for open source languages that are updated frequently. Check out the Ruby Koans on GitHub.
This is my first real experience with Ruby, and I have to be honest: it doesn't really appeal to me very much, yet. I can definitely see why people like it, and I can kinda see the advantages that it might bring, but I just don't feel confident enough in my own abilities to see myself using Ruby. But, like I said, this is only the beginning of my experience with it, so who knows what the next couple of days have in store for me...
The software craftsmanship session was really about practicing the craft of development via "katas", or repetitive development exercises. The first was Uncle Bob's Bowling Game Kata. The presenters demonstrated Uncle Bob's version, and then I paired up and used Mono (my first experience with Mono/Monodevelop) to implement it. Clearly we both need more practice with this Kata, as our version turned out as quite a monstrosity. The second kata was a variation of the Supermarket pricing kata that I've done before. I was humbled by the expertise of the people that I worked with on this kata, and learned a great deal about the strategy pattern, resharper, and test-driven development. The last "kata" was FizzBuzz, which was kinda disappointing, because it's entirely too simple, and writing tests around it feels wholly unessential, or at least wildly unwarranted. So I took the time to work on the shopping kata some more.
Finally, I unwound after the sessions with my fellow Quick Solutions colleagues, and had a great time discussing current and past projects over drinks and large portions of Italian food.
All in all, an excellent day of coding and nerding out.

1
JMitchem
So now I kind of wish I was there.
I had to balance it out by reading (er, starting to read) The Pragmatic Programmer, and getting back into learning Common Lisp.
Although, I don't think that's really because you're there... just coincidental.
(Also, you spelled your tag as codekate, not codekata...)
Posted at January 14, 2010 on 12:27am