Typo 4.0 released, with Rails App Installer

I’m only a week behind on the release of Typo 4. Typo is one of the oldest and most visible of Rails open source projects, so it’s always nice to see a new release. Out of all the new features and bug fixes, what really stood out for me was the Typo installer. Scott has recently extracted this into its own gem, ready for inclusion with your own Rails applications!

Typo now includes a .gem-based installer that makes it easy to install Typo. Just install the Typo gem (gem install typo) and run the Typo installer (typo install /some/path) to create a new Typo blog in /some/path. The installer will install all of Typo’s files, create a working set of config files, create a SQLite database for you, and start the Mongrel web server on a random TCP port. It’ll also create a set of sample Apache and Lighttpd configuration files to show you how to tie Typo into your existing web server. — Typo Installer

Rails Conference slides coming soon

Jay Zimmerman just wrote to say that next Wednesday, July 26th, the presentation media for RailsConf 2006 will go on sale to the general public. So if you didn’t get to the conference, you can pick up all the slides with synced audio for $100. Surf on over to the ScribeStudio site for more information. And remember, videos of the seven keynote presentations are being made available for free download too.

Scott Raymond on Refactoring to REST

Gonzo Rails developer Scott Raymond has written an analysis of how he refactored IconBuffet.com using RESTful routes. It’s the most cogent and compelling description of the benefits of a CRUDdy/RESTful design that I’ve seen. He reduced the number of actions in the application by 25%, and reduced the size of his routes file from 16 lines to 3. Isn’t small beautiful?

MenuTree helps you find food fast

MenuTree is a new Rails application that seeks to make the search for new take-out places a more enjoyable experience. They just launched, so do help fill up the options in your area.

New Enterprise Ruby Studio

Right on the heels of Martin Fowler writing up Enterprise Rails, the Pragmatic Studio has announced the addition of their latest studio, Enterprise Ruby, the first of which will be taught by Relevance LLC’s Stu Halloway and Justin Gehtland in Boston, September 11-13.

Some of the material they’ll be covering includes metaprogramming, domain specific languages, LDAP, XML, and web services. These topics and more will help use learn how to use the power and expressiveness of Ruby, and how to use it as your enterprise “glue.”

Those who attended Stu Halloway and Justin Gehtland’s talk at RailsConf on Rails internals already know how engaging they are as speakers. They are also currently working on the upcoming Rails for Java Programmers book.

Though not Rails specific, they do incorporate Rails in parts of the course and learning such things as LDAP and web services in Ruby is directly applicable to your Rails work.

Sign up by July 31st for a $200 early registration discount. You can register at http://pragmaticstudio.com/ruby.

David Heinemeier Hansson's RailsConf 2006 keynote now online

David’s RailsConf 2006 keynote, Discovering a World of Resources on Rails, is now online.

In this talk he announced the new ActiveResource project, for consuming REST web services and evangelized his new infatuation with regimenting his domain into simple CRUD operations.

You can get the slides and a slice of David’s point of view on all this, over at LoudThinking.

For those twitching at the flash video player, Ruby Central will be making the footage available in the future in an unflashy format.

RailsConf keynotes on video

If you missed RailsConf 2006, you’ll be glad to know that videos of the keynote presentations are being made available for online viewing and (coming soon) download. A collection of slides synchronized with recorded audio for all presentations will also be available soon. Videos and information about audio and slides can be found at ScribeMedia at the RailsConf 2006 Keynote Series page.

The first two keynotes by Dave Thomas and Martin Fowler are already available. The other five will trickle out over the next few weeks. Next up, David Heinemeier Hansson’s keynote on “A World of Resources”.

Pound makes lighty and Mongrel play nice

With the rocket rise of Mongrel, we’ve seen a growing number of folks jump ship from lighttpd to Apache 2.2 because of mod_proxy_balancer. It’s great to see that Mongrel is putting Apache back on the map as a premiere Rails web server, but unless you desire Apache for other reasons, you certainly don’t have to jump ship.

The trouble with lighttpd is the state of its mod_proxy implementation, which leaves a lot to be desired when used as a balancer between multiple Mongrel backends. But because the whole Rails deployment stack is going straight HTTP, it’s surprisingly easy to rectify. All you need is to add a more capable load balancer to the mix and you’re golden.

One such balancer that has seen a lot of play lately is Pound (OS X install notes). It’s light, fast, and proven on mega sites. So here’s what you do if want to stay with lighttpd and still use Mongrel:

  • Setup lighttpd on port 80 with mod_proxy to point at one back-end server (see the Mongrel lighty docs, but just only use one backend instead of four).
  • Setup Pound on a high port, like 7999, and make it point to any number of Mongrel processes (see the Mongrel Pound docs).
  • Start n number of Mongrels, from say port 8000 through 8002, using either mongrel_cluster or the soon-to-be-committed Mongrel-compatible script/process/spawner

And bingo, you should now have a production-ready stack ready to take on the world. This is a pretty good outline of how we at 37signals intend to use Mongrel in production shortly.

You can also take pleasure in the fact that Jan Knesche is busy at work making the Pound crutch unnecessary. Over the Summer, he has promised to elevate mod_proxy to be on par with the competition, and this three-way stack should again become a two-way one.