Toronto (a.k.a. Accordion City)

DemoCamp 7: Tuesday, July 4th at No Regrets

Lucky number seven already? How time flies.

For those of you who haven’t heard of DemoCamp, here’s a quick summary. DemoCamp is basically “show and tell” for Toronto’s techies. Every month since December 2005, we’ve been getting together for Democamp, during which 5 or so people show a software or hardware project that they’re currently working on, constrained by two rules:

  • You have 15 minutes in which to make your presentation. Typically, you’d split your presentation into 10 minutes for presentation, 5 minutes for questions or discussion.
  • No slides! No PowerPoint, Keynote or any kind of slideshows. You’re supposed to show your project in action, not handwave!

This month’s presenters are:

  1. Portal Prophet Platform Demo from Domainer Inc. – Kristan Uccello
  2. Financial Social Networks Demo – Josh Blinick
  3. Tagging the e-commerce web – Teehan+Lax
  4. The Glove: 3D info visualization – Cameron Browning
  5. Special Guest Appearance: Perl 6Damian Conway

DemoCamp 7 will take place on Tuesday, July 4th at 6:30 p.m. at No Regrets (42 Mowat Avenue). Since No Regrets is a restaurant, the after-DemoCamp social will also take place there. To find out more about the event, see the DemoCamp 7 wiki page.

It Happened to Me

Boston Bumper Stickers

When I was last in Boston — just a couple of weeks ago, to attend Wendy’s 10th college reunion — we were driving about and saw the car below, which sported a couple of amusing bumper stickers:

Yeah, I Photoshop-blurred the licence plate.

Here’s a close-up of the bumper sticker on the left. I need one of these:

And here’s the one on the right:


RailsConf 2006: why the lucky stiff and the Thirsty Cups

(This article also appears on Tucows Farm.)

The Ruby community are a bunch of lucky stiffs because why the lucky stiff is among their number. We’re lucky enough that why has given us his book-in-progress, why’s (poignant) guide to Ruby, the most whimsical programming book ever. Somehow, it manages to be both entertaining and still useful as a tutorial. We’re doubly lucky that why is also a gifted entertainer, who came to RailsConf not to deliver a keynote, but to give us a multimedia show.

Accompanied by his band, the Thirsty Cups, why treated us to a show that alternated between Ruby-themed musical numbers whose lyrics included unit tests and David Heinemeier Hansson dying at the hands of Robert Scoble, strange but amusing stories about koalas and “obidience lacquer” and sentient puddings coding viruses, and Flash animations, one of which was an amusing comparison of Java’s and Ruby’s exception handling (Java is wussy, in that it will try to catch you, while Ruby is more movie hero-like: it will begin a rescue mission).

Here’s a quick sample: a QuickTime movie of a number whose chorus is “Am I a Programmer Yet?” [11 MB]

A scene from why’s crazy multimedia show. Click the image to see the video (11MB, QuickTime)

“You know, you’d never see this kind ofthing at JavaOne,” I said to someone beside me during one of why’s songs, which are a sort of Ween-meets-Danielson-sounding.

I got to chat with why for a little bit after his performance. The moment was captured by Sebastian Delmont, probably around the time when why saw the accordion slung around my right arm and asked “Wait a minute…aren’t you the Accordion Guy?”

I meet why. Photo by Sebastian Delmont. Click the image to see it on its Flickr page.

If you ever get the chance to see one of why’s performances, do it! And why, if you’re reading this: if you ever need an accordion player to sit in, you know whom to call.

Accordion, Instrument of the Gods It Happened to Me

RailsConf 2006: Where AC/DC, Stravinsky and Ruby on Rails Meet!

(This article also appears on Tucows Farm.)

I had the distinct honour of being invited to play an accordion opening number for Adam Keys’ most amusing presentation, AC/DC, Stravinsky and Rails. I played AC/DC’s You Shook Me All Night Long, and did a bonus round of Big Balls at the end of the presentation based on a request by someon ein the audience for more AC/DC on accordion. To Adam and the guy who asked for more accordion, I salute you with a filet mignon on a flaming sword!

Adam Keys at the start of his presentation.

Discover Yourself

Here’s a fact about AC/DC songs: if you know the title of the song, you also know its chorus. Consider the songs on Back in Black: You Shook Me All Night Long, Shoot to Thrill, Hells’ Bells and so on — they’re both the songs’ titles and refrains!

Something similar happens with Rails: if you know the URL of a page in a Rails application, you can easily infers it controller and possibly even an action within that controller.

Explore the Space

“AC/DC are masters of the tasteful use of space,” asserted Adam, who then demonstrated this by playing the opening sequence to Back in Black. It’s a pretty clean opening, with straight-out chords and only a little riffing. “Imagine this song dones by Van Halen,” said Adam, who then proceeded to pantomime Eddie Van Halen playing the opening chords by packing them full of the wheedly-wheedly-wheedly guitar noodling that is his stock in trade. By showing restraint, AC/DC made the song great.

The design of Rails encourages tasteful restraint, a necessary antidote to the programmer tendency to throw “everything including the kitchen sink” into an application. Adam summarized it by saying “Rails codifies resistance to this urge”.


One of the nice things about AC/DC is that in their 30 years, they’ve been consistent. “You know they’ll never slip a ballad on you.”

Rails enforces a similar consistency by making it easy to write to a specific set of conventions.


The space that AC/DC leave in their songs lets them rock out. It allows lead guitarist Angus Young the freedom to run about on stage while playing. The simple structures of their songs also make them easy to grasp — “Why dig when you can just know?”

Rails is also set up in a way so that it’s easy to “rock out”. The directory structure of a Rails app makes it easy to find things. Other frameworks force you to go spelunking. The “why dig when you can just know?” philosophy is just as apt with Rails.

Bus Factor

The “Bus Factor” is the number of people in a project that have to be hit by a bus before the project becomes defunct. In the case of AC/DC, who suffered a tremendous blow with the death of frontman Bon Scott, the Bus Factor is greater than 1. They ended up taking on Brian Johnson as their lead singer and came back with their best-known and best-loved album, Back in Black.

Adam pointed out how Van Halen weren’t quite the same after the departure of David Lee Roth (they’re better referred to as “Van Hagar”) and the Rolling Stones would probably be doomed if either Mick or Keith left.

Although Ruby on Rails has a formidable “face” in the form of David Heinemeier Hansson, each member of the Rails Core group makes significant contributions. Their organization is quite flat — they’re more a “trusted group of people” rather than “a wizard and his monks”. Even if David were to be hit by a bus — or, more likely, killed in a supermodel “walk-off” competition a la Zoolander — there’s enough talent in the Core group that Rails could go on. Like AC/DC, Rails’ Bus Factor is greater than 1.

Flatten the Cost Curve

Let’s face it — an AC/DC song can be conceived, written, rehearsed and recorded in a single day. The same can be said for Rails apps — Rails makes it easy to put together a working application in a small fraction of the time it would take using other languages and frameworks.

Stravinsky’s Rite of Spring

At this point in the presentation, Adam introduced Igor Stravinsky’s controversial Rite of Spring. If AC/DC’s music could be used as a metaphor for Rails, Rite of Spring, with its complexity, could be a metaphor for frameworks like J2EE.

Some observations:

  • Rite of Spring requires a conductor. The orchestra required to play the piece is comprised of 100 musicians.
  • Rite of Spring has unchanging requirements and “big design up front”. It’s classical music. The ink is dry.
  • Rite of Spring is complex. Adam showed the audience a single page of the score; it has been described as “piano music for a monster 29-handed alien”.
  • Rite of Spring has hard-to-grasp rhythm. Whereas all AC/DC songs are in 4/4 time; Rite of Spring changes meter and uses odd time signatures, such as 11/4. Adam made the statements that software “should be closer to nursery rhymes” and “shouldn’t be more clever than our users can handle”.
  • Rite of Spring is unapproachable except by experts. In order to even be considered to be a musician in an orchestra that will play the piece, you should have at least 11 years of musicianship under your belt; with an orchestra of 100, that’s 1100 combined years of experience. “Let’s not make software like that,” Adam said.


AC/DC came in two flavours: the Bon Scott version and the Brian Johnson version. Rite of Spring comes in at least a couple of flavours too: there’s the full orchestral version and a two-piano version. As for Rails, you can omit things from the core distribution, or augment it with plugins, gems and monkeypatches.


Adam says that AC/DC music has most certainly led to brouhahas, and as a DJ at an engineering students’ pub, I have to concur. Rite of Spring, with its strange meters, atonalities and dissonances and theme of human sacrifice, caused the audience at its 1913 premiere in Paris to riot.

Rails is no different. As “opinionated software” put together by an opinionated developer, and as a framework that’s making moves onto territory claimed by Java, it too has led to all sorts of arguing. Just Google the terms “Rails” and “Java” to see what I mean.

All these are examples of different things inspiring passion, which is just as important as tools and people.


Blogging Has Officially Jumped the Shark

Back in the Archie Goes Goth entry, I wrote “It’s a little-known fact that your subculture is over the minute it becomes a plot point in an Archie comic.”

I declare that blogging has jumped the shark, but not because Reggie now has a MySpace page:

Blogging has jumped the shark because it’s been referenced in the one comic that is even more blandly mainstream than Archie: it’s The Family Circus. Here’s a photograph of the comic that appeared on Wednesday:

It Happened to Me

A Year’s Worth of Girl Trouble

The web statistics suggest that I’m getting a crop of new readers, partially because of the Love/Hate T-shirt entry, partially because of the entry featuring the Family Circus/Cthulhu mashups and partly because of RailsConf and some nice linkage from the Ruby community’s very own rock star, why the lucky stiff and his Ruby-related site, RedHanded.

Welcome, new readers! Go fetch your favourite beverage and feel free to cruise through the archives. There’s almost five years’ worth of stuff here, ranging from silly to serious. If you’re at a loss for a place to start, try this page, which features links to my favourite blog entries.

To narrow it down further, let me suggest the “Girl Trouble” entries of 2003, which are listed below. Enjoy!

Worst Date Ever

I’ll cut to the chase: the date ends with her screaming while curled up in the fetal position.

She was a pretty blonde waitress with an English accent who worked at the cafe I frequented. I had a crush on her from the first moment I laid eyes on her, and it turns out that she had a thing for me, too. Unfortunately, that’s about the only thing that went right. This multi-part story has got it all: adult situations, violence, ketamine, strong language and ABBA.

The New Girl Story

This is the blog entry that got me nominated for a bloggie and landed me a chapter in the book Never Threaten to Eat Your Co-Workers: Best of Blogs.

The short version: I gush about my new girlfriend in a blog entry,

someone reads that entry and sends me an email warning me that the

girlfriend is not whom she says she is. Creepiness ensues.

Last Night

In this entry covering a single night, I face romantic disappointment, thwart a pickpocket,

endure bad poetry, entertain a crowd, aid and abet underage drinking,

come between a small-town girl and two Gap ninjas, entertain another

crowd and get complimented on my hat.

Geek It Happened to Me

Meanwhile, in the Blog I Get Paid to Write…

Over at Tucows Farm, an entry about being both a developer and a marketer, with a link to a particularly intriguing entry in Seth Godin’s blog. That, and a little Photoshoppery…