Hacker News new | past | comments | ask | show | jobs | submit login
Rails for Zombies - Learn Rails from the comfort of your browser (railsforzombies.org)
336 points by trevorturk on Nov 18, 2010 | hide | past | favorite | 57 comments

This is a wonderful idea. Every time I try to get someone started with Rails, I sent them to the Rails Guides and warn them that "getting Rails up and running in the hardest part." Being able to have someone jump straight into videos and interactive prompts from their browser is going to be so much better...

getting rails up and running was for me the big dealbreaker when i first looked at it 5+ years ago. this is an excellent idea by gregg and the gang at envylabs though

Rails is very easy to set up. Easier than any other software for programmers I've used.

1. Install Ruby with your package manager or with the installer for Windows (that's just download, next next next, done).

2. In your terminal: `gem install rails`

You had a good experience. Lots of people don't. Getting the environment set up took me hours, and I'm a programmer. First I installed Ruby with my distro's package manager. Then I followed the instructions in the book and installed gem from the RubyGems website. Uhoh, not supposed to do that anymore, Ruby comes with a different version of gem. The new Rails website tells me I need a different version of Ruby, the one my distro installed doesn't work with Rails 3. Remove Ruby, try to remove the rubygems-I-shouldn't-install-myself, start over. Install the latest Ruby, then rails from the gem. Try to install some gems I will need, they won't compile. Ruby was compiled without support for some library. Go find, compile and install that library, then recompile Ruby with that feature (after researching how to compile specific libraries into it), and retry installing the gem. OK, on to the next gem, which needs another missing library. How did Ruby even compile if all these necessary libraries weren't there? Continue like this for hours until I finally have Rails and the few gems I'll need working and can see the default page on a web server.

Simply following your two step instructions on any of my servers would not create a working RoR setup.

That's really a comment about your distro, not about Ruby or Rails. It /should/ be as simple as installing Ruby, then `gem install rails`. If it's not then something is broken with your distro's package.

mac osx, same amount of bullshit. its great when it works, sometimes it just doesnt and you have to do random shit to make it work.

Rails has been bundled with the developer tools for MacOSX since 10.5 - I admit that it was a bit annoying if you were compiling Ruby yourself in days prior.

Right - my issue was with the MySQL gem. The entire system is great because you can type

"gem install mysql" or whatever and it just works.

But the issue comes in when it doesn't work, which it didn't for me. It took hours of debugging. MAMP gets me up and running in < 5 minutes. A proper LAMP setup takes me < 10 minutes. I'm failing to see the advantage of Rails (at least from a setup standpoint) when it works perfectly most of the time, but fails so hard.

For years, this was the most common interchange in #rubyonrails:

- I can't get rubygems to work.

- You've used a Linux package manager to install Ruby haven't you? Don't, it's broken. Uninstall it and re-install from source.

Then follows a discussion about how the person with the problem doesn't want to do that, and the other people telling him fine, suit yourself.

The person with the problem continues to try to solve this problem some other way, but in the end either follows the previous recommendation, or stops messing with Ruby altogether.

Nowadays, Linux package managers offers the option of installing the "full" Ruby distribution, which is great, but I wonder why anyone would ever want to install the partial broken one. I don't even know if the "full" one works. :-/

I found Homebrew really helped out on the Mac.

I've had my problems with rails installations, but they were generally in trying to get specific rails code working- not getting a teaching instance up.

Let me guess.... debian?

Everywhere else it's totally sane.

Ironically enough, I've never ever had any problems with setting up a rails stack in Debian. Not my cup of tea distro, but some people I work with swear by it. I guess it has to do with all the stuff I do and preset when creating an image to base servers of.

Nevertheless, I've found Ruby and Rails easy to install in any machine I've tried them in (A LOT), and I guess that for less Unix inclined users it might get a bit complicated along the way.

I've helped a number of people "get started with Rails" over the years, and I've had to help every single one of them get their environment set up properly.

I think there's tremendous value in this kind of site. If someone comes up to you and says "how can I get started with Rails?" now you can just point them to this site and tell them to get in touch when they've finished the tutorials. Then you can help them set up their environment properly ;)

Exactly what I was thinking. I'm barely starting with rails. On Mac all I did was:

gem install rails; rails new hello_world; rails s

Then I watched the damage on localhost:3000

Rails has been fantastic. I'm a designer — I don't really have a background in programming — but rails has been incredibly accessible. It makes a lot of sense to me.

I just installed RoR on a clean Ubuntu install and it wasn't easy at all.

First, I had to install rvm (Rails wouldn't install with Ubuntu's Ruby packages) which took some time to figure out. Then I tried installing Rails and got some problem related to sqlite3. I then figured out that I had to install the sqlite3-ruby gem. Of course it didn't work. I found out I had to install the libsqlite3-dev package.

The whole process took a good 30-60min.

It's probably a fluke on your setup. What package manager did you use that didn't work? Are you a Unix/Linux type of guy? Most people that aren't have hard time installing any *nix based development environment. I mean, you got an error telling you there was not sqlite3 and you tried the gem and no dice, it's pretty obvious what to do if you're familiar with any Linux. To be fair though, I believe there's no mention of you needing sqlite3 on the download instructions on the main download site, which ultimately leads to confusion.

I'm not trying to sound aggressive or anything, but I think that this type of issue is more related to to using some outdated or excessively complicated guides on the internet that always leave something out, in comparison being hard to get ror up and running.

I've been working with Linux for many years (Ubuntu is my main desktop right now). Ubuntu's gem package simply isn't compatible with the latest version of Rails which means you have to install rvm and figure out lots of stuff.

I guess you never really tried to install a full dev environment for Rails on Windows...

What constitutes a full dev environment?

- Some kind of database: easy

- Editor: easy

- Version control: easy

I guess you have never tried to build LLVM on Windows if you think that's hard ;)

No for real, try to install SQLite/Spork/Autotest/Rspec. It isn't that easy when you are a noob who only want to start to learn how to dev.

Personnaly I was so sick and tired to get everyday a new problem when I wanted to install a gem that I setup a VM with Ubuntu and I launch it when I want to dev. Ubuntu is "user friendly"-ier than Windos for ONE thing setup a dev environment.

And as nobody dev on Rails under Windows it's very hard to find help or good tutorials when you encounter a bug :(

'Ubuntu is "user friendly"-ier than Windos for ONE thing setup a dev environment.'

Well, apt-get is pretty sweet in general.

More to the point, while Windows Ruby dev is certainly doable (and I did it for years with comparatively no more hassle than on Ubuntu), the advantage of developing on Ubuntu is that it is far more likely to match your server environment.

It sucks big time to be cruising along and then discover that some plug-in or tool that would solve a dozen problems for you requires a C compiler and a POSIX environment.

I ran this on my parent's machine:

   gem install sqlite3-ruby autotest rspec
And it installed everything. That wasn't hard was it? Granted, I didn't test the gems.

The only problem is with spork: gem install spork gave me an error. I plugged it into Google which gave me the resolution: delete rake.gemspec and gem install rake (the one click ruby installer on windows seems to come with a bad rake), then gem install spork. All of this, including installing Ruby took like 5 minutes.

Just run a virtual machine with Linux on it. It will be much faster, and way more convenient.

MRI still sucks on Windows. If you HAVE to use Windows, you'd better off using JRuby.

Wow. Just wow. This is incredibly well done. The videos (well, the ones I've been through so far) are informative and entertaining, and the site is well thought-out.

I think that if you can re-skin this and retool it for other themes/languages, you've got an excellent educational tool on your hands.

Good job!

Love it, but I can't shake the feeling that the people who I want to show this to would not dig the zombies vibe. Maybe I just hang around too many people who do Real Serious Business (TM) programming. :)

It's neat as hell though.

Totally agree. Would love this minus the zombies. To me in cheapens what appears to be an incredibly rich learning environment. Not that I have anything against zombies, it just feels like it's trying really hard to appear fun/cool/hip, when it's already all those things just based on the core product.

And some people don't enjoy the CHUNKY BACON(!!!) vibe either, but it didn't stop _why from being awesome.

at least the chunky bacon vibe was original and creative. Now there's fucking zombies everywhere.

We're getting really, really close to the "one zombie thing too many" threshold as a culture.

But this is pretty sweet :)

The whole package here is a great idea, but the "labs" have insane potential.

I would jump on the opportunity to build labs for other languages if they offered an sdk of some sort.

Kinda makes you wonder why all your development can't be 100% web-based. No messy installs, version control built in (autosave like gmail?)...if your deployed app is web-based, why not your entire development environment?

Didn't Heroku have something like this a while back?

It was their original product, yes.

I haven't had my second cup of morning coffee yet, so I'm having trouble imagining how one would bootstrap that kind of thing.

This reminds me a bit of Heroku's initial offering, which was an online IDE combined with the insta-deployment.

Does Heroku not have the IDE anymore?

Correct. herokugarden.com redircts to heroku.com now.

Just when I was thinking that there couldn't be an easier introduction than railstutorial.org + heroku.com.

Good idea to simplify things but just side-stepping around the issue and delaying the reality that it really isn't this easy. You're eventually going to have to get dirty if you really want to do anything -- configure ruby, install gems, learn git, deal with gem versions... ah, good times.

By then you're hooked and more willing to invest the time.

Oops: http://d.pr/Chjg (I'm working with EnvyLabs right now to fix the hole).

Man, I thought ruby koans and hacketyhack were amazing interactive tools. This is amazing and a lot of fun too.

While I love the concept and polish on this and would love to be able to recommend something like this to friends, I'm sorry but I have no room in my heart for zombies.

My heart pumps blood.

Can somebody explain on how insecure code is detected? I tried system('ls') and received: #<InsecureCode: Bad Code Zombie>

This is pretty fantastic. I travel around to universities with the Yahoo! HackU program and have had a heck of a time teaching students ruby and the rails framework from scratch. This is going to make it SOO much easier. :D

As far as the labs thing goes, this feels like the future of interactive learning.

Isn't a huge part of learning a new language being able to install and configure it in the first place?

Also the went WAYYYYYYY overboard with the whole zombies thing. We get it, zombies are trendy these days, please just keep them away from anything learning based.

Glancing at Why's poignant guide is probably a good step too. http://en.wikipedia.org/wiki/Whys_(poignant)_Guide_to_Ruby

  If you've never touched the Ruby Language before, we
  recommend playing through TryRuby.org first.

This is why we can't have nice things.

This feels like an important development for Windows users that want to try Rails. (Assuming it works on IE)

The editor is skywriter which is based on canvas, so it doesn't work on IE<9


This is one of the most enjoyable ways to learn Ruby/Rails I have found so far. Great idea!

This is really similar to something I have been working on. Awesome.

Was looking for something just like this last night. Awesome.

Just finished the 5-lab course. Amazing stuff.

Why do I have to signup first?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact