I thought I should post on what has been going on with me. It has been a busy summer. I attended two great conferences: Research Triangle Software Symposium and Ruby Hoedown. I got some good information from both of these.
NFJS
The Research Triangle Software Symposium (NFJS) was a good conference again this year. It was the 3rd one I have been to and I came away having learned something every time. This year the 2 main concepts I was impressed with were the Agile Development sessions and the discussions around Groovy and Grails.
Agile
From the Agile sessions, I learned 2 main things: 1) peer code review (thanks Jared) and 2) burn-up chart. Both of these we have started using on our team. The peer code review happens at the end of development right before you checkin your code. It was recommended that you print out a copy of the diff and ask a team member to review it. Your team member has the right to say "no" (to avoid the context switch). When reviewing, give the team member some background on the issue and then go through the code with them. It has helped communicate code changes and improve our code (might be a good step before paired programming).
The burn-up chart was a great idea that, I think, has been around for a while. When a team member described it to me, we thought it was an excellent idea. We have been struggling with how to predict (or even display) when a project we were on was going to have its first release. This provides the insight on the number of things added and the number of things completed. We have created one of these in the form of a big visible chart at work. I really like this idea and I expect to use it more in the future.
Grails
This was a very interesting topic at the conference. Even though this was a Java focused conference, I was surprised how few people were familiar with Rails. When I saw Jason Rudolph's talk on Grails, I was impressed that a Java framework had managed to mimic Rails. Then I was surprised at the number of attendees that thought this was a new idea. It was really cool and if we hadn't already started using Rails I would consider it (although there might still be reasons to consider it). I have to mention that Grails is possible because of the dynamic language Groovy written in Java. The combination of the two make this a powerful framework.
Ruby Hoedown
The Ruby Hoedown was a single track conference with some outstanding information in it. Several of the talks were on where to take Ruby (or where it will take us). We need to be aware of how other languages have failed in the past and how there are similarities with Ruby. Is Ruby just a step to the next big thing? Is [Metaprogramming][mpg] the next big thing? Is concurrency going to be an issue?
There was a talk about Merb which was interesting. Ezra Zygmuntowicz pointed out some of the issues he has with Rails that Merb tries to address.
Jay Phillips enlightened us with his domain knowledge on VoIP. Adhearsion is the framework he wrote that is an API to Asterisk (and others). This looks like an interesting option when the family grows up (each member of the house could have their own extension).
The lightning talks were great and I particularly liked the talk on unit testing without the database (see Dan Manges for more info).
Jared's talk was on C extensions in Ruby. It got me thinking about how we could speed up our applications with a few C extensions.
Last was Marcel Molina's talk, which was on code beauty. It was a good talk and sparked many questions from the audience. He said there are 3 qualities that we need to balance in our code: proportion, integrity and clarity. He provided an example. I am going to use this as a rule of thumb when writing code.
These are just my thoughts from the Ruby Hoedown, but you can form your own by watching the videos for yourself.
Conclusion
Although it was a busy time for me, I am glad I attended both events (and that my family was okay with it). It is important part of my career along with the local meet ups.