Category Archives: Treehouse

Getting Stuck with Ruby on Rails

Ok, so, I think I am hating on Treehouse. I was going along, doing my Ruby development course on there, learning the Ruby On Rails system and at the same time practicing Ruby on Codecademy.

I had watched all the Treehouses lessons on building the web app in Ruby on Rails and was moving on to the advanced, second section. However, at that point I was all of a sudden completely lost, and thought, I better go back and start again from the beginning, and build something myself so I really understand it.

I thought I would kind of follow what they were doing, but create something a bit more customised to what I wanted – that is, instead of just having an app that showed a user and a status update like they did, I wanted to have users that could record books they had read, the authors and comments about the books.

I think this made the database more complicated than Treehouse wanted me to learn – at which point I discovered that Treehouse wasn’t actually teaching you how to build something in general – they were teaching you only to build something very simple and very specific, without a general overview of Rails, the different parts of Rails, what could be done with it, etc.

I wanted something to teach me exactly how to build things in Ruby on Rails, but also to understand what Ruby on Rails was used for in general, and I am starting to suspect that Treehouse is not the way. Not only was the course very narrow, but the forums were pretty hopeless. Questions were going unanswered, and the community just wasn’t there like it was in Codecademy. This might be because Codecademy is free, and therefore has more members – but at the same time, Treehouse is a paid subscription, and so you would think they would get some staff or moderators to go in and help their paying students out!

As far as understanding Rails goes, I felt like I had come to a dead end. So, I am going to have to go elsewhere to learn…

Net Tuts has recommended a route to learning Ruby on Rails;

  1. Learn Ruby – they recommend tryruby.org. I am learning via Codecademy, and hopefully that has taught me some good stuff – but I might see if it stacks up against Try Ruby.
  2. Install Ruby and Ruby on Rails – I have already done this via Treehouse.
  3. A 40 minutes Net Tuts screencast about starting with Ruby on Rails,…maybe I will try it – because it’s free, and also because this is the kind of thing Treehouse completely glossed over.
  4. Rails for Zombies from Code School. I was thinking about doing that anyway, and it is free, so it is on my to-do list.  There is a second part that isn’t free – but obviously I will wait to see what I think of the first one.
  5. It then recommends a text book – Agile Web Development with Rails. I am not sure how I feel about learning coding through a text book – I feel like it will be dense, long and difficult….but this book was also recommended by Stack Overflow, so if I get this far, I might do it (Although, Stack Overflow recommendations don’t mean too much to me, because I assume that all the people on there have a lot more knowledge than me, and that I shouldn’t be using the same resources because I won’t understand them).
  6. This is the point in the list where I got bored. It goes on to say make a blog, then make that blog more complicated, then make something else, then stay up to date…but that is all a long way away for me I think…

I feel like the beginning of that list is do-able anyway. Treehouse has made me want to give up on Rails entirely, but I’m sure it is really good, and I just need another teacher. Let’s see if this Net Tuts screencast can redeem it for me.

Also, I am thinking of re-subscribing to Lynda and doing this course. It will also take you through an example (building a CMS), but it seems like it will give more information about what all the different parts of Ruby on Rails are. That Lynda course says Ruby knowledge would be good, but not completely necessary – so I assume that the Ruby I have learnt on Codecademy should be sufficient.

If I do this Lynda course it will take 12.5 hours just to watch all the videos, which, if I did an hour a day (my time budgeted), would take me almost to the end of the month, and I might not even have built my little app yet! 

I will try hard to catch up this weekend – but I am not going to beat myself up about it too much.

In other coding news – I have discovered a Ruby development school in Sydney that teaches an intensive course – it is $10,000 for 10 weeks! I understand that it would be a lot of face to face hours, and probably worth it if you could get a job in Ruby development after – but where are people getting 10k to splash around? That’s what I want to know! And if you do have $10k cash to spend – maybe you shouldn’t be changing career!

 

 

 

Leave a reply

Ruby Blocks, Procs & Lambda’s

Blocks Procs & Lambda's in RubyAfter completing the Ruby course in Treehouse, I have to be honest. I was feeling discouraged. Treehouse’s video format can be excellent, but I felt that it rushed through a lot of Ruby syntax and didn’t test me enough to make sure I understood it. (Multiple choice tests are the easiest things to scam in the world, especially in Treehouse where often the word your are looking for as an answer is actually in the question.)

ANYWAY, I did the Ruby course and felt like I had no idea what was going on – especially when they spoke about blocks. What did they mean? A block is just a bit of code right? But what makes it different from any other bit of code? And what on earth are Procs and Lambdas?

So, after I did the Treehouse course, I decided to go back to Codecademy and do their Ruby course – and you know what? I feel like that really cemented it in my brain. I feel like I understand it – even procs and lambdas.

Here is my summary

Blocks

These are a bit of code, and they can be contained in EITHER

do…end

OR

{ }

Treehouse did not explain this clearly, so I had no idea that these two different syntax (es? ie?) were the same thing. On Stack Overflow I read that {} is good for one-line code, and otherwise use do..end – although that is just a forum, so who knows how truthful that is.

You can pass these blocks to some methods like .each{put a block here I think}

Procs

A proc is a block which can be saved as a variable and used over and over.

variable = Proc.new do |x|

Do whatever

end

Lambda

A lambda is like a proc, only it cares about the number of arguments it gets (a proc doesn’t care, it will return nil if it doesn’t have the right number of arguments). Also a lambda returns to its calling method and keep executing code, while a proc will return straight after it is run (i.e. it will leave the method and execute no more code).

I don’t feel that Treehouse explained that very well to me, but Codecademy did it in a really easy way.  So, my big recommendation to other beginners in Ruby – do the combination of Treehouse and Codecademy. (Or maybe just Codecademy if you have no money, because Treehouse is subscription only. Maybe I would have understood well enough with just codecademy, the Ruby chapter is really good).

 

Leave a reply

Codecademy’s down, so I bought a Treehouse Subscription

treehouse1So, for the last 45 days, while I have been using some other online learning tools in bits and pieces, mostly I have been obsessed with Codecademy. This was almost completely because of the streak feature, which I had become obsessed with.

Unfortunately, yesterday, the Codecademy site went down, and I lost a bit of my streak. It’s a completely free site, so I didn’t get mad, but I did get a bit anxious because of my crazy attachment to this streak. They were super apologetic, and the streak isn’t back yet – but I wondered if people would really get mad, I mean, it’s free! But then i thought about how hard Codecademy is pushing the angle of points, streaks and badges  - so I guess losing them is a bit of a deal.

In the meantime, I thought I would find some online tutorials about Excel Visual Basic so that I could do some stuff for my actual job…while learning a bit of coding. So, yesterday I did some learning, and even started writing a blog post about VBA… you’ll notice it isn’t up yet, because I got distracted…by Valentines Day!

A place called App Sumo did a 90% off Valentines Day sale (????) for Treehouse – a competitor to Codecademy. It was only $49 for the year, for the gold package – so I signed up…and have now gotten distracted from both VBA and codecademy. Why? Because the interface of Treehouse is just so good! From their cool introduction video (quirky, full of personality) to the variety of courses. The interface is colourful and inviting, and there just seems to be so much content available. (Is this what happens when you actually pay for content? Ohhhhh….)

TreeHouse online learning

Already I can see a PHP course I want to do (not available in codecademy), as well as courses to better understand CSS (it confuses me), and even some design tutorials (I am not a designer, but I do need to learn the basics).

The only thing I would improve about it so far is 1. Let me dogtag some of these courses so I remember I want to do them  - kind of like the queues you can create in Lynda.

2. While there are two cool intro videos – after that I am lost. I don’t know where to start…there is all so much information, and I don’t know which course to choose. Codecademy’s CodeYear was good because it led me down a specific path (while also allowing you to deviate if you want). I would like Treehouse to offer a recommended track, especially for beginners. Lynda is kind of like TreeHouse in that it is just heaps of courses, and there is no particular recommended order. I don’t like that too much.

The other bizarre thing in Treehouse is that there is a ‘business’ course section – which is all about running a business. It seems a bit out of place….but maybe it just means that TreeHouse will be eventually transitioning towards some kind of Lynda programme.

So – I guess I’m going to be in TreeHouse all weekend!

 

 

Leave a reply