CodeMash Day one Recap

Today was the official start of CodeMash with the panel last night as a day zero type event.  I’ve already blogged about the morning keynote, so I’ll just skip that and move on the rest of the day.

The first session I missed out on as I was in the Expert’s Zone.  Bill Wagner and I (ok, so mostly Bill) spoke to a few guys about a system they were working on.  It sounded like a really interesting project.

I was able to make Catherine Devlin’s Crash, Smash, Kaboom Course in Python talk.  This was basically an intro to Python talk in which Catherine showed some pretty basic things like how to import modules (similar to how .Net Languages would reference and import namespaces) and basic syntax (such as constructors, function definitions, inheritance, calling functions, etc.).  To top it off she had a really cool demo that visually showed a solar system exploding.  Pretty neat!  Both years that Catherine has spoken at the local Code Camp I’ve missed her talks so I’m really glad I caught this one.

Next up was lunch.  Mmmm….boxed meat.  I did get to sit and listen to a conversation with Scott Hanselman during lunch, which was very cool. 

Following lunch was the afternoon keynote with none other than Scott Hanselman.  His topic was really Mashing it up with IIS7, but he started with a hilarious self introduction that poked fun at Microsoft, software languages and himself.  The intro even included a screen shot of an ANSI art Clippy for the vi editor.  For the serious content of the keynote he showed how you can host a PHP application on IIS7.  This isn’t anything new, but without changing the PHP application at all he added authentication/authorization, caching and URL rewriting using HTTPModules that he just dropped into the APP_Code folder and registered in the web.config.  Pretty slick stuff.  Deployment of web applications is just going to be SO much simpler with IIS7.

After the keynote I went to Bill Wagner’s talk on LinqTo: Implementing IQuery Provider.  This subject just lent itself to be hard to deal with unless you dove deep into the bowels (and I do mean bowels as in Eeewwww) of how much you really had to do to generate your own query provider.  I thought it was a good talk for the following reasons: 

  • I now know why I don’t want to write one of these. 
  • I have a great deal of respect for the effort put into LinqToX (SQL, objects, Entities, etc.). 
  • I now have a better understanding of how the LINQ providers work. 

As I said before you really had to jump down into the nitty gritty to get to the subject and I think that made the topic maybe too deep for what on the surface sounds like something that should be easy.  I think he could have named this talk Why you don’t want to write your own provider.  In the end, Bill hits on some good points on when you do want to look into creating your own provider:

  • You have a very simple grammar that can be translated easily.
  • Your data can really be represented as a data source.
  • You have a large audience for your provider.  This is something you want to  just work on if you have two internal consumers, the ROI is just not there.

Another point I took away from Bill’s talk is that unless you really want to do something special or really need to ensure you aren’t pulling across more data than you have to, most likely LinqToObjects will suffice.  Hopefully those were the messages he was trying to get across.

The last session for the day was a tough decision for me.  I was torn between Dustin Campbell’s Putting the Fun into Functional with F# and Brian Sherwin’s Refactoring for Testing.  In the end I choose the F# talk because of the inspiration I took from Neal Ford’s keynote about polyglot programming.  Maybe I can talk Brian into coming down to Code Camp or CINNUG to give his testing talk.

Functional languages are something that is completely new to me.  It’s a fundamental mind shift on how to approach things, so by the end of the talk my head hurt in running things through my mind on how they were different, what the implications were, and where it can be useful.  I think F# would will be a fun thing to try out.

Diner was actually really good (much better than lunch).  Sadly my willpower was at an all time low and the dessert table called too loudly.  The cheesecake wasn’t bad at all.

Overall the conference is going well from my perspective.  I’ve learned some good things and got to meet some new people like Keith Elder (who now knows who I am) and Sara Ford (of VS.net Tip of the Day fame). 

And it is just the first day.