[ About | Features | Music | Pictures | Software | Writing ]
( adam | aaron | alyson | brendan | claudia | jakey b | joe | john | jill | kevan | kristen | kris | mom | rachel | rachel 2 | r | sam | seth | sumana | susanna | tpm | ... )

Crummy: The Site
I built it one piece at a time.
Hi, I'm Leonard. This is my site. Useful stuff. Funny stuff. Gotta keep hacking.

News You Can Bruise

[RSS] [Archives]
2008 July
MonTueWedThuFriSatSun
 122334456
78910111213
14151617181920
21222324252627
28293031   
Buy my books!

1 year ago: A sonnet (about sonnets!) written in Inform 7.

3 years ago: Unidentified Stationary Objects #2

5 years ago: Bonus Independence Day Tonight's Episode

9 years ago: I'm going to the fabulous Pricewatch to look at...

[No comments] : Excellent! The car from "One Piece at a Time" was actually built as a publicity gimmick, by a guy at this company. However, according to a Wikipedia talk page, surely one of the least reliable sources imaginable, "the car pictured never ran".

[No comments] The Truth Is Out There: Oh, here's the real reason the PVR was overheating. I didn't take the little plastic condom off the heatsink before installing it. So the CPU wasn't actually sinking much heat--it was just shrink-wrapping the heatsink. I removed the plastic and there was some slight loss of thermal compound, but everything seems to be working fine now.

As you can tell, I don't put together a lot of computers these days.

[No comments] "He said to take any rug in the house.": I. Saw. Iron. Man. with Sumana. It was pretty fun. Sumana was hoping I would be blown away, and it was probably the best superhero movie I could hope to see, but I don't really like superheroes or movies made about them. If you go to Kris's old video where he figures out the exact dates he collected Iron Man back issues, that was the opposite of my childhood. It was like the childhood of someone whose religious parents forbad comic books as Satanic, except my parents weren't like that. I thought there was something wrong with comic books on my own.

I've grown up and I no longer think there's anything wrong with comic books per se, but I find superhero comics ridiculous. Super-inventor Tony Stark basically invents cold fusion and his first priority is to use it to power his robot exoskeleton so he can beat up terrorists. That logic may work in four colors in the 1960s, or even in a stylized format today, but it doesn't hold up well in a live-action movie. Now, they actually did a good job of depicting someone for whom that would be the first priority, but nobody else in the movie tried to present alternate possibilities.

Anyway, Jeff Bridges is always fun, and after the movie we went to the comic book shop and spent a total of $17.76 on comic books. Happy Fourth!

[Comments] (2) : For years I've been wanting to build a PVR and get rid of our Tivo. Partly because I like hacking things and it's really hard to hack the Tivo. Partly because over time our compliance with the Tivo lifestyle has declined precipitously, as we get more of our recorded entertainment from prepackaged and online sources, and less from Spontaneous Dissemination. But Linux PVR distributions are several years behind Linux in general, in terms of ease-of-use and hardware support, and I didn't relish the idea of going through a 1999-style install and configuration process.

Sumana got me off the metaphorical couch (and onto the actual couch) with this DevChix article which defined a hardware build that appealed to me. I used Mythbuntu instead of Mythdora, and the process was around 2002-2003: allegedly pushbutton but actually with a lot of configuration needed afterwards to get everything working. I'll post later about the problems I ran into, for reference by future web searchers.

Now it works! We've got music and games and non-lame web scheduling and everything in the living room. Eventually I plan to rip all our DVDs and put them into a huge RAID array, but not until the price of such RAID arrays comes down a little bit. What I am saying is, if you've been putting this kind of project off, now's a good time to try it.

Eh, might as well talk about the problems here. First problem was the remote control. I bought a Hauppage DVR-150 card and it came with a remote, but it's not a Hauppage remote and claiming it's a Hauppage remote in setup will yield you only anguish. It's a Windows Media Center Edition 98 or whatever remote. I don't really like this remote and I plan to program the Tivo remote instead, though that might interfere with my other plan to sell the Tivo on Craigslist for $50.

Second problem was that the computer kept turning off when we watched full-screen video. Installation of sensor software indicated that the CPU was overheating. The case I bought (which is much bigger than I expected) has two fans, each controlled individually by a switch that dangles from a wire inside the case. They were both set to Low. I set them to High and no more overheating.

Those were the two big problems. There was also some driver stuff I don't remember to get sound working.

PS: Sumana asks why I chose Mythbuntu over Mythdora. This is a good question since Mythdora apparently is more user-friendly. The answer is that I wanted to continue my streak of never using RPMs again the rest of my life.

[No comments] Beautiful Soup 3.0.7a: Tiny bugfix that makes it work with Python 2.3. Enjoy, you Python 2.3-using saps.

[No comments] "But, Professor, the Cardassians!": Sumana pointed me to Faustfeathers, the Marx Brothers adaptation of Faust. It's fun, and this is as good a time as any to say that my favorite neo-Marxist effort has always been Warp Happy (here's part 2), the Marx Brothers movie that's also an episode of Star Trek: Deep Space Nine.

[Comments] (2) Serious Review of "The Most Unwanted Song": Rather than just chortling over its existence, as often happens. You can hear the song here among other places. My thesis is that the song fails because it conflates two different kinds of badness. I guess I'm equating "badness" with "unwantedness" when they actually have a complex relationship, but whatever. Here's the homepage in case you're not familiar with the project.

I think one important aspect of badness is irreducibility. A bad thing with something good about it is generally not as bad as the same thing with the good part removed. "The Most Unwanted Song" contains many different aspects (each disliked by lots of people), and they're not all combined into one piece but arranged in a "Fingertips"-like series of mini-songs. This raises the possibility that any given person will like part of the song, effectively carving out a smaller song that they like. I believe this is what happened, and this is why the reaction to the song is more positive than you'd expect from the parameters of the experiment.

I decompose TMUS into three major songs. Let's call them "Opera Rap", "Frank Zappa Goes to Town", and "Kids Can't Sing". Only the third song is really unredeemably bad. I was enjoying the song until around the 9 minute mark when "Kids Can't Sing" started in earnest. If the song had stopped there it would have been pretty good and not particularly Unwanted.

"Frank Zappa Goes to Town" is a series of decent Zappa-esque noisefests, I can see how some people could take or leave it. But "Opera Rap" is really excellent. There's something genuinely beautiful about hearing a soprano sing to a rap meter. And just as the cowboy-themed lyrics start to get old she busts out a verse about Wittgenstein. Really, you wouldn't write those lyrics unless you wanted to hold people's attention.

So the problem, and I think this may have been the point of the project, is that badness comes from hackwork and not from a bad choice of attributes. Songs about cowboys aren't bad per se; they tend to be bad because many people like songs about cowboys so much they suspend their critical faculties. Commercial jingles and elevator music are bad because they're forced on you: the people who wanted the song to be created don't consider themselves part of the audience. Children's songs tend to be bad for the same reason, and also children haven't developed their critical faculties yet.

If you ask people what they don't like in a song they'll give you a bunch of heuristics, but treating those heuristics as constraints won't give you a bad song because constraints are a spur to creativity, bane of hackwork. At Viable Paradise I had to write a story in the genre I most hated. I wrote a bodice-ripping vampire romance that's really embarrassing but it's a pretty good story with some emotional depth. I don't like vampire stories or romance stories because I think there's a lot of hackwork there and it's not worth it to me to filter it out. But given those things as constraints I can work within them. (Actually now that I think about it, I should have written a novelization of a movie, because I hate those even more.) TMUS is bad not where it deploys some genre or instrument that everybody hates, but where it feels like hackwork.

This is also why "The Most Wanted Song", while listenable, is not very good. People are more similar in their likes than in their dislikes. The heuristics were too close together, which made it very easy to crank out some hackwork. It's much more difficult to come up with a good smooth-jazz love duet than to come up with a good operatic rap about the profession of cowboy. That fact probably surprises a fair number of people but I doubt many of them read this weblog.

[No comments] Game Center US Update: Well, by all the standards I'd set for myself my Game Center excursion today was a failure. I got the time wrong and arrived halfway through the showing. There was nobody to ask my weblog-journalism questions except one of the film-festival guys. He said there had been someone from the production company at the premiere last week, and she'd been taking video messages (!) from American fans to send to Shinya Arino. So I missed all the excitement and any opportunity to find out exclusive facts for you, my readers, which in retrospect makes sense--why would someone from the production company stick around for all the showings? I should have hustled.

But, something I didn't expect happened that made up for things going wrong. I speak of Sumana's reaction to the show. When I said earlier that everyone to whom I've explained the the concept reacted positively, I should have said all the men to whom I explained the concept. Sumana just decided to humor me, and not without a certain amount of eye-rolling, in my obsession with this weird Japanese TV show. But she came with me to the showing, mostly because I'm still sick. Two minutes after we arrived she was laughing and loving it. Arino's joie de vivre charms the ladies! I don't think she would have liked the show in Japanese, but the subtitles brought the character to life and she had a lot of fun.

Okay, here's what I know. An episode of Retro Game Master is 30 minutes long, half the length of a Game Center CX show. They cut out the otaku-sociology and game creator interviews and everything but Arino's Challenge. This undoubtedly makes the show more Sumana-friendly, but it would have been nice to see a translation of the whole thing. It also messes with the pacing of the show, as the narrator builds up big cliffhangers which are immediately resolved because there's nothing between challenge segments.

There are subtitles over dialogue, and the Japanese captions and narration are are replaced by English captions and narration. The way the captions are done looks a lot like the localization of Hey! Spring of Trivia from a few years ago, but unlike with H!SoT the English narration is faithful to the tone of the original show. (I've never seen the Japanese Fountain of Trivia, but it really seemed like the American dubbers were being snarky. Here the over-the-top dramatic narration is present in the original.)

These guys are working to get either a US distributor for the translated shows on DVD or to get it shown on US TV. No information was available about the status of these negotiations, but according to random film festival guy, Ray Barnholdt will know when it happens, so take your cues from him.

And I just discovered that most of what I just wrote shows up in this Wired weblog entry from Thursday. Oh well.

[No comments] Game Center US: Tomorrow, health permitting, I'm going to a showing of the English-dubbed Game Center CX. Reading between the lines a little bit, someone on the Japan side has gotten the shows translated and is trying to get a distributor in the US. Given the extremely positive response of everyone to whom I've explained the the concept, I hope to give them some ammunition by telling them I know N people who will buy the DVDs when the come out. Leave me a comment or send email if you'd like me to increase the value of N.

[Comments] (2) Mega Man 9: Coming soon! Surely Adam P. will be pleased. In honor of the revamping of the series I created Mega Man MMVIII, the latest Crummy feature, which pits Mega Man against random nouns. While testing I got Nerve Man, Daughter-In-Law Man, Zirconium Man, Sin Man, King-Of-The-Salmon Man, and the deadly Programmer Man. Enjoy! Comes complete with rarely-seen gynoid code.

[Comments] (4) Tales of Illness: My phone rang at 4 in the morning, waking me up. The caller ID said "Restricted". Uh-oh.

"Hello?"

"¿Hola?"

"You have the wrong number."

"Sorry!"

[hang up]

"That's actually the best possible way that could have gone."

On the plus side, I'm now qualified to be president.

[No comments] : I caught Sumana's cold. It's an inter-blog crossover event!

[No comments] Awesome Anniversary: Ten years ago I discovered APOD.

[No comments] : About once a year I like to read through the entire run of Cutewendy, Josh Lesnick's 2000 dadaist webcomic of sex, violence, 8-bit video game references, and same-sex marriage. Recently I was stymied by the fact that the Cutewendy archives had dropped off the Internet, so I had to buy the trade paperback for $12. But now it's back online, so I've destroyed the trade paperback and the status quo is restored!

Lesnick has a comic going now called Girly, about the daughter of the couple in Cutewendy, and it's a lot better drawn and plotted than Cutewendy, but you know me, I love comics full of random stuff.

[Comments] (1) : Tonight we had a date night at Mundo, a local restaurant that was really weird and not that good when we ate there in 2006 or whenever with Adam and Sabrina. But they change their menu every season and I'd heard good things about their Red Sonja appetizer. Certainly more dishes should be named after comic book characters. Anyway, by now they've got their act together so I recommend it.

[Comments] (2) : I heard a rumor that there was a recent NYCB entry that Evan hadn't left a comment on. Rather than investigate this rumor directly I went looking for whatever time-sink was keeping him from total comment coverage. It turns out that Evan has gone the route of many regular commenters on weblogs and started his own weblog. Subscribe for cross-references between life and literature, with pictures.

[Comments] (1) Beautiful Soup 3.0.7 Released: Guards! Seize it! Includes the chardet-avoidance code that drove me crazy and will save a lot of time in circumstances I can only describe as "rare".

[Comments] (4) : Japanese piggy bank helps savers enjoy romance. I know that romance was always a chore until I got a Japanese piggy bank.

Uh, no, actually the thing I wanted to share with you was a bit from the end of that article:

The company is already thriving on another new bestseller -- "Mugen Edamame" or "eternal green soy beans" -- plastic key chains that let people pretend to push boiled soy beans out of shells.

Genius! It's like the bubble wrap of Japan!

[Comments] (2) Eavesdropping: A year ago I eavesdropped on Rachel Chalmers's computer. I regret nothing!

[Comments] (1) Be Nice And Clean: Happy solstice. My plan was to show you a picture of this can of Malaysian shaving cream we have. Sumana got it from a friend who was moving back to Singapore, thinking I might like it. I don't like it because it's lemon-lime scented. It's shaving cream that smells like something you'd eat. I'm pretty sure they eat limes in Malaysia, so it's not a cultural thing. What the hell, folks. Here's a review that indicates it's a shaving cream for chicks.

Sumana reading this says "I'm interested in hearing why your plan didn't work." Well, my plan did work, and another thing that happened was that Helen Monroe from O'Reilly sent me a copy of the Korean translation of RESTful Web Services, a translation I'd never even heard of. So you get a double-barreled blast of pictures of things that originated in Asia. Note how nice the new Korean copy looks next to my beat-up English copy. That book used to look like this! Then I used it a bunch.

: I need to go to sleep, but check out this gorgeous, tiny lego city. I would say LEGO city, but it's just so tiny!

[Comments] (1) Music Piracy Minute: For no real reason except my computer just played it at random, I've started hosting there's a mirror on my grave, one of my favorite Jake Berendes songs. Go ahead and download it; I'm 96% sure (Update: 100% sure) Jake won't mind, and you've been looking a little pale lately. Pale in a peculiar way that indicates you need to listen to some nerd rock. This goes double for Jake himself.

As always, Jake's music comes highly recommended and is unjustly obscure. I've got an extra copy of Foreign Policy somewhere actually, which I should give to someone.

Bonus: if you grab a copy of Ordem E Progresso, you'll get "susanna's webpage", the only song that's fan fiction about my sister's weblog.

[Comments] (4) Book Writing #2: The Rest Of The Story: I've told these stories many times in person but not on NYCB (on the other hand, in NYCB you can see the stories develop as they happened). A while after working on Beginning Python my agent approached me and wanted me to meet Michael Loukides, an O'Reilly editor who was looking for someone to write a Ruby Cookbook. This was almost exactly 3 years ago. Mike was in San Francisco for a geolocation conference. I agreed to do the project despite not really knowing Ruby at the time. A major new O'Reilly book is not the kind of opportunity an up-and-coming writer passes up.

The pitch!

In March 2006, while Ruby Cookbook was in the editing stage, I had some phone conversations with Michael about doing another O'Reilly book. He tried to get me interested in various projects that existed in potentia, crystallized from some neural net in Tim O'Reilly's brain. However I'd already done such a project and I wanted the next one to be my own idea.

Lots of people have ideas for technical books they want to write (I've heard many pitches myself), but the animal-cover part of O'Reilly is pretty conservative and won't do a book project unless there's a good-sized market for what the book is talking about. At one point I suggested an in-depth book on ncurses programming, but that never happened because it would have sold about four copies.

Then I came up with the idea for RESTful Web Services, which was better, but in March 2006 still kind of a hard sell. Michael's initial response was: "I agree it's a book we need; I don't think it's something we need quite as much as Scriptaculous and Prototype". I argued for starting the book ahead of the curve, but see above re conservatism. Ultimately Sam and I got the book deal, as you know, but I think that's the reason underlying the drama we had in November with some factions wanting to stick "with Ruby" on the book's name.

Time management

Near the start of Ruby Cookbook I went from full-time at CollabNet to working three days a week. I was really bored with my job but I didn't have the confidence or the money to just quit. Three days a week at the job worked out well for my writing, and to this day 25 hours a week is the maximum amount of time I prefer to spend in the corporate world.

My one piece of advice, if you'll only listen to one, is to rearrange your job so that you have one or more days off every week to work on your book. The writing will go faster and you'll take some of the pressure off your evenings.

Later in 2005, Sumana moved in with me and eventually I felt like I could quit and work on Ruby Cookbook full-time. That's also how I did RESTful Web Services, and it's by far the best arrangement if you can manage it. Writing a book is approximately a full-time job, so treating it as a full-time job lets you live a normal life.

Outlining

As a book with 350 short "chapters", Ruby Cookbook had a pretty detailed outline from the start. My daily goal was two or three recipes, depending on how many I needed to meet the next deadline. Longtime readers may remember recipes going green on my webpage for the book as they came in. Because the project was so clearly specced out, I sometimes had the luxury of being done by 2 in the afternoon and being able to take the rest of the day off. Ruby Cookbook is the only book project where that happened.

Baron suggests approaching the prose of your book by outlining in more and more detail, rather than jumping into prose that you'll always be mentally editing. That's a good approach, but my outline for RESTful Web Services never got that detailed. old_outline.txt is 5000 words. Some parts (Introduction, Chapter 1, Chapter 8) are very detailed and the rest is pretty skeletal. To keep a steady flow, if I felt myself unable to express some thought, I would just stick a TODO in the text, like when coding.

External dependencies

I was able to get a small budget for paying Ruby Cookbook recipe contributors, I think by giving up part of my advance. Contributors were my major external block. I started recruiting contributors as soon as I announced the project and my goal was to get all the contributions in before the second-to-last deadline, giving me a buffer time of two weeks to write any recipes that contributors couldn't deliver. This did not work completely, but it did keep the last-minute scrambling down to one or two instances.

For RWS we had some coauthors in the last chapter talking about Django and Restlet. I don't remember the details but there was some last-minute scrambling to get one of those sections in under deadline. I'm going to go ahead and call this a general rule.

Revision

Baron writes that he did a lot of revision and that every editing pass found a bunch of errors. I can second most of what he writes, but this section in particular rings true for me; I know too well the seemingly endless TODO list. However, my books didn't go through as many editing passes as his did, leading me to think that O'Reilly will skimp on copyediting to get the books out in time for whatever conference they've scheduled the release for. (I found this conference-centrism strange, but it shows up in Baron's entry as well: "[D]on't feel bad if the book doesn’t come to the [MySQL] conference: it will be at Velocity which is directly related, and at OSCon.")

The result is that the first printings of my books have lots of typos, as the more unkind Amazon reviewers have noticed. I've spent a full day plus a cross-country plane trip going through my copy of RWS finding missing words and other minor errata. I haven't seen the second printing yet, but it should be a lot cleaner.

Unlike with Wrox, with my O'Reilly books I had to find technical reviewers on my own. I actually think this was a net benefit for both books, because the reviewers I found were domain experts who were interested in the book, and willing to respond to requests for clarification. I wrote and rewrote whole sections of RWS because a reviewer said "you forgot this" or "this is wrong, you idiot", things I don't think a hired gun would have caught, and RWS is a much better book because of it.

The downside is that I had to coordinate the reviewers myself and there was no money to pay them (they got free copies of the book, which didn't cost O'Reilly much). There were a lot of technical reviewers who just found typos, and while that wasn't the best use of their time, I'm not going to say it was a waste of time, given the number of typos that got past everybody.

Formatting

Ruby Cookbook was written using RedCloth-like wiki markup, and kept on an experimental internal wiki called Aardvark (which doesn't exist anymore). I describe the doctest-like way I tested the recipes in Unit Testing Your Documentation. This was a very convenient format for me, but it's not the format used for the final edit or to typeset the book, which is going to cause big headaches when it comes time to do the second edition.

RWS started out being written in wiki markup and then I converted it to Docbook about a third of the way through. Docbook was great. It's like writing HTML, except the tag names are longer. Plus, Docbook is what O'Reilly uses internally, so if you're writing a book for O'Reilly and someone tells you you have to use Word, make a fuss.

Docbook did have a couple shortcomings. Although I could do a cross-reference to another chapter fine, doing cross-references to a section within another chapter resulted in just the section name with no indication of what chapter that section was in. (This was a problem with O'Reilly's stylesheet; you can see a couple instances of this problem in the first printing of RWS). And I apparently use too many footnotes. But the major problem was the code samples.

Code starts to decay as soon as it's taken out of a file that can be executed as code. That's why I wrote the doctest-like program that executed Ruby Cookbook entries. But Ruby Cookbook looked like a set of unit tests: a bunch of self-contained little demonstrations of what you can do with code. The code in RWS looks like integration tests, full of interacting parts. There's a whole Rails application in there. And Docbook is less flexible about inserting code snippets than the wiki markup was.

So instead of putting the code in the text, I left the code alone and wrote a preprocessor that folded it into the text as necessary. Here's a random example, from my version of chapter 7 (implementation.xml.in):

    <para>
      At this point I know enough about the dataset to create the
      database schema (see <xref linkend="bookmark-schema" />). I
      wrote this file as
      <filename>db/migrate/001_initial_schema.rb</filename>, created
      my <literal>bookmarks_development</literal> database in MySQL,
      and ran <command>rake migrate</command> to create the database
      schema.
    </para>

##ruby/bookmarks/app/db/migrate/001_initial_schema.rb|The bookmark database schema as a Rails migration|bookmark-schema

    <para>
      Now I can create the database schema by running this command:
    </para>

(You can see one of those problematic cross-references in there, though that one's OK because it links elsewhere in the chapter.)

My preprocessor goes through a .in file and replaces that double-hashed line with a Docbook example:

   <example id="bookmark-schema">
      <title>The bookmark database schema as a Rails migration</title>

      <programlisting>class InitialSchema &lt; ActiveRecord::Migration
        ...
      </programlisting>
   </example>

Some files are explained in multiple sections. If you look at the RWS sample code you'll see some lines that just have a double hash.

example 1
more example 1
##
example 2
more example 2
The preprocessor stops the example at the double hash, and stores the location within the file for the next time the .in file asks for an example from that file.

Once the preprocessor runs, I've got an implementation.xml file that unifies text and code, and my book.xml file sews all the chapters together. Not as clumsy or random as a Word doc; an elegant toolchain for a more civilized time. The files did get a little out of sync near the end, in the final editing stage, which again will cause headaches come second edition time. But it won't be nearly as bad as Ruby Cookbook, and honestly most of the code in RWS will need to be replaced anyway.

That sordid subject, money

I'm not comfortable going all John Scalzi on you and showing you my royalty statements, so let's talk in generalities. I earned out my advance for both Ruby Cookbook and RWS in the initial buy. (The technical term for this is "my advance was too small".) That's Amazon buying a bunch, and Borders and B&N stocking a copy in each of their stores. And Waldenbooks, I dunno. The initial buys are probably the biggest sales I'll ever make, and they're almost entirely due to the O'Reilly brand name.

My advances were in the single-digit thousands of dollars. Subsequent to earning them out I've earned single-digit thousands of dollars for each book, quarterly. I'm the primary author on both books and I get the majority of the royalties. If I let someone else do the second edition, my share of the royalties will go down.

It's problematic for a number of reasons to try to convert book royalties into an hourly wage. One big reason is that much of the income hasn't come in yet, so who knows how much it's going to be and the time value of money etc. Each of my books took about a year of my life. My estimated earnings are more than the sub-minimum-wage figure commonly thrown around, but they're a lot less less than what I'd have earned working for those two years as a programmer. In fact, it's less than I earned at my first real programming job back in 2000.

Now, these are incredibly successful books. RWS is a year old and has an Amazon sales rank between 3k-5k. Ruby Cookbook's rank is between 20k-40k at two years old; a year ago it was 4k-10k. Beginning Python probably had just as many man-hours devoted to it, but it never cracked 14k. The fundamental author's fallacy is to make a connection between Amazon sales rank and number of sales, but think about what sales rank really means: that's the number of books that are doing better than mine on Amazon. That's approximately the number of people in the United States who are making more money from their books than I am.

So, as I said in in another context, writing is not the most cost-effective use of your time. But unlike writing science fiction, writing technical nonfiction can help your career in other ways that Baron and others have covered ably.

The wall

I want to write something about the feeling I get halfway through a book where I'm just sick of writing, but I've been writing this big weblog entry and I'm... sick of writing. So I'll just mention it. There's a point where you think "what the hell, why am I doing this, this is killing me", but at that point you've signed a contract and how are you going to feel if you flake out. I imagine some people actually do flake out at this point. To get through this I find it helps to get into the submarine mentality, and to not have a job that's killing you on top of the book project that's killing you.

[Comments] (4) Book Writing: The Told Story: Baron Schwartz wrote an excellent article on the experience of writing a technical book. I thought I'd add supplementary stories about the three books I've been involved in.

The first book I worked on (Beginning Python) has not been very successful, but it's in a very crowded space. (It's a very distant second among books with that title!) My experience working on Beginning Python was much like the one Baron describes. I wrote my chapters nights and weekends, using all my free time. The publisher expected documents in Word format, which was a big pain. I wrote in Emacs and once my draft was done, spent a day pasting it into OpenOffice and setting the styles manually. I didn't have any problems incorporating reviewer feedback into the text, but there was only one review pass. The publisher hired technical reviewers to go over my chapters, but I couldn't even email them to ask for clarification--they'd already done their job and gotten paid.

I wrote three chapters for Beginning Python which translated into me busting my ass for a couple months on top of a full-time job. I think I wrote good stuff, but I got very little directly to show for it--a couple thousand dollars of an advance that will never be earned out. This is the fate of most books. All I can say by way of encouragement is that your chances are a lot better writing technical books than writing fiction. But, looking at it long term, Beginning Python was my apprenticeship. I showed that 1) I can write well, and 2) I make deadlines instead of slipping them or flaking out altogether. My work on this project opened the doors for other projects, which were much more successful. I'll talk about those later.

[Comments] (1) : Oh, here's an Olafur Eliasson tip. In the room for one color the best way to blow your own mind at the monochromicity of it all is to have someone stick out their tongue at you.


This document (source) is part of Crummy, the webspace of Leonard Richardson (contact information). It was last modified on Monday, June 16 2008, 07:52:08 Nowhere Daylight Time and last built on Friday, July 04 2008, 19:30:06 Nowhere Daylight Time.

Crummy is © 1996-2008 Leonard Richardson. Unless otherwise noted, all text licensed under a Creative Commons License.

Document tree:

http://www.crummy.com/
Site Search: