Posts Tagged ‘ruby on rails’

Learning to read

Monday, August 18th, 2008
Image licensed under Creative Commons

Image licensed under Creative Commons

No, this is not a post about illiteracy.

OK, now that I got that off my shoulders…

I’ve been learning Ruby on Rails for the past few weeks, and I’ve encountered an interesting question that I’ve faced a few times before and never really found a good answer to.

How do you read code?

And I don’t mean that in a metaphysical sense. I mean when you’re learning a new framework, language or technology you usually look at some code written in it to try and see how real world applications use it. These days you can pretty easily find Open Source code written in almost anything. What I find difficult is figuring how to read the code of these applications.

I’ve read a book about Ruby on Rails, so I understand the basics decently well. I’ve created a toy application just to see how to do it. But the jump from that to digging through source code for a full fledged real application is pretty huge. Where do you start? Initally I started looking at the models to try and understand the objects that the application dealt with. But I found that to be a bit confusing. Then I looked at some of the key controllers (like user authentication and those that handle the main pages) and also found that a bit confusing.

Finally I sort of settled on looking at a specific page in the app, looking through the view that generated it, then going to the controller that was invoked, and maybe looking at some helper methods and model code that I found there. I found that to be a reasonably understandable strategy. But I’m not really sure if it would have worked as well if I didn’t already have looked at some model/controller code before hand.

This is not specific to RoR. If you learn a new development environment, how do you figure out where to learn the code?

Recent Readings

Tuesday, August 5th, 2008

I’ve been asked a few times in the past few weeks about books that I’m reading, mostly because I tend to carry them around with me a lot. So I decided to write a bit about them. Maybe I’ll inspire a new generation of wonderful, socially-outcast bookworms. Or maybe I’m just bored. Here goes.

The Jungle
This is a story describing the horrors of the Chicago meat packing industry at the turn of the 20th century. The story follows a large fictional family of immigrants from Lithuania coming to the land of opportunities, and hoping for a better life. Instead they end up being enslaved by the Chicago meat packers, and starved to death one by one. This a very heart-wrenching story, and definitely not for those with a weak stomach. When the book was published in 1906, it was heavily censored and most of the worst details of human suffering were removed. What remained were the countless examples of unsanitary and plain dirty conditions in which America’s meat was prepared. The final outcome was that the book caused an uproar that culminated in the creation of the Pure Foods and Drugs Act (1906) and the eventually FDA.

The last third of the book is full of idealistic social propaganda, which makes you cringe a bit when you read it. This is why the last 100 pages took me longer to read than the rest of the book taken together. Still, the book is a very read, from both a historical and a personal perspective. More than once I’d finish reading a few chapters of the book and I was pretty depressed for the rest of the day. But overall reading it makes me appreciate much more all the little luxuries that we take for granted. Like, oh I dont know, not working from 6am till 9pm in a dirty, stinky, scorching room.

Agile Web Development with Rails
I’ve started learning Ruby on Rails a few weeks ago, and was recommended this book by a few people, and I’ve found it to be just excellent, so I’m forwarding the recommendation here. It starts out with a tutorial that covers many of the features of Rails by building a shopping cart application. The second half of the book covers most of the features in pretty excruciating details. Along the way they manage to cram in a whole lot of best practices, as well as good writing. I haven’t gone much further than reading the book yet, so we’ll see how well it prepares me for actually writing Rails applications, but it’s definitely a smooth and easy to read introduction.

More recommendations to come shortly.