Rails As She Is Spoke

Do you want to understand Rails? Do you want to write Rails apps effectively, or see your own open source creations delight their users and enjoy wild success like Rails has? Have you noticed that Rails never quite makes perfect sense according to traditional object-oriented theory, or that the Ruby On Rails Guides never seem to quite explain the realities of cutting-edge Rails development?


I once tweeted a random thought:

I got a few positive replies right away — people saying they would buy the book if it existed — and I decided to write it. A week later, after only five days of writing, I had done it. It was easy to move fast because I’ve been working with Rails for a long time and I knew exactly what the book was going to be about. It followed the idea in the tweet, except for one important difference: it’s a book about how Rails gets OOP wrong, but it works anyway, rather than a book about how DHH gets OOP wrong, but it works anyway. I think ad hominem argument worsens discussions, and it would have been unrealistic of me to claim to fully understand how some other programmer thinks. But it’s easy to look at the code base and say what Rails does.


And Rails does some pretty weird things. If you read my book, you’ll learn what ActiveRecord::Base#inherited really does, and why it’s a little bit crazy. You’ll discover Factory patterns that were lurking in Rails all along, and one really obvious core object in Rails’s domain logic which isn’t implemented as an object at all. It’s a perfect textbook use case for objects; its internal implementation looks like PHP at its worst, but it enables developers to write code which looks like Lisp at its best.

This book explores why Rails appeals to people so incredibly well. Check out these tweets, and especially the one in the middle, from @ddemaree:

To quote: “He says it’s about OOP in Rails, and it is, but the bigger theme is the value of UX over dogma.”

It’s true. But it’s not all my book is about. You’ll also learn about the unusual problems of a talking rhinoceros, and the bad manners of the hippopotamus. I’m not _why the lucky stiff, but I like to add an element of imagination. The book is NSFW, and contains some foul language, because I’m not Zed Shaw either, but I like to say what I think. This book references several other languages, including Smalltalk, Self, JavaScript, Java, C++, Lisp, and PHP. It explains that the best way to understand Rails is as a multi-paradigm framework, and highlights the unique ways Rails blends its multiple paradigms.


Rails As She Is Spoke is a 95-page PDF eBook which:

You can read a free sample, too. (PDF)

Here’s what people are tweeting about Rails As She Is Spoke:






(The last tweet, a quote from TS Eliot, is something the great poet said in 1935. It precedes my book by about 80 years and is not a direct commentary on it. I just think it’s cool.)

Refund policy: you can get a refund for any reason. Satisfaction guaranteed.

Who Am I?

My name’s Giles Bowkett. I first used Rails in 2005. I’ve been working with Rails ever since, but I’ve also used Web technologies like Django, Seaside, Sinatra, Node.js, PHP, and the dreaded J2EE. I even wrote my own half-CMS, half-framework in Perl during the first dot-com boom. I’ve worked with a member of the Rails core team and I’ve spoken at many Ruby conferences, even getting a standing ovation once or twice. I volunteer with my local RailsBridge chapter and I helped start my local Ruby user group. When I decided to learn TDD, years ago, I took a workshop taught by Jim Weirich, the guy who wrote Rake.