Topic: Motivation

How did you get motivated to learn Ruby and Rails?  I am astounded by what little programming I've done in Ruby and Rails, just little apps for work -- like network monitoring stuff.  I just can't seem to get motivated enough to start doing all my web programming using it.

Also, as a web host, I've noticed it seems pretty difficult to get a stable and easy to configure ruby/rails platform up and running for my customers; anyone have any suggestions on this?

Re: Motivation

When people ask me about RoR my answer is always the same: http://www.codeigniter.com/

Lord, give us the wisdom to utter words that are gentle and tender, for tomorrow we may have to eat them.   -Rep. Morris Udall

Re: Motivation

I looked into codeigniter before, I don't like how it mimics RoR, it doesn't do it as good as RoR.   If I'm just going to continuing using PHP then I don't need the framework, as I have one that I created myself.  But I am wanting to use RoR for the advantages it has over PHP, specifically in the realm of server management (Ruby being a real language, not just a web language). 

Anyhow, I'd still like to know what other people did to get them motiviated to learn RoR or CodeIgniter.

Re: Motivation

I'm motivated, but I DON'T HAVE TIME and it really bothers me cause I want/need to learn it.

I noticed Godaddy says they are offering Rails support now. I have no idea how it is, but its certainly cheaper hosting than many Rails hosts. (I really don't like Godaddy though and loath that my current client is set up with them)

"Bear 270, young man. Bear two, seven, zero, over." - Musings of a flight simulator guru, me.

Re: Motivation

TonyDevlin wrote:

...it mimics RoR, it doesn't do it as good as RoR....

if you say so...can I get an example? I'm really curious as to what this is

My experience has been that CI's biggest advantage is that it's learning curve is essentially nil. Most devs I've talked to (myself included) have stated that they have been up and coding within a few hours when starting to use it. Of course, the official user guide is what makes this possible: http://www.codeigniter.com/user_guide/ . You literally learn how to use it as you program. Contrast that to RoR's documentation: http://api.rubyonrails.org/ . Not terrible, but not nearly as concise and helpful as CI's imho.

I once read a quote from an old-school Linux coder whose name now escapes me. He said something to the effect of "Linux is the simplest operating system ever to use. It is so simple that it takes years to understand it's simplicity" (paraphrase). Though I haven't used it much, my impression of RoR is that it falls into a similar category. It seems to me that they have tried to make so many things operate automagically that they have increased the complexity of setup and config to the point where, by the time you are done screwing with it, you could have built the same thing using CI and make it look / feel / work exactly how you want as opposed to being shoehorned into RoR's functionality.

Anyway, I'm just thinking out loud here and I am a diehard fan of CI. Please correct and enlighten me if I'm wrong in my assumptions about RoR.

Last edited by Rhino (2007-07-19 09:26:54)

Lord, give us the wisdom to utter words that are gentle and tender, for tomorrow we may have to eat them.   -Rep. Morris Udall

Re: Motivation

The power in Ruby and thus the power in Rails, is that everything is an object.    You can stack methods pretty easily and it requires much less typing than CI.  Now I have better examples than that and more examples of the more typing and less DRY (Don't Repeat Yourself) principles.  In CI, I see that you have to type more things out and it is less "intuitive", in my opinion -- plus your still limited by PHP's limitations.  But this is not a proper argument for Ruby, I don't have the time right now to give you a proper comparison, the bottom line was I am not pleased with CI and my personal framework in PHP is simpler and better suited for me, I just like Ruby better than PHP (and I've been with PHP since PHP/FI days back in '95/96).

Re: Motivation

fair enough, I was just curious

Lord, give us the wisdom to utter words that are gentle and tender, for tomorrow we may have to eat them.   -Rep. Morris Udall

Re: Motivation

I got motivated to learn Ruby/Rails because I really enjoy learning new languages. I had decided to use it instead of PHP for a project and since then have pretty much dropped PHP. Ruby shows that there was more thought put into the creation of the language than PHP. I love that everything is an object. I love open classes. I love mixins. I love closures - you js people know they're awesome. I love a dynamic language.

When first working with RoR, server setup was a pain. After getting more aquatinted with server setup and performance optimization, RoR is a breeze to get running with Apache, Nginx, Litespeed, etc.

Take a look at running Apache 2.2, mod_proxy and mongrel clusters. Works beautifully. You'll need to setup your proxy balancers in your vhost or proxy file per application. Really easy once you know the syntax. If you want a sample, let me know, I'll write one up for you.

Re: Motivation

I must say that I am intrigued. I recently bought hosting from Textdrive who are (supposedly) expert Ruby hosts. Maybe I'll have to start tinkering around with it a bit.

Lord, give us the wisdom to utter words that are gentle and tender, for tomorrow we may have to eat them.   -Rep. Morris Udall

Re: Motivation

Joyent, the company that textdrive is under, are very compitent when it comes to RoR and servers in general. I had the pleasure to sit down with Jason Hoffman and David Young, owners of Joyent, at RailsConf 2007, and talk for a while about what they are doing and what they plan to do in the future. I've haven't met many people who are as knowledgable about server architecture and optimization as Jason Hoffman. He's been doing it for 20 years and really knows the core of Solaris very well.

I bought lifetime hosting with them for an Accelerator and I love it. With Ruby, it really makes you pay attention to your server environment, which is not a bad thing. 

The good thing is that textdrive has been in the process of moving over to Solaris as the new OS and to Sun servers. No more Dell's = less downtime.

As far as the whole PHP vs Ruby debate. I just don't see any real point to it. You just have to pick the best tool for the job and yes, sometimes PHP is the best tool for certain jobs. Yet, with learning a new language, you are forcing yourself to look at problems in a different way, to come up with a different solution that works best for the new language you are learning. This pushes you outside your comfort zone and ultimately makes you a better programmer.

It's like a chef who only cooks French food, but then tries Chinese and learns many new cooking techniques that he can add to his French cooking and makes him a better cook all together. Who doesn't want to be the best that they can be at their chosen profession?

Re: Motivation

Robert Evans wrote:

Yet, with learning a new language, you are forcing yourself to look at problems in a different way, to come up with a different solution that works best for the new language you are learning. This pushes you outside your comfort zone and ultimately makes you a better programmer.

I think you hit the nail on the head and I couldn't agree with you  more. That's been my operative philosophy for years, at least regarding programming languages; at least I thought it was, now I'm not so sure. I gotta say that this discussion has really made me think about things quite a bit. I think I'm realizing that, since I have been using one language and philosophy successfully for a while now, it is possible that I have started to grow blinders to what else is out there.

Lord, give us the wisdom to utter words that are gentle and tender, for tomorrow we may have to eat them.   -Rep. Morris Udall

Re: Motivation

Re: Motivation

Seeking motivation for motivation's sake will get you nowhere fast. The only way to get up and running is to work on something you are passionate about. Build an app that will make your life easier or fulfill a specific need. As they say, necessity is the mother of invention.

Re: Rails vs Rails-Wannabes

There is a good reason that you didn't see so much hype over frameworks before Rails. RoR hit the sweet spot for web dev and people were quick to get wise to the game. I myself have tinkered with CodeIgniter, Zend and Django. They are all capable frameworks, and if you are already doing your thing in PHP it may be a good idea to stick with Code Igniter (best docs and community hands down).

However, as someone who had zero programming experience (other than basic html/css) I found the syntax of PHP and Python to be a bit unweildy (especially PHP). This is a personal preference, but I love how you can make Ruby code document itself. Not only do you have to write less lines, but your code reads like clear English and if you are new to programming it is a dream come true.

Some say choose the best tool for the job, I say choose the best tool for your brain.

Re: Hosting Solutions

Okay I will admit it... unless you are working on a small app with minimal to moderate traffic, Rails sucks on shared hosting. Ruby needs a decent amount of memory thrown at it to handle high traffic loads and sometimes it's a pain when your host does not have a certain library or gem installed. This is why VPS was invented. I recently switched from Dreamhost to Slicehost and haven't looked back.

For a few extra bucks a month, you get full control over your OS and deployment. It can be daunting at first if you are new to Linux, but its sooo worth it to get hip on configuring your own custom environment. I found it to be quite painless thanks to Capistrano and Mike Bailey's deprec gem (You rule. Mike!)

In addition, Ryan Bate's Railscasts is an invaluable (and free) learning tool. Peepcode Screencasts are also very informative and at $9 a pop they are a sweet deal.

Like I said though, before you dive into the rabbit hole, have a clear vision of what you would like to produce. When your dream app is set in your mind, the language or platform you use is just a means to an end.

Last edited by Ace of Dubs (2007-07-23 11:22:00)