While Ruby is usually praised as being one of the most readable programming languages around, it’s certainly also possibly to make it obfuscated. It just takes a good dose of dedication to cause. And if that kind of dedication is flowing through your veins, consider signing up of the Obfuscated Ruby Code Contest. A competition on doing something useful with unreadable code and to win prices in the process.
Honestly, I’m quite impressed. I found that the productivity claims surrounding Rails to be quite accurate. After writing only a single line of code, I had a reasonably functional application. Adding a couple of more lines, I had a one-to-many relationship between two model objects. The biggest chunk of work comes in customizing the view, but that’s to be expected because there’s no way that Rails can anticipate your desired look-and-feel. All in all, I spent 15 minutes putting together a simple application that might have taken me several hours with any of the other frameworks that I’m familiar with.
My emphasis. This is the same conclusion that Bruce Tate has been talking about. It actually does rapidly improve your ability to deliver working software. Is the factor 2, 5, or 10 times? Who knows (and cares?). How about we just settle it at it’s enough of an improvement that you ought to try it out for size.
Apparently, Ruby-FastCGI is one leaky pipe. It’s currently happily disposing of up to 16K per request. Not particularly helpful for the long-running processes like FastCGIs. But have no fear, Kirk Haines is near. And plugged the holes, he has.
Read all about the patch and get it from Kirk’s FCGI Patch for Ruby FCGI 0.8.5 page.
Additionally, 0.8.5 isn’t raising the original exception when it dies, which makes it pretty hard to debug. But luckily, Aredridel made a patch to get the original exception bubbled up a while back. Apply that while you’re at it.
Note: As Ruby-FastCGI has temporarily disappeared from the RAA listing, you might like to know that the direct link is http://www.moonwolf.com/ruby/archive/ruby-fcgi-0.8.5.tar.gz
While the Ajax support is certainly the star of this release, we have much more. Another Sam Stephenson goodie is Pagination support, which lets you seamlessly spread the results of a list across multiple pages by combining controller-side and view-side support for pages and navigation.
Also of note is that Rails applications no longer require their own virtual host to be easy to setup. It’s now possible to symlink the public directory from underneath an existing hierarchy, so your application can live under hieraki in /community/hieraki. This should make it considerably easier to install and distribute applications that need to live on shared servers. If you want to make your own application vhost agnostic, have a look at the AssetTagHelper that’ll automatically create the proper paths for images, stylesheets, and the likes.
The Action Mailer gained inbound capabilities in this release. By implementing the receive(email) method, you can target your Action Mailer from fx postfix and have it process incoming emails. We’ve even enhanced TMail to make it easy to process international emails (auto converting to UTF-8) and handling file attachments. See the example in the README and checkout the Howto.
On top of all that there’s a new script/runner for making it easy to call your Rails domain model from CRON, there’s a new Flash module, there’s database indifferent limit/offset, and a truckload of fixes, enhancements, and tweaks.
Updating: If you’re coming from Rails 0.10.1, just run
rails . --skip in the root of your application to get the new files. You shouldn’t need to change any code. You will need to clear out all your sessions, though, because of the Flash module upgrade!
Let me tell you where you’re going to be on October 14th through 16th. You’re going to be in San Diego, California. That’s right. RubyConf just opened the doors for the preregistration (which incidentally is a Rails app by David Black) and I managed to grab the entry with ID = 1 in the database. So you know I’m going to be there. Are you?
O’Reilly is getting on board the Rails too. Their first book is going to be the Rails Developer Notebook, which as the name suggests is part of their Developer’s Notebooks series:
The Developer’s Notebook series is for early adopters of leading-edge technologies who want to get up to speed quickly on what they can do now with emerging technologies. If you’re a coder down to your core, and just want to get on with the job, then you want a Developer’s Notebook. Coffee stains and all, these books are from the minds of developers to yours, barely cleaned up enough for print.
The book is being coauthored by Bruce Tate (Bitter Java, Bitter EJB, more) and David Geary (Core JavaServer Faces, Core JSTL, more). The writing is supposed to start in April and the book should be out by June. So the focus is definitely to get something short out early and quickly.
If you’ve been following Rails advocacy, you may remember the name David Geary. I ripped into him fiercely about a month ago as he quickly dismissed Rails as being nothing but a CRUD scaffolder and declared “…you take this ROR koolaid. I’ll stick with the JSF flavor”.
Luckily, it didn’t take much more than two weeks for Geary to reconsider the dismissal and commit to looking closer at Rails. And now just a month later, he has signed on with Bruce Tate and O’Reilly to write a book about Rails!
What a fantastic and inspiring transformation. Hopefully Geary can serve as a role model for other Java developers who are feeling “…a bit nervous about this ROR thing”. Despite being heavily vested with Struts, Tiles, JSF, and Shale, he was able to see that there was amble room for a competing stack and jumped on to it.
My warmest welcomes to the Rails world, Geary! I wish Bruce Tate and you the best of luck with the Rails Developer Notebook and can’t wait to read it.
I’m incredibly proud to announce the third Rails book in the making. The title is “Pragmatic Rails Recipes: A Guide to Elegant Web Development” and the authors should be very familiar to the Rails community: Marcel Molina (noradio) and Scott Barron (htonl). They’ve been around since the first release and are both integral parts of the Rails community through their programs, writing, and help on IRC.
The publisher is Dave Thomas’ progressive Pragmatic Bookshelf. The same umbrella that’ll carry the first Rails book to be published, Agile Web Development with Rails. This will of course ensure that the two books will become very complimentary and that they’ll both be available in my favorite reference book format: PDF.
It’s still very early in the process, the signatures on the contract is hardly dry, so the release target is tentative at best. Never the less, Scott and Marcel are aiming at October of this year. That’ll give the three books current announced a nice spread. Dave’s book around July, this one around October, and the German book around December/January.
That’s of course not to say that we can’t fit more books into the calendar. Quite the contrary. And from the handful of offers I’ve been getting from various authors and publishers, I’d be quite surprised if we didn’t see at least a couple of more Rails book announced this year.
Exciting times indeed.
Scott also talks about the book today.
The fifth international Ruby conference is happening in San Diego, California from October 14th until 16th. You have to come. I went last year and had the most wonderful three days in the company of most of the best Ruby hackers. I’m so most definitely going again this year. You have to come.
I forgot to mention that a new and much improved version of RubyGems was made available a while back. The new version makes it a lot easier to install Rails with all of the dependencies thanks to the added
--include-dependencies option and you can cleanup older versions of Rails with the new
The RubyGems team also started using Hieraki to do documentation. Checkout RubyGems Manuals.
Getting started with Rails is terribly easy thanks to the Ruby-based web server that’s available with
./script/server. But if you want to get production level speeds, you’re going to need FastCGI. Getting that running on OS X does require some tinkering, so why not get some hand-holding with A Do-It-Yourself Guide to Installing Ruby, Rails, and FastCGI by Daniel P. Benjamin.