Yeah, it’s been around for years, but I decided that today would be the day to render me as a South Park character on the SP-Studio site. The end result is pictured on the right.
Category: It Happened to Me
Happy Belated Canada Day!

I spent the holiday away from the computer, and Wendy and I had fun taking her parents around town. I hope your weekend was fun, and welcome to a short working week!
In honour of Canada Day, here’s Ren and Stimpy singing the Royal Canadian Kilted Yaksmen theme [1.9 MB MP3 file] (which I first posted in this entry).
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:


(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”.
Consistency
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.
Intutive
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.
Flavours
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.
Fight!
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.
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.
- Worst Date Ever, Chapter 1
- Worst Date Ever, Chapter 2
- Worst Date Ever, Chapter 3a
- Worst Date Ever, Chapter 3b
- Worst Date Ever, Chapter 4
- Worst Date Ever, Chapter 5
- Worst Date Ever, Denouement Part 1
- Worst Date Ever, Denouement Part 2
- Bring It On
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.
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…
Pictured below is the inside of my knapsack as it appeared in the late morning on Thursday, June 22nd. The cute little creatures within are Tucows’ most popular pieces of swag: the beloved Squishy Cows. They fit quite comfortably in most adult hands and have a very lovely “give” to them.

I never thought these lovely creatures would ever get me into trouble, but the almost did that Thursday, while I was at the security gate at Accordion City International Airport.
“Excuse me, sir,” said lady behind the x-ray machine as my stuff emerged from its innards. “You’ve been selected for a random security check. Could you please collect your things and follow me over here?”
“Sure,” I said. Luckily, I wasn’t pressed for time. In fact, I had plenty of time to kill, as a storm that morning meant that the plane I was going to fly was still grounded in Chicago.
They opened the accordion case first, ooh-ing and aah-ing at it. They asked if it was an antique, and I explained that it wasn’t. It’s just that accordion makers are hardcore traditionalists and like that “old school” look.
What really got her attention were the Squishy Cows in my knapsack.
“Ooooh!” she squealed. “It’s so cuuuuuute!”
She turned aside for a moment and summoned a man in uniform. As he approached, he started putting on surgical gloves.
In the meantime, a couple of women in security company outfits came over to see what the squealing was about.
“Look!” said the security woman, “a cow!”. She held it up for her co-workers to see.
“Awwwww….” said one of the other women, who pulled another cow out of my knapsack. The other women gathered around to gape at the cows.
“Come with me, sir,” said the man, leading me away from the area.
“Why? What about my stuff?”
“Come. With. Me,” he said, a little more forcefully, reaching for my arm.
“Excuse me…” I said to the women, deep in a Squishy Cow-induced fugue state. “EX-CUSE ME!”
“Oh,” said the woman who initiated the search. She stopped the security man and said “No, no, no, not that kind. Waist-up search only.“
Jesus Christ, I thought, “waist-up?!”
“Are you sure?” he asked, with what sounded like a tone of disappointment.
“Yes, I’m sure.”
“Are you sure?” he asked again.
“Yes. Waist. Up.“
With a sigh that seemed to say “Denied the fingerbang again!, he asked me to spread my arms wide and proceeded to do a waist-up search.
And with the end of the search, my anal sovereignty remained intact. I took my knapsack and zipped it up before the cows could cause any more trouble.
(By the way, I didn’t coin the phrase “anal sovereignty”. Jon Rosenberg, author of the webcomic Goats, was the clever mind behind that gem.)

