Hacker News new | past | comments | ask | show | jobs | submit login
Ask YC: Going to RailsConf 2008. How do I learn RoR by then?
3 points by wallflower on Feb 7, 2008 | hide | past | favorite | 19 comments
Portland is one of my dream cities to live in (outdoors emphasis, small, good demographics, great farmer's market, nightlife sounds reasonable - small Salsa scene). Yeah it is overcast/raining all the time but...

When I heard about RailsConf, I thought it was a nice coincidence that it is held in Portland. I still really want to move there.

I've registered for RailsConf 2008 which is just over 3 months away. I don't know any Ruby on Rails. I want to learn enough RoR to get a working understanding for the conference. Ideally, I'd like to get the point eventually where I could see myself doing sites like twittervision.com in a weekend (David Troy did that in 4 hours?!)

How would you recommend going about learning Ruby on Rails (from scratch). In about 3 months.

My plan is to hack Ruby/RoR projects on my 1-hr train commute with an Asus EEE or equivalent. My colleague just lended me the "Agile Web Development with Rails" book. I bought "The Rails Way" but lended that to the same co-worker because that's way beyond. I hope to learn enough/dive in to be able to My background is Java. Did some Flex/AS3 for a project recently. I never excelled at Perl-type languages honestly.




You should definitely become competent in 3 months (not great, but definitely competent).

AWDwR is good. Even before that, go through the Rolling with Rails tutorials (http://www.onlamp.com/pub/a/onlamp/2006/12/14/revisiting-rub...) and watch the screencasts (http://www.rubyonrails.org/screencasts). That will give you a good ground before you start hacking.

Then, like you said, start hacking! An hour each way X 20 work days/month X 3 months = 120 hours, not counting time at home. You've got time, but if you're serious, don't let a day pass without working on it!


I agree. One rule of thumb I try and follow when trying to learn something new is to promise myself to spend atleast 10 min working on it everyday. Which normally leads to about 20 min to shift your mindset, and invariably you end up spending more than just 10 min :D

One way to approach this is just start by building something really simple. A to-do list (yes, I know there are millions of them out there) is a good app because you can make it as simple or as complicated as you want. Its an idea that can scale.

Another thing to do is to watch some of the screen-casts as pchristensen correctly points out. RailsEnvy has some good ones to, and if you feel like spending the money, PeepCode has some good ones.

One way I learn is just to hammer myself with information. Read as much as you can while not coding. Most will not make sense at that time (but when it comes to learning anything, isnt that true early in the game anyways?) but every now and then you will be like "Oh yeah! I just saw something about that last week!" and it all comes together.

[Quick Update: I see that you did not mention that you know Ruby. I would spend a little time looking up Ruby too, because IMO, Ruby is far more than Rails, and regardless of whether you end up using Rails, your Ruby knowledge will help you better understand Rails, or any of the other frameworks out there like Merb or Hobo]


Thanks. I like your suggestions to read and eventually hopefully grok it. I think it's interesting how nervous/unconfident I am to actually start learning Ruby and Ruby on Rails (Pragmatic Programmer advice to learn a new language every year aside).

And about doing something daily - it's a nice benefit that a job lets us get paid while maintaining/expanding our knowledge of the programming language we primarily use for that job.

I'll build my first to-do list (after this weekend - prepping for my first party on Saturday - was too scared to do it alone, so asked a friend to co-host, overinvited, she overinvited, 41 people have RSVP'd yes?!)

It's all about getting started and doing something daily so you don't regress. There is no such thing as failure only feedback, I've heard. It's true.


Thank you. It all adds up. The habit I'll have to break - stop falling half-asleep on the train. To actually make use of the time the long commute affords.


Here's what worked for me:

1) Do the grunt work: Make sure you have a basic understanding of Ruby syntax, especially how Hashes and method arguments work. The code in most Rails books, and even the code generated by Rails itself uses lots of syntactical shortcuts (ex. not putting () around method arguments, not putting {} around hashes). This can be really confusing since the majority of Rails methods take in at least one Hash as an argument. It's critical that you understand what your data structures are and what's being passed.

2) Dive in: Find a simple project to do. Make it something close to the Depot application (or whatever the example app is in the newest version of AWDwR), but not exactly the same.

3) Documentation: I heavily use the Ruby core documentation (http://ruby-doc.org/core/) and the Rails api (http://api.rubyonrails.org/). These are absolutely critical when you're debugging and you need to know what's going on behind the curtain.

If you're going to be working on a train without an Internet connection, I would strongly suggest that you get yourself a local copy of the Rails api by running the command "rake doc:rails" and that you get really friendly with the "ri" command which gives you Ruby documentation.

4) Tinker, tinker, tinker. Look at other people's code. Install plugins and try to understand how they work. Constantly tweak your app to do something new or improve something it already does.


One ingredient is coming sometime today, I believe.


What goes with Heroku? Red or white.. Cloud or localhost. Interesting. This might make Ruby more palatable

Edit: Heroku already responded! The Ruby environment looks great. Time to watch some screencasts. Kind of like cooking watching a Cooking show. This means I can bring my ancient supermodel-skinny Sharp laptop (P-233MMX) to a coffee shop and hack Ruby code!


OOoooh a cryptic foreshadow of a YC company launch?


what ingredient is that?


You will be fine by that time. RailsConf 2008 will have many workshops to goto and learn from. For now, books are good but screencast are better. Try railscasts.com & peepcode.com.

"I'd like to get the point eventually where I could see myself doing sites like twittervision.com in a weekend"

Once you figure it out, please let me know! :)


Spend an hour or so learning Ruby, then dive into Rails by creating something like a to-do list. Since you're already competent in Java, you should have no problem learning Rails in three months.



While you are in Portland, don't miss Barracuda http://www.google.com/search?q=barracuda+portland


Get The Rails Way back. it's a far better book than Agile Web Development with Rails. Also, get a good Ruby book like "Ruby For Rails" from Manning.


I'll have to agree with that one. I preferred "The Rails Way" to Agile Web Development, because it focuses on Rails' internals. You shouldn't start with that book though. Tutorials, screencasts and a bit of hacking first I'd say.


You should go to Caboose Conf: http://rubyjudo.com/2008/2/1/cabooseconf


The best way to learn any toolkit is to build something using it. That's particularly true in the case of RoR, since it's very geared towards fast prototyping.

If you don't know Ruby, get the pickaxe book. I'd also recommend Agile Web Development with Rails:

http://www.amazon.com/Programming-Ruby-Pragmatic-Programmers... http://www.amazon.com/Agile-Web-Development-Rails-2nd/dp/097...

Also check out PeepCode; it gets rave reviews:

http://peepcode.com/


Read a book. Then, build something.


I got RailsSpace from Amazon, steps you through making a social network and teaches you heaps along the way. The final product in the book isn't anything special but that's where YOU come in.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: