Learning Rails (O’Reilly), a Review

November 29th, 2008 Comments

O’Reilly’s Learning Rails (2008) by Laurent and Dumbill is a great way for a non-programmer, but techie person to dive into rails. I took AP Computer Science AB in High School, which was in C/C++ but I haven’t done much programming since, except a bit of cut and paste PHP and some javascript hackery. Early in College I thought to teach myself web programming in Perl/CGI but the languages were just so complex that I couldn’t get my head around building anything really useful and they have become a bit depricated except for sysadmin purposes. I’ve worked around programmers for the past few years now and I’ve yearned to get back into programming. Yet, I keep trying to pick up what should be really awesome books and not being able to dig in. They make too many assumptions about your pre-existing knowledge or just don’t fit with my learning style. I’ve found that they make sense in a classroom situation or with a mentor to help guide me, but they just don’t fit me. I understand technology. I understand HTML, yet some concepts go a bit over my head.

For those completely non-programmers out there reading this Ruby on Rails is a framework (basically a lot of stuff done for you already) that makes developing web applications happen really quickly. Its sometimes taunted by developers in other camps as being unscalable due to the growing pains of its most prominent application, Twitter, but that really isn’t an issue. Rails is best suited towards rapid application development for testing and prototyping.

I took some photos for O’Reilly’s Ignite Boston 3 a few months ago and in return they’ve sent me a nice selection of O’Reilly books, including this one. I guess they sent it to me a bit ahead of publishing date, which was nice of them. I’ve found this book to be the perfect fit as an introduction to Rails. It isn’t condescending as a ‘For Dummies’ books might feel, but it doesn’t fly over your head or go into insane detail in trying to explain every intricacy of the framework. In fact, several times it tells you to not worry about something and that you can look into it later but not to sweat the small stuff.

This book doesn’t take the approach of many Rails tutorials that rush you through building a complex application in 5 minutes. Those make too many assumptions of knowledge and are made for showing off more than learning. This goes through in a simple logic manner to explain the layout of a Rails application and how to extend it. You won’t be a Rails master after reading this, but you’ll be ready for your next Rails book and you won’t be lost or confused.

The first chapters go through the basics of installing Rails (giving you multiple options) and explaining some problems you might hit and how to get around them. I already had Rails installed, but I’ve had problems before in reading other tutorials and wasn’t able to understand the layout of the application, how to start the programs, or what the hell these Gems were. This got me around that and I feel much more comfortable with such things.

It steps through basic MVC structure and handling of input, getting it into a database and dealing with RESTful interfaces. The mid section of the book elaborates on this more and gives you room to start actually building some interesting things. The book ends up talking about deploying basic Rails apps, Apache integration, SVN/git, Ajax and other useful topics.

The appendices are really useful and don’t just feel like tables from an encyclopedia. Appendix A takes you through a quick Ruby crashcourse which was really useful. It might still be a bit too high level for your mother to grasp quickly, but if you’ve ever done any sort of programming then you’ll get it almost instantly. The other appendices are equally useful and definitely aren’t just page filler.

So if you’re just trying to wrap your head around Rails I wholehearted recommend this book. I haven’t found a better introduction to Rails, but you likely won’t find a bunch of super-geeks recommending it as it was probably too low of a level for them to want to read. You’ll be able to dig through most of it in a long afternoon, and internalize most of it in a week or so. The examples are clear, short and easily understandable. There are no multipage sections of code to copy, which are often tough to understand and prone to typing errors. The next up rails book that I’d recommend for an aspiring programmer who doesn’t have a large history in programming would be Agile Programming in Rails.

  • Share/Bookmark

Twitter: Something is technically wrong

May 23rd, 2008 Comments

Step 1) Have great idea. Step 2) ????. Step 3) Profit! Apparently someone didn’t tell Twitter that Step 2 is “don’t fuck it up“. Twitter’s lack of stability and massive downtime lately has been pretty horrid. Rumors that they’ve gotten another 15M in funding are swirling around, but also rumors of technical incompetence there abound. Unlike somewhere such as 37Signals (or betahouse) they don’t have programming rockstars working for them it seems.

Yes, twitter has unique problems. They will require unique solutions. Until someone figures them out however, I think I’m going to back off using/caring about twitter. This is really sad. In the past year I’ve learned to love twitter. Yet, nonstop slowdowns, client bugs, downtime, etc have kinda killed it for me.

Maybe their goal and monetization plan is to get everyone hooked, claim that they can’t keep it up without charging for it, and then get everyone to pay since they are addicted like Crack. I think they’ll hop to Pownce instead. Speaking of, why doesn’t Pownce have similar problems?

Maybe they need to write the program in pure Ruby, or maybe they need to use a “faster” language like Java or C++ to write it. The rails community will surely cry if it comes to this, but it will likely be needed.

But either way, someone wake me up when Twitter has some degree of stability. Until then, I think I’ll just have to be out of the loop.

  • Share/Bookmark

Where Am I?

You are currently browsing entries tagged with ruby at David Fisher : What is Noise Blog.