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.
<aside class=”sidebar” markdown=1> ## What I’m Going to Do With the Massive Proceeds from this Book
Anyone who’s written a book can tell you how easily an author is distracted by visions of grandeur. In my experience, I stop twice for each paragraph, and four times for each panel of a comic, just to envision the wealth and prosperity that this book will procure for my lifestyle. I fear that the writing of this book will halt altogether to make way for the armada of SUVs and luxury town cars that are blazing away in my head.
Rather than stop my production of the (Poignant) Guide, I’ve reserved this space as a safety zone for pouring my empty and vain wishes.
Today I was at this Italian restaurant, Granado’s, and I was paying my bill. Happened to notice (under glass) a bottle of balsamic vinegar going for $150. Fairly small. I could conceal it in my palm. Aged twenty-two years.
I’ve spent a lot of time thinking about that bottle. It is often an accessory in some of these obsessive fantasies. In one fantasy, I walk into the restaurant, toss a stack of greenery on the counter and earnestly say to the cashier, “Quick! I have an important salad to make!”
In another, related fantasy, I am throwing away lettuce. Such roughage isn’t befitting of my new vinegar. No, I will have come to a point where the fame and the aristocracy will have corrupted me to my core. My new lettuce will be cash. Cold, hard cash, Mrs. Price.
Soon, I will be expending hundreds for a block of myzithra cheese.
My imaginations have now gone beyond possessions, though. Certainly, I have thought through my acquisition of Grecian urns, motorcades, airlines, pyramids, dinosaur bones. Occasionally I’ll see wind-tossed cities on the news and I’ll jot down on my shopping list: Hurricane.
But, now I’m seeing a larger goal. Simply put: what if I amassed such a fortune that the mints couldn’t print enough to keep up with my demand? So, everyone else would be forced to use Monopoly money as actual currency. And you would have to win in Monopoly to keep food on the table. These would be some seriously tense games. I mean you go to mortgage St. James Place and your kids start crying. In addition, I think you’ll begin to see the end of those who choose to use the Free Parking square as the underground coffers for city funds.
You’ve got to hand it to fun money, though. Fake money rules. You can get your hands on it so quickly. For a moment, it seems like you’re crazy rich. When I was a kid, I got with some of the neighborhood kids and we built this little Tijuana on our street. We made our own pesos and wore sombreros and everything!
One kid was selling hot tamales for two pesos each. Two pesos! Did this kid know that the money was fake? Was he out of his mind? Who invited this kid? Didn’t he know this wasn’t really Tijuana? Maybe he was really from Tijuana! Maybe these were real pesos! Let’s go make more real pesos!
I think we even had a tavern where you could get totally hammered off Kool-Aid. There’s nothing like a bunch of kids stumbling around, mumbling incoherently with punchy red clown lips. </aside>
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 minutes.
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 impressed.
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 lives on.
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: we clicked.
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 till morning.
One problem here. I don’t get along well with people. I don’t hold hands very well.
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.