Jul 132015
 
Knoxville, Tennessee

Knoxville, Tennessee

I just got back from a great tech conference in Knoxville, Tennessee called “CodeStock”.  It was a 2 day event where software developers, technologists, and entrepreneurs gathered to listen, discuss, and share information about the latest in software development and software related technologies.

The first day was a treat as I got to hear Scott Hanselman speak for a second time.  For those of you who might not know, Scott is a developer/technologist/speaker/evangelist for Microsoft.  His main focus is on the web.  His talk was hilarious (as usual) as it was full of humor that only a room of 900 software nerds would understand.  He discussed how the web has grown, how javascript is the assembly language of the web, and distributed computing.  I read his blog over at hanselman.com, his podcasts at hanselminutes.com, and some of his Azure Friday talks.  Suffice it to say, I’m a fanboy and I would recommend his work to any of you, especially those of you who work in the .NET/ASP.NET stack.

Scott Hanselman at CodeStock 2015

Scott Hanselman at CodeStock 2015

There were many great talks, but the hottest topics this year were DDD, functional programming, and AngularJS.  The amount of interest that was shown in the DDD and AngularJS sessions was as I would have expected, but the functional programming talks were surprisingly well attended.  The ones that I went to were filled to capacity+.  As for me, I went into the functional talks a bit skeptical.  I thought, functional is interesting, but is F# really production worthy?  Is it worth the OOP to FP paradigm shift?  Is F# syntactically rich enough to provide the functionality that I need to make products work and work well?  Aaron Erickson provided some very compelling arguments in favor of a shift or, at minimum, consideration of F#.  When Aaron asked, “How much code do you write that does a cool algorithm compared to code you wrote to make the framework work?”, he had me.  If there is a less verbose way to get things done, it is worth a look.  If it isn’t worth investigation, perhaps we should just give up and revert to COBOL (as I shudder at the very thought).

“How much code do you write that does a cool algorithm compared to code you wrote to make the framework work?”- Aaron Erickson

F# is interesting and I hope to post more on it later.  The amount of attendees in the functional programming sessions seemed to indicate that functional is on its way back in some form or fashion.

Along with the sessions on functional programming, I was able to go to some really great talks on C# 6, vNext, and JWT Authentication.  There was also a talk by David Mohundro entitled “A Brief History of .NET Threading”.   This was by far my favorite talk as it provided background on the evolution of threading in the .NET Framework.  By explaining where we came from, it helped me to appreciate the simple beauty of async/await and how to better apply this pattern.  If you have any interest in threading in .NET, I would recommend checking out his post on the topic here.

I would definitely recommend going to CodeStock in the future, particularly if you live in the region.  There were 900 attendees this year, which gives it some credibility on volume alone.  The organizers did a good job in selecting the venue and it was definitely smoothly run.  One word to the wise, though.  When you go, make sure to check out the presenters online before making your choice on sessions.  Some presenters will obviously be more well-versed in their topics based on their blogs, tweets, etc.  Make sure to make this part of your session-choosing criteria.

Thanks to the organizers!  I hope to attend again.