This year, I was fortunate enough to attend DevLink for the fourth year in a row. I'm pretty sure 90% of my Conferences posts are recapping prior trips to DevLink. Well, here goes number four, though I'll try to keep it more succinct than last year.
The first session I attended was on Test Driven Development with T-SQL by Philip Japiske. If you just did a double take at that last sentence, then you know how I felt when I first saw it on the session list. I had never heard Philip speak before, but I was honestly worried that a session on TDD with T-SQL would be a trainwreck. I'm happy to say that it was not, in fact, a trainwreck - it was actually a really good session. Philip showed us T.S.T. (the T-SQL Test Tool) which is basically a set of stored procedures that provide the basic assertion libraries you'd expect to see in a unit testing framework. The real gems were assertion calls like Assert.TableEquals. It can still use some work, but if you've got any sort of T-SQL sitting around, wrapping some of that in tests could be very useful.
Another session I really enjoyed was on HTML5 with Todd Anglin. Most of the noise regarding HTML5 that I've seen has revolved around mobile development, the canvas tag and how it will replace Flash/Silverlight/etc. Todd did a great job of showing us the other parts of HTML5. I had no idea that there were new input tags that were coming (are here? sort of?) like tel, email, etc. Really, that's all it takes for mobile browsers like Safari to give the different input types (i.e. if an input element with type email gets focus, you'll get the email input display on the iPhone).
Jim Wooley did a great job showing off the Reactive Framework (Rx). We spoke a little bit last year when I attempted an Open Space session on Event Driven Architecture and he had pointed out Rx then, but I never really had a chance to dig in since then. Honestly, once people really start grokking Rx and applying it in their frameworks, I'll think we'll start seeing some big jumps in the way we write code, particularly on the client side. I'm still trying to think of good applications of it on the server side, though Chris Patterson did mention that MassTransit was looking into adding IObservable capabilities...
There was a session on Caliburn by Bryan Hunter on the first day, but the room was packed so I wasn't able to hear it. I did get to make it to his part 2 talk on the last day, though, and I really enjoyed it. I still love the way Caliburn uses iterators (with yield) to implement coroutines. If you'd like to get a good feel for Caliburn and what it provides, check out Rob Eisenberg's MiX session.
The last session I attended on Saturday was on IronRuby and Rails with Shay Friedman. I have already been doing some Rails work on the side, so I was familiar with most of it, but I still wanted to support IronRuby, especially considering Jimmy Schementi's post regarding IronRuby's future went up the day before Shay's session. (side note, lest you think IronRuby is dead, it is having almost daily commits to it and it has the potential to flourish even more in the community's hands)
I sat in on a open spaces session led up by Alex Robson on RabbitMQ. RabbitMQ is a "highly reliable enterprise messaging system" that is written in Erlang. Think MassTransit or nServiceBus in the .NET community. It was interesting to hear how other messaging frameworks are structured and to also talk about how messaging and event driven architecture change the way applications are built. It was a very fun discussion.
After my relative success last year leading an open spaces discussion on event driven architecture, I decided to talk about something else I'm passionate about: VIM. I entitled the session, "VIM and other Ye Olde Text Editors" (tongue firmly in cheek). I hoped my poor attempt at title humor would draw people to my session. If by people, I can count 2 individuals, then I can say that, yes, it did draw people to my session :-). Brian Sullivan and Mark Haskamp both swung by and we had a good time talking about Vim and Emacs both. My hope in coordinating the session was in sharing the awesomeness of Vim and getting ideas from other Vim users on how they customize and use Vim to the fullest. I didn't get a lot of tips in that regard, but I did get to show a few people the very well known String Calculator Kata in Python, which should instead be titled String Calculator in Python in Vim. It's as much of a kata on Vim as it is on Python.
Brandon Satrom kicked off a talk on "What's good in MVC, what's missing in MVC." I really enjoyed this session - there was a lot of push to improve what we've got with MVC. We realized that the finished list (which probably could have continued) leaned heavily on the ways to improve MVC, but I commented that I think this is because we're really enjoying using it and we want it to succeed and move forward.
I sat in on another of Alex Robson's open space sessions on NoSQL on Saturday. We talked a lot about CouchDB and Cassandra, neither of which I know a lot about. I've read up on Mongo quite a bit more, but I'm finding that the document database (and other NoSQL variants of databases) very intriguing. I'm planning on using one of them for some of my Rails projects at some point.
All in all, I had a great time at the conference. I really enjoyed getting to see a lot of friends, particularly some of those from the Fort Smith area. I used to get to see most of those guys at least at every FSDNUG meeting, but since moving to Memphis, it had been a couple of months since I had seen them.
Here's to another DevLink next year!