You've probably heard by now that the US Congress just repealed Obama-era regulations preventing Internet service providers from selling their users' browsing data to advertisers. I'll probably talk more about that in future posts. For now, I'm going to focus on a specific set of steps I've taken to prevent my ISP (Cox) from seeing what sites I visit.

I use a VPN called Private Internet Access, and a hardware firewall running pfSense. If that sentence looked like gibberish to you, then the rest of this post is probably not going to help you. I plan on writing a post in the future that explains some more basic steps that people who aren't IT professionals can take to protect their privacy, but this is not that kind of post.

So, for those of you who are IT professionals (or at least comfortable building your own router), it probably won't surprise you that streaming sites like Netflix and Hulu block VPNs.

One solution to this is to use a VPN that gives you a dedicated IP (I hear good things about NordVPN but I haven't used it myself); Netflix and Hulu are less likely to see that you're using a VPN if they don't see a bunch of connections coming from the same IP address. But there are problems with this approach:

  • It costs more.
  • You're giving up a good big chunk of the anonymity that you're (presumably) using a VPN for in the first place; your ISP won't be able to monitor what sites you're visiting, but websites are going to have an easier time tracking you if nobody else outside your household is using your IP.
  • There's still no guarantee that Netflix and Hulu won't figure out that you're on a VPN and block your IP, because VPNs assign IP addresses in blocks.

So I opted, instead, to set up some firewall rules to allow Netflix and Hulu to bypass the VPN.

The downside to this approach is obvious: Cox can see me connecting to Netflix and Hulu, and also Amazon (because Netflix uses AWS). However, this information is probably of limited value to Cox; yes, they know that I use three extremely popular websites, when I connect to them, and how much data I upload and download, but that's it; Netflix, Hulu, and Amazon all force HTTPS, so while Cox can see the IPs, it can't see the specific pages I'm going to, what videos I'm watching, etc. In my estimation, letting Cox see that I'm connecting to those sites is an acceptable tradeoff for not letting Cox see any other sites I'm connecting to.

There are a number of guides on how to get this set up, but here are the three that helped me the most:

OpenVPN Step-by-Step Setup for pfsense -- This is the first step; it'll help you route all your traffic through Private Internet Access. (Other VPNs -- at least, ones that use OpenVPN -- are probably pretty similar.)

Hulu Traffic -- Setting up Hulu to bypass the VPN is an easy and straightforward process; you just need to add an alias for a set of FQDNs and then create a rule routing connections to that alias to WAN instead of OpenVPN.

Netflix to WAN not OPT1 -- Netflix is trickier than Hulu, partly because (as mentioned above) it uses AWS and partly because the list of IPs associated with AWS and Netflix is large and subject to change. So in this case, instead of just a list of FQDNs, you'll want to set up a couple of rules in pfBlockerNG to automatically download, and periodically update, lists of those IPs.

That's it. Keep in mind that VPN isn't a silver bullet solution, and there are still other steps you'll want to take to protect your privacy. I'll plan on covering some of them in future posts.

The other day I wrote a Letter to the Editor to the Arizona Republic. I don't know if it made the print edition, but it's up on azcentral.com.

The letter was in response to an op/ed by Lisa Loo, titled Do judges justice. Finish marking your ballot. I appreciate Loo's message; down-ballot races are important, and your vote counts for a lot more, proportionally, than your vote for President.

But it can be damned difficult to find information on down-ballot candidates and initiatives; the less high-profile and glamorous the race, the harder it is to learn about it.

Loo points to Judicial Performance Review (azjudges.info), which scores judges on a variety of criteria.

The problem is, without context, those scores are just numbers; they don't mean anything if no explanation is provided.

So here's my letter to the editor, quoted in full:

I appreciated Lisa Loo's op-ed on the importance of studying up on judges and filling out the complete ballot, but it's easier said than done.

I know Jo Lynn Gentry is the only judge to receive failing marks, but I have been unable to find any explanation of why. Low scores out of context lack meaning, and I'm reluctant to cast a vote without an explanation for why I'm casting it.

It's not just the judges; a number of down-ballot candidates and local initiatives are obscure and have little information available. (Should TUHSD be allowed to sell two lots of property? I have no idea!)

What can we as voters do to educate ourselves when so little information is available?

The Republic didn't respond with any good answers for these down-ballot races.

A commenter named Jay Martin added this:

Exactly, I've been scouring why such a low score for hours and the only thing I can think of is that she ruled against blocking Prop 205 from the ballot and people against the measure are now upset at this.

Prop 205 is the ballot initiative to legalize marijuana. (Sort of. It's not full legalization, and it heavily favors existing vendors, basically setting up a cartel. Suffice it to say, I'm voting Yes because any move to stop putting people in prison for marijuana use is a step in the right direction, even if this isn't the ideal way of doing it.) County Attorney Bill Montgomery challenged it and tried to prevent it from getting on the ballot; Judge Gentry dismissed his challenge.

Could that be the reason Gentry has received such low marks?

In a word, no. Gentry's dismissal of the 205 challenge happened two months after Judicial Performance Review released her low scores.

So I have no idea why she Does Not Meet Expectations. And I'm not willing to vote to remove her without a reason. So I guess I get to decide between voting to keep her or not voting on her either way.

I still don't know what to do about that TUHSD thing, either, but I've got a friend who works at Marcos; I guess I should text him and ask if he knows what the deal is.

In 2006, I made a mistake.

I was working for a small company in north Phoenix. (That was not the mistake. ...Well, actually, it was, but not the one I'm here to talk about today.) And I represented that company in a networking group of local small businesses.

One of the people in the group was Sam Crump. I'm not used to using people's real names when I tell stories like this, but Sam's a public figure, so I'm going to go ahead and make an exception in this case.

Sam owns a law firm. I can't tell you anything about it from personal experience, but I hear good things.

And in 2006, Sam decided to run for the state legislature.

Sam's politics are not my politics; he would later describe himself as a "Tea Party Republican," though people weren't calling themselves that yet. I wouldn't have voted for him. But I liked him; he was a nice guy, and so when he asked us all to join his mailing list, I went ahead and wrote my E-Mail down.

Never put your E-Mail address on a political mailing list. Not for a politician you agree with, and certainly not for one whose views you find appalling. No matter how much you like him as a person.

Now, I don't know for sure that Sam or his people sold or gave away my E-Mail address to some group that collects E-Mail addresses for various fringe Republican candidates. It could be just a coincidence. But it's an E-Mail address I don't give out to a lot of people, it's the only E-Mail where I regularly get right-wing spam, and it just so happens that I started getting right-wing spam at that address after giving it to a local right-wing politician. Maybe whatever godforsaken list that address got put on got it from someplace else. But if I had to guess, I'd say they got it from Sam.

In the past, I've gotten spam for Arizona political candidates including Pamela Gorman and Joe Arpaio. But the latest politician who won't leave me the fuck alone is a woman named Calandra Vargas, who is running for Congress in Colorado Springs.

I have never set foot in the state of Colorado.

In fact, I've explained that to Ms. Vargas, or whoever's reading her inbox (if anybody), multiple times, in between clicking the Unsubscribe link at the bottom of her E-Mails.

The campaign's response to my first unsubscribe request, a few weeks ago, was to send me three more fucking E-Mails. When I got them, I clicked the Unsubscribe link again, and sent a reply letting Ms. Vargas, or whoever's reading her inbox (if anybody), know that if I received any more E-Mails from her campaign I would report her to the FCC for violating the CAN-SPAM Act.

I got another E-Mail from the Vargas campaign today.

Calandra Vargas is a politician, so she's probably not used to dealing with people who keep their promises. But I'm a man of my word, and I filed that complaint. And if I hear from her again, I'll file another one.

Here's the FCC's guide to reporting spam. If you're getting unsolicited E-Mails from politicians who won't let you unsubscribe from their lists, they're breaking the law.

From: Doris
Subject: AOMEI Freeware Review Invitation (corporate-sellout.com contact form)
06/11/2016 11:15 PM

Dear admin,

This is Doris from AOMEI Technology Ltd. I am writing for inviting you to evaluate our free backup and restore software - AOMEI Backupper Standard, the simplest free backup software. It has been upgraded to version 3.2 now, supporting Windows 10, Windows 8.1, Windows 8, Windows 7, Vista, and XP.

As a freeware, our Backupper has many advantages which most of other free backup software lack, such as incremental backup, differential backup, schedule automatic backup, create bootable media, PXE boot tool, dissimilar hardware restore and file synchronization etc.
Download Link: [direct link to an executable file]
Learn more: [some generically-named website]

Could you please spare your precious time to test and review our freeware? Or could you please take a look at that and pass on your comments to me, any of your suggestion will be much appreciated.

I am eagerly looking forward to your reply.

From: Thad Boyd
Subject: Re: AOMEI Freeware Review Invitation (corporate-sellout.com contact form)
06/13/2016 10:01 PM

What's that, Doris? You want to know if I'd be interested in writing up a nice blog post about how AOMEI Technology Ltd. is a dodgy company that advertises its products by spamming people's contact forms? Why, I would LOVE to!

Has it really been over two years since my last Zappa post? Well, time to dust off the most-used tag on this here blog.

If you're a Zappa fan, you've probably already heard about the Who the Fuck is Frank Zappa? Kickstarter. But in case you haven't:

Alex Winter (best-known as Bill from the Bill & Ted movies, but more frequently a director these days) is making a documentary about Frank. And as part of the process, he's helping Joe Travers to preserve and digitize the Zappa Vault.

Winter recently explained in Update #18 that the first million dollars raised in the Kickstarter campaign will all go to preserving the Vault, and that he won't put any Kickstarter dollars toward the documentary until and unless it passes $1 million. I think this shows he's got his priorities in order; I definitely want to see the documentary, but I agree with him that the most important step in preserving Zappa's legacy is preserving his work and making sure we don't lose it to degrading tape and film.

The Kickstarter runs through April 8. There are add-on rewards available, too, which don't require you to pledge to the Kickstarter and which will still be available after it ends.

You know, I've always wanted a Zappa for President T-shirt.

I've always advocated being kind to tech support people. They have a tough job, it's not their fault you have a problem, and they spend all day dealing with abuse from people who act like it is their fault.

Well, yesterday, for the first time in my life, I cursed out a phone support rep. I'm not proud of it, but in my defense, I'd been talking to support for 90 minutes by that point, and the last 30 of that had been a conversation where this tier-2 rep talked in circles, blamed me for problems with their server, repeatedly said she couldn't help me, refused to listen to my explanations of the problem, and acted like a condescending ass.

Seriously, this is the worst tech support experience I have ever had. Beating out the previous record-holder, the guy who told me that my burned-out power supply wasn't really burned-out, I was probably experiencing a software issue. After I told him there were burn marks on the power connector.

At least that one was funny. The conversation I had with Cox yesterday wasn't funny, just infuriating.

Here's what happened: on Monday evening, when I tried to send an E-Mail, I started getting this error:

An error occurred while sending mail: The mail server sent an incorrect greeting:
fed1rmimpo306.cox.net cox connection refused from [my IP address].

I tried unplugging the modem to see if I'd get a new IP assigned. No luck. I tried turning the computer off and then on again. No luck. I tried sending mail from other devices. Same result.

So on Tuesday afternoon, I pulled up Cox's live support chat to ask for some help.

The rep eventually told me he'd escalate, and that the issue should be fixed within 24 hours.

Just shy of 27 hours later, I pulled up Cox's live support chat again, to ask what the problem was.

The rep -- a different one this time -- quoted me this feedback from the ticket:

Good afternoon, the log below shows the username can send on our servers. This may be a software, device or network issue. Please review the notes and contact the customer.

In other words, they'd tested the wrong thing. The mail server was rejecting my connection, based on my IP address, before my mail client sent my username and password. And Cox's solution to this was...to confirm that my username and password were working.

I explained this to the rep, over the course of 75 excruciating minutes. I demonstrated by disconnecting my phone from my wifi network and sending an E-Mail while connected to my wireless carrier. It worked when I connected to Cox's SMTP server over LTE; the same mail app on the same phone failed when connected to my wifi.

I explained that the mail server was blocking connections from my IP address, and that they needed to either make it stop blocking my IP address or assign me a different IP address.

The rep told me that was impossible, that residential accounts use DHCP, which assigns IP addresses at random.

I told him that I know what DHCP is, and that I wasn't asking for a static IP address, I was just asking for someone to revoke my DHCP lease and assign my modem a new IP address from the DHCP pool.

He told me that the only way to get a new IP address is to disconnect your modem for 24 hours.

I told him that was unacceptable, and I asked if there was anyone else I could talk to.

He gave me a number to call.

The person who answered the phone said she'd escalate to a tier-2 tech. I said, pointedly, that I did not understand why nobody had thought to do that in the preceding 75 minutes.

As it turns out, tier-2 techs are worse than tier-1 techs. Tier-1 techs at least know that they don't know everything, and are willing to ask for help from people who know more than they do. Tier-2 techs think they do know everything, will not ask for help from someone who knows more than they do, and certainly will not listen to a customer who knows more than they do.

Well, probably not all of them. But that was sure as hell my experience with the tier-2 tech I got stuck with.

First, she had the sheer gall to tell me my modem wasn't connected to the Internet.

I told her I could connect to websites, I could receive E-Mail, and that the error message on sending mail was not a timeout, it was a Connection Refused. I added that I was doing this from a computer that was connected to my router by a cable, that I had not accidentally jumped on somebody else's wifi.

She would have none of it. She insisted "We can't see your connection here, so you're not connected." Repeatedly. When I told her that I was clearly connected to the Internet, she just kept telling me that no, I wasn't.

Finally she told me to bypass my router and plug my desktop directly into my modem. I told her that this wouldn't fix anything, because this was happening from multiple devices that all had Internet access. She got huffy and standoffish and told me she couldn't help me if I wasn't willing to do what she asked.

So I did it. I climbed back behind my computer, traced the cable to the router, and swapped it with the one coming from the modem.

Absolutely nothing changed. Except that she said. "Oh. You're running a Linux computer? We don't support Linux."

I responded, "The operating system I am using is not relevant to whether your server is accepting connections from my IP address."

But some reps aren't interested in helping. They're only interested in finding an excuse for why they don't have to help you.

I asked her if there was any way she could determine why my IP was being blocked. I noted that it seemed to be on some sort of blacklist.

She asked if I'd checked whether it was on any public blacklist. I responded that I had, and that it had an expired listing on SORBS from 2013 -- well before it was my IP address; I've only lived in this house since 2014 --, that I hadn't found it in any other blacklist, and that a SORBS listing from over two years ago should not result in my suddenly losing the ability to connect to SMTP two days ago.

She said that if I was on a blacklist, those were handled by third parties and it was my responsibility to get de-listed. I explained that I did not see my IP on any currently-active blacklists, and asked if she could look up what was causing the rejection. She said she couldn't.

I asked if she could reset my IP. She said that the only way to do it would be to shut down my modem for 25 hours. (Already I had somehow lost another hour!)

I told her that was unacceptable, and asked how I could get it reset remotely.

She told me that was impossible, that residential accounts use DHCP, which assigns IP addresses at random, and that the only way to get a new DHCP address is to disconnect your modem for 25 hours.

I told her that it is not impossible, that the same router that provides DHCP leases is capable of revoking them, and that I needed somebody to do that for me.

We went round and round like this for awhile.

At one point, she said, "We can't do that; it's done automatically."

I responded that anything a computer does automatically can also be done manually, and that there is certainly someone in Cox who has the account access to log into the router that is assigning IP addresses and revoke a lease.

She started to explain DHCP to me again -- it was about the fifth time at this point -- and I snapped.

I shouted, "I know how DHCP works; I ran an ISP, for fuck's sake!"

I feel kinda bad about that.

I finally got pushed over to a supervisor -- another twenty minutes on hold -- who tried to tell me that Cox can't help me because they don't support third-party programs like what I'm using, and that if I could send messages from webmail, that's what I should do.

I said, "Are you seriously telling me that Cox does not support sending E-Mail from phones or tablets?"

The supervisor backed off that claim and said that she didn't really understand the technical stuff, that she could send me back to tier 2.

I responded that it had been two hours and I didn't think it was in anyone's best interest for me to continue this conversation, but that if I decided to call back tomorrow, what could I do to get some service?

She said to ask for tier 2 again, and this time ask for a manager.

I'm debating whether I really want to deal with that kind of aggravation, or if I'd be happier just abandoning the Cox E-Mail address that I've been using for fifteen fucking years.

Incidentally, Cox just jacked its prices up by $7 a month. Why is it that every time the cost goes up, the quality of service goes down? I remember the first time they hiked my bill, they dropped Usenet service.

That was in 2009. Since then my bill's gone up $27. My service sucks; several times a day my connection just stops working and I have to restart the modem.

And of course I can't switch to another ISP, because there isn't one available at my address. My "choices", such as they are, are as follows:

  • Pay $74 a month for Cox
  • Steal wifi from a neighbor who's paying for Cox
  • See how far I can get using only my phone's data plan for Internet access

I'm pretty much fucked, like most Americans are on broadband access.

And the hell of it is, even if there were another provider available, all the alternatives seem to be even worse.

I mean, Christ, at least I don't have Time Warner or Comcast.

I wrote Old Tom and the Old Tome in Scrivener. I converted it to an EPUB with Sigil. I tested it using Calibre, FBReader, Nook, Kobo, and Google Play Books. Then I published it on Smashwords and Kindle Direct.

Why a short story?

This one is probably obvious, but just in case it isn't: I started with a short story because when you want to learn a new skill, you want to start small. I didn't want to write something novel-length and then run into a bunch of problems.

A short story's the perfect length to start with. Old Tom and the Old Tome clocks in around 3,000 words, split up into 4 separate sections (cover, copyright, story, About the Author). It has a great structure for learning the ropes.

Of course, you don't have to go the fiction route. In fact, it occurs to me that this blog post would actually convert quite nicely into a short eBook. Hm, food for thought.

Scrivener

I checked out Scrivener because Charles Stross swears by it. It's basically an IDE for writing books; it's quite simply the most advanced and mature piece of software there is for the purpose.

There's a Linux version, but it's abandonware. For a GNU/Linux user such as myself, this is something of a double-edged sword: on the plus side, I get Scrivener for free, where Mac and Windows users have to pay $40 for it; on the minus side, if a system upgrade ever causes it to stop working, I'm SOL. If Scrivener stops working on my system, there's not going to be a fix, I'll be locked into a platform I can no longer use. I could try and see if the Windows version will run under WINE, but there's no guarantee of that.

The good news is that Scrivener saves its files in standard formats, so if it ever stops working I'll still be able to access my content in other programs. The bad news is that it saves its individual files with names like 3.rtf and 3_synopsis.txt.

So Scrivener's pretty great, and I'll probably stick with it for a little while even though there are no more updates on the horizon for my OS -- but there's a definite downside to using the Linux version. (And if they decided the Linux version wasn't going to bring in enough profit to justify maintaining it, what happens if they decide the same thing for the Windows version someday, maybe leave it as a Mac-only product?)

Getting Started

Scrivener's got a great tutorial to run through its functionality; start there.

When you're done with the tutorial and ready to get to work on your book, I recommend using the Novel template, even if you're not writing a novel, because it automatically includes Front Matter and Back Matter sections; the Short Story template does not.

Scrivener's got your standard MS-word-style tools for formatting your work. I didn't use them. Since I was targeting a digital-only release and no print version, I wrote my story in Markdown, which converts trivially to HTML but isn't as verbose as HTML.

Output Formats

Since I went the Markdown route, I found that the best option for output at compile time was Plain Text (.txt). The most vexing thing I found about the output was the limited options under the "Text Separator" option -- the thing that goes between different sections. What I wanted was a linebreak, followed by ***, followed by another linebreak. Scrivener doesn't have any option for that -- your options are Single Return, Empty Line, Page Break, and Custom. Under Custom you can put ***, but there doesn't seem to be any way to put a linebreak on either side of it. So I found the best option was to just do that, and then manually edit the text file it put out and add a linebreak on either side of each one.

If you plan on making an EPUB file, you'll probably want to keep all the "smart quotes" and other symbols that Scrivener adds to your text file. However, if you want to distribute the Markdown file in plain text and want it to be readable in Chrome, you'll need to remove all the pretty-print characters, because Chrome won't render them correctly in a plain-text file (though it'll do it just fine in a properly-formatted HTML file). You'll also want to use the .txt extension rather than .md or .markdown if you want the file to display in Firefox (instead of prompting a download).

You've got different options for converting from Markdown to HTML. Pandoc is a versatile command-line tool for converting between all sorts of different formats, but I don't like the way it converts from Markdown to HTML; not enough linebreaks or tabs for my tastes. There are probably command-line flags to customize those output settings, but I didn't find them when I glanced through the man page.

I thought Scrivener's Multimarkdown to Web Page (.html) compile option worked pretty well, although the version I used (1.9 for Linux) has a bug that none of the checkboxes to remove fancy characters work correctly: you're getting smartquotes whether you want them or not. You also don't want to use *** as your section separator, because Scrivener reads it as an italicized asterisk (an asterisk in-between two other asterisks, get it?) instead of an HR. Similarly, it reads --- as an indicator that the previous line of text is an h2.

So your best bet for a section break is something like

</p><hr/><p>

or

<div class="break">*</div>

(Actually, you don't want to use HR's at all in an EPUB, for reasons I'll get to later, but if you want to distribute an HTML version of your book, it's fine to use them in that version.)

Sigil

Sigil is an excellent, very straightforward tool for editing the EPUB format. I recommend you grab the Sigil User Guide, go through the Tutorial section, and do what it tells you -- even the stuff that generates seemingly ugly code. For example, if you use Sigil's Add Cover tool, you wind up with code that looks like this:

<svg xmlns="http://www.w3.org/2000/svg" height="100%" preserveAspectRatio="xMidYMid meet" version="1.1" viewBox="0 0 900 1350" width="100%" xmlns:xlink="http://www.w3.org/1999/xlink">
  <image width="900" height="1350" xlink:href="../Images/cover.jpg"/>
</svg>

If you're like me, looking at that makes you wince. And your instinct will be to replace it with something simple, like this:

<img src="../Images/cover.jpg" alt="Cover" />

But don't do that. Removing the <svg> tag, or even removing those ugly-ass inline styling attributes, will prevent the cover from displaying correctly as a thumbnail in readers.

(If there is a way to clean up that ugly <svg> tag and still have the thumbnail display correctly, please let me know; I'd love to hear it.)

Now, Sigil is for the EPUB2 format. It doesn't support any of the newfangled fancy features of EPUB3, and neither do most readers at this point. You're going to want to keep your styles simple. In fact, here's the entire CSS file from Old Tom and the Old Tome:

img {
  max-width: 100%;
}

h1 {
  text-align: left;
  text-indent: 0;
  font-size: 200%;
}

.noindent {
  text-indent: 0;
}

.break {
  margin: 1em 0;
  text-align: center;
}

Oh, and that last class, .break? That's there because some readers ignore <hr/> tags. FBReader on Android, for example, will not display an HR. No matter how I tried formatting it, it wouldn't render. Not as a thin line, not even as a margin. If you use an <hr/> tag in your EPUB file, FBReader will act as if it isn't there.

So I wound up cribbing a style I saw in Tor's EPUB version of The Bloodline Feud by Charles Stross:

<div class="break">*</div>

where, as noted in the above CSS, the .break class centers the text and puts a 1em margin above and below it.

(Some readers won't respect even that sort of simple styling, either; Okular parses the margin above and below the * but ignores the text-align: center style. Keep this in mind when you're building an EPUB file: keep the styles simple, and remember that some readers will straight-up ignore them anyway.)

(Also: this should go without saying, but while it's okay to look through other eBooks for formatting suggestions and lifting a few lines' worth of obvious styling is no problem, you don't want to go and do anything foolish like grab an entire CSS file, unless it's from a source that explicitly allows it. Even then, it might not be a good idea; formatting that works in somebody else's book may not be a good idea in yours.)

Testing

Once my EPUB was done, I tested it in a number of different readers for a number of different platforms at a number of different resolutions. There are a lot of e-readers out there, and their standards compliance is inconsistent -- much moreso than the browser market, where there are essentially only three families of rendering engines.

If you're used to using an exhaustive, precise set of CSS resets for cross-browser consistency, you probably expect to use something similar for e-readers. Put that thought out of your head; you're not going to find them. The best you're going to get are a few loose guidelines.

Consistency across different e-readers just isn't attainable in the way that it is across different web browsers. Don't make that a goal, and don't expect it to happen. You're not looking for your eBook to display perfectly in every reader; you're just looking for it to be good enough in a few of the most-used readers.

For example, I found that the margins the Nook reader put around my story were fine on a tablet, but I thought they were too much on a phone. If I'd wanted, I could have futzed around with media queries and seen if that was possible to fix -- but I decided no, it was Good Enough; it wasn't worth the effort of trying to fix it just for that one use-case.

Smashwords

Smashwords has a useful FAQ on self-publishing, and also provides a free EPUB download called the Smashwords Style Guide.

If you already know HTML, here's what I can tell you about the Smashwords Style Guide: read the FAQ at the beginning, then skip to Step 21: Front Matter. Because it turns out that Steps 1-20 are about how to try and make Microsoft Word output clean HTML and CSS. If you already know how to write HTML and CSS yourself, there is of course absolutely no fucking reason why you would ever want to use Word to write your HTML and CSS for you.

It's probably a good idea to read the rest of the guide from Step 21 through the end, but most of it's pretty simple stuff. To tell the truth, there are exactly two modifications I made to the EPUB for the Smashwords edition: I added the phrase "Smashwords edition" to the copyright page, and I put ### at the end of the story (before the back matter). That's it.

For all the time the guide spends telling you how easy it is to fuck up and submit a file that will fail validation, I experienced none of that. My EPUB validated immediately, and it was approved for Smashwords Premium the next day (though Smashwords says it usually takes 1-2 weeks; the quick turnaround may have been a function of how short my short story is).

Description

Most of the forms you fill out on the Smashwords Publish page are well-documented and/or self-explanatory. The Long Description and Short Description fields are exceptions; it's probably not entirely clear, at a glance, where your listing will show the short description and where it will show the short one. So here's how they work:

On Smashwords, your book's listing shows the short description, followed by a link that says "More". When you click "More", the long description appears underneath the short description.

  • Smashwords default
  • Smashwords expanded
Smashwords

Kobo and iBooks don't appear to use the short description at all. Your book's listing will show the first few lines of your long description, followed by an arrow (on Kobo) or a "More..." link (on iBooks), which you can click to expand to show the entire description.

  • Kobo default
  • Kobo expanded
Kobo
  • iBooks default
  • iBooks expanded
iBooks
Aside: Why the fuck does it do this?
Look at all that whitespace. What's the point of hiding the text?

Inktera shows the long description, followed by an HR, followed by the short description.

Inktera

Inktera

And Scribd just shows the long description.

Scribd

Scribd

Lastly, Blio doesn't show either description of my book. Clearly this is a problem and I should probably talk to tech support about it.

As you might expect, the various different ways the different sites use the two descriptions create a bit of a conundrum: how can you write a short description that is the primary description on one site and a long description that is the primary description on four other sites, and write the two descriptions so that they don't look pointless and redundant when you put them side-by-side?

I haven't come up with a good solution for this in the case of Old Tom yet.

Amazon

It turns out the Amazon conversion is really easy. I just set up an account at kdp.amazon.com, filled out the forms, uploaded the cover and the EPUB file, and Amazon's automatic conversion software switched it over to Kindle format with no trouble at all. Amazon's even got a really nice online reader that lets you check how your file will look in the Kindle Reader on various devices (Kindle Fire HD, iPhone, iPad, Android phone, Android tablet, etc.).

I only hit one speed bump when I submitted to Amazon: after a few hours, I got an E-Mail back saying that the book was freely available online (because of course it is; I've posted it in multiple places, including this site). Amazon required me to go back through and reaffirm that I am the copyright holder of the book -- which meant just going through the exact same forms I'd already filled out and clicking the Submit button again. It was a little bit annoying, but not time-consuming and mostly painless, and the book appeared for download on Amazon shortly after.

And that's it.

The hardest part of self-publishing an eBook was finding the time, figuring out what resources to use, and learning the EPUB format. And now that I know what resources to use and understand the EPUB format, it doesn't take nearly as much time. For my next book, I'll be able to spend a lot more time writing and a lot less time formatting. Hopefully this blog post has helped you so that you can do the same.

Old Tom and the Old Tome

I've just released my first eBook. It's a short story called Old Tom and the Old Tome. Here's a plot synopsis:

Old Tom is a mercenary. In his youth, he fought for Mordred in the war against King Arthur.

But, as his name implies, Old Tom is not as young as he used to be. These days he prefers simple, low-risk jobs.

When a witch asks him to find an old book in the ruins of a school of magic, Old Tom thinks it will be exactly the kind of simple, low-risk job he’s looking for.

He is wrong.

I've released the book under a Creative Commons license; you can download it for free right here on good old corporate-sellout.com in the following formats:

If you like the book, you can send me a donation:


It's also available through these sellers (with more to come; I'll update the post when it's available elsewhere):

This was an interesting project, and I hope it will be the first of many. In the coming days I expect to share some of the Making-Of information -- what tools I used to make it, the learning curve, etc.

Hope you enjoy it!

A lot of the discussion about the MST3K reboot has centered around fans who want to see the old cast come back. Joel has said he'd like to bring them on as writers, and to appear in cameos. But the thing is, most of them don't seem to want to do it.

Here's what Mike, Bill, and Kevin said when Chris Ford asked them about it in a Diffuser interview last year:

Speaking to Wired, Joel Hodgson mentioned that he’d consider revisiting ‘MST3K.’ Is that something you’d consider?

Nelson: I probably wouldn’t. It’s just sort of a personal preference. I mean, I already have RiffTrax going, and that’s taken my last seven years, and I’m fond of how that’s working. So there’s just no need, I feel. And I wonder about revisiting something like that. But who’s to say that it couldn’t be. You know, it survived a lot of changes, so it could start again. Who knows?

Corbett: It would depend completely on the arrangement. I loved doing ‘MST3K,’ was honored to be part of such a great show and had a wonderful time during my years there. But the owners of the show cut me off as soon as it was over. Haven’t made a cent from it since I filmed my last show in 1999, and all attempts to change that arrangement have been rejected. A few attempts to revive ‘MST3K’ have already failed because of such issues. So I’d be skeptical.

Murphy: You know, I’m really not interested. As I said, where I am right now, I’m really loving what I do. We’re having great fun with RiffTrax, and to go back and do that again would … it has this ‘Return to Gilligan’s Island’ feel to it. You know, they did that again, and it just looked sad and lame because it was the same characters, except they’d gotten old. Or they’d substituted in new characters, and it didn’t really feel right. I think they had a fake Ginger in there. I don’t remember, but it just never felt right. It never felt like the real thing. We made that real thing for 10 years, so I’m really not interested in going back. It’s like going back down to your basement from when you were a kid when you’re an adult and making the same kind of car models that you did when you were a kid. It just doesn’t ring true to me anymore. What I’m doing right now with Mike and Bill at RiffTrax is a blast. We’re having a great time doing it, and people seem to like it. So I’m happy to do that. And if Joel wants to do the show again, God bless him, and I hope he has a lot of fun doing it. But I think I’m happy where I am.

Since the announcement of the Kickstarter, Mike and Bill have both reiterated their non-involvement, as have Mary Jo and Josh. Trace has ruled out even showing up in a cameo.

Joel addressed this in a Kickstarter update:

What about everyone else? Are the other MST3K writers and actors coming back?

This is the hardest question to answer, because there are several moving pieces involved.

Right now, I don't know who will agree to come back and work on the next season of MST3K… but if the Kickstarter is successful, everyone will be invited to take part.

Until yesterday, I wasn't even sure this whole Kickstarter idea would work. I've reached out and spoken with some of the old cast and writers, but until I knew how much money we'd have to work with – and when we'd start writing and shooting – there was just no way to make the specific offers that I hope will bring many of them back.

Plus – as many of you know – so far, the old cast haven't been compensated as well as they (or I) might have liked. I wish I could go back and fix that, but if I'm going to ask them to participate in the next season, I want to be certain we can pay them what they deserve this time. As soon as we pass our initial goal of $2,000,000, I'm hoping to start making the invitations official, and I hope some of them will be able to join us before we start working in January.

And guys, as much as I'd like to see the old cast and crew back, given their responses so far I really don't think it's going to happen.

I think it's great that Joel is talking about royalties. I believe that Shout! Factory should pay royalties to all the former writers and cast members, not as leverage to get them to participate in the new show but because it's the right thing to do.

But while royalties have certainly been a sticking point for some of the former cast members, I don't think they're the only reason people are holding out on participating in the new show. Look at what Mike and Kevin said in the Diffuser interview I quoted above -- it doesn't sound to me like they're holding out for a better deal; it sounds like they just plain don't want to do it. And Josh has said he's working on two documentary films, so it sure sounds like his non-participation is because he's too busy with other projects.

Aside from what they've said in public, I can't speak for individual cast members' motivations. Mary Jo has complained about the lack of profit participation in the past, while Frank has said it doesn't bother him. I've seen a lot of fans assume that the reason the old cast members aren't interested in being part of the new show is because of their lack of profit participation, and that if Joel gives them a good offer they'll be onboard after all -- but I think that's fans' wishful thinking. I've seen no hard evidence to back it up; the only thing I've seen that even looks like a "maybe" is Bill's "It would depend completely on the arrangement" in that Diffuser interview.

There are other reasons why people might not want to participate -- Mike and Kevin have suggested that they're just plain not interested. As for other former cast members, the geographical issues that brought an end to Cinematic Titanic are still present; the simple fact is that many of them don't live in the place where the new show is going to be produced. Even if, say, Mary Jo gets a profit-sharing offer that she's agreeable to, she still lives in Austin.

In short, I think that while fans are absolutely right to call for a new royalty agreement for every former cast member and writer on MST3K, they should also tamp down their expectations that this will lead to the old team returning for the new show. I just don't think that's gonna happen. Look forward to the new show for what it is, not for what you wish it was going to be.


I think that's it for now on the subject of the upcoming MST3K relaunch. The Kickstarter page, one more time, is bringbackmst3k.com; I haven't pledged yet but I plan on throwing in at the $35 level. That'll get you the first episode of the new series, plus three classic episodes as DRM-free downloads. (The three classic episodes are not currently listed in the Rewards section, but Joel said in an update that they're being added to the $35 tier as a bonus. He has not yet specified which three episodes they will be.)

And on the subject of compensation for the cast and crew of the old series: Rifftrax has just started selling MST3K episodes; as of this writing they have Mitchell, Pumaman, Final Sacrifice, and Future War, each priced at $10, with another episode going up for sale every Monday. And here's the most important part:

A significant share of the profits of all MST episodes sold on RiffTrax will be paid out directly to ALL the principal cast members of MST – Mike, Joel, Kevin, Bill, Mary Jo, Trace, Frank, Josh and Bridget. We feel it’s important that the original artists benefit directly from their awesome work. So if you want to support them, buy your MST here on RiffTrax!

There's no mention of Paul Chaplin; I wonder if that's an oversight, or if they don't know how to get in touch with Paul these days or what. I hope he gets a cut too.

At any rate, much as I love the DVD sets, I have to recommend from here on in that if you want to buy old episodes of MST3K, you buy them through Rifftrax, because right now that's the only way the cast and writers get a percentage of your purchase dollars. Again, I'm hoping that changes and the series' new owners at Shout! reach a deal to give them a piece of all purchases and streaming revenue. But for now, they only get paid if you buy them through Rifftrax. So do that.