Writeboard: The 4th 37signals' application on Rails

Writeboards are collaborative documents with version control, difference tracking, and comments. They’re created through Writeboard.com, the latest Rails application from 37signals. And if you happen to have a Backpack, you can even manage your Writeboards from there. It’s totally free and you can create as many Writeboards as you like.

The code underneath is currently 908 lines, according to “rake stats”.

Locomotive 0.2.4: Easy Rails for OS X

Ryan Raaum has just released a new version of Locomotive. It’s a collection of all the necessary dependencies for running Ruby on Rails on OS X and it ships with a nice controlling GUI for starting and stopping your applications.

Problematic dependencies: RedCloth 3.0.4 and Rake 0.6.0

Two of the frequent dependencies for Rails applications, RedCloth and Rake, both have problems in their latest releases. So you want to install the version just behind the latest. Install RedCloth 3.0.3 and Rake 0.5.4. Hopefully we can get the problems sorted out quickly.

Database-agnostic schemas with migrations


ActiveRecord::Schema.define(:version => 8) do
  create_table "authors" do |t|
    t.column "name", :string
    t.column "ip", :string
    t.column "book_id", :integer
  end
 
  create_table "books" do |t|
    t.column "name", :string
    t.column "url_name", :string
    t.column "existing_page_titles", :text
    t.column "premiere", :integer, :limit => 1, :default => "0"
  end
 
  create_table "pages" do |t|
    t.column "title", :string
    t.column "book_id", :integer
    t.column "created_at", :datetime
    t.column "updated_at", :datetime
  end
 
  create_table "versions" do |t|
    t.column "page_id", :integer
    t.column "author_id", :integer
    t.column "created_at", :datetime
    t.column "body", :text
    t.column "book_id", :integer
  end
end

Lighttpd moves to address file upload issues

The lighttpd team is well underway to remove the last major barrier for widespread adoption: File upload handling. Jan has written about the improved approach to file uploads that’ll buffer to disk instead of keep it all in memory. We’re eagerly awaiting its arrival in 1.4.5.

Rails commit team jumps to 12 members

Rails has converged enough in both code, culture, and ambition to expand the commit team to include all members of the Rails core team that have been active for at least six months. The entire list of committers is as follows (new members in italic):

  • David Heinemeier Hansson (nextangle)
  • Florian Weber (csshsh)
  • Jamis Buck (minam)
  • Jeremy Kemper (bitsweat)
  • Leon Breedt (bitserf)
  • Marcel Molina Jr. (noradio)
  • Michael Koziarski (nzkoz)
  • Nicholas Seckar (ulysses)
  • Sam Stephenson (sam-)
  • Scott Barron (htonl)
  • Thomas Fuchs (madrobby)
  • Tobias Luetke (xal)

Congratulations to the eight “newcomers”. Bask in the glory of being a Rails committer!

Another .NET developer goes for Rails

Garret Dimon has a great explanation for why .NET is no longer his preferred tool for web development and why Ruby on Rails is. On Best Practices, he writes:

Rails takes all of the things you should be doing, and consolidates it into one very elegant framework. Directory structure, unit testing, functional testing, performance testing, database build scripts, MVC separation, validation, no XML configuration files, and more. It’s all there, and it all plays together nicely. This is my favorite aspect.

Migrating to Rails: Half from PHP, one third from Java

The Burton Group survey of Rails origin has concluded and the results are in: Half the Railers that responded came from PHP, one third comes from Java. A third of the 410 respondents even use Rails in “mission critical” applications. Three quarters consider Rails their primary web development tool.

Using CIA for continuous integration

Jonathan have written a tutorial for getting up and running with CIA. CIA is a continuous-integration server that I threw together really quickly to please my own needs for running tests when checkins occur. It’s not intended to be a general-purpose solution, like DamageControl, but rather a narrow and slim alternative if you’re on a Rails/Subversion combination anyway.

It’s still only available from Subversion and its ugly as sin, but it’s only 66 lines of code, so you can read and understand it all in 10 minutes tops. Do check it out and give it some love, but let your patches be mindful of its Less Software intentions.

Mount your domain model as a file system with RailsFS

_why has posted the mind bender of the week: RailsFS. With this nifty layer on top of FuseFS, you get to interact with your Active Record-driven domain model through the file system. The individual records open up as YAML-documents that you can interact with and the changes are persisted. Crazy, sexy, cool!