Writing, publishing, geekdom, and errata.

Using SED: So You Want to Make an eBook? (Bonus Tips)

This post is part of So You Want to Make an eBook?. I'm releasing this book in sections on my blog, but when it's all finished I will offer the whole thing as a single eBook. Everyone who donates toward its production (use the coffee cups to the right, note that it's because of this effort) will get a free copy of this eBook. You can find all the posts here.

Pressing hard up against some deadlines today, but this tool saved me hours of work.

SED (Stream EDitor) is one of those wonderful tools which has a huge learning curve, but is fantastically powerful. You can get SED for all operating systems (though there are some differences with different versions). This isn't a required tool, but a damn useful one.

Sed (streams editor) isn't really a true text editor or text processor. Instead, it is used to filter text, i.e., it takes text input and performs some operation (or set of operations) on it and outputs the modified text.

Given all the "search for this and replace this" bits in the last section, you might already have an idea of how useful this can be. If you're on linux or Macs, you probably already have SED installed. A port to Windows can be found at

Rather than explain SED to you, I'm going to point you toward two explanations, the latter of which includes a link to the "SED one-liners". Because the tool is cross-platform, many of the points in any tutorial work with the others. There's a Mac specific one at, and one that explains all the "One-Liners" at The One-Liners are a series of examples of using SED to accomplish specific goals. I'm going to give you two more (watch out for line wrapping!):

This first one removes all FONT tags from the file named FOO.BAR. Doesn't matter how complex the font tag is, it's gone.
sed -e 's/[<][/][Ff][^>]*[>]//g' -e 's/[<][Ff][^>]*[>]//g'

This one does several things, and I'm sure there's an easier way to do it, but this is what I figured out. Each up and down line | separates | a step. Only the very first step should be different on windows boxes - type FOO.BAR does the same thing.
1. lists file
2. gets rid of wordbreak dashes (from the end of a line like when categor-
ically print-oriented people do it (but leaves ones in the middle of lines.)
3. subs @ for double return (actually a newline)
4. adds return to <p tag
5. removes extra spaces
6. gets rid of the @ symbols.
cat | sed 's/-*$//' | sed 's/^$/@/' | sed '/^<p/a @' | sed ':a;N;$!ba;s/\n//g' | sed 's/@/\n/g' > 1.txt

Since I was converting a book from PDF, with dashed words as well as dashes where a word was split between lines and entirely too many hard carriage returns, this easily saved me four hours of work removing all of those by hand.

Sure, the syntax is complicated, and it took me about forty-five minutes of tweaking to get that last one working the way I wanted. But not only did it save me four hours that time - but it's going to save me time every time I have to convert a book like that in the future.


Edit: David Levine e-mailed me to let me know some better ways to do this but Blogger wasn't liking him at the time (possibly because of the code). His comments are below, unaltered. And as for his critique of my first example, he's right - i forgot to put the redirection element " > OUTPUT.BAR " (without the quotes, naturally) at the end of the line.

This first one removes all FONT tags from the file named FOO.BAR. ... sed -e 's/[<][/][Ff][^>]*[>]//g' -e 's/[<][Ff][^>]*[>]//g'

No, that will splat the contents of FOO.BAR, minus the FONT tags, to the user's screen. Actually removing the tags from the file requires a different command line and probably the use of an intermediate file.

Also, I believe you can simplify the two edits into a single command as follows:

sed 's;</*[Ff][^>]*>;;g'

A list of characters in brackets (e.g. [xyz]) matches any single character in the list. So putting a single character in brackets (e.g. [x]) matches any single character as long as it's that character... in other words, you might as well just write "x".

The expression "/*" matches zero or more slashes, so this will also match the invalid tag "<//FONT...>", but I don't think that matters.

Note, though, that this command (both your version and mine) will fail if the < and > of a FONT tag are not on the same line of the file.

One more optimization: in your second example, the "cat" can be replaced by adding "" as the last command-line argument to "sed" as in your first example.

Hope this is useful to you.

This post was part of So You Want to Make an eBook?. I'm releasing this book in sections on my blog, but when it's all finished I will offer the whole thing as a single eBook. Everyone who donates toward its production (use the coffee cups to the right, note that it's because of this effort) will get a free copy of this eBook. You can find all the posts here.


I can't believe it.

After three weeks of asking the iBookstore why they originally refused to put The Crimson Pact in the iBookstore, I finally got an answer.

There's a border around the cover.

Without revealing anything (due to the NDA), let's just say that's not something I had any reason to suspect was the problem.



Review of "The Failed Crusade" from The Crimson Pact

No comments
This is a review of a story in The Crimson Pact: Volume One. While I am the publisher of the book, I do not have a story in the text. I've also worked to keep all of these reviews as impartial as possible; I hope you agree.

If you wish to check out The Crimson Pact, stop by its website at While it's only currently available in digital formats, if you have a computer, you can read this book. Not only is there a PDF version at the website, but you can read it on a free desktop reader from Barnes & Noble or Amazon.

The Failed Crusade is the first story in the volume, and really the setup for the entire "shared world" of The Crimson Pact. As the tagline says, they fought the demons, but at the moment of their victory, something went horribly wrong.

I don't really care for formal high fantasy (or formal fiction at all, for that matter), and that was a small obstacle to my enjoyment of this story. But as far as the book goes, I didn't let it bother me too much because this is such a diverse anthology with all sorts of styles of storytelling. It also feels a little rushed at times - especially in the romantic subplot. This isn't a bad thing - I'm annoyed when a story has far more words than plot - but I think that was largely due to the need to set the stage for the premise of the world.

Despite not being my personal taste in storytelling style, the idea and characters involved were strong enough for me to not only see the promise of the story, but see how this could set up a great anthology. The concepts of ultimate sacrifice (and we aren't talking mere "death" here, bucko) and serving the greater good really struck a chord with me. These characters could have stopped. They took care of the immediate problem for their world, after all.

Also, the authors do an excellent job setting the scene. It's been a month since I last read The Failed Crusade, and I can still remember both many of the particulars of the plot and what I imagined as I read the story.

Framing stories - especially ones that frame something as vast (and yet personal) as this one - are hard. It does its job, and does it serviceably. Now that the frame is set and Paul and Patrick don't have that additional burden on their taletelling, I'm looking forward to the next installment of these character's story.

Summary: This framing story does good job doing a hard task. Despite being written in a style I don't usually enjoy, that style didn't get in the way of the ideas and characters.

No comments :

Dayton closes Head Start programs, says "Fuck off, poor kids".

No comments
rant.pngNo, really. It's being reported in the Dayton Daily News today.

"Look," said Imaginary Spokesperson, "we didn't actually tell poor kids to fuck off."

The real spokesperson Karen Lombard said the students could find "other" Head Start programs and that Dayton Public Schools is putting more preschools in the new school buildings, including ones for special needs students.1

Mind you, these are preschools with 28-student maximums. As someone who's taught 28 college students, the idea of providing increased and individualized attention to 28 preschoolers is bloody hilarious. And check this out from the article:

Dayton Public is shutting down its program at a time when Ohio is falling behind in educating at-risk preschoolers, according to a national report card released Monday.

In fact, prior cuts to Head Start programs "just happened" (that's sarcasm quotes, folks) to correspond to Ohio dropping from ranking 19th in 2001-2002 to 36th a decade later. So color me skeptical that Dayton Public's "optimism" (I wish that was sarcasm quotes) that these kids will still be served has any basis in reality.

This strikes me the same way token "diversity councils" (you know the kind - the ones that have an annual potluck but don't question racial disparities in hiring or gender disparities in restrooms) serve as a way to appear to be doing something while knowing full well that they'll never succeed.

Net result: The kids who need the extra help the most, in our supposedly "great leveler" of an education system, get to start out behind the kids who already have all the advantages.

Whether Dayton Public Schools is saying it aloud or not, their actions definitely have a clear message to those who need the most help.2

On her webpage, the Superintendent Lori Ward says "[We will make] Dayton Public Schools a place where every student is challenged and supported."

Keepin' it classy, Superintendent. Keepin' it classy.

1 Nothing like stigmatizing the kids right off the bat!
2 Feel free to point out the correlations between race and poverty levels here as well.

No comments :

Stupid Computer - Two Flash Fictions

No comments
storytime.pngYup, it's flash fiction time again!

As always, this is based around Laurence Simon's weekly challenge for the 100 word-stories podcast. It's a great exercise for writers - writing a good drabble is a lot harder than it appears, but is still a "small" task so you can get around that idea of it being too much work. And then you get a random (and often bizarre) writing prompt to shoehorn you out of writer's block! Go read the rules for the Weekly Challenge and participate! Heck, Chris the Nuclear Kid does when he remembers to (and I can drag him away from video games)!

The player below should have the audio for this week; if it doesn't, you can find the audio here to download. You can also read and hear the rest of the entries (and vote for your favorites) at the 100 Word Stories podcast site!

There's two stories this week - the first a 100 word story, then a 200 word story I just wanted to share with you all.

I love her.

She caresses me with her fingers. Fast, then slow, then fast again. Slides them across the planes of my form.

I love her.

She tells me what to do, commands me. She is my mistress, my ruler, and I will always submit to her.

I love her.

I surprise her. She is puzzled at the strange shipments from Amazon. She wonders at the gorgeous photographs I show her. She laughs at the LOLcats.

I love her.

Even as she as she defrags me, as she reaches out to turn me off and unplug me.

I love her.

The poet stood before the computer. "You can fool their Turing tests, but that's nothing."

The computer whirred, beeped, and hummed.

The poet held out the small drive. "My poetry. Poetry is human. Poetry is being alive." He inserted the drive into the computer's port. "Analyze that, you stupid machine."

The computer whirred, beeped, and hummed.

The poet reached the door before the speakers came to life. "You use metaphors of snow in your early work, rain later."

"Frequency analysis. Trivial."

"Snow covers, obscures, hides. Children laugh and play in it. Ugly things turn beautiful under the snow, but they are still there, just a crunching footstep away. People hide from rain, take shelter under umbrellas. They complain about the wet and the mud. Everyone wishes for a White Christmas; no-one cares for a rainy Easter."

"Still just recall-"

"Snow obscures, but does not change anything. As snow melts, that left behind is ugly and tinged with cinders and salt. Nothing changes. When rain leaves, it is messy and muddy. But it is clean and fresh. New things can grow."

"That's not what they mean," the poet said.

The computer whirred, beeped, and hummed.

"Then why are you crying?"

No comments :

jesus christ and doctor who walk into a bar

No comments
Warnings: Mild spoiler for S4 Doctor Who, possible thematic spoilers S6E1. Contains themes that are probably blasphemous to a bunch of people, but that's their problem. These get me through the day.

essay.pngI know several people who hated the 10th Doctor's last words: "I don't want to go."

I can't say I blame them. It seems totally out of character for this amazing, mad, bonkers, amazing alien who gallavants around time and space in a big blue box.

But that's what makes it powerful.

The Doctor - especially through David Tennant's time as the 10th Doctor - can get almost glib about the risks he's asking others to take. Even if he takes the risks along with them, he goes on. He can regenerate, after all. I mean, he's The Doctor. He's so much more than any of us, after all. So much more... everything. None of us could possibly be like him, no matter how much he protests otherwise.

But we get a glimpse that this alien, this madman with a box, is more like us than he lets on. He's not sure. He is scared. He doesn't want it all to end - but still does what he has to do. The last words of the 10th Doctor are the same words of nearly any of us at the end.

And that's where The Doctor becomes more than a superhuman being, becomes more than a force of nature.

Several branches of Christianity1 hold that Yeshua ben Yosef - Jesus the Christ - was not just a superhuman being in a human suit. That he was not just God living as a human - but that Yeshua was fully human and fully divine. And nowhere is this more clear than with "Eloi Eloi lama sabachthani".

You can find elaborate explanations of this phrase. I find this one particularly laughable.

Because it is the cry of a human uncertain of his fate.

It is the doubt that comes in the night, the second-guessing. It is every time you feel like a fraud, every time you're not sure if you can succeed. It's the moment when you are secretly sure that it's all going to hell and it's you're fault.

It's the cry of someone losing their faith.

And that, my friends, is far more inspirational than any other bullshit we can say about parables, good sons, gulfs between heaven and hell2.

Because it's easy to believe, to have faith in God, in the goodness of the Universe, the Tao, or even yourself when everything's going well.

It's when it's all gone to shit that it's hard.

Knowing that your role models - no matter how fictional - have struggled with the same problems is what gets you through those times. Because if a make-believe madman with a box can face not only the hard decisions but his own doubt, well dammit, so can I.

1 I know Roman Catholicism holds this belief, but am unsure which others do.
2 And whether or not that gulf is the black hole at the center of the galaxy, you crazy, crazy man.

No comments :

Business Principles: So You Want to Make an eBook? Bonus Section

No comments
This post is part of So You Want to Make an eBook?. I'm releasing this book in sections on my blog, but when it's all finished I will offer the whole thing as a single eBook. Everyone who donates toward its production (use the coffee cups to the right, note that it's because of this effort) will get a free copy of this eBook. You can find all the posts here.

Edward asked this very valid question:
Also, following the recommendations here regarding Webstore software, I checked out the SimpleIPN site. They're now promoting something new called "UPLOADnSELL" instead. It looks legit... have you heard anything about it?

Yeah, I've noticed that.

I imagine that it is legit, though I've never used it, nor do I have plans to. My concerns are not because of the site itself (the guy helped folks way more than he had to with SimpleIPN), but are concerns of principle. (That's why I'm mentioning them here.) There may be very valid answers to these issues for UPLOADnSELL, but they're criteria you should be applying to any service that you do business with.

First, the "free" option has a clause where the individual item sold may go away if you don't make any sales for 90 days. That is a possibility. Sales from my website largely reflect how much noise I'm making about them. Con appearances, making noise on the web, just generally being active. If I enter a busy period (like the last, oh, 90 days for me), then I might not have many (or any!) sales from my website... which means all my work (and links) could be gone.

Remember that Amazon/B&N have a different audience than your website. The website traffic is made up of people who are actively looking for you. This is why appearances make such a difference in both website traffic and sales from my site - new people meet me, get curious, and check my stuff out. The digital bookstores, however, don't work with the same criteria. You can be found by people just browsing through who never heard of you before.

So, I'd rather avoid the uncertainty by using SimpleIPN if I wanted a free solution that was totally in my control.

Second, I'm always looking at stability and sustainability. Any product that has a large "free" solution - implemented by someone else - should be generating revenue in some manner. Most webhosts charge if traffic gets too heavy (how much and what the limits are depends on your hosting provider). That means the service may be an ongoing cost for the guy running it. (While there's a link for a "pro" account, there's no content there, and I'm skeptical of ad-based revenue streams.) Because there's a stream of outgoing money, then there needs to be a stream of incoming money to match it... otherwise they're paying out-of-pocket, and the service will only last as long as their generosity is larger than the expense. 1

Since my business would rely upon someone else's generosity...that makes me uneasy. (Again, I could be wrong. The guy behind both seems to be truly interested in supporting people - but you gotta wonder when he's going to get tired of it.)

In contrast, you have Fat-Free Cart and eJunkie. Both are by the same company. For small sellers, Fat-Free Cart takes care of most of the things you'll need... but for anything advanced (such as coupons), you need the full, pay version - most of which are streams (repeated small payments) of money. Don't cross the streams!

While nothing's certain in life (or business), I like to up the odds whenever possible.

1 This is also why my rates for eBook conversion are what they are - they're meant to be near-replacements for my "day job" income if I spent the same amount of time on it.

This post was part of So You Want to Make an eBook?. I'm releasing this book in sections on my blog, but when it's all finished I will offer the whole thing as a single eBook. Everyone who donates toward its production (use the coffee cups to the right, note that it's because of this effort) will get a free copy of this eBook. You can find all the posts here.

No comments :

Dammit, BBC, let me give you money. #DoctorWho

No comments
[Edit: It showed up less than 12 hours post-US premier! HOORAY!]

rant.pngWe already went through this at Christmas. Face reality: Doctor Who episodes will be available on the Internet within hours of its first broadcast. It will be shared, torrented, and distributed no matter how you try to stop it.

You have a show with worldwide popularity and rabid fans. Fans who have worked themselves up to a fever pitch over this new season. They want to see it as it comes out. You encourage them to do so on your website.

So why not give them an opportunity to be legal about it? Why not give me an opportunity to watch it through Hulu with commercials. Or pay you directly by streaming it through Amazon?

Doctor Who 4You've clued in that releasing it the same day will help reduce piracy. That's great. Except you're insisting people buy the whole BBC America package.

And for those of us who do not "do" cable... well, no, I'm not going to get a cable install and pay LOADS of extra money (since the few shows I watch are all on premium channels). Why would I pay for full cable service and premium channels - over 95% of the programming on which I won't watch - when for all but your one show I can legally get them streaming over the internet for less money and a single day's delay?

I'm writing this 47 hours before the premier. There's no page, no promo, no teaser at Amazon. There's just some excerpts on Hulu.

But there's already people commenting on the torrent sites. Waiting for frustrated people who want to pay - but who won't buy a ton of crap they don't need or want.

Your call, BBC. I can't imagine that I'm the only American (or person outside the UK) who wants to watch Doctor Who when it airs and will pay for it... but can't get BBC America, or won't pay a ton of money a month for other shows and services I neither want nor need.

The pirates will get to watch the show as - or even before - it airs in the US. Loyal fans who want to give you money will have to wait a week or more1 for the privilege.

Really, what do you expect to happen? Really?

1 If the Christmas special is any indication

No comments :

Digital Publishing Finances: One Month In

publishing.pngThere are days when you just need a different way of looking at things. You know, days when your "real" job resembles an abusive relationship.

This is one of those days for me - but on a much happier note, The Crimson Pact has been out one calendar month. Nine days ago (ish) I talked about the finances one week in.

It wasn't until I answered some e-mails that I realized what other people were having difficulty seeing. The graph in that post is a good one, even though it slopes down toward a leveling off. I'd gotten so wrapped up in reporting day-by-day values (and per-author) values that I never showed the entire total and the shape of that curve.

So, with the brief note that sales have gone exactly as I expected in the just over a week since, let me show you the shape of the overall earnings curve. (This is in USD, by the way.)


The breakdown of contribution by source are the lower curves, the light blue curve is the total revenue (post-fees). The individual author amounts are smaller due to the number of contributors. But this is a novel-length work, and priced accordingly. Where this becomes interesting is that this pretty dramatically shows:

1) That you don't pay a percentage for day labor. My cost for converting an eBook, while pricey, would already be paid from the revenues from this book.
2) That income comes slowly. Authors are used to an aggregated payment from publishers, not a drib and a drab. That one to two sales a day at Amazon seriously means something over time... and it looks like it's still continuing to slowly grow on its own.

Good news indeed.


Spaghetti - a 100 Word Story

No comments
storytime.pngThere's no audio this week, simply because I didn't get the story written until too late. It'd been living in my head for a while, though, and deserved to be out there.

I wrote something else nice.

Her grip squeezed my fingers together.

The neon red sign flashed "It's Italian!", lighting the alley. The boxes sat out behind the restaurant, a red check tablecloth over the tallest. A heaping mound of spaghetti steamed on the plate, a large meatball right on top. I hadn't decided yet if I would push it with my nose. The noodles were long enough that we could slurp our way to a kiss.

Her favorite scene from her favorite movie.

I hadn't thought about summertime insects or the dumpster's rank aroma.

"Crap, baby, I'm sorry-"

She turned, eyes bright, and kissed me.

No comments :

The Business of Writing: 101

No comments
I found this sitting on my hard drive. I thought I'd posted it, but couldn't find it again. Regardless, it's worth posting (or reposting).

The Business of Writing 101

publishing.pngI wish this had been a panel at any of the conventions I've been at. It's basic stuff - or at least, it seems that way to me now. But it's not basic when you're a new writer, when you're wanting that first sale so bad you can just taste it.

So let me outline some of the things I would want to say, if I were running this panel. These are intentionally vague - not only are your circumstances different than mine, but the world's changing pretty rapidly. These principles should stay reasonably constant, regardless of the technology and business models you apply them to.

Business is not the same thing as friendship. It's not. I can be friends with you - even respect you - but not want to work with you. The reverse is also true. Nepotism is only a good thing if your friends and relatives are also the best people for the job.

Everything is relative. And that's not just a pun on the above nepotism bit. A competent editor whom I can trust implicitly is a better person for the job than a super editor whom I have doubts about. That goes for everything else here - there are so many possible factors and conditions that it's nearly impossible to predict the outcome of every situation. But you can think about every situation and examine where the benefit is.

Money flows toward the author (or content creator). If you, as an author, are paying someone, they damn well better be able to show you where the extra value is. Paying a legit freelance editor to go over your first novel before shopping it around? Investment. Paying an agent to read your work - and then take a cut off the top? Scam. Paying an agency to do the same thing that Ralan does and printing out address labels? Scam.

Your time and work is valuable. Period. For example, I worked for about twelve to fourteen hours writing "Memories of Light and Sound" (now available for digital purchase). I got paid approximately $10 (pre-tax) an hour to write that story. Not horrid - though realistically, I’m only counting time I actually spent actively writing and revising, which took place over four days, which makes it look a lot less attractive. Realistically, the "pro rates" given by SFWA (though abysmally low) are a good starting point.

Profit and value are not the same as money. Have I written for less than pro rates? Absolutely. I've given stories to a local 'zine called Mock Turtle simply because I believe in them and believe in supporting a local independent arts scene. That's valuable to me. There was no up-front payment for The Burning Servant. While I hope to earn something akin to a pro rate for writing it (feel free to pitch in a few bucks or buy the ePub/Kindle versions!), it also has value by exposing my work (and me) to a larger audience, directed to me by a person who has a dedicated fan base. That's also value.

Pay is not the same as up-front pay. Sometimes taking less money exposes you to new audiences, which would be worth more over time as more people like (and buy) your work. Sometimes taking less per-word but sharing in royalties will end up paying more over time. But each time, that's a calculated risk. "Kicking the Habit" - which appears in Hungry for Your Love - had a much smaller up-front pay than "Memories of Light and Sound". The royalties for that book more than made up the difference. It was the exception, though. It was a calculated risk, and paid off. I have no illusions that it will happen again.

What is worthwhile for you to do now may not be worthwhile later. When you're trying to build an audience, trading pay for new eyeballs might make more sense. Once you have one, though, why settle for less than you're worth? If you're working in an affiliated field (editing, proofing, typesetting, eBook conversion), I can understand doing a job or three for the byline. After you've established that you can do the work, though, why sell yourself short?

Networking is about what you can do for other people. There's entire panels on that, but this is the key bit. What can you do for them? If it also furthers your own project, then great - but do it because it helps them, too. Otherwise you're not networking, you're just begging for favors.

Everything you do should benefit your career. At least in some way. Your time blogging should help. If you're on Facebook, spend time making connections.

This does NOT mean kissing ass. For example, I've probably annoyed some editors wanting to hire slave-wage help in affiliated fields. I've probably annoyed some "for the love" markets (especially those who didn't read the next point carefully). But this is the thing - if I say something in public, if I give advice, I am putting my reputation on the line. That kind of honesty benefits you. You get (hopefully) valuable information. It benefits me. You'll believe me when I recommend something, including my own work. If you find yourself in a position to work with me, you'll know that I'm going to be completely straight with you. You'll come see me on panels at cons, or ask convention organizers to invite me. These things help you and benefit my career.

And that's the way business should almost always end up. Win-win situations, where everyone benefits.

If you're not in that kind of situation, leave and find (or start) a new one.

I'd like to hear your additional suggestions in the comments.

No comments :

Why Higher Ed Will Crash, and Hints on Surviving

No comments
Why should you listen to me? Because I assimilate data and resynthesize it. I tend to be about a step and a half behind the trendsetters - just before something hits critical cultural mass. I called both the tech bubble about a year before it hit, the housing bubble about two years before it hit. I still reserve the right to be completely wrong. Honestly, I hope I am.
I read a bit about the education bubble today, and it "felt" right, just like housing and tech did to me. I think it's the for-profit colleges - especially the fly-by-night ones and the shadier ones (I tweeted an infographic the other day) that are going to collapse this thing. They're ruining the reputation of the established schools. Too many colleges are trying to be like Findlay's nuclear medicine program (seriously, read this post on Findlay for an example of what's happened already), trying to get as many people in the door as possible, with little regard to how many make it out the door successfully, or whether or not they can get jobs. They have to, in order to survive against the lower-margin private schools, because for non-traditional students, convenience trumps prestige. (See pages 3 & 4 of my paper here for the background - nontraditional students were 75% of undergraduates in 2000.)

This has all been riding on the meme of "College == higher lifetime earning". Crippling school debt along with dubious degree programs (and even an erosion of standards within the programs themselves) has slowly undermined that meme. The erosion of standards (replaced by a need for paying bodies) is the largely unrecognized portion of degree inflation. Add to that the glut of degrees and the lack of meaningful differentiation between degree programs (especially for smaller schools) and employers have to jack up the sheepskin requirements for any job. Heck, there's a job I was looking at that required a PhD that is essentially Master's level (or even grad student level) gruntwork - literature review, analyzing reports, analyzing statistical data, writing reports.

Unlike finances, there's no way for education to further inflate. Hence, devaluation is the only remaining alternative.

So what does this mean for higher education in general? Look at the prior two bubbles. Both saw massive dieoffs, and while vaporware in both cases was the first to go, good and well-run businesses (and real estate) got smashed as well. Those that survived the tech crash were innovative, well-branded, well-conceptualized, and met a real need. Google, Y!, and Amazon come to mind right off the bat. Real estate that survived (or wasn't hit so badly) either wasn't largely inflated, like the Dayton region, or that has continuing real value.

Real estate also shows the greatest cautionary tale for higher education. "Convenience" and some of the other typical suburban qualities (safety, cleanliness, etc) do have real value, but are commonplace. (Limited by geography, but still commonplace.) Morgantown, WV - my hometown - is one of the places in the US that was least impacted by the real estate crash. It has all of the above - it never overvalued much (because of the reputation of WV, I suspect),
but at the same time there's a HUGE deal of geographic limitation because of the terrain and relative lack of bedroom community development. While its economy is limited to one big industry, that's WVU - and it spins off a lot of other, smaller economic engines.

My recommendations to higher education at this point would be: Batten your fiscal hatches, but whatever you do, MAINTAIN quality. As a friend of mine said recently, postsecondary education's customers are the people who hire graduates, not the graduates themselves. Make a distinctive name through quality-based achievement. Celebrate your best and brightest - and ensure that industry knows what kind of innovation is happening in all sectors of your university.

The absolutely craptastic part of this, though? Lower-income folks (who largely try to avoid debt, by the way) and new graduates who are going to be slammed when their degrees don't even meet their lowered expectations.

Remember, kids, you are never going to retire. You are, whether you like it or not, a freelancer.

Plan accordingly.

(Hint: Scott Adams' advice ain't bad.)

No comments :

Converting The Text: So You Want to Make an eBook?

This post is part of So You Want to Make an eBook?. I'm releasing this book in sections on my blog, but when it's all finished I will offer the whole thing as a single eBook. Everyone who donates toward its production (use the coffee cups to the right, note that it's because of this effort) will get a free copy of this eBook. You can find all the posts here.

Converting the Text

Right. Got all those programs ready to go? Okay. This is the biggest part in creating an eBook. It's the most boring and attention-to-detail oriented part. It's also the part that makes you look like a professional.

First: If you're going to create a PDF, do that now. Whether you use a built-in "Save as PDF" or a "Print to PDF" solution, do it before you start mucking around with your file. Really. You'll also be able to use this PDF if you need to create screen captures of tables for your ePub, and for when you make a PDF offering. I have yet to see anything that can convert decently from ePub to PDF.

Next, create a new directory (folder, remember?) for this project. For example, I have C:\ePub\Author\Book (which is Window's format, or /home/user/Documents/ePub/Author/Book on *nix... you get the idea), where I substitute the author's name and book title. In the "Book" directory, I put the PDF I just created, and the original RTF. I also create several sub-directories. Here's the directory list from when I converted Jim C. Hines' book Goldfish Dreams:


Note that I didn't use any spaces. If you feel the need to use some kind of spacer, use_the_underscore_character_. Some programs don't like spaces (regardless of operating system), so it's just easier to avoid it altogether.

The "Base" directory is where we will be editing the files for our eBook. You can get a lot of these base files from the sample pack; it has the directory structure already in there. (We'll be handling those more in the next section.)

Open the RTF file in your word processor, select all, and make it all the same size and font. Be careful that you do not lose heading, bold, underline, and italics when you do this! (Yes, the same size and font. Remember our bit from the philosophy of eBooks; it's content, not style.) If you have a DOC, DOCX, ODT, or other funky format, this is the time that you "save as" to make it into an RTF file. As mentioned above, you'll be converting the original RTF into an HTML document by e-mailing yourself via Gmail. If you use another solution, your steps might be slightly different.

If you are trying to convert from PDF, you've got a lot of work ahead of you. A. Lot. Follow along here, and we'll hit that in an appendix.

When the document shows up in your inbox, use the web interface to "View" the document. Then save that page as "Web Page, HTML Only". Name the file so that you know which one is the original, for example, "goldfishdreams_original.html". It doesn't matter what it actually is, just that you know it's the original.

Once you've saved the HTML file, you will make another copy that you start editing. For example, "goldfishdreams_editing.html". This is also the point where I start my text file where I keep track of what steps I've taken (and notes of things to do later if I'm not at that step yet). You can use paper for this if you like, but I like having a separate todo.txt file with each project.

HTML is essentially a text file with "tags". The tags are inside of brackets, like this: <b>bold</b>. The tags are like stage directions for your web browser - they tell it what font, size, formatting, bold, and italics to use (along with a lot more). We don't need most of them; we'll tell it to use our own formatting later.

Again, I'm showing you from a Gmail conversion - if you use another utility, there might be tags beyond the ones that I discuss here. By and large, you can rip out extra tags with little harm. It's sometimes worthwhile to look up what those terms are so you don't accidentally delete something that you need. Edward, one of the beta readers, recommended W3Schools as a good resource, and I have to agree with him.

Stripping out the original formatting is vital - which is why it's darkly amusing when I hear people tell me how they make sure to put things in a special format before conversion.

So open the copy to edit, and we'll start performing search and replace functions. Here are the ones I had to do with the eBook conversion of Goldfish Dreams, by Jim C. Hines.

Replaced color="#0000FF" with a blank.
Replaced <font size="3" face="Times New Roman"> with a blank.
Replaced <font size="6" face="Times New Roman"> with a blank.
Replaced </font> with a blank.

Why: We will determine font size, color, and face using CSS, so we need to strip out all references to them beforehand. You want to search for color= and <font to turn up any other strange color or font faces. Check them as you go through - they might be important, or leftover editing notes.

Replaced <br> with <p> </p>.
Replaced <br /> with <p> </p>.
Why: This makes an extra space between lines properly. Use this sparingly.

Replaced <p>      (six spaces) with <p>
Why: Gmail tried to preserve indenting with multiple spaces. We will render it with CSS, so it does not need to be here.

Replaced two spaces with a space and &nbsp;.
Why: Otherwise the double spacing between sentences may disappear. This forces double spacing. There are arguments about whether or not you should have double spacing between sentences. Check out for details and make your design decisions appropriately.

You can surround each chapter title (e.g. "Chapter One") with header tags. That is, it would end up looking like this: <h1>Chapter One</h1>. You could also just put them in bold and it would work just fine. I actually have two specific tags for titles and bylines that work well - we'll see them when we get to the CSS sheet next week.

If you had tables in your document, make a note of where they are located and delete it entirely. We will substitute a picture of the table for the table itself. Not all eReaders handle tables in the same way, and the results can be disappointing.

And ignore everything above the first <div>
tag. Realistically, at this point all you should largely have are the text, some <p>, <u>, and <i> elements (some might be <p align="center"> or something like that), and the closing of all those elements. The closing is when the element (<p>
or <u>) is "closed" by having another instance with a forward slash, like </p> or </u>.

At this point, there should not be any <span> tags, but do a search for <span just like you did for font and color, and for the same reason. Likewise, go through and just look for anything… odd. This is where humans are still needed. Make a note of any strangeness you find before we start the next round of search & replace. Save the file, and save a backup copy of the file.

A last note — HTML elements. “Curly quote’s cuteness”, ellipses (…), bullets (•), en and em dashes (– and —), as well as a lot of other symbols, are supported. However, you have to use special codes for them (as opposed to "this kind of quotes which are Steve's favorites...", which are standard symbols). You can find tables of the symbols here: (scroll down to "other symbols"). You can use the element name, but if you want to have the highest level of compatibility, use the entity number instead. (Some stores prefer it.) This is most easily accomplished by doing search-and-replace as well. Hopefully, if it's your own book you'll know if there are ellipses or special characters in it. Otherwise you might just have to go through it line by line and find them all.

This post was part of So You Want to Make an eBook?. I'm releasing this book in sections on my blog, but when it's all finished I will offer the whole thing as a single eBook. Everyone who donates toward its production (use the coffee cups to the right, note that it's because of this effort) will get a free copy of this eBook. You can find all the posts here.


Racist, Sexist, Homophobic Rape Apologist a Fox News "Expert"

No comments
rant.pngAnd the sad part is, this is not an Onion article. And I'm not using anything other than this guy's own words.

So we'll start with the obvious. Fox News ran an opinion article as straight news. No surprise there, they often blur the line. But this particular article is a trifecta of wrong.

Let me summarize the lead of this "article".

Painting a boy's toenails pink? ZOMG TEH GAYZ! BENDING GENDER ROLES IZ THE EVIL!

Not only is this annoying, but it's factually inaccurate as well. Hell, Ladies Home Journal talks about pink being a boy's color in 1912. Every male (including our presidents) born before the 20th century - including the badasses Teddy Roosevelt and George Washington - wore a dress and had long hair while growing up. So just a little history lesson quickly tells us that this "doctor" is linking behaviors that simply do not go together. Why would you need to enforce strict gender roles? Could it be... homophobia?1 Something tells me "The Crying Game" really horrified this guy.

That's bad enough. But really, that's not the part that pisses me off. I kind of expect that kind of prejudiced crap from Fox News.

Speaking of:

Why not make race the next frontier? What would be so wrong with people deciding to tattoo themselves dark brown and claim African-American heritage? Why not bleach the skin of others so they can playact as Caucasians?

Let me translate that:

We need to know who is “really” White and “really” Black.

The only reason you'd need to know that is if you were interested in keeping your “race” pure. (Seriously. Why else would you care? Anyone?)

But I don't think that's the worst. We've got homophobia, we've got racism. What do we need for a trifecta? Bashing women.

The fallout is already being seen. Increasingly, girls show none of the reticence they once did to engage in early sexual relationships with boys. That may be a good thing from the standpoint of gender equality, but it could be a bad thing since there is no longer the same typically “feminine” brake on such behavior.

Or to translate:

Good girls2 don't like sex, so it's their responsibility to keep horny boys from having sex with them.

This is bullshit.
  • It's bullshit because women like sex too - but men used to be so damn scared of that they used to label it a mental illness.
  • It's bullshit because it insults men, since it claims men can't control their own sexual desires.
  • It's bullshit because it makes rape the woman's fault.
One of Keith Ablow's rationales for reinforcing gender roles is that of a rape apologist.

And I'm done.

I wonder if Tufts Medical School knows he's out there representing them. I imagine Fox News doesn't give a damn, but I wonder if Good Housekeeping and Men's Fitness (he's a contributing editor to both) care that they have a racist, homophobic, and misogynistic asshole representing their brands.

Huh. Funny how those links go to contact pages, isn't it?

And before someone says it, yes of course Keith Ablow has a right to publicly be a rape-apologizing, misogynistic, racist, homophobic psychiatrist.3

He doesn't have the right to be insulated from the repercussions of it.

1 And yes, I mean homophobia here.
2 Yes, this portion of the article also manages to slam 2nd wave feminism at the same time
3 I understand that he's repeatedly defended this article and its concepts on television.

No comments :

Author Gives It Her All... No, Really, For Real Guys.

1 comment
My opinion of this Onion article's shifted a little bit, from where it just annoyed me to where I could see it's (probably unintentional) value.

So here it is - Author Promoting Book Gives It Her All Whether It's Just 3 People Or A Crowd Of 9 People.

publishing.pngIt's exactly what you might think. (Remember, the Onion, unlike Fox News, is fake. 1) An author shows up to small groups of people at readings, but yet "gives it her all". It's a common experience. Readings are (for many of us) sparsely attended and numbering in the single digits, or maybe in the teens. You usually have to be able to draw people, unlike sitting at a booth at a convention where you can chat with whoever stops by. For that reason, a book tour (unless you're a Name) involving travel is rarely worth the money.2

At first, I thought this was an attempt making fun of the author pathetically putting a brave face on a sad situation. Anton Strout had posted a link to his Facebook page, and I saw several other folks saying that the article actually depressed them.

By that point, I'd already realized that if anyone should be insulted, it would be readers. The viewpoint of the Onion bit is that readers are only worthwhile as book-buying machines. If you're not going to get enough traffic, why bother? It won't drive sales. There is something to that (as I note in footnote two), but this takes it to the asshat extreme. The "comedy" of the Onion article would be driven by the assumption that the prudent thing to do would be to just skip the reading, or "phone it in" if it was sparsely attended.

And that attitude pisses me off.

So I spent part of the morning thinking about how I'd talk about the above. And then I remembered ONN - the Onion News Network. What's great about those videos is that they're not just presenting a funny topic, but that they're lampooning the whole damn system. The intonation, the dramatic pauses, all of it takes it beyond "funny news" and into multiple levels of satire. 3

I realized the Onion article was lampooning the profit-driven mindset. It mocked the people who think that networking is all about what you can do for them, the mindset that views humans (and only values them) as nothing other than consumption machines.

Because I can tell you about the practical advantages of doing a reading with only a few people. I can tell you about the odds of them becoming a True Fan, and how much that's worth. I can rationalize a sparsely attended session as a net, long-term gain on a balance sheet.

But that misses the point.

I think back on cons and writer's workshops from when I first decided to make writing more than a hobby - from when I decided to take it seriously. I remember the content from many of the panels. But the moments I remember are conversations. When I attended a "Pick My Brain" session with Kelly Swails and nobody else was there. When Beth Vaughan talked to me for a good half-hour after I missed part of a class. When Lawrence Connolly remembered me after one of his readings. A three minute conversation with Pat Rothfuss inbetween buildings at GenCon as he ran from one panel to another. Don Bingle one afternoon in the hotel lobby. Kerrie Hughes after a panel. Alethea Kontis getting directions and at the Apex table when nobody else was around dealer's room. Toby Buckell while he was autographing. John Helfers encouraging me to submit more stories. Jim Hines for a hell of a lot of mentoring (whether he realized he was doing it or not - don't blame him, he meant well). Dozens more moments across years - and they were all small moments. Moments when it was just two or three people, just talking.

That's something you can do when you have nine, five, or even one person at your reading or event. You can't do it with fifty or a hundred. They're nice - but it's ego-boosting. It's not the real connection you can only get at something small.

And that's what the asshats who think signings and readings are all about numbers miss. They're so focused on numbers and profit that they miss out on life.

When I realized that - the narratorial voice, the profit-driven assumptions - was the real target of the comedy, then it suddenly became funny again.

And if you were laughing at the sad, sad author "giving it her all"... well, asshat, the joke's on you.

1 Wanna know why I said that? Tune in later today.
2 Conventions are a different story - you can draw people with panel topics, then wow them with your awesomeness. "I wrote a zombie love story," I told people after every panel last year. "Wanna see how I made it work? Come to my reading at..."
3 Or maybe I'm giving them too much credit. I don't know for sure.

Appearance - 16 April, 2011

No comments
random.pngFor those around the Dayton area, I'll be at Bell, Book & Comic from 12-6 on Saturday 16 April, along with one of the artists from the new Godzilla comic out from IDW. I'll be signing books (and selling them - along with CD copies of The Crimson Pact), talking writing and digital publishing, and generally having a great time.

Heck, if nothing else, come by and check out the comics. Bell, Book, and Comic is a great local comics store, with all sorts of gaming material and books. Need directions? Google Maps will hook you up.

No comments :

Opportunity in the Unknown

No comments
"Everybody is a nice guy, underneath it all. What we become when the world is through messing us over is something else." - Hagbard Celine

essay.pngLook, y'all, I'm one messed up dude.

Just take my word for it. I've been accused of being entirely too normal, a "nice guy", and so on. Yeah, whatever. I've got as much baggage as most people, and far more bad (emotional) habits.

That's not really the point of this, though. I mean, I knew I had issues, but I've been working on them. And I've had mentors and people I looked up to, and people who I saw as much farther along the path to healing themselves than I. So hey, I thought, I can't be that bad.

One of them1 - remember, this is someone who I think of as healthier than I - said this over e-mail:

"For the first time in my life, I'm going to respond to an adult problem like an adult, with integrity and honesty and compassion."

It took a while for that to hit me. At first I wanted to say something about the child-like simplicity of Zen or Tao, but their statement has nothing to do with that2, so luckily I kept my mouth shut. And then it slowly began to hit me with the irresistible force of a giant foam mallet.

If a person I look up to - a person I see as more emotionally mature than I - views themselves as a child, what does that say about me?

They weren't trying to convince me of anything - it was a statement about themselves. But at the same time, it's made me reconsider myself in a way I've not done for several months. It's something I needed. I remembered what I was doing, but had forgotten part of the why.

A decade ago, fifteen years ago, I wrote some inspirational stuff. Most notably, Breathe and I listen to them snicker and y2k+1. They're good things.

But by and large, I'd lost the frame of mind I had then. The attitude that let me wander downtown Chapel Hill with a girl I'd just met and read books in the park. The attitude that let me spin in circles in a warm Korean monsoon with friends. The attitude that let me be something other than scared.

I have been getting closer to that. Sometimes on my own, sometimes with help, sometimes despite other people's help. But I've been getting there.

Realizing how much farther I have to go just means that I have to get off my ass.

Because one of my random quotes, originally written in 1995, popped back up again, and finished the soft sledgehammer swing of my friend's words:

Sometimes we forget that we don't have to change the world in order to change the world.

I'd forgotten. I will probably forget again.

But maybe we can all keep reminding each other.

1 They know who they are. It's not your business - I'm not telling their story here.
2 Or everything to do with fulfilling it. I'm not sure yet.

No comments :

Plants, Zombies, Sexism?

soc_econ.pngI like the way The Border House challenges sexism, racism, ableism, and more in the gaming industry and community. (The post "BGG (Black Girl Gamer)–LFG, PST!" is quite excellent, for example.)

I was a little discomfited - and not in a "good, challenging" way by two things at the end of a review wondering why there were no women in the world of Plants vs. Zombies. (It's a bit long to quote here, so I'm talking about bullet point SEXISM and below.)

First, I would have liked to see the two parts of SEXISM split. As it stands, it's buried in a huge chunk of text.

I think intention matters - a lot - in the most effective way to react. A first draft of a story I took to my writer's group, while not exactly having the "Women in Refrigerators" angle, comes uncomfortably close. I'm at a point now where not only did I recognize the potential of falling in that trope, but took their critique and am rewriting that whole section. Years ago - basically before reading Privilege, Power, and Difference - I would have been insulted at the suggestion that I'd written anything sexist. The way to get the most impact changes dramatically.

Somehow, I think it's less likely the creators of PvZ are as intentionally sexist as Gearbox's plans for Duke Nukem Forever (and I say this as someone who liked the original and was horrified (for these reasons) when I decided to reinstall and play the original again). For that reason, I like that it was explicitly stated:
And keep in mind that sexist results do not require conscious, sexist intentions to happen.

I think that phrase defuses obstructing denial and lets most of us get on with actually fixing our unconscious biases.

Which brings us to the second problem: The paragraph right after the one saying that sexist intentions aren't necessary.

Every single thing in a game has to be put there by designers. Everything. A decision has to be made about every single little detail. Every blade of grass. Every pixel. And yes–a decision has to be made about characters’ presented gender.

Yes, I understand that this doesn't actually contradict the "does not require sexist intention" line. But as I was reading this article, it felt like it did.

I can sum up like this: Knowing where I'm at in my journey away from being a "typical" (read sexist) USAian male, I still felt defensive about these two paragraphs. Hell, it's not my game, and I still felt defensive. (I'm still debating whether my one big question about the content of the post is real or just a reflection of that defensiveness.)

If I had a defensive reaction, I think it's a good guess that the game designers whose behavior they wish to change are going to have a similar reaction as well.

While the Border House says it is "a blog for those who are feminist, queer, disabled, people of color, transgender, poor, gay, lesbian, and others who belong to marginalized groups, as well as allies", it first says that it's a blog for gamers.

Maybe I'm confused about the target audience, or desired impact of the posts. If we're just looking to say "Ayup, there it is again," then the PvZ post is a great example of pointing out sexism in places that it's often overlooked.

If the intent was to actually change minds and behaviors, though, I'm not so sure it met those goals.

I reserve the right to be wrong here, so I'd be interested in hearing your point of view. Let me know in the comments.


Digital Publishing Finances (three weeks in)

No comments
publishing.pngI promised to be open about sales of Volume One of the Crimson Pact, and this is a continuation of that. (And coincidentally, following up on Tobias Buckell's posting about his own digital experience.) (Edit: Jim C. Hines did a similar posting about the same time that this went live. I mentioned when we broke $10 per average short story author here; I've updated this to be through 10 April. Graph at the bottom, which excludes physical CD sales.

We've moved 83 copies so far. Doesn't sound like much? Try selling books at a con sometime - and considering that I've been told many small presses have print runs of 500 books, that's not bad for a book that's been out for less than a month. And it bodes well for the authors, too.

There was an initial boost of sales as everyone blogged and tweeted and facebooked and so on, not to mention convention appearances.

Sales at the website rose and peaked first, and have tapered off in the last week or so, as did sales at Barnes & Noble (though with a smaller arc to the curve).

I can tell when someone (including myself) blogs about the Pact, because I frequently see a blip of sales around that day on the site.

Sales at Amazon peaked a little later, but unlike the other two sources, have leveled off at approximately one per day. Consistently. Without intervention. That's roughly similar to Tobias' experiences as well.

(One copy has sold at Smashwords. Due to various issues, the book is still "pending" at the iBookstore and Kobo as I write this.)

This leaves me with two hypotheses:

1. Sales at Amazon are going to stay steady. I think they're going to slowly build without further massive intervention. I disagree with Tobias on this point for two reasons. First, there's built-in "boosters" - the next volumes in the series. There's plenty of evidence that sales of a new volume in a series boosts sales of the backlist, and I suspect that will be the case here as well. Second, I said "massive intervention" for a reason. We're all still talking about the book (myself in particular), but in a natural way.

2. Every time anyone involved with the project goes to a con we'll see more people be interested in the work and the sales go up again... and probably plateau a little higher each time as well.

This is a great thing.

Kris Rusch (among others) has written a lot about traditional publishing's "produce model", and how indie efforts (or, I guess, small press now) like ours are not bound by those expectations.


"Wait, Steve," says the hypothetical strawman, "why are you so thrilled about this?"

The thing that delights me about this project is that everyone involved can get back to writing.

Most of us are attending at least one con this year (in my case, many, many more). We'll talk naturally to people about The Crimson Pact. There are two more volumes (at least) in the works. There is a reasonable expectation that this will likewise boost sales of the first volume.

Since I blogged about reaching the "$10 per average author" milestone, each author's take (remember, they get 75% of the price after PayPal and the eRetailer takes their fees) has grown by 25% in just over a week. (In raw numbers, that's a couple bucks a week at this point.)

Even if I'm completely wrong 1 about the increase in sales, at this rate the average short story author will earn about $130 in a year for their tale.

And it'll still be in (digital) print. And it'll still be earning them money next year. And the year after.

This is the promise of digital publishing - it's moving away from the produce model of publishing to an investment model of publishing.


1I don't think I am, Tobias' example notwithstanding. There's too many examples from Kris Rusch, Dean Smith, Mike Stackpole, and others demonstrating otherwise.

No comments :

Infected - A 100 Word Story

No comments
`storytime.pngYup, it's flash fiction time again!

As always, this is based around Laurence Simon's weekly challenge for the 100 word-stories podcast. It's a great exercise for writers - writing a good drabble is a lot harder than it appears, but is still a "small" task so you can get around that idea of it being too much work. And then you get a random (and often bizarre) writing prompt to shoehorn you out of writer's block! Go read the rules for the Weekly Challenge and participate! Heck, Chris the Nuclear Kid does when he remembers to (and I can drag him away from video games)!

The player below should have the audio for this week; if it doesn't, you can find the audio here to download. You can also read and hear the rest of the entries (and vote for your favorites) at the 100 Word Stories podcast site!

I tried to cover it with cologne, that nasty musky stuff.





No soap and patchouli.

Artificial flowers in ozone-destroying spraycans.



Tuna Helper casseroles you couldn't get anywhere else.


None of it worked. Not a goddamned bit of it.

You said you could still smell it.

Not when you were with me. You were fine then. But later, when the other smells faded, then you claimed you could still smell the stench. That you could still smell the decay.

Today I realized the truth. It's not my zombie bite that's infected.

It's yours.

No comments :

So You Want to Make an eBook? : Software

This post is part of So You Want to Make an eBook?. I'm releasing this book in sections on my blog, but when it's all finished I will offer the whole thing as a single eBook. Everyone who donates toward its production (use the coffee cups to the right, note that it's because of this effort) will get a free copy of this eBook. You can find all the posts here.


There are some software requirements that you'll need. First, the non-optional ones:

The supplement pack from my website - There is a file on my website that goes with this book. There are examples of what I'm talking about in that pack. Feel free to use these examples as a starting point for your own work.

Calibre - This open-source eBook solution is useful for three reasons. It has a built-in eBook viewer, it can handle some conversion, and it has the relatively friendly epub-fix utility bundled with it. It can be found at:

A Programming Text Editor - Note: I do not mean a word processor like MS-Word or OpenOffice. Just a text editor. Specifically, you want a text editor that does context coloring; it will help you keep everything straight. I use Notepad++, which is Windows-only, but runs well in WINE for Linux and Mac folks. I've been told that TextWrangler is a good Mac alternative, and GEdit works well for Linux. (If you're used to nano or vim on *nix systems, you already know what I'm talking about.) The default text editor for your operating system will work, so you don't need this in quite the same way… but it will definitely reduce your eyestrain and troubleshooting.

Notepad++ can be found at
TextWrangler can be found at
Hints for getting Notepad++ functionality from GEdit can be found at

Converting RTF to HTML - You need a way to convert RTF to HTML. Let me just say this up front: MS-Word does a horrible, complicated job of converting anything to HTML. Avoid this like the plague. You may have a word processor that saves as HTML and gives you a nice clean file. Atlantis works well for exporting to HTML (it also says it'll export to an ePub, but you'd still have to clean it up anyway).

If not, create a free Gmail account and send yourself the RTF file. When it shows up in your inbox, use the web interface to "View" the document. Then save that page as "Web Page, HTML Only". It's free, and works just fine. This is the process that I walk through here.

There are free and/or open source programs that claim to convert from RTF to HTML. My luck with them has been sketchy at best. Feel free to try them at your own risk.

Zip file utility - You need this because ePub is a ZIP file with a specific structure. Since WinXP, Windows has been able to create and open ZIP files in the basic Explorer window. Fileroller on most Gnome-based Linux distributions does a good job at unpacking, but not so good at creating them because of a specific quirk in the ePub format. I honestly don't know about Macs. Regardless, a free crossplatform system is Zipcreator, found here: Zipcreator is a Java program, so if you use it, you will need to make sure you have Java installed (below).

And now, the optional programs.

Java - If you wish to validate your ePub on your own computer, you will need to have a correctly-installed version of Java. It can be found at:

Epubcheck - This tool is a Java program (hence the above entry) that is completely anal-retentive about your ePub. It will check everything completely, and thoroughly… but also gives some kind of strange and obscure errors. I will mention an online version later as well, but this is obviously more secure. The program can be found at

Image Software - This depends entirely on your needs, and how complex your covers are. Realistically, if you have not had training in graphic design, hire a graphic designer. Really. Covers are how people judge whether or not to buy your book. There is a very clear "look" to unprofessionally made covers, and readers will avoid any book that has that "look".

Tastes and preferences with image software vary widely. One free, cross-platform option that does practically everything is The Gimp, found at The GIMP is sometimes faulted for being not intuitive, but it's not that hard. Guides to basic GIMP usage can be found here:

Webstore - I used to recommend SimpleIPN as a free solution. It's not hard, but requires a little bit of PHP knowledge and web-fu. It doesn't use databases, just some PHP and interfacing with PayPal, so it's speedy as heck. You can find it here: Be sure to read the comments for common problems and their solutions.

Another free (and easier) option is “Fat-Free Cart” (, and its pay version, e-Junkie, if you need coupons or other options like that. You can find e-Junkie at ( Both are dead easy to set up, and quite speedy.

As a side note, I'm not going into detail with the automatic conversion options for Atlantis or Calibre, because... well, they're automatic conversions. If you wish to use those as a base and "fix" it from there, you can - but often it's as much work as doing it all by hand.

Next time: We finally start converting the text!

This post was part of So You Want to Make an eBook?. I'm releasing this book in sections on my blog, but when it's all finished I will offer the whole thing as a single eBook. Everyone who donates toward its production (use the coffee cups to the right, note that it's because of this effort) will get a free copy of this eBook. You can find all the posts here.


You know why.

No comments

No comments :

eBook Covers (So You Want To Make an eBook BONUS section)

No comments
alt="ebook_cover_200" />I find it interesting that one of my favorite book covers ever (and has gotten the most comments when I read the paper edition in public) was vilified in Facebook comments. It's the cover for Zombie Racoons & Killer Bunnies (and has quite a few good stories in it to boot):

I LOVE the campy feel to it. LOVE it. It catches the eye and makes you go "WTF" long enough to get hooked - which is exactly what a cover is supposed to do. It doesn't make a great eBook cover, though - take a look at this thumbnail:

This, by the way, is one of the reasons why the cover for the Crimson Pact was chosen. That lil' demony gargoyle guy doesn't directly tie into any story, but he's sure as heck iconic ... and even recognizable as a 16x16 favicon! A 100x100 image is very recognizable when you see the cover elsewhere.

So what about bad?

Sure, there's plenty of examples of bad amateur cover art, but I almost feel guilty picking on them. (Heck, I've made my own mistakes like that.) Two that are particularly cringe-worthy, though, are Malikar and Dreadnought [sic]. Malikar's confusion of images and symbols (along with the mid-90's web page design) makes me leery to even try a free download; the stippled art of Dreadnought reminds me of everything my friends and I made during high school and early college.

But the pros are just as bad. Take a look at Cover Cafe's Worst cover results. Even though it's from 2005, all of the complaints are still valid. Contrast those with the good covers on the prior pages, and you'll suddenly have a primer on what to (and not to) do.

Please note: I've done everything bad discussed here and MORE - in fact, I saw a guideline saying "Don't use black-and-white covers" just after I posted my short story "Memories of Light and Sound" up for sale (less than a buck!). Still, *I* like it... and it actually depicts a central scene in the story. (Though for some reason the text keeps artifacting, which drives me nuts.)

No comments :

Using epubcheck on Linux

No comments
technology.pngJust a couple of quick notes to make your time with epubcheck a little bit nicer - at least, if you're on a linux system.

This makes use of zenity (of course) and the tee command, which I'm just learning - and liking!

If you've ever seen a screen of epubcheck errors, it's a huge scrolling mash of stuff that just fills pages and pages of terminal screen. Sometimes - especially if I made an error that impacts all the files in a book - it scrolls so far that I can't see all of them.

This fixes that.

You can't just do a standard redirection - if there's an error, it goes to standard error, not standard output. So this command is necessary:

java -jar /path/to/epubcheck-1.2.jar "$1" 2>&1

This is meant to be part of a bash script, so "$1" is the full path to the file in question. The funky bit there at the end will make standard error into standard output, so you can pipe it to something like zenity:

java -jar /path/to/epubcheck-1.2.jar "$1" 2>&1| zenity --text-info --width 530 --height 250

But that doesn't help us if we want a log of our errors, right?


java -jar /path/to/epubcheck-1.2.jar "$1" 2>&1| tee >(zenity --text-info --width 530 --height 250) >logfile.log

And there you go! A logfile AND a nice zenity window full of your errors!

No comments :

Fractal - A 100 Word Story

No comments
storytime.pngYup, it's flash fiction time again!

As always, this is based around Laurence Simon's weekly challenge for the 100 word-stories podcast. It's a great exercise for writers - writing a good drabble is a lot harder than it appears, but is still a "small" task so you can get around that idea of it being too much work. And then you get a random (and often bizarre) writing prompt to shoehorn you out of writer's block! Go read the rules for the Weekly Challenge and participate! Heck, Chris the Nuclear Kid does when he remembers to (and I can drag him away from video games)!

The player below should have the audio for this week; if it doesn't, you can find the audio here to download. You can also read and hear the rest of the entries (and vote for your favorites) at the 100 Word Stories podcast site!

Musical credits are: "Sawmill" by Gurdonark and "Window like" by echoed.

As I note in the audio, this is another drabble that takes place in the universe (multiverse?) of the Crimson Pact anthology. You can find out more about the Crimson Pact and pick up the novel-length anthology at

fractal 2"They dumped the demon's body in the river," Professor Heath told the class. "They'd forgotten that demons are fractally iterative."

He continued, gesturing at Mandelbrot's set. "As you zoom in, the fractal shape repeats, over and over again."

The brighter students started to get it.

"Exactly. As the demon decomposed, each cell was its own, fractal, demon. Across every branch and tributary of the Mighty Mississippi."

Sue raised her hand. "Is that why we lost the United States?"

Professor Heath raised his hand to his forehead. He nodded, slow and tired.

"Yes. That's how I lost us the United States."

No comments :

Monitor your environment in ubuntu with pulseaudio

No comments
technology.pngIf you've ever wanted to listen to headphones but not be completely deaf to your environment, linux can come to your rescue. This solution is with Ubuntu 10.04, with the pulseaudio volume control installed (pavucontrol - debian packages here, and it should be in the repositories for Ubuntu).

Make yourself a little script - mine's called "" - which consists of the following:


parec | pacat

Then I configured an alias to spring up a nice little terminal window:

alias hear='gnome-terminal --hide-menubar --title=listen --geometry=20x6 -x bash /path/to/script/'

Invoke your script, and adjust the volume for pacat under pavucontrol. You now have passthrough audio, letting you hear your ambient environment!

(Mind you, the key tapping gets annoying on my laptop, but what the hey, right?)

No comments :

Placeholder? Or not?

1 comment
I've just left the NCSA conference in Cleveland - I'm teaching tomorrow morning - where I presented my research. Not a lot of folks in the crowd, but those that were there both paid attention and seemed interested, which is far better.

Which is why there's no "So You Want to Write an eBook" post today. :)

So that begs another question - and one I've not seen a good answer for:

If you've established a regular posting routine and "stuff happens", should you mention it, or just go on like nothing happened? As a reader, which would you rather see?