Join 3,521 readers in helping fund MetaFilter (Hide)


A 4-star Ruby On Rails book is free for 60 days
October 3, 2007 7:03 PM   Subscribe

"Build Your Own Ruby on Rails Web Applications" book is free for 60 days. Reader reviews give it 4-stars at Amazon. Like most first editions, there are a few typos to watch out for.

Sitepoint has been mentioned a lot in comments and AskMe, but never mentioned in the Blue?
posted by spock (48 comments total) 13 users marked this as a favorite

 
No affiliation. Just got the download link myself and thought I'd share the info.
posted by spock at 7:04 PM on October 3, 2007


If you want to avoid the hassle of giving SitePoint your email address, here is the direct link. (20MB PDF) Hopefully that works for everybody!
posted by spock at 7:07 PM on October 3, 2007 [1 favorite]


Nice, thanks. I just wish the author would stop staring at me like that.
posted by itchylick at 7:07 PM on October 3, 2007


Django book has always been free ;)
posted by Mach5 at 7:15 PM on October 3, 2007 [1 favorite]


I was just thinking the same thing. Looks like he's auditioning for some bastard-child-of-Hannibal-Lecter (the Musical!) part.
posted by spock at 7:16 PM on October 3, 2007


Also free is the excellent Practical Common Lisp and a number of other APress titles.
posted by mrbill at 7:18 PM on October 3, 2007


Anybody got anything on Cobol?
posted by spock at 7:19 PM on October 3, 2007


Why not just link to the YouTube videos, Mach5?
: )
posted by spock at 7:21 PM on October 3, 2007


Nice, thanks. I just wish the author would stop staring at me like that.

Jesus! Time for question 11 in Serial Killer or Programming Language Inventor

Okay, so he didn't write a language...
posted by mrnutty at 7:31 PM on October 3, 2007 [1 favorite]


No offense, but "Build Your Own Ruby on Rails Web Applications" looks like a yawner compared to Why’s (Poignant) Guide to Ruby. I only read technical manuals written by the maniacal if I can help it.
posted by litfit at 7:34 PM on October 3, 2007 [4 favorites]


This is a timely thread as I am going geek again and from what I have read rails is about the best framework to produce in.
posted by Samuel Farrow at 7:43 PM on October 3, 2007


"Anybody got anything on Cobol?"

I hear it's a common, business-oriented language, but that's just speculation at this point.
posted by mr_crash_davis at 7:46 PM on October 3, 2007 [2 favorites]


So... let's talk rails for a sec. How's it doing?

It seems like it was all the rage last year, but this year -- not so much? Am I wrong about that?
posted by ph00dz at 7:48 PM on October 3, 2007


itchylick: No kidding. You're publishing a book, not trying to take over the world, dude.

Cool link though, thanks.
posted by patr1ck at 7:49 PM on October 3, 2007


I apparently screwed up the YouTube link above: Ruby on Rails vs Django
posted by spock at 7:50 PM on October 3, 2007


Rails: pretty good for smaller projects. Not any better than anything else for larger ones.
That's the last I heard.
posted by mrnutty at 7:50 PM on October 3, 2007


spock: word yo, ya'll in the rails world ain't be threadin' like a propa framework. ya'lls got to get that feature cuz till then yo shit ain't worth shit.
posted by Mach5 at 7:54 PM on October 3, 2007


Are you saying "your favorite web application framework sucks"? I just knew it would come to this! Hey, seriously, I have no pony in this show. I'm investigating everything and I'm more than willing to look at D.J. Ango.
posted by spock at 8:00 PM on October 3, 2007


I'm not saying 'rails sucks' as much as I'm saying "as long as its not fucking enterprise Java'. They are all cool in my book but I happen to be a Python/Django pro. Rails needs some real threading to become really viable.
posted by Mach5 at 8:05 PM on October 3, 2007


Rails is great, I've been working in it full time for a year and a half now. The speed that you develop things is fantastic. And its a ton more fun then java.

And before the debate begins - yes, it works with large projects and large teams, too. Ask Thoughtworks or Twitter or Revolution Health. People issues and communication will kill a project long before language or frameworks do.
posted by rsanheim at 8:12 PM on October 3, 2007


You kids with your web frameworks. If you can't do it with CGI bash scripts it's not worth doing. Also, if you must use these fancy IMG tags, at least have the decency to source them inline in base64. I mean really, making the browser fetch each image as a separate HTTP request? Do you think TCP connections grow on trees or something?
posted by George_Spiggott at 8:22 PM on October 3, 2007 [3 favorites]


Thanks I just grabbed the book.
posted by onalark at 8:36 PM on October 3, 2007


Rails is great for small projects, good for big projects, and needs threading before it can do the big enterprise-level stuff.

Java is great for enterprise-level stuff, a pain in the butt to work with on anything smaller.

Nothing against Java; it's rock-solid, hefty, and well-supported. But using Java to do small projects is like flying to the corner grocery in a 737. It's way overpowered for the small things, i.e. 80% of the applications on the web.

MVCs are the hip thing right now -- Rails, CakePHP, Django. I'm surprised how many jobs are calling for Rails right now. It's still the hip thing (at least until something cooler pops up in 2008).
posted by dw at 8:48 PM on October 3, 2007


Anybody got a copy of Micronetics MUMPS for Middle Managers, edition 12?
posted by Afroblanco at 8:55 PM on October 3, 2007



Rails is great for small projects, good for big projects, and needs threading before it can do the big enterprise-level stuff.


Cuz like Facebook runs on some new fangled threaded version of PHP?
posted by bitdamaged at 8:58 PM on October 3, 2007 [2 favorites]


Rails sucks! No, it doesn't, it's awesome!

There, now we don't have to have this thread again.
posted by smackfu at 9:06 PM on October 3, 2007 [1 favorite]


As quite a junior web developer who's only heard of rails and investigated it with limited amounts of enthusiasm-

what is it?
how does it work?
what frameworks does it intend to replace?
and, of course-
why is it better?

thanks in advance
posted by localhuman at 10:07 PM on October 3, 2007


nice book, but I guess I can't use it since I build Ruby on Rails applications for other people.

Rails is great for small projects, good for big projects, and needs threading before it can do the big enterprise-level stuff.

if you mean so that long-running requests don't block an app handler (fastcgi or mongrel instance or whatever server du jour is), look at backgroundrb.

with polymorphic associations + has_many_polymorphs + has_states (the new bigger brother to acts_as_state_machine, can journal transitions/events) rails is a wonderful tool to use for developing apps that have a little bit of complexity in the data model.
posted by lastobelus at 12:55 AM on October 4, 2007


I am working on a JRun error plugin for Rails so people can do mefi clones.
posted by srboisvert at 1:17 AM on October 4, 2007


Is it my imagination, or does the list of typos not apply to the edition they're handing out?
posted by ubiquity at 4:40 AM on October 4, 2007


The most serious limitation of Rails I've seen is that it's extremely hard to build a web UI for an existing database-backed app. Rails wants to own your db.
posted by Slothrup at 5:50 AM on October 4, 2007


I'd like a little input here. Let's assume that someone knows next to nothing about Python OR Ruby, but understands basic programming concepts. (I understand that ROR is the main reason that some people LEARN Ruby. Python seems to have a lot more use OUTSIDE of Django.) Assuming that the two FRAMEWORKS are equal, which one would be easier for the newbie to the language to learn? (I'm not asking which language is BETTER, but which language is easier to learn - which might include the amount of support/help available).

Another factor might be how much web hosting companies are supporting either one. Last time I looked at ROR, you had to look for ROR-specific hosts because Ruby wasn't even installed on most hosts. How about Python?
posted by spock at 7:13 AM on October 4, 2007


Ruby is by far an easier language to learn than Python...
posted by SweetJesus at 7:27 AM on October 4, 2007


spock, Python is pretty much universal on Linux hosts. It's installed by default on every distro I know about, and RedHat-based distros actually depend on it. However to get the most out of Django you want to be using mod_python in an apache-like server and not all shared hosting setups activate that module.
posted by George_Spiggott at 7:34 AM on October 4, 2007


I think Ruby's a pretty weird language. It has some constructions that are unique and you can't really "figure it out" from the code due to the unusual syntax. OTOH, you can just ignore the weird parts though when you use RoR, so most of the tutorials just gloss over the Ruby part entirely.
posted by smackfu at 7:43 AM on October 4, 2007


If I hear one more person say the word "Enterprise" non-ironically, I'm going to burst a gasket. Enterprise Software isn't a technical term. We use Solr (Enterprise!) on Tomcat (Enterprise!) to index MySQL (Toy!) databases and PHP (Toy!) apps. Guess which half of that equation gives us more trouble, behaves inconsistantly to the documentation, common sense, and objective reality?

*breathes deeply*

Rails is great if you're starting an app from scratch of if your app is small enough to be rewritten in a day or so. It also needs a bit more knowledge to host it in a scalable way, you can't just trust that Apache will Do The Right ThingTM like mod_php does.

An nginx frontend doing static content behind five or ten mongrels will push a whole lot of traffic though, it just takes more skill to set up.

Ruby as a language is incredibly cool. I'm in love with the functional aspects of it, and because of it's easily expansible, meta nature, extensions are usually really easy to use (sort-of MapReduce library, usable in ~5 lines of code).
posted by Skorgu at 7:55 AM on October 4, 2007 [1 favorite]


SItepoints JavaScript Anthology is actually one of the best JS books I've ever read.
posted by Artw at 8:27 AM on October 4, 2007


Java is great for enterprise-level stuff, a pain in the butt to work with on anything smaller.

...using Java to do small projects is like flying to the corner grocery in a 737. It's way overpowered for the small things, i.e. 80% of the applications on the web.


Not true.

If you set a rookie programmer in front of an empty computer, then yeah they will get a basic form working faster in PHP, or Rails, or Django, than they would in Java. Mainly because these are optimised for the tasks, and because they either incorporate frameworks or templates, or (like PHP) a million prebuilt things are already available.

But if you've been developing webapps in Java for years, then you likely have developed your own shortcuts, utilities, patterns, etc. I can now kick out a new java formhandler with a db write, as fast or faster than in those other environments.

When it comes to stretching, when you have to add some really unique functionality, when you have to extend or scale up...that's when a mature and fully-featured language like Java really shines.

Also check out Netbeans to see how far Java IDEs have come. Also look up Struts, Spring, Java Server Faces, to see some newer Java frameworks.

I'm not knocking the others. I like and use PHP and Perl. I hear Rails is da bomb. But Rails isn't about to dislodge Java from our clients' servers.

(and I agree that the word "enterprise" is overused)
posted by Artful Codger at 9:52 AM on October 4, 2007


Seconded, Artful Codger. In The Real World, 90% of programming is maintenance programming. Using existing, established languages. Technical choices like these are always decided by resources, namely how many programmers you have and what existing codebases are going to be re-used.

If I needed to build something quickly, I'd do it in a prototyping language like Rails or Python or PHP. The last time I did that was 2003, and even then we don't go to production on prototype code. We re-write it in something maintainable.
posted by butterstick at 10:10 AM on October 4, 2007


How interesting. My better half has been suggesting that I take the time to learn Ruby.

Perhaps I should view this thread as an omen.
posted by quin at 10:25 AM on October 4, 2007


We re-write it in something maintainable.

That's the scary part.
posted by smackfu at 12:34 PM on October 4, 2007


Maintainability?!? But how will you have any job security?
posted by Mach5 at 1:49 PM on October 4, 2007


Well if it's job security you're after...
posted by Skorgu at 1:51 PM on October 4, 2007


But if you've been developing webapps in Java for years, then you likely have developed your own shortcuts, utilities, patterns, etc.

The same is true for just about any environment. I've got productivity like you don't believe when modifying a particular C++ app I've been working on for the last 13 years.
posted by Slothrup at 2:17 PM on October 4, 2007


Oh, and I love Python -- but Django makes my eyes bleed.
posted by Slothrup at 2:23 PM on October 4, 2007


From Skorgu's link:

Compile the code to an executable. If it works, then just make one or two small little changes in the source code…in each module. But don't bother recompiling these. You can do that later when you have more time, and when there's time for debugging. When the hapless maintenance programmer years later makes a change and the code no longer works, she will erroneously assume it must be something she recently changed. You will send her off on a wild goose chase that will keep her busy for weeks.

That is beyond evil.
posted by Samuel Farrow at 3:55 PM on October 4, 2007


This is great. Thanks, spock!
posted by brundlefly at 8:11 PM on October 4, 2007


There's a nice unintimidating intro to Ruby (as opposed to ROR) with the Humble Little Ruby Book. I think the author does a nice job of balancing precise, concise, and entertaining.
posted by spock at 3:31 PM on October 14, 2007


« Older Picture if you will Mississippi, a state still swe...  |  The first time the Simpsons, t... Newer »


This thread has been archived and is closed to new comments