In the space of about a month, Bob Reselman, the author of Coding Slave, went in my mind from "Who?" to "Him!"
It isn't much of a surprise, though. His .NET Rocks show was off the charts in terms of downloads and the amount of time it's been available. By comparison, my show has been up about five times longer, and it's been downloaded about 2,000 times less than Bob's. Obviously, people are pretty pumped about his episode.
I also get emails about him, find blog entries about him, and generally "talk Bob" with people who are "in the Bob know."
Just today, I was walking through the hallways at work when a coworker made a Bob reference. It was odd. It made me realize just how far knowledge of Coding Slave seems to have traveled - that it can be mentioned casually in conversation is really something.
Good timing, then, for the beginning of a multi-part (form-encoded (bad nerd joke - I'm sorry)) interview with the Reselman.
This also marks the first time that an interview on my site has been legitimate. All sorts of ground is being broken here today. It feels nice, not having to lie again about interviewing Stephen Hawking or Clippy.
We're planning on posting the interview in small, manageable chunks, and today will see the first chunk delivered.
The first few bits will cover the book, while one last part of the interview, about “Bob the Guy,“ will be posted later.
And note that this interview is still interesting even if you haven't read the book. As a matter of fact, the first question is partially dedicated to those who haven't taken the plunge, and Bob offers some interesting advice, straight from the author's mouth, on different ways to approach the book for the first time (or even going back and reading it again).
Enjoy...
Rory:
I'd like to start this off by admitting that, when I first heard about Coding Slave, I was skeptical. I tend to be pretty busy, and choose how I spend my free time very carefully. The idea of the book intrigued me, but it wasn't until your .NET Rocks interview that I finally decided to take the plunge and read it. I'm very glad I did, and I wanted to give you the chance, right off the bat, to explain to other people who might be approaching Coding Slave the way I did why it is that they should read this interview and then buy the book. They might also like to hear about the book's "modular" design which, as you promised, made it very accessible in small, manageable chunks.
Bob:
Let’s start with the "why should someone read this interview?" part of our question. The most important thing for someone about to read Coding Slave is to understand that that there are many ways to "read" the book. For example, there is the narrative way, in which you read the book as a story, with a plot and characters that are developed, come to fruition and resolve, very much in the format that I was taught in eighth grade creative writing. (Eighth grade creative writing being the only class in which I can actually remember learning something useful.)
Another way to read the book is symbolically. Many of the people, places and things in Coding Slave symbolize items and ideas that are universal to the human experience in general and the practice of software development in particular. For example, at the beginning of the book, one of the characters leaves town in a green Lexus. Toward the end of the book a red automobile becomes prominent. This is not a haphazard creation. The colors green and red are used for a reason. That one of the characters adorns himself with a gold handkerchief is not a random use of color either. In fact, color plays a large role in the symbolic aspects of the book. The fact that by implication Rafael and Ajita both have brown skin is quite relevant. There are other symbolic aspects to the book too, other than color. I invite the reader to think about this as he or she reads the work.
The third way to "read" the book is structurally. Each chapter begins in a specific format special to the part. Part 1 chapters begin "[noun] looked out", Part 2 chapters begin, "[noun] took hold of", and Part 3 chapters begin "[noun] let go off". The chapters begin this way by design. There is one chapter that violates this format, not surprising given the main character of that chapter. I challenge the reader to analyze the work to discover other structural themes in the book.
The fourth way the book can be read is poetically. I use allusion and simile throughout Coding Slave. For example, consider these excerpts from the book:
From Chapter 1 Ajita Escapes:
"…the plane began its ascent toward Heaven"
This phrase comes from the part of the book when the protagonist Ajita is leaving India to begin a new life in the United States. Ajita is ascending, going to heaven to be transformed into a new life. In her previous life, she was dying and in her escape she is being reborn.
Or consider the use of verbal rhythm in Chapter 9: Albert Leaves Town:
Albert Shulberg, a.k.a. "BigDick6969" looked out over the multi-colored rows of cars in the Rent-a-Car parking lot situated on the outskirts of the Magic Kingdom. The cars were arranged in Dr. Seuss fashion: There were red ones, blue ones, yellow ones, green ones. big ones, small ones, mid-size ones, dream ones.
There is a noticeable poetic rhythm to the sentence:
There were red ones, blue ones, yellow ones, green ones. big ones, small ones, mid-size ones, dream ones.
Coding Slave has dozens of examples of poetic simile and allusion.
A fifth way to read the book is from a cultural and historical perspective. The reason that I provide a glossary is so that the reader can better understand the cultural/historical references that I use in the book. Take this example, from Chapter 6 Katherine Has a Plan:
In the Corporate State the person in the position of COO was kindred to the likes of Richelieu, Metternich and Bismarck.
In order to really understand the implication of the sentence, the reader will do best to understand who Richelieu, Metternich and Bismarck were historically and what they did culturally and politically. I provide an explanation in the glossary.
And of course, there is The Meno. I went to a great deal of trouble and expense to include The Meno. Adding pages to a book takes away from the bottom line of the book’s profit. The paper for each page of a book costs money, the printing of each page cost money and the pre-production work of formatting, layout, editing and proofreading cost money. The Meno adds an additional thirty two pages to the book, an addition 20% in book costs. It is there for reasons of parody (bundling an extra piece of software with my software), poetry and cultural reference. The issues that Socrates talks about in The Meno thousands of years ago still persist and are relevant today, particularly in the world of software development.
From the Meno:
[Socrates] Then if virtue is knowledge, virtue will be taught?
But, I’ve think we’ve beat this horse enough for now. The only other important thing to know is the book is designed to be read during a subway or plane ride. Initially my plan was to put a kiosk on Wall St. and Broadway in NYC and sell the book to passersby coming to or going from work. There are a lot of coders on Wall St. One can sell books without a vendor’s license in NYC, due to that funny thing called the First Amendment. One of the great things about the Freedom of Speech idea is that I have a constitutional right to sell my book, no matter what. (However, be advised this right does not exist on private property, such as a shopping mall.) NYC does bend the amendment entitlements a little. There are restricted areas in the city. But overall anybody can sell a book on the street, which might explain all the bookseller tables that line the streets, selling books about out-of-date versions of Microsoft Office, PowerBuilder, Flash and Oracle. I figured that I could sell ten thousand books in a day down on Wall Street, for two or three days anyway. But, I did the throughput math and figured out that there was no way I could take cash payment and make change on the sale of a thousand books in a four hour period (2 hours going to work, 2 hours coming from work), let alone ten thousand books. So I went back to the drawing board. Now I sell the book on the Coding Slave website (www.CodingSlave.com), on Amazon, and ThinkGeek. I am working on getting it into the brick and mortars, but there is a small monopoly on access to big book stores. Yet, that’s another story. Let’s move on. (PS: I like it best selling off the website. I get to touch and sign each book before it goes to a reader.)
Rory:
I've heard quite a few things said about the book, but one thing in particular struck me as being potentially a bit unfair. Namely, that it's "porn for nerds." While there's a decent amount of sex in Coding Slave (certainly more than there was in Essential ASP.NET), I never got the feeling that it was there just for the sake of itself. I mean, it has a purpose in the story. I have quite a few of my own theories about what the purpose is, but would you like to take a moment to discuss the sex? Is it art or pornography? Or, even better, both?
Bob:
" is it art or pornography?".
When I think about your question, my mind creates two subsequent questions: Can art be pornographic? Can pornography be art? The most immediate answer to these questions is that Coding Slave is art. The book is a product of my creative thinking. I made it. There wasn’t any Coding Slave until I thought about it and acted on my thinking and creative sensibilities.
Is it pornography? If one defines pornography as the display of human sexual behavior void of an emotional connection, then, yes, the book has episodes which are pornographic.
Let’s look at how Dictionary.com defines pornography:
Sexually explicit pictures, writing, or other material whose primary purpose is to cause sexual arousal.
Did I mean for the passages to cause sexual arousal? No. Do they? Maybe. Did I get aroused when writing them? No, I was more scared than anything else. When my twenty year old daughter read the book, she said, "I like the book. It really kept me interested. But, I feel weird now because I know that you wrote it."
Documenting my sexual imagination for the entire world to read was not the easiest thing to do. But, it was necessary. The erotic gestures are designed to agitate the reader’s thinking and emotional disposition.
The sexual behavior described in the book is weird. It’s void of meaning, embellishment or emotional connection. There isn’t any sexual dialog between characters, there isn’t any anticipation, there isn’t any accommodation, there isn’t any resolution, not even a post-coital cigarette. There are sexual episodes that take place in cyberspace. These episodes lack tactile human connection. There isn’t anybody there. Just the idea of a body.
Overall the sex just happens and that is that. Nobody seems really passionate about it, and yet some of the characters are compelled to do it again while some want to prevent it from being done in public, to have others know what is going on, out of fear of loss of power. Without giving away the specifics of the book, allow me to offer these equations:
programming = work
codingSlaveCharacter.ProgrammingBehavior = codingSlaveCharacter.SexualBehavior
To my thinking, meaningful sex requires a great deal of emotional intimacy. Meaningful programming requires a great deal of cognitive intimacy. I’ll let you in on a secret: there isn’t a lot of intimacy in the book.
And that concludes the first installment.
Good stuff, methinks...
[Read Part Two of this interview]
After Blog Mint [?] :
Larry O'Brien is asking some questions, and the first is a doozy. Meanwhile, Ian posts some wierd stuff.