2007 Training in Review

Last year I took a lot of training. In the past, my employers would usually send me to one training event. Sometimes I would get to go to two if times were good. Other times, there was no training budget.

In 2007, I was self-employed as the sole member of Happy Apps LLC. So being in charge of the training budget (well actually the entire budget), I went to six training events:

  1. Rails Edge in Reston, VA
  2. Advanced Rails in Chicago, IL
  3. WWDC in San Francisco, CA
  4. RailsConf in Portland, OR
  5. Advanced Ruby in Reston, VA
  6. RubyConf in Charlotte, NC

So that’s 2 Ruby conferences, 3 Rails conferences, and one Cocoa conference. I actually was scheduled to go to another Cocoa conference, C4[1] over in Chicago, but had to cancel due to personal reasons.

So which ones were good and which ones were bad? I think they were all quite good. Obviously, if you want to make Mac applications like I do with WebnoteHappy, you’ll want to go WWDC.

In terms of being a good Ruby on Rails developer, I’d have to say that assuming that you already have a good background in object-oriented programming and web development, have worked through a beginning Rails book like Agile Web Development with Rails, then you really should take both the Advanced Ruby course by Pragmatic Studio, followed by the Advanced Rails course. Both taught me quite a lot of things that I hadn’t known before.

Once you’ve got that though, I think its important to keep up with the latest in techniques and also be involved in your programming community. I think The Rails Edge Conference is top notch in keeping up with what’s new in the Rails world. I hope that a date is announced soon though – I don’t see one for 2008 as of today.

RailsConf is also good for keeping up with Rails, but I think is maybe even better for just being involved in the Rails community. There were a lot of opportunities, scheduled and unscheduled, to get together with fellow RoR developers and you could sense that Rails is really changing the way that web development is being done.

RubyConf on the other hand reminded me that Ruby is not just about Rails. There’s certainly been a lot of growth of Ruby use because of Rails, but there is a deep and wide pool of talent that has fallen in love with Ruby. It was interesting to see all the different uses that people have made of Ruby. And it was definitely an honor and a pleasure to meet Matz in person. In the end, it does seem like most people who are doing Ruby full-time are making their money with Rails.

I’m trying to plan out my training in 2008 now. So I’m curious to hear what good conferences or classes other people went to in 2007. Also if there were any bad ones.

Automated CRUD Plugins BOF tonight at 8:30pm

We’ll be gathering together all the Rails folks who want better scaffolding, like Dave Thomas said he wanted last year, tonight at the Automated CRUD Plugins BOF – scaffolding and beyond. It’s at 8:30PM over in Room C122.

Lance and Rich from ActiveScaffold will be there. Matthew and I will be representing Streamlined. Hopefully we’ll have representative from Hobo, AutoAdmin, and Scaffolding Extensions. Anyone else who wants to contribute is welcome too. See you there!

RailsConf 2007 at the halfway point

RailsConf 2007 is going well. I found the RailsConf slides that are available already at http://wiki.oreillynet.com/wiki/railsconf2007/index.cgi?PresentationSlides. I hope that all the speakers get their slides up on the web at some point.

A few highlights so far:

memcached presentation by defunkt with gratituous shots of burgers and lots of code. I love burgers, but I love code even more.

Joey “the Accordion Guy” DeVilla and Chad “Ukelele” Fowler rockin’ the house with “Newb” (sung to the tune of “Creep”.) I wrote down the lyrics as best as I could if anyone wants me to post them up.

Avi Bryant reminding us during his keynote last night that Smalltalk is the past and future of Ruby. More on this later. I like that the planning committee provided a different viewpoint at a keynote. Sorta like when Dave Thomas gave his Ruby for Java Programmers presentation at the Java-oriented No Fluff Just Stuff conferences.

Matthew Bass had a presentation on his creation of Teascript, which was like Being a MicroISV / Indie Developer with Ruby on Rails. Not so much code, but shows that you can build and deploy a niche web app and the steps you need to take.

Uncle Bob and Jarkko Laine had a pair of presentations that covered the process side of things so you end up with Clean Code and good Ruby on Rails code with continuous builds.

Ze Frank: “What’s up with having a keynote at 8:30pm at night? Did you shift all the conference hours to be programmers hours? What’s going to happen at 9pm? Mountain Dew break?” Ze was hilarious – probably the funniest guy I’ve seen at a keynote ever.

JRuby 1.0 coming at end of May

Sitting through the Sun keynote at RailsConf. Tim Bray is up and speaking and making it clear that Sun likes Ruby. Which is a good thing, but I guess we haven’t seen so much commercial sponsorship in the Ruby world that it seems somewhat strange, but good.

I think it’d be great if Sun put a lot of resources into creating a world-class Ruby VM. They have some good experience in that space with Java. Of course, maybe they’re killing two birds with one stone with JRuby.

Charles Nutter came up on stage and announced a few things about JRuby:

The 1.0 release candidate 2 is out now.

JRuby 1.0 is coming out at the end of the month.

You can get a t-shirt in exchange for submitting a patch.

Oh, also Tim took a poll and it seems like 1/2 the audience works for a startup, 1/2 for an existing company, and 1/3 for a consulting company. Yea it all adds up to 1 1/3rd, but the question was a little fuzzy. For some reason I thought it’d be consultants mostly, then existing companies, and then startups. But I guess we’re in a new kind of world here, one that Paul Graham loves and has predicted.

Need to get a Sprint or Verizon wireless broadband card

Any thoughts on which one to get? I’d like to have a more consistent Net connection when I travel. The hotel where I’m staying at, the connection was awesome on tutorial Wednesday, slowing down and hiccupy on Thursday, and stone dead on Friday. We’ll see what its like this weekend, but I think there’s some sort of inverse correlation between the network reliability and the # of RailsConf attendees playing World of Warcraft, so I’m not optimistic. Well at least the wireless at the conference itself is pretty stable.

I’m currently leaning towards the new Sprint card that goes into my MacBook Pro’s ExpressCard slot, the Merlin EX720. Anyone love/hate this card + service?

9 Things that DHH likes about Rails 2.0

  1. Breakpoints are back. Wait, actually there’s a real debugger in there?!
  2. HTTP Performance has improved. Any JavaScript and CSS that uses the *_include_tag with :cache => true will be bundled and gzipped up, so the browser will make less connections and fetch less data across the wire. Also spreading assets around to different servers will be easier to parallelize the browser downloads.
  3. ActiveRecord Query caching. If there’s no inserts, updates, or deletes (which would invalidate the cache) it will just return the next selects out of its cache. You use ActiveRecord::Base.cache do/end, though I guess this will be the default soon.
  4. Splitting out rendering and response type for template names. This adds conventions for the template names which help Rails figure out which one to use for a given response.
  5. config/environment.rb is now modularized
  6. DRYer migrations – fields are now grouped by type (I guess we lose the order, but don’t think that really mattered.)
  7. HTTP Authentication is baked in now. You can use authenticate_or_request_with_http_basic in a before_filter. (Also just authenticate_with_http_basic and request_with_http_basic.)
  8. Assume MIT license.
  9. Spring cleaning. I think the Rails Core actually means it when they deprecate things (as opposed to Java which sort of just warns you forever.)

DHHNote 2007

DHH is reviewing the State of the Ruby on Rails Union:

1 million downloads of the Rails gem

hundreds of plugins (at least 600…I wonder how many generators)

10,000 people in rubyonrails-talk Google group (and several hundred in the IRC channel)

jobs looking for more experience in RoR than DHH has (reminds me of the early Java job listings)

most attendees are getting paid in some capacity to write in Rails (I looked around as we raised our hands) vs 1/2 the room at RubyConf a few years ago

lots of books (documentation is definitely key)

Now onto Rails 2.0…

It’s not a unicorn, but real. (But Rails 3.0 will be a pony.) No bomb dropping like last year (*cough* REST *cough*). On the other hand, resources will be more central to Rails 2.0.

Single models can be represented by multiple resources. It doesn’t have to be just the standard 7 actions. It can have related resources as well. This is a good improvement over the way we specify resources today in 1.2. The resource scaffold is now the default scaffold.

Next up, DHH did a quick demo of customizing a resource. Also he demoed the ActiveResource client library which works with resources remotely. Man we’ve come a long way since the Java/COBRA Orfali/Harkey book that was like a phone book that explained how to do client/server apps. I think it shows the triumph of convention over configuration.

ActionWebService has left the building. Rails is not the Switzerland of frameworks (or perhaps you could say its not the Swiss Army Knife of frameworks.) Following Dave Thomas’s suggestion from last year, Rails is slimming down the core and making more things be plug-ins and ActionWebService is now a plug-in.

Current friends of Rails: AJAX and REST. Future allies: ATOM (for feeds) and OpenID. (More from DHH in the next post…)

RailsConf is huge

We’ve got 1600 people attending this years RailsConf (as opposed to around 400 last year.) This sort of reminds me of when Eclipse got popular and the growth between the first and second EclipseCon.

Alright so Chad is up on stage welcoming everyone. He’s encouraging everyone to be good and give at http://pragmaticstudio.com/donate. The message: don’t be overprivileged programming geeks who don’t have to type all the Java syntax. lol

Now Chad is playing out some nice tunes on the ukelele while Rich is telling us about his intro to TextMate (he’s got license #8) by DHH.

I’m at RailsConf 2007

I’m at RailsConf 2007 in Portland, OR – its tutorial day. I’ve been really busy with consulting lately so haven’t done much blogging. But I usually am good at blogging while at a conference. :)

Sitting in the “Your First Day with JRuby on Rails” now. As a former Javaholic and current Rails aficionado, I figured it’d be good to get the lowdown on this possible fusion of the two. Plus we all need a better Ruby VM.