Software Technology

Learning Ruby on Rails Through Code


Once you’ve learned the basics, I think the best way to learn Ruby on Rails is to look at apps written in Rails and learn from their source. The nice thing about Rails is that once you’re familiar with one application, you can pretty much open any Rails app and understand the structure enough to know where to go to look for the code that is relevant to what you’re learning.

This is a list of apps that have been helpful to me for learning.
1. Devalot – I wouldn’t have guessed it, but this is the one where I’ve found what looks to me to be the best code and some of the most interesting use of plugins. Check out the table_maker plugin in the app–it’s amazing! Devalot is DRY. If nothing else it’s a great example of DRY programming in Rails.

2. Mephisto – For one it’s written by Rick Olson who is part of the Rails core team. In fact, that’s enough in and of itself. Justin Palmer also works on it. What more needs to be said.

3. RadiantCMS – Radiant like an example of simple code that works well. Radiant is fairly easy to understand and this makes it good to learn from. One interesting thing in RadiantCMS is their use of behaviors which are based on Radius.

4. Beast – Good for learning to be concise and learning REST. Rick Olson also works on this project.

That’s it. Check ’em out.

Technorati Tags: , ,

10 Ways GTD Knowledge Lifehacks Productivity

10. Don’t Stress About It | Ten Ways to Improve Your Quality of Life

This is the last in a series of 10 articles that give suggestions meant to improve the over-all quality of your life.


10. Don’t stress about it. The purpose of improving your life is just that–improving it. A good way to tell if any of these steps are worthwhile is that you’ll feel better not only after you doing them but while you’re doing them. If you dread doing something it usually comes down to one of the following reasons:

  • You’re not confident you can do it well, in which case you need to break it down to steps small enough to accomplish and start moving. If you start breaking it down only to find it’s completely out of your capacity then just let it go completely. You can only do what you can do.
  • It’s not worth doing. If whatever it is doesn’t provide some innate satisfaction it may just not be worth doing. This isn’t a plug for hedonism, but the fact is that when you’re doing what’s right, generally it feels good at least at some level both while you’re doing it and after it’s done. (e.g. having the knowledge that it’s the best thing to do in the long run).
  • It’s a task you find menial, repetitive, boring etc. Washing the dishes, mowing the lawn, cleaning in general, doing the budget etc. Many times these tasks can be enhanced by doing other things at the same time. Listen to an audiobook while you wash the dishes. Meditate while you mow the lawn (who says you have to be sitting with your legs crossed!) If you’ve got problems doing your budget it may be that you need to re-analyize your finances and get them in order. For these kinds of tasks it comes down to distracting yourself from the menial, automating the repetitive if possible or searching for the true root of the problem and fixing it.Life does not always have to be exciting and stimulating but there’s hardly anything worth doing that can’t be enjoyed at least to a degree.

Once you’ve eliminated dread then it’s probable that a large portion of the stress will be gone from your life. Of course there is no way to simplify every cause of stress down to one small list but you can at least eliminate most self-imposed stress and this includes stress imposed by trying to do things to improve your life.

That’s it! Hopefully you’ve been able to glean a bit of useful information from the articles over the last ten days. If you have (even if you haven’t) I’d love to hear about it in the comments! As I stated in the beginning of the series I really believe that if the things I’ve suggested in these articles are applied to daily life they will really improve the quality of your life and provide you with meaningful experiences and memories.

Technorati Tags: , , , , ,