Rails training for a good cause

Here’s a good idea: Use a hot new technology to help kids prepare to create the next hot new technology.

Amy Hoy, Ezra Zygmuntowicz and Jeff Casimir are doing just that and calling it Workshop for Good. On Saturday, May 20th and Sunday, May 21st, in Washington, D.C. Amy, Ezra and Jeff will be teaching an intensive Rails workshop. All (i.e. 100%) of the proceeds from attendance fees ($400 regular, $200 for students) will go towards buying stuff like computers for the students of César Chávez Public Charter School.

Amy Hoy has been giving back to the Rails community with education almost since day one. You may have gotten over the initial hurdles yourself with one of her accessible tutorials or clarifying visual aids. Ezra Zygmuntowicz singlehandedly built one of the first substantial real world Rails applications, the Yakima Herald Website and is currently working on a Rails book for the Pragmatic Programmers. Both bring substantial experience with Rails to the workshop.

Last I heard there were 23 spots left so get on the list while you still can. Take this opportunity to both learn Rails and promote a great cause. Killing two birds with one stone is seriously agile.

Sign up here

UPDATE: There are only 8 seats left! If you were thinking of coming, now is your chance to get in.

Ruby for Rails book now available in full

David A. Black’s book Ruby for Rails is now available in full in PDF form (paper copy scheduled to follow the first week of May). The book covers the ins and outs of Ruby with a focus on Rails. It is aimed at Rails developers who want to gain a deeper understanding of Ruby beyond what Rails builds on top of it.

Taking a look at the table of contents you’ll get a sense of how much territory the book covers. There are two sample chapers for free. One is on Organizing objects with classes and the other on Scalar objects.

David Black is an ideal guide through Ruby, having been a member of the community for over 5 years and as the director of Ruby Central, the not for profit organization that brings you RubyConf every year.

It’s no secret that Ruby is one of the key ingredients in Rails’ special sauce. If you are a Rails developer, you owe it to yourself to be a Ruby master. Ruby for Rails is a great place to start.

Rails 1.1.2: Tiny fix for gems dependencies

The new gem version dependency system from Rails 1.1.1 needed a few tweaks to work properly and to stop throwing meaningless warnings. This tiny release makes up for that. To install:

  • gem install rails
  • rake rails:update:configs (to get the latest config/boot.rb)

This release also signals our new commitment to do more tiny releases from the stable branch, which only gets bug fixes. So it will not be uncommon to see bi-weekly tiny releases in the 1.1.x series while we continue to add features to the forthcoming 1.2.0.

Learn about Ruby on Rails from oracle.com

Richard Monson-Haefel has a simple tutorial up on oracle.com that describes how and why to use Ruby on Rails with an Oracle database. It’s great to see big organizations like Oracle take Rails serious enough to commission articles about it for their site.

It’s also fitting since the Oracle database adapter in Rails now has a really strong team of contributors keeping it sharp. Michael Schoen in particular has done a fantastic job. He has set up an automated testing server for Oracle, so any new revision of the framework is automatically tested and run against Oracle. If any failure occurs, an email is sent out.

We invite guys working with DB2, MS SQL, Sybase, and the other commercial databases to do the same.

Plug into HyperEstraier with acts_as_searchable

Patrick Lenz has announced his acts_as_searchable plugin which integrates ActiveRecord models with HyperEstraier, an open source fulltext search engine.

It’s available as a gem so you can just do sudo gem install acts_as_searchable.

You can then take a look at the API docs, which provide a few examples.

Full text searching just got as simple as:

class Article < ActiveRecord::Base

Article.fulltext_search(‘biscuits AND gravy’)

Rails 1.1.1: Fixing a slew of minors (but you must still freeze Typo)

Rails 1.1 was a big upgrade with a lot of new features and we’ve been working hard since its release to polish off the kinks revealed after it was deployed to the masses. Rails 1.1.1 contains fixes for things like Prototype memory leaks in IE 6, Oracle adapter runnings, and a number of compatibility tweaks to make most older applications work.

This release still doesn’t work with Typo, though. And it won’t. Instead you must freeze Rails 1.0 to vendor/rails if you run Typo 2.6.0 while we await the new release from the Typo team that will be fully 1.1 compatible. Read more about Typo and how to freeze Rails.

This is the release we recommend that hosting companies upgrade to. If you still haven’t frozen your application and it for some reason doesn’t work with Rails 1.1.1, don’t run crying to them. We screwed up in the release notes of the last release by not telling people that Typo would break, but now that this information is spread far and wide, it’ll rest on your shoulders to make sure you’re frozen and stay cool.

If you still haven’t upgraded to Rails 1.1, checkout the original announcement for a run-through of all the features.

For the full story, see the changelogs: Rails, Action Pack, Active Record, Active Support, Action Web Service

Mostly good news about freezing, Typo, and Rails 1.1.1

Let’s start with the good news about freezing and Rails 1.1.1:

  • New applications will automatically bind to the gem version of Rails they were created with using a RAILS_GEM_VERSION constant in config/environment.rb
  • You can now file freeze a new application with rails myapp --freeze, such that it doesn’t even depend on the proper gems being available
  • You can now also freeze Rails from a tag using like rake rails:freeze:edge TAG=rel_1-1-0

So lots of great options to prevent that your application will ever get bitten by an external upgrade again.

In addition, we’re including a handful of fixes for various other regressions. So the vast majority of all applications should Just Work after the upgrade (but of course, you should always test before deploying an update). You may still have plugins that are incompatible, but most plugin authors should have a 1.1.x compatible version available by then.

If you have Typo 2.6.0, you must freeze

Now to the slightly less exciting news: Typo 2.6.0 is not going to work with Rails 1.1.1. The Typo team has been working on a new release that’ll be 1.1.x compatible and I’ve been imploring them to release a 2.6.1 that just includes Rails 1.0 in vendor/rails. But a vanilla 2.6.0 install with not work with 1.1.×.

That sounds worse than it is, because the remedy is really simple: Checkout Rails 1.0 into vendor/rails and Typo won’t give a hoot when your host inevitably decides to upgrade to Rails 1.1.×. The easiest and most fault-tolerant way of doing that is through svn. Go to the root of your Typo application and run:

svn export http://dev.rubyonrails.org/svn/rails/tags/rel_1-0-0 vendor/rails

Then restart your Typo and you’re now safe from gem updates. This antidote is a good one for any application you have deployed on a shared host. It’s not safe, and will never be safe, to just float against the latest Rails on a shared host. Always make sure you’re playing it cool and do a freeze.

Regardless of the factors, the core team apologizes for any inconvenience caused by the 1.1.0 release. While it worked for the vast majority of people, we should indeed had made sure to get feedback from the Typo guys before pushing out the release. Then at least we could have warned people in advance that 2.6.0 was simply not going to jive.

Hopefully this ordeal will motivate more people to help test future release candidates. We’ll do ours to help by extending the testing period and we’ll be grateful if you would do yours by testing and reporting any troubles found.

Rails 1.1.1 early this week

If you want to get into the good spirit right away, you can help test the trunk, which is aiming to become Rails 1.1.1 early this week. We still lack a few fixes, but what’s there should already deal with almost all of the issues. To be fail safe, remove vendor/rails (if you have it), and run:

svn export http://dev.rubyonrails.org/svn/rails/trunk vendor/rails

Thanks everyone!