Rails is off track without Ruby …

So I’ve been doing my thing.  Trying to get the gist of it all and get things in place, working, etc … and then they start with this Rails 3.0 stuff that it doesn’t seem I can run …

What I mean is, developers seemed to have moved on to Rails 3 but I don’t understand how.  I decided, okay, it’s an RC (Release Candidate) so I’ll take the plunge and install it on a public server and start developing.  Welp, Rails 3 requires ruby 1.9.2 far as I know and I can’t get that installed successfully in a FreeBSD environment when the latest ruby is 1.8.7 (2009-12-24 patchlevel 248) (which currently has a UTF-7 encoding XSS vulnerability in WEBrick.) … sure 1.9.2 will install, but it doesn’t install a “ruby” binary, it’s called ruby19 and you have to symlink or copy it to “ruby” … Why?

Can you run rvm on a production server?  Would you?  Why?

In Rails defense, their website isn’t advocating a new release nor to install it, yet touts how many people are running it in production already …  Bah!  Cutting edge.

In other words, I think there’s just still too much stuff up in the air to actually try to massage Rails 3 into place before the rest of the world is ready for it.  I mean, Rails isn’t the only thing in my servers that use ruby …

… A couple hours later UPDATE: Ruby 1.9.2 Released

Dell Mini 9 and Mac OS X

dell_mini9_running_osx If it weren’t for the fact that I’m using a Dell Mini 9 running Mac OS X 10.5.6 to post this entry, I guess I could be skeptical of the claims that a little tiny thing like this would be able to run Mac OS X like my MacbookPros. Well let me tell you, it’s pretty dern neat!

Using a formula easily found on the MyDellMini forums, it’s true. You can run the Mac OS X you purchased on the Dell Mini 9 and everything appears to work. Some things I haven’t tried yet, but those things I would probably never use. Only snag I ran into installing was my external DVD drive didn’t work with the install DVD. I bought an LG specifically for this purpose, but a borrowed Sony got it done.

I can’t say that this would be a replacement for a Macbook, but for someone like me who likes to have his OS X not very far away, so far it’s amazing! Only things I wonder about is space on the SSD and I have a 32G installed. I’ve already installed Xcode and my Rails development environment. The SSD shows as being 28.38 GB in size and has 19.46 GB available. I wish they would standardize the size of storage devices. You know, the 1000 vs. 1024 thing. Bah!

So having 20GB to play around with I think is fine. Again, I think this is more for the away from home convenience rather than a power house of storage. I mean, at least I can develop in cramped spaces and I don’t have to worry about fitting a 15 or 17″ MBP anywhere. This little guy rocks.

I’ll update in the future after having more experience with it. But so far, can’t beat this thing with a stick! Mobile Mac OS X for less than $500.

Offline Rails API layout using RDoc’s RDOCOPT

UPDATE March 29, 2009: This was all solved using:

template="jamis" rake doc:rails

Found on the blog by JamisBuck is the RDoc layout used online at api.rubyonrails.org. Simply acquire the file jamis.rb (posted here if you can’t find it elsewhere) and you’re covered with your Ruby Rdoc utilizing the instructions to append --template=jamis

But what about Rails? rake doc:rails doesn’t like the --template=jamis argument.

RDOCOPT="-S -f html -T jamis" — Then run  rake doc:rails and your offline local API copy will look just like the online version.

Sure there may be other ways of accomplishing this, but this got the job done and will get the job done next time I want to build the latest Rails API. If you’re interested in a more permanent solution, look at setting up variables in your .gemrc file.

FreeBSD and Phusion Passenger

If I don’t write this one down I won’t remember it, especially at this hour when I finally got it to work! I was having a devil of a time on the passenger-install-apache2-module … While it says it “found” everything, I guess it really didn’t … The Apache2 Portable Runtime stuff apparently needs directories to be found. Inevitably, this is how I got it to work:

setenv APXS2 /usr/local/sbin/apxs
setenv APR_CONFIG /usr/local/lib/apache2/apr-config
setenv APU_CONFIG /usr/local/lib/apache2/apu-config

Of course, I found those one at a time Googling all over the Internet and the last was found within the source notes at github … A bunch of what I found had nothing to do with FBSD … Anyway, so the result should look something like this when run:

Checking for required software...

* GNU C++ compiler... found at /usr/bin/g++
* Ruby development headers... found
* OpenSSL support for Ruby... found
* RubyGems... found
* Rake... found at /usr/local/bin/rake
* Apache 2... found at /usr/local/sbin/httpd
* Apache 2 development headers... found at /usr/local/sbin/apxs
* Apache Portable Runtime (APR) development headers... found at /usr/local/lib/apache2/apr-config
* Apache Portable Runtime Utility (APR) development headers... found at /usr/local/lib/apache2/apu-config
* fastthread... found
* rack... found

Sheesh!