Saturday, July 25, 2009

CodeStock 2009: Day 1, Part 1

CodeStock is a developer gathering in Knoxville, Tennessee that drew 376 people from around the country. The conference is a community event, meaning it is put on by developers. Most of the sessions are based on the Microsoft stack (.NET, SQL Server, Visual Studio), but has business topics and some open source coverage as well. You can attend 10 sessions over two days and there is one keynote each morning to start out the day. I attended the conference for one reason, to jump start my learning of ASP.NET to help my make the decision if we are going to use it a project we are hoping to work on later this year. The decision is simple, use the Microsoft stack, or use something else like Ruby on Rails with other open source technologies. This decision is as much technical as it is a business decision, and one I struggle with each time I sit down and think about it.

The event registration cost me $45 because I registered late (normally $25). This is ridiculously cheap even considering the cost structure of the conference. The conference facility is a local college in Knoxville, and not tied to a specific hotel. Lunches are less expensive boxed sandwiches, chips, cookies and soda. Speakers travel is not covered. Sponsors cover a significant part of the cost structure for this type of event. It is supported by a passionate group made up of volunteers. While there are a lot of things in common with a standard conference you might go to, the entire infrastructure and business model are completely different. The entire trip with air miles supported airfare cost me around $300. I shared a room with Steve Bodnar to also curb costs.

One thing I learned at the conference is the way sessions were selected. People voted months ago on topics. The votes were based on title and the abstract - without a speaker name. I did not take part in this because I was late to the party and quite frankly would have been out of my element in the selection process strictly based on me being an ASP.NET noobie. I don’t know for sure, but I suspect the organizers don’t want this to be a popularity contest, and to have people vote strictly on topics/technology. I am sure this could happen, but the reality is I choose the sessions on content *and* speaker. This might sound snobish to some, but speakers make up the core of the conference and make or break a session. No matter how important a topic might be to me, if I know a speaker is weak, or does not prepare well I know I will not get value out of the session. I have been quoted as saying there are certain speakers I would listen to no matter what the topic is because I know I will learn something new out of the session. This is only reason I attend conference sessions.

Honestly, I believe this process watered down some of the session content and delivery at CodeStock. Granted, as you will read soon, there were some terrific sessions put on by talented and prepared speakers. There also were some terrible sessions put on by talented, but unprepared speakers. The difference was easy to witness, and literally painful to watch. As a person who has put on dozens of presentations, I felt bad for them. On the flip side, I really enjoyed watching other talent and passion flow in other sessions.

Open Spaces Keynote
Alan Stevens
(not rated)

Alan is a star in two communities (both in VFP and .NET). You might not know, but Alan is more of an “unconference” kind of guy than a prepared session slot kind of guy. His passion is bringing developers together to discuss ad-hoc topics. This is what open spaces is all about. Someone kicks off the conversation with a question or statement, and let controlled chaos ensue. This opening keynote was Alan's introduction to open spaces and his several escalator ride pitch to convince you to follow him to the land of un-session nirvana. His passion oooozes on stage, and he convinced many to follow by posting a session topic in one of the many slots.

The reality is, open spaces is a lot like the discussion you will find in the corridors at a conference. The unplanned “hallway sessions” that usually start with a couple people discussing something, and others join in and before you know it you get a flow of ideas and answers to questions. These sessions bring as much or more value than one of the planned slot sessions going on in the rooms at the same time.

The problem I have with the open spaces approach in this format is the slots are filled randomly and they compete directly with a schedule I already picked out in advance. What I mean about the randomness is you could have two related topics but get them out of order with respect to some background and advanced discussions on the same topic. The cool thing about it is you have alternatives to the rare open slot when none of the planned sessions meet your taste. The open spaces are also during lunch, so for us uber-geek conference attendees who see lunch as more time to learn it can be a bonus session.


Back to the Basics: What is .NET?
Keith Elder
*****

Keith is a well prepared speaker. His session delivered a nice overview of .NET and the basics needed to get started from someone who obviously has expertise.

I thought this was a great way to start the conference. Keith explained how .NET is managed code, described as "developers don't have to manage memory." He also explained how it was cheaper than Java. I don't understand the entire math equation, but it had to do with IIS being a "free" app server compared to needing BEA, WebSphere, or WebObjects. This is the first time I have heard anyone tell me .NET is cheap and IIS was free. {g}

One of the key advantages of .NET is the single development platform for mobile (WinMobile), Silverlight (Web), Windows desktop, and Linux with Mono. This is a pretty powerful concept that is not promoted to me by Microsoft, and a heavy discussion point in the LAMP arena. I have a little problem with the "mobile" perspective since I believe Microsoft does not compete well on this platform and are getting their butts' kicked by Apple and Research in Motion (RIM - Blackberry).

He gave us a quick overview of the Visual Studio IDE, and explained the large ecosystem of developers creating tools and components for VS developer to purchase. This has been one of my sour points with the Visual Studio experience: the total cost of ownership. I have been spoiled with VFP. Literally we have it all in the box. The Visual FoxPro IDE supports the language and app development, has tools and components, a report writer, and data (local and backend). Sure you might have to purchase some ActiveX controls here and there, but normally these are for specialized cases and most VFP apps are fine with the canned controls and tools. I asked Keith what the real costs for the average developer is with VS.NET once you license all the components to get the real job done. His answer was very wishy-washy. I have heard from other developers in the past it could be as much as a couple thousand dollars per developer on top of the costs of purchasing Visual Studio .NET. Not a trivial decision for any development shop.

The meat of the session was in the coverage of the .NET framework, code, and the assembly DLLs. Keith covered all the base compilers and how others can be included for other languages. I thought his overview of the Intermediate Language (IL), the Common Language Runtime (CLR), the Dynamic Language Runtime (DLR) was well done. He showed us the Global Assembly Cache (GAC), and briefly covered the Red Gate .NET Reflector (which is very cool, and scary if you think the ReFox decompiler is evil).

Key takeaways from this session were some clarification on .NET and where things are on the machine, .NET Refector is going to be extremely helpful from a learning perspective, and how well .NET plays on platforms that are important to me. I really thought the session was well done. Keith is an experienced speaker and a name I already knew going into the conference. I would definitely see another session he presents.



Useful jQuery tips, tricks, and plugins
Elijah Manor
***

It would have been real helpful if organizers had scheduled this *after* Rod Paddock's jQuery 101 session. I am not sure if this was a scheduling problem of speaker availability or not, but it would have probably been rated a little higher if I had known jQuery a little more. Elijah is a respected person and expert in this field. He is a prolific tweeter as I have learned since the conference. His tweets are filled with lots of pointers to some extremely useful resources. I know I have learned more from him since the conference than I did in his session.

The session was packed. I got there late and ended up leaning against the back wall during the session, which is not conducive to learning, at least not for me.

Key takeaways from this session include VS 2008 SP1 includes support for jQuery, Firebug is awesome for Web development, the jQuery FlexGrid plugin rocks, and follow @elijahmanor.


Lunch
Open Spaces
(not rated)

I grabbed my boxed lunch and headed to open spaces. Honestly, I don't recall the topic (writing this blog entry a month after the conference without any notes). Obviously this was not much value. I bailed early.

More on day one to come...

Labels: , ,

0 Comments:

Post a Comment

<< Home