The fantastic team at Rails Envy is back with their Apple-style commercials comparing Ruby on Rails to a variety of competing environments. This time they have a one-two punch first striking .NET and then doing PHP/CakePHP. As always, it’s funny stuff and really nicely done. Keep it up, boys!
Looking for a good way to browse the Rails API documentation? Alex Gorbatchev has recently created Noobkit, a documentation browser for Rails, Ruby core, and over 20 other useful libraries. It also supports searching, comments (with your OpenID), and bookmarks.
The first release candidate for Prototype 1.6.0 is now [available for download](http://prototypejs.org/2007/8/15/prototype-1-6-0-release-candidate). This version features a rewrite of the event system, including support for DOM-based custom events and the DOMContentLoaded event, true class inheritance and superclass method references, and improvements to the DOM, Ajax, and function APIs. Please give it a spin in your apps and [let us know](http://dev.rubyonrails.org/) if you run into trouble.
It’s that time of the year again: time for another Rails coding competition. In the spirit of the previous Rails Day contests, Rails Rumble challenges teams of up to four to create the best application possible in just 48 hours. This year’s competition is a little bit differently this time around, so checkout the rules. Judging is now performed by the community, allowing anyone to signup and choose their favorites. Also, your app will be provided a VPS to host the application through the end of October. How cool is that?
If you want to compete, you need to organize quickly, the contest runs on September 8th and 9th.
The Czech Rails shop Skvělý.CZ has just announced the release of sMoney.EU, a free expense tracking application written in (of course) Ruby on Rails. It sports translations for several languages, too, and joins the growing ranks of Rails applications with localized interfaces. Great job, Robert and team!
RailsConf Europe is approaching fast. It’s going down September 17-19 in Berlin, as most of you know, but this very week is actually the last if you want to take advantage of the 150 euro-discount for early-bird registrations.
I can’t wait to see everyone in Berlin. We had such a great conference in London last year and so much has happened since then. Have a look at the program and hopefully we’ll get a chance to meet up and talk.
We’ve passed the 3-year mark for when Rails first saw the light of day as a public release. It’s been an amazing ride, don’t you think?
Capistrano 2.0 is real. (What is Capistrano?)
Install it thus:gem install capistrano
It’s been through four preview releases, and has seen significant changes since 1.4.1. If you’re currently using 1.4.1, be sure to check out the upgrade documentation at http://www.capify.org. If you’re altogether new to Capistrano, you might like to read about getting started.
Since the last preview release (number four, version 1.99.3), the changes are primarily bug fixes, but the following featureish modifications snuck in, too:
- The uploader has added a tiny bit of sleep to prevent the CPU from going bonkers during uploads.
- You can specify the $CAPISTRANO:HOST$ placeholder in the filenames that you give to “put”, and it will be replaced with the actual host that the file is being uploaded to.
Also, some people reported SFTP uploads were hanging for them. If this happens to you, try adding the following line to the top of your recipe file:set :synchronous_connect, true
That will cause connections to the servers to be established serially, rather than in parallel, so if you’ve got a lot of servers that you are connecting to, it might make things a bit time-consuming. However, this appeared to work around the hanging SFTP issue.
Yes, there are a few of these. Two are of immediate significance:
- If you try to use the ‘put’ command to upload a file to two or more hosts via a gateway, you run a good chance of encountering “corrupted mac” errors. This is due to design flaws in Net::SSH and Net::SFTP, and (to my knowledge) cannot be worked around. The current best practice is to upload to a single host, and then use scp or rsync from the remote hosts to pull the file.
- A very few people have reported commands hanging inexplicably and infrequently. I suspect this is also due to flaws in Net::SSH, but I’m not certain yet.
The MySQL-dump blog posted on some observed rubyisms while evaluating a large ruby application. He highlights some potential problems with ActiveRecord that may come up, such as using “SELECT *”, character sets, unsigned integers, and constraints.
Wow, has it been two years already? Geoffrey’s been a major positive force in the Rails community even longer then that, starting with the humble Pluralizer, which helped us all figure out what table names our ActiveRecord models were supposed to be using. For his next podcast, he’s turning the tables and letting himself be interviewed by Dan Benjamin. Be sure to send in some challenging questions (see Geoffrey’s blog post for details).
Congrats on the milestone, Geoffrey, Scott, and everyone else that’s been involved with the Rails Podcast!