An Intro to Ruby’s “Enumerable” Module

“If you’re still writing for loops, stop; there’s a better way.” In Ruby, for loops should be the exception. Make sure you know all about the functionality offered by the Enumerable module, which has methods for iterating through, sorting and searching arrays, hashes and other collection-type objects.


TSOT’s Ruby/Rails Project Night

Andrew Burke, Hampton Catlin and Mike Ferrier

Tonight is TSOT’s first monthly Ruby/Rails Project Night, where we invite the local developer community into our offices to see presentations on Ruby and Rails development and socialize. We’ve got a great lineup of speakers:

  • Yours Truly, on the lessons and challenges of Zed Shaw’s rant
  • Andrew Burke on the business and technical aspects of his current Rails project
  • Hampton Catlin on
  • Mike Ferrier on The Score’s iPhone application

The event will take place at TSOT’s office — 151 Bloor Street West (on the south side, just east of Avenue Road), suite 1130. The doors open at 5:30 p.m., during which time we’ll serve food. Presentations start at 6-ish, with breaks in between and some time for socializing afterwards. Admission is free, but space is limited — to register, please email


17 Thousand Reasons I AM a Ruby on Rails Developer

The blogger at willcode4beer says in 17 Thousand Reasons I’m not a Ruby on Rails Developer that the median salary of Rails developers is on average $17K less than that for J2EE developers. I’m not worried — the pay at TSOT for RoR development is on par with the J2EE rates cited.

The article also suggests that “to bring salaries up, they need to drop the ‘easy’ part. Development is hard, and no language or platform is going to change that. We solve complex problems. Complex problems are hard to solve. period. They should focus on the productivity gains in the areas where Rails shines, and try to avoid the areas where it doesn’t.”


Rant Said Zed: I’m Too Sexy for My Rails

Fred Fairbrass and Zed Shaw, side by side. The resemblance is uncanny!
The resemblance is uncanny, isn’t it?
Zed Shaw photo by Adewale Oshineye — click the photo to see it on its Flickr page.

By now, most Rails developers — and even a number of people who couldn’t care less about Rails — have read Zed Shaw’s infamous rant titled Rails is a Ghetto. It’s given me a lot to think about, and as a result, I’m changing my presentation topic at Tuesday’s TSOT Ruby/Rails Project Night to Rant Said Zed: I’m Too Sexy for my Rails (or: Lessons and Challenges from Zed Shaw’s Rant). I promise that it’ll be both informing and entertaining.

  • Want to know more about Tuesday’s TSOT Ruby/Rails Project Night, which takes place this Tuesday, January 8th? See this entry.
  • Want to sign up? Email me!

Aside: A Quick Trip Down Memory Lane

How can I reference Right Said Fred without showing you the video for their one hit?


“Now, While Rails is Weak, We Must Strike!”

Rebel pilot briefing from “Star Wars: A New Hope”, with some Rails-specific changes made to the display of the Death Star

If you’ve been following the usual programmer and tech new sites, you’ve probably read (or at least heard of) Zed Shaw’s rant, titled Rails is a Ghetto. If you haven’t read it yet, go there now, give it a quick read and come back. I can wait.

High-spirited stuff, isn’t it? As you might expect, there have been a number of interesting responses to Zed’s polemic, but only one made me laugh out loud — it’s this entry in Jesse Stay’s blog:

Ruby on Rails is weak right now, it’s breaking apart from the inside. Now is the time for the Perl community to show its strength and unite in an effort to make Perl once again the most used platform on the web!

Perhaps it’s time for Larry Wall to update his maxim about the great virtues of a programmer: it should now be laziness, impatience, hubris and revenge fantasies.


Gift Idea: “RailsSpace: Building a Social Networking Site with Ruby on Rails”

Cover of the book “RailsSpace”Today marks the start of my fourth week at TSOT, a Toronto-based startup that develops custom social networking software in Ruby on Rails. The company’s first two products are FraternityLive and SororityLive, which as you might imagine are targeted at fraternities and sororities, with future plans for creating similar apps for other fields.

I was hired primarily for my tech evangelism cred and broad development experience (Visual Basic, Python, PHP, Director and Java from the rough-and-tumble Java 1.2 days) rather than for experience with Rails, on which I’d done only a little spare-time noodling. This means that a good chunk of my time during this first month on the job has been split between getting familiar with Rails as well as TSOT’s apps.

Just before my first day at TSOT, I went down to Boston to join my in-laws for American Thanksgiving. While there, I decided to take advantage of the strong Canadian dollar and Thanksgiving weekend sales to do a little job-related book shopping. Although I had the PDF edition of Apress’ Practical Rails Social Networking Sites, I was pleased to stumble across another book on building social networking apps in Rails: Addison Wesley’s RailsSpace: Building a Social Networking Site with Ruby on Rails. I figured that if I find a book that covers the sort of development work that I’m about to start, I should buy it on the spot (after a quick skim of the book while in the store, of course).

Of all the books I’ve read on Rails development, this one’s my current favourite. Yes, there’ll always be a special place for Agile Web Development with Rails, but I have to say that I like the pacing, ordering of topics and the presentation of material in RailsSpace a little bit better. I like the way that authors Michael Hartl and Aurelius Prochazka take a slightly different approach to teaching Rails, from going with a social networking app rather than a “store” app to their clever visualization of Rails’ directories as a pie chart, shown below:

Rails directories, laid out in pie chart format
Graph adapted from RailsSpace
and borrowed from Weblog of Fernando Reig Matthies.

So take it from a guy who’s paying his rent by working on Rails social networking apps: if you have some development experience under your belt and are looking to pick up Rails in a hurry (or if you’re looking for a gift for someone who needs to learn Rails in a hurry) I recommend:

Here’s what other folks have to say about the book:

  • Review at by Charles Harvey: My favorite of the Ten Ruby and Rails Books on my desk — “The authors’ programming style(s) are easy to read while following and teaching the Ruby/Rails community practices. The book uses output examples after each snippet of code so you can follow along not wondering if what you just did worked.

    The example app you produce while working through RailsSpace is not YASNS (Yet Another Social Networking Site) rather a (LBERBPS) Learn by Example Rails Best Practices Site. It was fun for me as I was tired of shopping cart, and book/music store examples.

    I don’t know how to put it into to the right words, but this books code flows.

    I always enjoy the rare book that sets a standard of excellence, and that is what puts this book at the top of my Ruby on Rails Library.”

  • myCATs: An excellent Rails tutorial for the intermediate Rails Programmer — “This book is just plain fun. As the title implies, the focus is on building a social networking site using Ruby on Rails. The depth of knowledge of the authors, Michael Hartl and Aure Prochazka, is evident right from the first chapter. The examples are relevant and well explained, with clean, consice, well-tested and correct code.”
  • Nate Klaiber: RailsSpace review — “I may seem cynical about social networks, but this truly book pays attention to the small details. Building a social network is a great tutorial that covers many aspects of Rails and building your own application – no matter what it is. It has several callout boxes that give more explanation where it is needed. It discusses the importance of testing. It shows the importance of refactoring. All of this comes together to make a great reading experience and knowledge gained. If you are a Rails professional, there might not be a whole lot new for you, but if you are just beginning Rails this is an excellent full-blown tutorial. Even if you don’t want to create a social networking site, the foundation and principles set in this book will give you the knowledge needed to start building your own application.”
  • ComputerWorld: RailsSpace hits the Ruby on Rails learning sweet spot — “…if you’re already a proficient OOP developer — or a beginner who prefers learning by example — RailsSpace offers useful insight into what the Ruby on Rails hoopla is all about.”
  • A.P. Lawrence: RailsSpace — “I liked also that the project paid attention to both looks and ease of use without clouding up with too much detail. The design is simple, but with enough attention paid to presentation to understand how to accomplish that in ROR, and the same is true for niceties like data validation: they do enough to show the concepts without burying us in it.

    The authors also included deliberate mistakes – that is, design deficiencies which you might notice before they get around to pointing out the problem. That’s good too, because often the best way to understand why you need to do something this way is to see what happens when you don’t.”

  • WebChicanery: RailsSpace – The Book — I’m somewhat skeptical of these “build a project and learn” type of book, but this book may be one the the handiest book on Ruby that I’d had a chance to read. The authors approach it was a very pragmatic and structured standpoint, all while explaining some neat steps and additions they’ve thrown in along the way.”

TSOT’s Ruby/Rails Project Nights – Starting January 8th

Bruce Lee, wearing a TSOT t-shirt and holding Ruby on Rails nunchuks.

The Quick Version

TSOT Ruby/Rails Night
Tuesday, January 8th, 2008 (and the second Tuesday of every month)
@ TSOT’s office — 151 Bloor Street West (on the south side, just east of Avenue Road)
11th floor
Door open and food at 5:30 p.m.
Presentations start at 6-ish
FREE ADMISSION (but limited space)
To register, please email

About TSOT

TSOT is a Toronto-based start-up that develops — look out, here come the buzzwords — social networking applications using Ruby on Rails. Our first applications are FraternityLive and SororityLive, social software built specifically for people in fraternities and sororities. Both apps are currently being tested with a userbase of thousands of university students and alumni, and we expect to release them in early 2008.

About Ruby/Rails Project Nights

We believe that it’s good for Toronto to have a healthy developer ecosystem — it’s good not only for us as a Toronto-based development shop, but also as a group of developers who are passionate about the work we do. We’d like to see Toronto as “Silicon Valley++” — with the vibrant high-tech scene, but with all the amenities that make Toronto a better place to live than the Valley (such as not being a dreary 50-mile stretch of suburbia and having decent places to go at night).

Hence our contribution to the local developer scene: TSOT Ruby/Rails Project Nights, which will take place on the second Tuesday of every month. They’ll feature in-depth presentations by developers working on interesting projects — primarily Ruby and Ruby on Rails — along with drinks and munchies and a chance to socialize with your fellow developers. They’ll be hosted by Yours Truly, TSOT developer and DemoCamp regular Joey “Accordion Guy” deVilla.

The First Night: Tuesday, January 8th

This first Ruby/Rails Night will feature presentations by a couple of Ruby/Rails local heroes on their current Ruby/Rails projects:

The doors will open at 5:30, the first presentation will start at about 6, and we hope to wrap up the evening by 8:30 or 9. We’ll provide food and drinks, and if there’s enough of a demand, we can always go out to a nearby pub afterwards. There’s no cost to attend (but be advised that seating is limited).

If you’ve been thinking about making a Ruby or Rails presentation (perhaps you want to rehearse for RailsConf 2008!), we’d like to have you present it at one of our project nights!

Add TSOT Ruby/Rails Nights to your list of New Year’s resolutions!

How Do I Register?

Registration is free, but space is limited. To register for the upcoming Jan 8th gathering, please email

For More Information

For more information about TSOT Project Nights, please contact:

The event is also listed on