{
I earned the reputation as "the guy from South Dakota" at CodeMash; many people were amazed that I took it upon myself to drive just under 14 hours both there and back for the conference.
What would they have done if I told them I also:
a) took time off from work
b) paid for it out of pocket
c) drove my own car
But I think it's not *that* strange. Staying at work would have meant the same old stuff I do every day all year and instead I got to see some of the best Einstein's presenting on Python, DSLs, Dojo, REST, and IIS7. I made some friends as well and on top of that got to kick it with Scott Hanselman. All for the cost of a long drive with an audio book.
I had posted on sessions I wanted to see, here's a little rundown of memorable sessions I actually attended:
1. Neal Ford's keynote "Software Engineering & Polyglot Programming"
Neal's one of those sedate cognoscenti who don't appear to have an emotional angle on platforms, just a sense of design and engineering that they wish to communicate. In his talk he urged developers towards the notion of language as a tool, and that dynamic languages take us places that our old friends in the static realm cannot. He made a reference to Jack Reeve's essay which I've written about before, and said a few times the following phrase which I thought was apt:
"Testing is the engineering rigor of software development."
If I could have asked Neal, I'd have wanted some comment on something I posted some time back - Oliver Steele's blog post on The IDE Divide in which he divides developers into the Language Mavens and Tool Mavens. I think Neal's perspective was very much that of a language versus tool maven.
2. Catherine Devlin's "Crash, Smash, Kaboom Course in Python"
Great talk on Python fundamentals while illustrating a universe simulator library (forget the name). I've been trying to pick up Python for some time and much of what I got was from watching Catherine's use of the language in her demos. The one bummer: I was using a Python distribution from my iBook (Mac OSX) that didn't include the Python modules she was demonstrating with. Even more of a bummer: in my hotel room a different laptop was running Ubuntu with just the modules needed to follow along with her in code.
3. Kevin Dangoor on Dojo
I may have made Kevin feel uncomfortable with how happy I was to see this talk (he did a great job) but I've felt quite alone over the last two-ish years working with javascript libraries. I used jQuery heavily for my tool "proper" after which I used Prototype/Scriptaculous for a few other projects. I then switched to YUI for nRegex so I'd been around the block with my frameworks with only Dojo missing. Dojo seems to go beyond these other frameworks just on its ambition alone and I'm wondering if that can translate into a happy mix with the heavyweight stuff I have to do at work with ASP.NET.
4. Dustin Campbell on F#
Dustin gave a deft introduction to the F# language which had to be the biggest thoughtbludgeon I got during the conference. I've listed F# as my "someday language" and it will remain so since Ruby will occupy my time along with Python in learning mode over the next year or so. Nevertheless, it was good to see a demonstration of the language and some of the implications thereof.
5. Kevin Dangoor on Gears and Dojo (DojoX Offline)
The second session I sat in on with Kevin, this dealing with Dojo's offline capabilities in large part courtesy of Google Gears. It was as good as the first Dojo session and left my mind popping with ideas for leveraging that functionality.
Soon - I'd say around the release of Silverlight 2.0 - people like me are going to face a fork in the road of using browser plugins and thick (they use the word "rich") vendor technologies, or using javascript and existing web technologies like CSS on a new level. All the Dojo stuff represents, to me, what Microsoft and Adobe (no need to even mention JavaFX, oops I just did) are not tuning to as they ramp up Silverlight and Flex. Not that it's in their interests: the stuff of web standards isn't really the profit center that proprietary technologies are.
6. Neal Ford on DSLs with Dynamic Languages
Neal was impressive this second time with some practical talk and examples of DSLs. He started first with Groovy, which left me disappointed since I don't anticipate using it, but to show the "best" world he switched to Ruby. I am really looking forward to IronRuby's release, but at present I think much of what he discussed can be implemented in Python.
7. Dave Donaldson on RESTful Web Services
I've been familiar with the REST buzzword for some time but as a term thrown out in competition with standard web services (the WS-* stuff). Dave did a good job of unpacking the essence of REST and showing demonstrations of usage. It's interesting to see just how much backlash there is against WS-* and the manufactured complexity therein. The only thing I disagreed with was Dave belittling Dave expressed reservations about the Astoria project teetering into the over-engineered realm of WS-* but I am hopeful it will retain its original intent - I really, really like the idea of Astoria (born of the same backlash to WS-*? I'm just talking here...).
8. Scott Hanselman on Mashups with IIS7
He has the gift and he knows it: first with a humorous prologue and then with a good presentation on IIS7 and using its underpinnings with a mix of PHP. Inspired by Bill Staples article on IIS7 and PHP, but with the detail and demonstrations with which Scott's earned his following.
I went to a few other sessions too, but these were the ones which, as the Brits say, "tickled my fancy." I was disappointed to miss out on Jay Wren's intro to Castle as well as Bruce Eckel's thoughts on Python. I guess there's next year...
... and I do anticipate returning to CodeMash although I'm quite sure I'll fly rather than driving. :^)
I've got you subbed in my aggregator, so consider me a lurker now.
Anyway, glad you could make it to the show and maybe we can chat more next year.
--Dave Donaldson