# Saturday, January 17, 2009

My last post included photos from this year's

Below is a musical slideshow of the event, for those who just can't get enough.

Saturday, January 17, 2009 3:57:11 AM (GMT Standard Time, UTC+00:00)
# Thursday, January 15, 2009

I've been home from CodeMash four days now and I'm still absorbing all I learned there.

The speakers were great, sessions were interesting, the open spaces were stimulating, but the chance to interact with so many smart people in a short period of time was what made this conference so special.

I asked the following question of a number of people at CodeMash: What is the best part of this conference.  Without exception, each person responded that it was the people.  I cannot disagree with this.

This was the first conference I've ever attended in which I spent an entire day without going to a single organized event.  Friday I stayed away from all the scheduled sessions and open spaces - not because I didn't find the topic compelling - but because I wanted to spend some time in one-on-one conversations with smart people in my field.

I discussed paired programming with Corey Haines, Alt.Net with Leon Gersing, web site performance with Steve Smith, building community with Mike Wood, recording interviews with Carl Franklin, open spaces with Allen Stevens, and many more.  I brought my video camera and recorded many of these conversations and more.  I hope to share these videos with you on this site in the coming weeks.

In the meantime, here are some photos of the event:
http://www.flickr.com/photos/29942169@N08/sets/72157612393831992/show/
  

Thursday, January 15, 2009 11:16:08 AM (GMT Standard Time, UTC+00:00)
# Thursday, January 8, 2009

Today was the first "official" day of CodeMash and I spent most of it learning from experts.  Below is a quick summary of the sessions I attended.

Introducing Prototype and Scriptaculous
Leon Gersing made a splash Wednesday night during a .Net Rocks panel discussion by passionately arguing that JavaScript should be included in any discussion of rich internet applications and that JavaScript methods are unit testable dammit!  He continued that passion Thursday morning in this session, showing the prototype JavaScript library and

Developing for Microsoft Surface
I've seen people talk about Microsoft Surface, but this was by far the most comprehensive hands-on demo I've seen.  Jennifer Marsman (Microsoft) and Joe Engalan (VectorForm) showed applications built for the Surface and built an application on the fly.  They tools are very similar to WPF.  They even brought a Surface with them and attendees were allowed to play with it throughout the conference.

Thrashing
Mary Poppendieck is a noted author on Agile development methodologies.  In this session, she spoke about the things that cause "thrashing" - or decreased productivity - and ways to avoid this.  She emphasized the need to maintain a level workflow, so that developers can establish a cadence and more easily manage their project.  One way to accomplish this is to eliminate long backlog of features - many of which will never get implemented.

Managed Extensibility Framework
Drew Robbins
MEF is an upcoming framework from Microsoft that will allow you to build applications as composable parts that can be assembled at runtime.  Drew spoke conceptually about MEF and stepped through some sample code.  I've given talks on MEF in the past yet I still learned from Drew's talk.
  

Thursday, January 8, 2009 10:37:37 PM (GMT Standard Time, UTC+00:00)

At this CodeMash, I resolved to get outside my comfort zone and learn something new.  Today, that new thing was Ruby. 

I have literally minutes of experience thinking about reading about developing applications in Ruby.

In other words, I'm a Ruby virgin.

Joe O'Brien and Jim Weirich hosted a learning session on Ruby at the CodeMash Precompiler Day (sort of an optional Day 0 for the conference).  I wouldn't call it a class or a seminar.  Joe and Jim spent only a few minutes at the front of the room introducing the topic.  But they did provide about25 hands-on labs for us novices to work through.  And they walked around providing help and answering questions for us novices struggling through it.

For me, it was perfect.  I had a chance to get some hands-on experience with Ruby for the first time.  I learned many of the basics of Ruby - testing, arrays, method calls, testing, blocks, iterations and testing.  Did I mention that testing is important to Ruby developers?  Because of Ruby's "duck typing" (variable types are not declared in the code but are inferred by the values assigned to those variables), the compiler will not catch as many errors as the C# compiler.  This forces Ruby developers to write many unit tests to verify their code behaves as expected. 

Appropriately, most of the labs revolved around writing unit tests.

I am now looking at the schedule for the next two days to see if I can learn more about Ruby while at CodeMash.

I don't yet know if I can use this knowledge to benefit my day job, but this exposure will enhance my coding perspective in the long run.

Thursday, January 8, 2009 4:08:04 AM (GMT Standard Time, UTC+00:00)
# Tuesday, January 6, 2009

Tomorrow is the first day to the annual CodeMash conference in Sandusky, OH.  Billed as the finest software conference in an indoor water park, CodeMash is a great way to learn about .Net, Java, Ruby, Python and a host of other technologies.

For me, however, CodeMash marks the beginning of a year of community involvement.

In January 2008, I had recently changed jobs.  After almost a decade with the same company, I left to reduce travel and spend more time with my family.  My prior employer was a good company, but it was difficult for me to get involved in the development community because

  1. Constant travel kept me from attending local user groups.
  2. Constant travel made it difficult to meet developers near my home.
  3. The company had a culture with a strong internal community, so most employees didn't need to seek that from the outside.
  4. I didn't know what I was missing.
  5. I didn't know how to get involved in the community.

As it turned out, my new employer was (and is) very active in the software development community - a major reason I was drawn to them.  Several of them were on the board at CodeMash and many spoke at the conference; In fact, employees of my new overlords frequently spoke at, ran and organized conferences and user groups across the Midwest. 

I ended up meeting a lot of my new co-workers for the first time at CodeMash.

I also met a lot of other folks in the development community - many of them from Michigan.  It was a great experience because I had a chance to exchange ideas with a lot of smart people and to see how they share their knowledge.  I'm still humbled by the lengths to which some of these people go to contribute to the community.

Meeting so many bright people who were anxious to share ideas was an inspiration to me.  IN the months following CodeMash, I became far more involved in two local user groups; I developed and delivered talks to a variety of audiences, including 3 different user groups, a conference and a couple Microsoft events; I created an account on Twitter and used this medium to exchange ideas and pleasantries with a number of people; I used LinkedIn to connect with people and, inspired by Jeff Blankenburg's Contribupendence Day, I recommendations with bright people I know.

At this year's CodeMash, I expect to meet more bright people and I expect to be inspired by them.  But I also expect to meet up with those who inspired me last year.

Tuesday, January 6, 2009 9:54:09 PM (GMT Standard Time, UTC+00:00)