“Welcome to the largest gathering of rails developers in the know universe… ever.” — Rick Kilmer
That’s how it started, and looking around it’s an interesting bunch of people. Not that I expected anything else. For example, there are more MacBook’s here than your average Apple Store. I’m not sure if it’s a good sign for Apple or a bad sign for Rails or vice versa (for the moment lets go with “Early Adopters”). Anyway, after a quick rundown of the sponsors the first keynote speakers, Dave Thomas, was introduced.
Dave Thomas, began with Google. Starting with a search on “Ruby on Rails”, pointing out 21 million hits, the number of advertisers and the different type of advertisments. To futher his point we saw that rails downloads has passed the half million mark and he compared, using Google Trends, the populatiry of Rails vs. some of the big names (Websphere, jBoss) and technoloiges (PHP and one that’s a little closer to home for us at DeCare, Spring). He went on to outline the problems he sees in Rails that need to get fixed to enable Rails to make it in the main stream.
- Data Integration — Data Integration needs take more advantage of the schema if it is to be truly DRY. This like auto validation and foreign key support
- CRUD — Scaffold is not enough, it needs to be more AJAX.
[scaffold] has to do better than the old 3270, ‘fill in the form, hit send, and get the result’
- Deployment — should be a two phase process, to let developer do what they do best, and system admins do what they do best.
After a short break the days sessions began.
Mike Clark, author of Pragmatic Project Automation and contributor to Agile Web Development with Rails, introduced “Capistrano” by Jamis Buck. Interestingly, he started the session with
“Hi I’m Mike Clark and I have been Java free form 15 months and 16 days.”
These guys have left Java behind.
Capistrano is a tool for automating application deployment. It uses a single, simple (5 or 6 line) recipe file to describe your setup and everything after that is a done with single commands. Deploying to your running application on multiple servers,
This gets the latest code from your repository, puts it on the servers and restarts them where necesssary. Did something wrong?
Want to disable the website for a while and put up a message page for the users
Developers regularly loose the afternoon to these type of task. In the rollback scenario, part of the evening/night too. Extendibility? You can define your own tasks (similar to make or rake) and roles on which they will run. There are before and after hooks for task as well (e.g. copying the passwords file from a secure location after a deploy).
“Capistrano, it’s shoes for the cobbler’s children.”
By the way, this is not limited to Rails, or even Ruby for that matter. There are already people using it for PHP deploys and it has been used to setup new machines being added to clusters (not exactly what it was made for, but it works). If you find yourself spending time on deployment this is worth a look.
The next three sessions I went to where not great. ‘Meanwhile, In the rest of the World…’ was basically about usability and the danger of alienating your users, who probably are not as web savvy as you expect. (What’s a tag/RSS feed?). ‘Monitoring Rails Apps in Production’ was basically a product demo, but they sponsored “Why the Lucky Stiff and the Thirsty Cups” so they can be forgiven. Finally Amy Hoy’s ‘Overcoming Scaffolding Addiction’ was a bit basic. She went over how to solve the initial problems you encounter when you first use Rails.
Next up was Martin Fowler.
“I haven’t used Ruby on Rails”
A strange way for a keynote speaker at RailsConf to start. He went over the things he likes about Rails:
* Opinionated Software — it has strong opinions on what it believes is right and makes this easy.
* ActiveRecord — A pattern he considered interesting, but not that important, has gone so much further that he expected
“… never imagined an Active Record implementation as good…”
* Agile — Because of its ease, developing software with a customer becomes more conversational.
* Quick and Clean — The choice “fast or well designed” is a false choice.
He talked about software development in general and how Rails was not a framework for everything. In fact one framework that will do everything is a disaster.
“Rail should be so simple that there is no point having a conference about it … Rails will have succeeded when RubyConf goes away”
The final Keynote speaker of the day Paul Gramham
“I’m going to contradict the Old Testament and Yoda”
he talked about working in the margins, about all the companies (Apple, Microsoft, HP) that came from the margins and the advantages of being on the outside. On his website he describes himself as an essayist. Everything there is both worthwhile and enjoyable to read. His keynote will be up there soon, so I’m not going to do it any more harm. In the meantime, there is a good essay on Web 2.0.
Finally, “Why the Luck Stiff and the Thirsty Cups”. This was probably the strangest thing I have seen in a conference, or a concert for that matter. Part ruby enthusiast, part musician, part comedian. I’m not sure I followed everything that was going on (it’s 4am Irish time) but I don’t think anyone else did either.