BarCampCHS 2011: Ruby on Rails Know Nothing to Pro in Half a Year

Presenter: Robert from Jack Russel SoftwarePresentation site

On Feb 1 he started working for free at Jack Russel Software to learn how they do what they do.

He started going 40 hours a week for a couple months.  The problem of learning Rails with NO programming history was the learning curve was hard.  You can’t just bug people who are working for help. :-)

Once he got a feel for how, it was much easier.  He’s going to help us over that hump.  Check out the site to see how to get started.  He’s not going to show anything for Win users, only Apple.  [Huh.  Interesting.]

1) Get a text editor.  He tried TextMate, it was easier for him.  Choose what you like.

2) Next, get started on GitHub.com.  It’s a place to store your code, lets you do version control, etc.

3) Then, set up MySQL on your computer.

Next…Testing.  You have to know how it should work to learn how to work it right.  They use Test driven code at Jack Russel.  There are different testing frameworks, like Cucumber (http://cukes.info). First say what you’re trying to do, then explain how to get there with multiple scenarios.  Another option is Capybara (see the link on his presentation site)

His Github page is rpearce

He’s doing a cool live demo showing you how to search the net via Google for Morpheus just like Neo does. :-)

For him, running tests like that demo helped him learn how to code with Ruby on Rails – got him used to the syntax & structure.  Neato!

After that….Make stuff pretty
If what you make is not aesthetically pleasing, no one will use it.  If it looks like crap, no one will give you money for developing it.  It affects your credability.  If your work looks like crap, maybe it is crap.

Ways to avoid doing an empty html/css file, Twitter’s Bootstrap and skeleton.  twitter.github.com/bootstrap – lets you use styles they’ve put together to avoid making stuff look decent while you’re trying to learn Rails.  getskeleton.com scales to specific mobile environments automatically – a real development aid.  Hooray!

HAML & SASS – cleaner code that compiles into HTML. It’s white space sensitive, so indenting indicates nesting.  Also very nice!

Need to Knows in order to Program professionally with Ruby:
1) Ruby/Ruby on Rails
2) HTML/CSS
3) JQuery + JavaScrit / CoffeeScript

So how do you really get to know Ruby?  He doesn’t like many tutorials because they don’t let you learn by doing it wrong.  Make the mistake, then look up why you made the mistake & what to do to correct it.  [It’s like Edison & that lightbulb quote again -A]

Enlightenment
1) In browser coding like CodeSchool – free to pay site or tryruby.org -will teach you how to get started from the basics in a friendly way.  Similar sites are on his presentation site.
2) Ruby Koans – learn by showing you a failing test & you have to correct it.
3) Screencasts & tutorials like Teach Me To Code and Ruby 4 Kids

Here’s the deal: if you have the ability to form a logical argument & back it up with facts, that is the skill you need to know in order to learn how to program.  Programming is using algorithms.  It’s very much the same thing.  Also, what you do to learn the stuff you know cold?  Do that, too.  :-)

He fails at what he does every day, but not in a bad way.  The mistake helps him learn something every day.

“I look forward to failing every day so that I can grow.”

So where to go from here?  Find something you’re passionate about and make an app for it.  [I just felt the ghost of CreateSouth 2010 flit through the room.  Find your passion, then do it every day.  ::nods:: -A]

Q: How do you find the right things?  It seems so daunting.  There’s conflicting advice out there.  What’s best when everyone disagrees on which of the 12 different tools you should use?]
A: That’s why he did this talk.  This precise problem.  There are infinite ways to solve this problem.  There’s a lot of stuff that goes into Rails.  He recommends the tools on the Resources page.  These tools allowed him to accomplish his goal of learning Rails.  Set goals for each thing you need to learn.

His coworker Patrick came to his terminal when he thought he was doing well, said, “Can I see that for a second?”  went to his folder and deleted everything he’d just written out by hand and said, “Do it again.”  Yes.  This.  The 10,000 hours rule.  Don’t do it once & use that one file as a crutch.  You need to create it again and again to learn it properly.

Q: Adding to Robert’s answer: Robert tried all of those listed text editors to formulate his own opinion.  That’s what it comes down to.  If you get frustrated with it, that’s not the one for you.  Like getting into Emacs is really a pain.  If you’re just starting to learn, that’s gonna be a pain.  Use TextMate.

Q: What version of Ruby to start with? 1.9.3

Leave a Reply

Your email address will not be published. Required fields are marked *

*