E-Scribe : a programmer’s blog

About Me

PBX I'm Paul Bissex. I build web applications using open source software, especially Django. Started my career doing graphic design for newspapers and magazines in the '90s. Then wrote tech commentary and reviews for Wired, Salon, Chicago Tribune, and others you never heard of. Then I built operations software at a photography school. Then I helped big media serve 40 million pages a day. Then I worked on a translation services API doing millions of dollars of business. Now I'm building the core platform of a global startup accelerator. Feel free to email me.

Book

I co-wrote "Python Web Development with Django". It was the first book to cover the long-awaited Django 1.0. Published by Addison-Wesley and still in print!

Colophon

Built using Django, served with gunicorn and nginx. The database is SQLite. Hosted on a FreeBSD VPS at Johncompanies.com. Comment-spam protection by Akismet.

Pile o'Tags

Stuff I Use

bitbucket, Django, Emacs, FreeBSD, Git, jQuery, LaunchBar, Markdown, Mercurial, OS X, Python, Review Board, S3, SQLite, Sublime Text, Ubuntu Linux

Spam Report

At least 236429 pieces of comment spam killed since 2008, mostly via Akismet.

Locomotive: Rails for OS X

This is nifty -- Locomotive, from Ryan Raaum, a complete Ruby on Rails environment in a self-contained 30MB bundle. And when I say complete, I mean complete: Locomotive contains not only Rails itself, but the Ruby interpreter, RubyGems, the LightTPD webserver with FastCGI, the SQLite database engine, bindings for MySQL and PostgreSQL (though not the server binaries, wisely), and all the other bits and pieces needed for turnkey Rails. There's also an expanded version of the package with even more goodies. If you have an existing Rails installation, Locomotive will run politely alongside it without messing anything up.

Within 60 seconds of installing, I had a dummy Rails project created and running. Within 5 minutes, proudly, I had my first error:

./script/../config/environment.rb:48:in `require': 
    No such file to load -- rubygems (LoadError)

After poking around a bit I realized this happened because I was using the default /usr/bin/ruby rather than the bundled Ruby binary. Ryan quickly confirmed this via email, and told me that the right way to work is to access the Terminal via Locomotive's "Open Terminal" command, which sets your paths appropriately.

Rails fans should be cheering Locomotive regardless of whether they actually use it. Anything that makes it easier to simply jump in and starting using a particular technology is going to help that technology spread faster. Sure, you might not want to use Locomotive for public deployment (though it would be tempting!), but it's a pleasure to use and a great way to get people hooked on Rails. It will be fun to see this develop -- perhaps in the direction of integrating with something like RADRails, though I realize the subject of IDEs in the Ruby/Rails community is a controversial one, as it is with Python.

If you're using BBEdit or TextWrangler, make sure you've got the Ruby language module.

There's not much in the way of documentation yet, but of course there's a screencast!

Saturday, October 22nd, 2005
+ +
4 comments

Comment from Dustin Ground , 14 months later

Thanks for posting the Open in Terminal hint. I just spent two hours debugging that same 'require' error.

Comment from jason , 16 months later

damn, I spent a good chunk of the evening trying to fix this.

Also, if you are using radrails with locomotive, I found this that will help you get it working smoothly with your locomotive install

http://wiki.radrails.org/wiki/RadRailsUserManual

Comment from Paul , 16 months later

It's good to hear that posts like this -- which I definitely make with searchers in mind -- occasionally reach their target. Of course, more often than not, that target is myself six or twelve months in the future!

Comment from alex , 16 months later

Ok, I must be rather stupid. I installed Locomotive and can run an application, but there is no way whatsoever to see it. When I type localhost:3000 I get an error. Apache tells me that it cannot connect to the localhost computer on that port. Of course it connects without the 3000. How do you use the LightTPD thingie?

I even configured Apache to allow cgi-bin but nothing.

Any help would be welcome.

Comments are closed for this post. But I welcome questions/comments via email or Twitter.