CodeStock Wrap-Up

CodeStock Developer's Conference - Knoxville, TN

I just got around to posting my notes from CodeStock for my coworkers, so I figured I’d post some of the highlights here too.

Mike, Alan, and Wally did an excellent job putting this together. I was surprised that, for a first year conference, we had such a large turnout and yet everything ran really smoothly. (If it didn’t run smoothly, they at least did an excellent job of faking a well-orchestrated event.) It wasn’t quite as big as DevLink, so we may end up being the MTAC to their AWA*. 🙂

Behind the scenes, I’m very happy with the commitment to selecting local speakers. I think this is going to be one of the things that sets CodeStock apart, especially as it grows. It shows a commitment not only to the industry in our area, but the people as well. I feel there’s a lot more celebrity than there needs to be in the software development world, so a locally-focused conference is a refreshing trend.

Here’s a rundown of the sessions I attended:

  • 10 Open Source Tools You Should Be Using – Good talk, even though I’m not much of an MVC or TDD guy. Loved the fact that James presented alternatives to each of the applications he discussed. The talk sold me on checking out Castle ActiveRecord for projects where I can’t use LINQ to SQL, as well as checking out SQLite if I ever need to write a desktop application with a local data store. A full list of these tools are on James’s blog.

  • What’s This XNA Thing? – I think my coworkers looked at me funny when I said I wanted to attend this session. I haven’t touched XNA since I walked through a Pong tutorial in the 1.0 release, but this was a pretty good motivation to look at it again. I don’t think Chris has posted slides yet, but most of the resources he listed can be found on the Twin Cities XNA User Group site.
  • SharePoint Developer’s Survival Guide – If you’re doing any SharePoint development, this talk was essential. You can find the slides on Doug’s site; there’s really too much to cover. (I like the fact that he supported my WSPBuilder bias.) He came from the same angle I used in my SharePoint talk, except developer-oriented instead of more administrator-/manager-oriented: these are the pitfalls, and here’s how you avoid them. The most telling thing in his speech: “it takes at least 2 years to make a good SharePoint developer.”
  • httpModules and httpHandlers – I’ve written a few handlers, but this speech gave me a better understanding of modules, as well as a lot of other uses for handlers I hadn’t considered. Chris posted his content from CodeStock on his blog.
  • Much Ado About Testing – Again, I’m not a TDD guy but I am sold on unit testing. I’m also not quite up to speed on concepts like mocking, so this session filled me in quite a bit. Not quite sure I want to switch from NUnit to MbUnit yet, I haven’t run into a case where mocks would actually be beneficial to me**, and Watin really sounds too complicated for my purposes right now. But it’s nice to know that it’s out there.

For any .NET developers who enjoyed CodeStock–make sure you come and support the East Tennessee .NET User Group. ETNUG was the driving force for a lot of the publicity, speakers, and sponsorship; supporting the group can only help make the conference better next year. If you enjoyed the local speakers at the conference, this is the place to get even more (including me, at the end of this month, speaking on SharePoint).

There was also some talk of doing some Open Spaces during one of our future meetings–I don’t know whether that will come to pass, but from what I heard about the Open Spaces (I didn’t make it to any of the sessions), it would be a great alternative to the typical presentation.

* Translation for non-anime geeks: AWA is a bigger convention than MTAC, but if you’re in the area, it’s well worth attending both.

** Of course, it shouldn’t be any secret that I test my data access.

  • Michael Neel

    Did you get to see TypeMock? TypeMock works some voodoo under the hood to mock objects in the middle of methods that weren’t written with DI/IoC in mind. It’s pretty slick, though it does get brought into TDD zealot debates. Obviously a powerful tool is just as powerful for evil code as it is good.

    I believe Tim Rayburn will be at devLink, and if he’s doing his TDD talk that is an excellent one to see as he shows both sides of testing – the TDD view and the view of guys like me who “only go to church on Christmas and Easter”.

  • Dylan Wolf

    No, but it was mentioned in a couple of the discussions. I think I did see a bit of Rhino.Mocks example code, so I have a better idea of what mocking is.

    I think part of my problem with mocking is I haven’t found a place where I need it yet. Using it in place of your DAL is just scratching the surface; James’s example of using it to test a contact form broke me out of that line of thought. But my applications tend to be small, so the DAL is very much tied to the BLL and they don’t have any dependencies on external services other than database. Having seen some examples now, I feel like (a) if I used it, I’d be shoehorning the technique into places where I don’t need it just to say I used it, or (b) I would have to use a more complex DI/IoC architecture which would actually overcomplicate things.

    I can actually get quite a bit out of a TDD talk, even though I am one of the “Christmas/Easter” guys like you. Good, thorough tests are going to be the same whether or not they’re written before or after the code they’re testing.

  • Dylan Wolf

    … I might be gritting my teeth the whole way through, but I can still come out with something. 🙂

  • Michael Neel

    I don’t use any mocking framework myself – I think of TypeMock as “the one I’d use if I did use one.” Since datasets can be loaded from an xml file just as easily as a database – instant mocking.