1. Opening This Book
Pretend that you’ve opened this book (although you probably have opened this
book), just to find a huge onion right in the middle crease of the book. (The
manufacturer of the book has included the onion at my request.)
So you’re like, “Wow, this book comes with an onion!” (Even if you don’t
particularly like onions, I’m sure you can appreciate the logistics of shipping
any sort of produce discreetly inside of an alleged programming manual.)
Then you ask yourself, “Wait a minute. I thought this was a book on Ruby, the
incredible new programming language from Japan. And although I can appreciate
the logistics of shipping any sort of produce discreetly inside of an alleged
programming manual: Why an onion? What am I supposed to do with it?”
No. Please don’t puzzle over it. You don’t need to do anything with the onion.
Set the onion aside and let it do something with you.
I’ll be straight with you. I want you to cry. To weep. To whimper sweetly. This
book is a poignant guide to Ruby. That means code so beautiful that tears
are shed. That means gallant tales and somber truths that have you waking up the
next morning in the arms of this book. Hugging it tightly to you all the day
long. If necessary, fashion a makeshift hip holster for Why’s (Poignant) Guide
to Ruby, so you can always have this book’s tender companionship.
You really must sob once. Or at least sniffle. And if not, then the onion will
make it all happen for you.
2. The Dog Story
So try this first bit of poignancy on for size:
One day I was walking down one of those busy roads covered with car dealerships
(this was shortly after my wedding was called off) and I found an orphaned dog
on the road. A woolly, black dog with greenish red eyes. I was kind of feeling
like an orphan myself, so I took a couple balloons that were tied to a pole at
the dealership and I relocated them to the dog’s collar. Then, I decided he
would be my dog. I named him Bigelow.
We set off to get some Milkbones for Bigelow and, afterwards, head over to my
place, where we could sit in recliners and listen to Gorky’s Zygotic Mynci. Oh,
and we’d also need to stop by a thrift store and get Bigelow his own recliner.
But Bigelow hadn’t accepted me as his master. So five minutes later, the stupid
dog took a different crosswalk than I did and I never caught up. So whereas he
had previously only been lost once, he was now lost twice. I slowed my pace
towards the life of Milkbones and an extra recliner. I had a dog for five
Stupid Benedict Arnold of a dog. I sat on a city bench and threw pine cones at a
statue of three sheep crossing a bridge. After that, I wept for hours. The tears
just came. Now there’s a little something poignant to get you started.
I wonder where he went with all those balloons. That crazy dog must have looked
like a party with legs.
It wasn’t much later that I pulled my own Bigelow. I printed out a bunch of
pages on Ruby. Articles found around the Web. I scanned through them on a train
ride home one day. I flipped through them for five minutes and then gave up. Not
I sat, staring out the window at the world, a life-sized blender mixing graffiti
and iron smelts before my eyes. This world’s too big for such a a little
language, I thought. Poor little thing doesn’t stand a chance. Doesn’t have
legs to stand on. Doesn’t have arms to swim.
And yet, there I was. One little man on a flimsy little train (and I even still
had a baby tooth to lose at the time) out of billions of people living on a
floating blue rock. How can I knock Ruby? Who’s to say that I’m not going to
happen to choke on my cell phone and die later that evening. Why’s dead, Ruby
What’s in his trachea? Oh, look, a Nokia!
Just my luck. Finally get to have a good, long sleep underground, only to be
constantly disturbed by Pachelbel’s Canon going off in my stomach.
3. The Red Sun Rises
So, now you’re wondering why I changed my mind about Ruby. The quick answer is:
Like when you meet Somebody in college and they look like somebody who used to
hit you in the face with paintbrushes when you were a kid. And so, impulsively,
you conclude that this new Somebody is likely a non-friend. You wince at their
hair. You hang up phones loudly during crucial moments in their anecdotes. You
use your pogo stick right there where they are trying to walk!
Six months later, somehow, you and Somebody are sitting at a fountain having a
perfectly good chat. Their face doesn’t look so much like that childhood
nemesis. You’ve met the Good Twin. You clicked.
So whereas I should probably be pounding your teeth in with hype about Ruby and
the tightly-knit cadre of pertinent acronyms that accompany it everywhere
(whetting the collective whistles of your bosses and their bosses’ bosses),
instead I will just let you coast. I’ll let you free-fall through some code,
interjecting occasionally with my own heartfelt experiences. It’ll be quite
easy, quite natural.
I should offer you some sort of motivation, though. So, Smotchkkiss, I’m going
to give my three best reasons to learn Ruby and be done with it.
Vitamin R. Goes straight to the head. Ruby will teach you to express your
ideas through a computer. You will be writing stories for a machine.
Creative skills, people. Deduction. Reason. Nodding intelligently. The
language will become a tool for you to better connect your mind to the world.
I’ve noticed that many experienced users of Ruby seem to be clear thinkers and
objective. (In contrast to: heavily biased and coarse.)
One man on one island.
Ruby was born in Japan. Which is freaky. Japan is not known for its
software. And since programming languages are largely written in English, who
would suspect a language to come from Japan?
And yet, here we have Ruby. Against the odds, Yukihiro Matsumoto created
Ruby on February 24, 1993. For the past ten years, he has steadily brought Ruby
to a global audience. It’s triumphant and noble and all that. Support diversity.
Help us tilt the earth just a bit.
Using Ruby costs nothing. The code to Ruby itself is open for all of the
world to inhale/exhale. Heck, this book is free. It’s all part of a great, big
giveaway that should have some big hitch to it.
You’d think we’d make you buy vacuums or timeshare or fake Monets. You’d
think there’d be a 90 minute presentation where the owner of the company comes
out at the end and knuckles you into sealing the deal.
With that, it’s time for the book to begin. You can now get out your highlighter
and start dragging it along each captivating word from this sentence on. I think
I have enough hairspray and funny money on my person to keep me sustained until
the final page.
4. How Books Start
Now, if you ever have read a book, you know that no book can properly start
without an exorbitant amount of synergy. Yes, synergy. Maybe you didn’t know
this. Synergy means that you and I are supposed to cooperate to make this a
great reading experience.
We start off the book by getting along well in the Introduction. This
togetherness, this synergy, propels us through the book, with me guiding you
on your way. You give me a reassuring nod or snicker to indicate your progress.
I’m Peter Pan holding your hand. Come on, Wendy! Second star to the right and on
One problem here. I don’t get along well with people. I don’t hold hands very
Any of my staff will tell you. At the Opening Ceremonies of This Book (a catered
event with stadium seating), I discovered that the cucumber sandwiches weren’t
served in tea towels. As a result, the butter hadn’t set with the cucumbers
right… Anyways, I made a big scene and set fire to some of the advertising
trucks outside. I smashed this spotlight to pieces and so on. I had this loud
maniacal laughing thing going on deep into that night. It was a real mess.
But, since I don’t get along well with people, I hadn’t invited anyone but
myself to the Opening Ceremonies of This Book. So it wasn’t really that
embarrassing. I kept it under wraps and no one found out about the whole ordeal.
So you’ve got to know that synergy doesn’t actually mean synergy in this
book. I can’t do normal synergy. No, in this book, synergy means
cartoon foxes. What I’m saying is: this book will be starting off with an
exorbitant amount of cartoon foxes.
And I will be counting on you to turn them into synergy.