Doing a Clean Ruby on Rails Setup/Install on Snow Leopard

This is part of an on-going series of posts on learning Ruby on Rails. It’s a bit technical but not too much so. If you’re interested in startups and are a “business guy” it definitely wouldn’t hurt to understand everything I write here, as I’m pretty much a total noob, but was willing to learn. Enjoy!

While Ruby on Rails prides itself on requiring few dependencies, there are still a couple of things you need to install/setup in order to actually start doing anything in Rails.

  • Xcode Tools (the Apple developer toolkit)
  • Ruby (the most up-to-date version)
  • Ruby Gems (the package manager)
  • Rails (the framework itself)
  • Sqlite (one of the preferred database engines)

While there are apparently some auto-installers out there, I chose to use Hivelogic’s guide to installing Ruby – which is also referenced as a guide from the official Ruby on Rails site. I figured I’d do things manually so I could better understand what was going on – also none of three I looked at (Locomotive, MacPorts, Finks) seemed that very user-friendly, so might as well go with the pure install.

Note: In hindsight, I probably would have used the setup recommended by the Ruby section on About.com – it makes you install RVM (Ruby Version Manager) and Git but still it looks pretty easy.

What ended up happening was that things were a little bit trickier than I anticipated, and also because it is still so new, some stuff in Rails 3 wasn’t working exactly right, so it took roughly 4 hours for me and I’m still not 100% convinced I did it right. But anyway, here’s how it went:

Continue reading…

Why Learn Ruby on Rails?

Ruby on Rails is a web-oriented framework built on top of the scripting language Ruby. It’s specifically designed to help developers build web apps faster and more easily.

Hopefully I’ll update this page later on, but here is the bullet point version to why I’m choosing Rails over the many other ways I could learn how to develop web apps.

  • I love 37 signals (the creators of Rails)
  • Rails has a strong and growing community
  • Rails has a lot of off-the-shelf goodies
  • PHP (I’ve been told) can encourage sloppy/janky code-writing
  • I don’t really hear much about Django, the other big web framework
  • Rails powers Twitter! (and the fail whale isn’t because of Rails)
  • Rails 3.0 was just released (8-31-10) so I get a clean, powerful start
  • See quote below…’nuff said

Ruby on Rails is astounding. Using it is like watching a kung-fu movie, where a dozen bad-ass frameworks prepare to beat up the little newcomer only to be handed their asses in a variety of imaginative ways.”
-Nathan Torkington, O’Reilly Program Chair for OSCON (emphasis mine)

You can learn more about my adventures with Ruby on Rails here.

Why I Want to Learn How to Build Web Apps

I’ve been fascinated about building things on the web since the late 90’s. Remember Geocities? Yeah, I had a site there. I remember learning HTML for a back in middle school (late 90’s, early 2000’s) to build a webpage (no sites yet!) with animated construction gifs and guestbooks. I learned a bit of Java and Ti-83 BASIC in high school and some Python in college, but never got very into it because I had little interest writing really basic programs that weren’t useful.

I’ve watched the web develop, continued learning about HTML, and later CSS, and how to navigate my way around a WordPress installation. It seems like now with libraries like jQuery and symfony and web frameworks like Django, symfony (thanks smentek!) and Ruby on Rails, it is easier for people to build useful web apps without years of experience as a developer and/or thousands of hours of coding.

I do hope someday to found a web/tech startup and while I’ll never serve as CTO, I know understanding more about web development will be critical to our success. I also have a few ideas for web apps that I’d like to build. And to be honest? I’d love to gain some street cred as a geek. Hey – just being honest.

You can learn more about my adventures with Ruby on Rails here.