How to deploy a Rails application on lighttpd

James Duncan Davidson has started a great series of recipes on deploying Rails applications. In Real Lessons for Rails Deployment, he examined the different options you have and some of the pitfalls you should watch out for.

In Deploying Rails with LightTPD, James goes specific and tells you exactly how to get Rails going on lighttpd using SwitchTower for deployment.

This is great stuff and with more than a couple of deployed Rails applications under his belt, James is in a great position to share his knowledge. Can’t wait to read the further installments.

Just in time for the holiday season, the Peace Library

The Peace Library is an online index of Conflict Transformation & Peacebuilding information featuring research papers, reports, and news related to the Sri Lanka peace process put together by the non-profit web media company InfoShare.

It’s in “beta” but already features 207 publications wrapped in an attractive interface. Read more about them here.

Yet another nice app riding the Rails.

New 37signals targets for Rails extraction

37signals has announced two upcoming products: Campfire and Sunrise. This is significant for Rails development because all 37signals applications has historically been the main source for new features in Rails.

Sunrise has already spawned a good number of features for 1.1. There are the polymorphic associations and join model support as well as form_for/fields_for. See the Pursuit of Beauty presentation for code examples on those. Campfire is pushing the envelope on RJS (more on that later).

I’ll try to make the connection between new features in Rails and their origin in 37signals applications to make their usage more clear. Stay tuned.

Rails Podcast with the creator of Seaside

Avi Bryant is the creator of Seaside, the Smalltalk web-framework built on continuations, that has been shining light on alternatives to traditional MVC- and request/response-based frameworks. I heartily recommend taking a look. It might not fit your brain (it didn’t mine), but its sure to expand it.

Now Avi has been interviewed by Geoffrey Grosenbach for the Rails Podcast. (Unfortunately, the audio is pretty grainy.. hang in there for the first few minutes).

You're Using SwitchTower, Aren't You?

Mike Clark declares his love for SwitchTower, the distributed deployment manager built for Ruby on Rails. He shows off a few fancy tricks in the love letter, such as how to turn web access on and off when you go down for upgrades.

I’m with Mike on this lovefest. I couldn’t imagine operating the 37signals cluster without it. Jamis Buck deserves another round of applause for this fantastic piece of software.

TextMate: The missing manual

Considering that TextMate is the defacto standard for Rails development on OS X, I thought you might all like to know that there’s now a real manual available for it. Explaining all about how you can make snippets, macros, and the rest of that sexy stuff you see sprinkled all over the Rails screencasts.

Freezing your Rails when you deploy shared

If you’re running a Ruby on Rails application on a shared host, it’s super-double-plus recommended to freeze your Rails. Freezing your Rails means putting the framework into vendor/rails instead of floating with whatever gems that are installed on the host. Because if you do so, you’ll automatically be upgraded when they are. Not a great thing for a production application to have forced upon itself.

The great news is that this is silly simple. If you’re running 0.14.x or newer, you can simple do rake freeze_gems, and the current gems the system is used are unpacked into vendor/rails. Now the host can update as silly as it wants without affecting your application.

Is GCC 4.0 incompatible with Ruby on OS X (and elsewhere)?

We’ve been receiving various reports of intermittent errors while running Rails applications and regular Ruby stuff that goes something like this: “undefined method ‘include?’ for -517611318:Fixnum”.

It appears that this might be a problem with GCC 4.0-compilations of Ruby. Most platforms are still using GCC 3.3, so they don’t see the problem. But on OS X, GCC 4.0 is now default if you’ve installed the recent Xcode. To switch back to GCC 3.3, do: sudo gcc_select 3.3 and then recompile Ruby.

We’ve love to get more reports and evidence on what exactly the problem is. Perhaps we can get it fixed in time for Ruby 1.8.4. Please use the comments.