Skip to content

A Beginner’s Guide To Publishing Your SFF Short Stories

I sold my first short story for publication at the age of 45. I’d been writing stories almost since I could write at all, and daydreaming of being a published author for nearly as long, but back then, what little I could learn about getting published (and paid for it) made it seem like such a long shot that I shelved that ambition until, late in my middle years, I realized that my “somedays” were running out. So I got serious, and was fortunate enough to enroll in a night school program that included a “Business of Writing” seminar on how to sell one’s stories. That got me started, and when I decided to embrace science fiction/fantasy (SFF) instead of “literary” fiction, I learned that the gates were open much wider, and the community was far more welcoming. I also learned that selling stories was every bit the thrill I imagined it would be.

I’m new to this career, but the steps in the process are fresh enough in my mind that I hope they could help others who just need a little demystification of the process to get started. I’ve come up with ten concrete, practical steps to sell your first SFF/speculative short story.

  1. Write the “final” draft of your story.
  2. Find your markets.
  3. Format your piece and follow the guidelines.
  4. Write your submission cover letter.
  5. Make and track your submissions.
  6. Handle rejections with grace.
  7. Handle holds with grace.
  8. Handle acceptances with grace.
  9. Sign your contract.
  10. Publicize your story and market.

Keep trying. It’s not that mysterious at all.

1. Write the “final” draft of your story.

Unlike in novel publishing, you won’t work with a developmental editor from the publishing magazine or website. The draft you send should be the draft you’d be happy to see published. That means that you’ve done your revisions and line editing, had some other eyes look at it and give feedback, and read it aloud a few times. If your story is accepted, the editors may have some small revision suggestions, but they’re treating your story as a finished piece, not a work under joint development.

2. Find your markets.

There are several resources to help you find the magazines, anthologies, contests, and websites (collectively referred to as the “markets”). In addition to print resources like Writer’s Market and Poets & Writers, there is a popular and robust search tool called Duotrope, that will also help you track your submissions (more on that later). At the time of this writing, Duotrope is a subscription-based service for $5 per month or $50 per year. I use the Submission Grinder, a free, donation-powered website that gives you much of the same capability, and has a good user base. I’ve been using it for a couple of years, and it happens to be run by Diabolical Plots, a professional rate (more on that later) SFF market itself.

Some other websites I use to find markets include:

Social Media is especially helpful in finding markets. On Twitter, following short fiction authors you like will lead you to markets, editors, and other writers. (You’ll find some great stories to read, too.) At the time of this writing, I’m maintaining a Twitter list of short fiction SFF/speculative fiction markets you might find helpful.

Most markets advise you to read some of their past issues prior to submitting. It’s good advice. Aesthetic and thematic preferences become quickly apparent, and if you can’t see your story side-by-side with the ones they’ve published, it may not be the market for you. Many markets make explicit the things they’re looking for, and things that would be hard sells or instant rejections. Honor them, but where the guidelines are fuzzy, take a chance on yourself. Most editors are looking for stories that affect and surprise them, not ones that conform to a prescribed formula.

Some markets have special submissions periods for stories on a particular theme or topic. These can be fun, especially if you’re searching for inspiration and can quickly write on specification, as with a writing prompt. Watch for markets that solicit stories from particular underrepresented groups or identities. If you’re not a member of the group, cheerfully move on. There is no shortage of places to submit. But if you’re a member, dig deeper, perhaps with a note to the editors, to see if the market seeks stories centered around the group or identity, or simply wants to boost the visibility of those writers, and the topics aren’t in any way limited.

Some markets are permanently open for submissions year-round, but many have specific reading periods, and will not accept submissions outside of that period. Honor the reading periods: they allow a small staff (or solo operation) to buy stories, edit them, produce an issue, release it, and publicize it. Appreciate that a small number of people are doing an enormous job, usually in their spare time.

The science fiction/fantasy short fiction landscape has many markets that pay on a per-word basis. “Professional rates” (as defined by the SFWA at the time of this writing) start at $0.06 per word. Other markets offer “semi-pro” or “token” payment rates, or a flat sum. Some (especially anthologies) offer royalties, or pay in “contributor’s copies.” Many are unable to offer any payment at all. Realize that most of these markets are labors of love. They don’t make a profit, and depend on donations. The staff have day jobs. That said, carefully consider your attitude towards “working for exposure,” and whether the non-paying market you choose will give you the kind of exposure you want. For me, there’s something especially validating about even a token payment. It means I’ve sold a story.

Some markets (most in “literary” fiction, less in genre fiction) charge a submission or reading fee. Be wary of these. Contests often have submission fees to cover their prize amounts), but in SFF, reading fees are often considered exploitative of writers dreaming of being published.

Probably the single most enlightening experience I’ve had in short fiction publishing was volunteering as a slush reader for Shimmer Magazine, during its final year. Slush readers are unpaid readers who help winnow down the submissions by issuing rejections and escalating the top candidates. Not only did reading slush give me a chance to read a lot of good stories, but it also gave me a sense for how editors discuss stories and weigh their merits. And it let me experience what kind of writing “pops” from among hundreds of stories under consideration. I can’t overstate how valuable it is to look at the submissions process from the other side.

3. Format your piece and follow the guidelines.

The top pet peeve I read from editors is about writers who don’t follow the submission guidelines. The guidelines may specify the file formats the market accepts, the fonts and line spacing, the information that should and shouldn’t appear on the page headers, whether to underline or italicize, and the minimum and maximum word count. Take these as hard rules. It shows consideration for the editors’ time. They don’t want to haggle with you about accepting PDFs when the guidelines say DOCs or RTFs.

Many markets will ask you to use “Standard Manuscript Format.” The most common example of this format I’ve seen referenced is from William Shunn: https://www.shunn.net/format/story.html

Some markets will also specify the kind of stories they don’t want to see. For example, they may be burned out on seeing vampire and zombie stories, or they don’t want explicit content, or they have a hard policy against depicting rape or violence toward children. Attend to these restrictions, and don’t waste everyone’s time.

The submissions guidelines may also mention “simultaneous submissions” or “multiple submissions.” Simultaneous submissions are when you submit the same story for consideration at more than one market at the same time. Some markets take more than a year to make a decision, and tell you that simultaneous submissions are okay, as long as you notify them if you get accepted elsewhere. Others expect a shorter turnaround, and ask that you only submit your story to other markets after they have rejected it. Multiple submissions are when you have more than one story under consideration at the same market. Some markets allow this, to a limit. Others ask that you wait for a decision before sending them another story.

4. Write your submission cover letter.

Don’t agonize over this. Keep it simple. The cover letter is not the place you need to be creative or make a sales pitch. For most markets, the following format is sufficient:

Dear Editors,

Please consider my [approximate word count]-word short story 
"Story Title Here" for the next issue of [market name here]. 
My fiction has appeared in [up to 3 other markets that have 
published your work, if any].

Thank you for your consideration.

Sincerely,

[etc.]

If you’re a member of the SFWA, a Clarion graduate, or have some other writerly credentials, you can mention that. If the market states an interest in publishing emerging writers, you may mention that, if accepted, this would be your first publication. If you are an acknowledged expert in a particular relevant domain (like, you program robot behavior for a living, and your story is about robots), or a member of an underrepresented group writing about your group from an insider’s perspective (“own voices”), mention that. But be brief, and keep it to-the-point. Unless specifically requested, DO NOT summarize or tease your story. Let it speak for itself.

Some markets might ask you for a short third-person bio or even a statement of purpose. Feel free to get creative here, but look at the bios and statements already published by that market for a sense of what they want.

5. Make and track your submissions.

As you get the hang of the process, you will make more submissions, and sometimes those will take several months to resolve. There are guidelines on when to query (inquire after a submission that has received no response), whether you can submit a story to multiple markets simultaneously, and how long before you can submit to a particular market again. As you get busy, you may lose track of whether your story has already been rejected by a particular market, or when the submissions period opens. It pays to get into the habit of tracking the status of all your submissions. You can do this using online tools like Duotrope or Submissions Grinder, or you can just make your own spreadsheet with rows for each story + market, and columns indicating when you made the submission, the status of that submission, the market’s website, and the dates of any follow-ups and responses.

When you start making story submissions, you will probably find yourself refreshing your email and trying to perform predictive math on the submission / rejection / acceptance rates for your markets. BE PATIENT. SFF markets have a pretty good turnaround time compared to literary magazines (where you can wait a couple of years for a form rejection letter), but it may be months before you receive a decision, and a year or more before your story sees publication. Often, the submissions guidelines for a market will tell you the number of days you should wait before inquiring after your story’s status.

You may end up cringing at the story that was accepted, because you’ve moved far forward in your craft between that time and publication. But such is the game. Just use it as an incentive to get your next story out there.

6. Handle rejections with grace.

In his memoir On Writing, Stephen King described a spike on his wall, on which he’d stuck every rejection letter he got. For him, the thicker that stack, the better–it meant he was putting his work out there, and each rejection was another step toward an eventual acceptance. That’s a healthy and useful way to see rejection. You will get rejected, and you may not always know why. Your story may not fit the aesthetic of the publication. It may have structural problems. The quality of its writing may not be up to par. Or maybe it just didn’t “do it” for that editor, at that time.

Whatever the case, the best response from from you to a rejection is no response at all. The markets don’t owe you an explanation, so don’t demand one. Stick the rejection on your virtual spike and move on, revising your story if you wish, and choosing another potential market. (Unless specifically requested, do not revise and resubmit a story to the same market.) Occasionally an editor may offer some feedback when rejecting a story. This is not, on its own, an invitation to resubmit. You may be inspired by it, or you may reject it utterly, but don’t consider a personalized rejection to be an invitation to debate your story’s merits.

Rejections sting. There’s no way around that. But be a professional and deal with it gracefully. Resist any temptation to toss a barb (or worse) back in response. Rejections are not of you as a writer, but of that particular story, and you may write other stories you’ll want that editor to consider. Be someone pleasant to work with.

7. Handle holds with grace.

A “hold” is when an editor gets back to you saying they haven’t made a final decision whether to buy your story, but they’re putting it on a short list for consideration after they’ve reviewed all the submissions. Congratulations! Your story has done better than the vast majority of submissions. Now the editors will have to make decisions that factor in how much space they have in their next issue, whether any theme has emerged among the candidates, and which stories best reflect the diversity of their submissions. You may still be rejected. Or you may make a sale. And the waiting will be nerve-wracking.

But be patient. Putting together an issue or anthology takes a lot of work, and many short fiction publishers are doing it on their own time.

8. Handle acceptances with grace.

Congratulations! You did it! At this point, the editors may request a few minor edits from you. They may ask for a short, third-person bio, and an author photo. Some publications may even do a short Q&A interview with you about your story. Respond promptly. They are at a particularly busy stage when they are putting the issue together, and having everything they need makes it easier to put out the issue on schedule. And thank them. They liked your story enough to put it in their labor-of-love publication, and as long as you’re professional and polite, you have the foundation of a writing relationship you can build on.

9. Sign your contract.

Your contract specifies the agreement between you and the publisher to publish your story, with what recompense, the media in which your story may appear, and the length of time you grant the publisher exclusive rights to present your story. Typically, copyright remains with the author for the small markets. Pay attention to the exclusivity periods, because when that expires, you may be able to submit your story as a reprint to another market. If there are clauses in the contract that give you pause, Google them–there are many discussions you can find about publishing contracts. It’s not unheard of to negotiate the contract, but bear in mind that most markets are using boilerplate contracts and don’t have the legal resources to hammer out separate considerations for you and your story. Pushing on the contract may make it more than your story is worth to the market.

10. Publicize your story and market.

Self-promotion is not a sin. When you’re also promoting the market that published your story, you’re helping them as well, not to mention all the other writers published in that issue. Boost their signals on social media, and let them boost yours. Bask in that special sunshine of being a published writer. And keep working on the next story.

 

 

Advertisements

The Chicago Pedway: Descent and Return

The GPS guided me into the dim, twisting tunnels of Lower Wacker Drive, where its signal promptly cut out. Lower Wacker is a realm of eternal night. The walls block the lake-sense that tells Chicagoans which direction is east, and there is no skyline or architecture to orient them. The street signs, where they exist, are easy to miss. The only landmarks — small placards indicating which building is above a stretch of concrete ceiling — whiz by before they register. (You don’t slow down, lest you anger the dark racers always on your rear bumper.) There’s an economy of sorts, down here. Homeless men are the rangers and guards in this urban cavern. They sit at intersections, and for a couple of bucks, will point lost drivers to a ramp ascending back into daylight. They’ll also watch your car if you park in one of the sunless lots. Keeping calm, I watched for light at the intersections, where I could turn and exit to the familiar, sunlit surface.

IMG_20171230_103129847Lower Wacker Drive is an unchecked box on my list of Chicagoan credentials. Coincidentally, I was driving downtown to meet my friend Sam at the Fairmont Hotel for a tour of another open item on my list: the Chicago Loop Pedway. The Pedway is a system of covered passages downtown, through which the savvy adventurer can navigate much of the Loop, protected from the rain or cold. But the Pedway can be as twisty a maze as Lower Wacker, and both are rightly feared. No few unwitting wanderers have lost their way, down below. But Sam’s old improv friend, Margaret Hicks (who operates as Chicago Elevated Tours), would play Virgil to our Dante. At last I would face my fear, and inch closer to being an Expert Chicagoan.

We began our descent from the lower level of the Fairmont Hotel. Other cities with extreme weather have pedways, but Chicago’s is different because it isn’t a centrally planned or managed entity. It’s a network of basements, voluntarily connected by their respective owners. It’s an organic hodgepodge, more grown than constructed, more evolved than designed. You can tell when you’re moving from the territory of one hotel or office to the next. The carpets, lighting, decor, and smells all change. Even the signage and wayfinder markers are inconsistent. The connections are sometimes ad-hoc. It brings to mind analogous concepts in computers, from the architecture of the internet, to the “Cathedral and Bazaar” model of open source software. Loosely coupled components. The User Experience is all over the place. It’s part of what makes it confusing, but also your greatest ally when navigating. There exists a map, but it’s not particularly helpful.

IMG_20171230_113107325Margaret cited an improv maxim: “If it feels wrong, do it more.” Follow that unlikely path, even if you’re certain it’s not “official.” Embrace the chaos. It will give you what you need, if not always what you want. Open yourself to the Pedway, and the Pedway will open itself to you. She clearly loves this place. She once spent a week, never going outside, just to see if she could. She had access to dining, movies, bars, and all sorts of professional services. And, of course, a hotel room to stay in. We walked past a random gallery of stained glass, an exact replica of the front door of the Chicago Cultural Center, a swimming pool behind glass. We walked the length of an underground train platform. We climbed up into the middle of Macy’s (formerly Marshall Field’s) to view a priceless mosaic ceiling dome. The Pedway had its seedy stretches too, where homeless people slept and the smell of urine was unavoidable. Margaret calls the Pedway Chicago’s “78th neighborhood.” At the end of the tour, she gave us all cards with her number, in case we ever get lost. Others have used the number.
IMG_20171230_113738867
Margaret left us under Block 37, where a passage connects the Blue and Red Line trains. Sam and I decided to find our way back to the Fairmont on our own. We made it, with only a few false turns. Our return journey awakened the memory of how I used to navigate unfamiliar terrain in the Before Times, when there was no GPS lady to tell me where to turn. My brain was engaged. Active. I used my visual memory to recreate the angles from which I viewed landmarks on the first trip. I was in the moment, processing my surroundings in a way I usually don’t. It was exciting. I had switched off autopilot. There were plenty of areas I already knew well — you can’t work in the Loop for more than a decade without some familiarity. But I was building the connections in my mind, the big picture. When Sam and I emerged from the Fairmont, it was with an understanding and a boldness that digital gadgets couldn’t provide. Those covert passages hold no fears for me now. When the zombie apocalypse breaks out, I have my secret escape routes. This city is a little more mine.

Next stop: Lower Wacker Drive.

The Last Jedi: The Kids Are Alright

[SPOILERS for Star Wars VIII: The Last Jedi]

“This is not going to go the way you think.”

Luke Skywalker said this to Rey, but he was talking to us. And by “us” I mean the Generation X folks who saw the original trilogy in the theater a zillion times, daydreamed about it endlessly, and made Star Wars a cultural fixture. He’ll forgive our skepticism. The new movies are packed with echoes of scenes we know by heart. We’ve seen this before. This is a Ring Cycle, the pattern is repeating. Until it breaks free. Episode VIII’s message is that the past is baggage, and it’s time to burn it down. Generation X had its own trilogies. Star Wars belongs to the kids now. It’s bittersweet, but it’s a good thing. That’s how passing the torch works.

Leia knows. The new kids, inspired by their elders, want to charge head-first into danger to pull off daring capers. But the war against the First Order isn’t like the fight against the blind stormtroopers of the Empire. For every mistake, entire fleets die. Every victory is Pyrrhic. Every significant blow is a suicide mission. The cost of repeating the past is unthinkable. Leia needs Poe Dameron to be less of a Han Solo, and more of a, well, General Leia.

Luke gets it. He didn’t fly off to the ancient, uncharted Jedi temple to unearth some secret knowledge of the true nature of the Force. He left because he had failed the next generation. Luke is the dad who suddenly realizes he doesn’t know what the hell he’s doing. He was trained by the last remnants of the previous generation to be something he barely understood, an acolyte of a religion of which he was the sole surviving practitioner. Trying to rebuild the Jedi order, he feared he was doing more harm than good. His fears were justified. The old orthodoxies don’t stand up to modern scrutiny. Like Old Ben before him, Luke realizes that the best he can do for the next generation is to give his life to buy them time.

Supreme Leader Snoke is the ugly face of the past, building the First Order in the spitting image of the Empire. Is he really Emperor Palpatine, who survived his fall or cloned himself anew? Probably. But it doesn’t matter. This isn’t Snoke’s story any more than it was Luke’s. Snoke is dead and chopped to pieces in only the second act of the trilogy, because this time, Kylo’s redemption arc is more complicated than Vader’s dying act of love.

Kylo Ren is a man nearly crushed by the legacy of his grandfather. He wore a ridiculous helmet to honor it. Uncle Luke feared him for it. Snoke shamed him for not living up to it. He’s the last scion of an immaculate conception by a Sith lord, a living avatar of the Force. So many expectations. Kylo hoped to free himself of the past by literally destroying it: taking a new name, nearly murdering his mother and uncle, and murdering his father and master. But even when he does, he remains trapped in a role made for him, not by him.

And what is the secret lineage that defines Rey’s destiny? Who is she, and why is she so powerful? Wrong questions, Generation Xers. This is the new Star Wars, breaking free from the old. Anakin Skywalker’s bloodline may have been born of Dark Side voodoo, but in the new world, the Force isn’t the private domain of a couple of elite warring sects. The Force is in everyone, and can awaken in an abandoned girl with no special lineage, a young rebel who gives her life to drop bombs on a dreadnought, or an indentured boy sweeping stables. This Force isn’t a divided binary of Light and Dark, it’s a complexity, like the souls of people. The new Star Wars isn’t about Light vs. Dark, it’s about the future vs. the past. Rey doesn’t need an old Jedi Master to shape her — even if she wants him to. She is in the vanguard of the New Order, rising up everywhere against Kylo’s First Order.

In my generation’s Star Wars, the Rebellion fought to bring back the glory days of the Old Republic. It was motivated by looking backwards. Even the prequels looked to an ancient prophecy. This generation’s trilogy rejects that thinking. The new Rebellion, much like Disney’s Star Wars franchise, is fighting to become something completely new, on its own terms. This new generation embraces diversity. It distrusts binaries and understands moral complexity. It trusts itself. It harnesses the power of both anger and love. It opposes oligarchs as well as fascists. It listens to, but doesn’t always trust, anyone over 30. And it’s going to do fine.

The older generation just has to move out of the way.

 

The Evolution of the Content Engine (Case Study: Cat Pictures)

  1. Cat pictures” returns a list of popular web pages featuring the words “cat” and “pictures.
  2. Cat pictures” returns a list of cat pictures from websites like the ones you frequent.
  3. Cat pictures” returns pictures auto-curated to your taste in cats, including ones you’ve taken.
  4. Cat pictures” generates pictures of customized cats based on others you’ve clicked in the past.
  5. Cat pictures” generates interactive cat simulations tailored to your tastes.
  6. Cat pictures” 3-D prints photorealistic models of your favorite simulated cats.
  7. Cat pictures” 3-D prints interactive models of simulated cats to suit your detected mood.
  8. Cat pictures” 3-D prints biological cats to your specifications, with tutorials for their care.
  9. Cat pictures” grants 3 wishes for cats, excluding wishes for more cat wishes.
  10. Cat pictures” grants unlimited wishes for cats.

We See You When You’re Sleeping

Imagine your family tucked warm in their beds on Christmas Eve. The lights on the tree twinkle, cookies and milk wait on the table, and white snowflakes sparkle in the silent night. No last-minute shopping, no fighting crowds at the mall. Your family awakens to the perfect gifts under the tree. And the cookies and milk? Gone, with a note saying “Thank you!”

Relive the childhood wonder of Christmas with Amazon’s North Pole®. North Pole uses the latest Artificial Intelligence (and a touch of elfin magic) through the Echo® devices already in your home. Enable North Pole on all your devices and start an Amazon Christmas List™. Add items through the web, the app, or by speaking to Alexa®. North Pole scans your email, texts, social media, and conversations to suggest gifts your family will love. Your Echo Look® guarantees a perfect fit and style. The results may surprise you.

Set budgets for each family member, and enable Amazon’s always-on Checking It Twice™ (Beta) AI to compute their “naughty or nice” scores for the year, and adjust budgets accordingly. Keep your family on their best behavior with alerts from Santa. And when Christmas Eve finally arrives, Santa’s reindeer drones wait until you’re sleeping (Fitbit or compatible sleep monitor required), and use Amazon Key® to deliver your gifts right under the tree. This year, believe in Christmas again.

PLEASE NOTE: Amazon Krampus® is discontinued. If the Krampus enters your home, please alert our 24/7 customer service and your local authorities.

Sucker Punch

The first truly cold day in Chicago is a sucker punch. Every summer you forget it’s coming, and in the fall, when it shows up, you smirk at it like a schoolyard runt with a chip on his shoulder, brushing him aside until he grabs you by the coat, turns you around, and socks you in the gut like he’s been practicing that move all summer on a punching bag his parents got him in a last ditch effort to vent his bottled-up rage. But he was training. He puts his hips into that punch. And you’re on your ass, the wind knocked out of you, staring up at him with your mouth a silent O, more shocked than angry or afraid. Every day of fall flashes through your mind at once: short sleeves yielding to sweatshirts, coats dragged out of the basement, the chill bedroom air when you climb out from the covers, driving you back under like the groundhog seeing his shadow. The signs were all there. But you just threw on a coat this morning without buttoning it — no hat, gloves, or scarf — because you know Chicago, and you know cold, and you’ve survived it every year and this year will be no different. But the cold knows you too. And he keeps coming back, harder and fiercer, every year, because he’s persistent and he knows that one day when he knocks you down, you won’t get up.

NLP and The Wheel Of Time – Part 1

I love epic fantasy stories. All the characters, plot lines, world-building, and the little details that foreshadow big developments — I devour them in multiple readings. I also have some time to play with the Google Cloud Platform’s Natural Language API. So I decided to see what analysis I could do with that API on one of the most voluminous and detailed epic fantasies I’ve read: Robert Jordan’s The Wheel Of Time series.

I’m going to blog my efforts, in case something interesting or useful shakes out. I’m using this opportunity to teach myself Python as I go, since that language is popular in the A.I. work I’ve seen. So there will probably be some discoveries (and horrendous examples of code) along the way.

My rough plan has the following milestones:

  1. Get the Wheel Of Time books in plain text format, so the Google APIs can read them.
  2. See what the API’s sentiment analysis, entity analysis, entity-sentiment analysis, and syntactic analysis data looks like for The Wheel Of Time.
  3. Use sentiment analysis to graph the emotional arcs, in total and maybe of characters, of the story, to compare them to the “six main story arcs” discussed in this article in The Atlantic.

After that? Let’s see where the data can take me. I have some thoughts on creating a system that can answer questions about the story, and possibly expanding the training model to include labels and concepts, but I’ll focus on my first three milestones to begin with.

Part 1: Get The Wheel Of Time In Plain Text

Tor Books has the commendable policy of selling all their eBooks unlocked and DRM-free, and I already have the books on my Barnes & Noble Nook, so I started with the EPUB file format.

Unfortunately, the Nook app on Android devices hides your eBook files in a directory you can only access if you have root access to your device. I wasn’t interested in the warranty implications of going down that route. But the family Windows 10 machine has a free Nook app that downloads your eBooks. After that, it’s just a matter of searching the drive for where it put *.epub. I found them in the rather obscure directory:

C:\Users\[myuser]\AppData\Local\Packages\BarnesNoble.Nook_[somehash]\LocalState

Huzzah! Then I renamed the file as a .zip (an .epub is a .zip with a particular directory structure), and dug into the ZIP archive. Unzipped, the file looked like this:

+- META-INF
|
+- OEBPS
|    +- Images
+- mimetype

The files I’m interested in are in OEBPS\. Each chapter or section (basically, each table of contents entry has an HTML file, conveniently named for sorting by the chapter number. The markup is clean and well-formed, and the style classes are intuitive. Cleaning it would be straightforward.

Now I had to learn some Python. I was familiar with the syntax, and I was an experienced Java programmer, so most of what I had to learn could be found on StackOverflow. Unless I got fancy, it would be a 1-use script, but there are 13 books in The Wheel Of Time (including the prequel, New Spring), so it wouldn’t hurt to take a stab at maintainability. I wanted to do proper Test-Driven Development, but I was getting impatient to see progress, so I just kept tweaking-and-running until I got it to work on real data.

I envisioned three components:

  1. Something that stripped out HTML markup from a character stream and left readable plain text.
  2. Something that created a plain text file from an HTML chapter file, using the first component.
  3. Something that took an EPUB file, unzipped it, iterated through the chapter files, used the previous component to make text file equivalents, and zipped them up for transfer to Google Cloud Platform, or wherever.

Python had a built in html.parser.HTMLParser which did exactly what I needed, for the first component. After that, it was all file I/O and some ZIP manipulation, all with standard packages. The “if __name__ == “__main__” construction for an executable class seemed awkward, but otherwise I was impressed with how compact the code was.

If you want to see my ugly-but-functional beginner Python code, feel free to peek on Github.

At this point, I had The Wheel Of Time all in a ZIP of plain text files. I was ready to figure out how to use the Google Cloud Platform’s Natural Language API. That will be in my next post.

 

Might As Well Jump

 

 

 

In Frank Herbert’s Dune, the mystical Bene Gesserit sisterhood had a litany against fear.

“I must not fear.

Fear is the mind-killer.

Fear is the little-death that brings total obliteration.

I will face my fear.

I will permit it to pass over me and through me.

And when it has gone past I will turn the inner eye to see its path.

Where the fear has gone there will be nothing. Only I will remain.”

To the Bene Gesserit, what separated a human from an animal was the ability to withstand and endure terror, suborning it to one’s will. The animal reacted. The human planned.

I’ve always been a planner. I got afraid if I didn’t have a plan. So when people ask why I left my job without another in hand, I tell them “I was about to turn 46, with more years behind than ahead, and my ‘maybe someday’ list was running out of somedays.” When it’s more than a passing conversation, I quote Annie Dillard in The Writing Life: “How we spend our days is, of course, how we spend our lives. What we do with this hour and that one is what we are doing.” They commend me for having the courage to pursue my dreams, which embarrasses me because it had nothing to do with courage, or even dreams. I’m privileged to have resources to get by while I figure things out. My family is in no real danger. All I did was react to my calculus of competing fears.

They weren’t even interesting fears. On one side was the mid-life crisis of a plateaued career, mounting frustration, and a nebulous sense of being trapped. On the other were the worst-case scenarios of starting over. The boredom I knew, versus all the worse ways I could fail. Endurance versus action. I flipped the Bene Gesserit’s script, building up a fear-driven resilience to the daily grind that paid the bills and gave me a respectable job title. I could detach my emotions, do the work, and set my brain on autopilot. “The examined life is not worth living,” I’d joke. Because once examined, I’d have to respond to what I saw. And that meant I’d have to leap off the edge of that plateau, into the unknown.

Jumping was on my mind when my supervisor took me to task for not being enthusiastic and inspiring enough for my team.

In my sophomore year of college, I joined some dorm mates and went skydiving. It was a half day process of getting familiar with the equipment, practicing the sequence of actions that would get me to the ground intact, and drilling on the safety contingencies. That done, we went up in a tiny Cessna. A static line was attached from the plane to our parachutes; they would open automatically when we fell a certain distance, provided we arched our bodies in the way that kept our backs up and bellies down. One by one, we followed the steps we’d practiced.

When my turn came, our instructor called ONE, and I stood in the open door frame in the side of the plane.

TWO. I stepped out between a pair of bars under the wing; one that I could grip in my hands, and the other that supported my feet.

THREE. While holding on to the upper bar, I stepped off the lower, and hung from my hands under the wing.

FOUR. There was no getting back into the plane now, even if the shame of doing so was endurable. The only things I could do were continue to hang there, or do what I’d come to do, and just. let. go.

Confusion. The roar of wind in my ears through my helmet. A jumble of images and no idea which way was up. Then the parachute opened, and it all went quiet. Peaceful. Free. I hung in the sky supported by air, and drifted over green and brown rectangles of land. I saw a barn. A house. A Christmas tree. It was a sublime, singular experience. Only later did it hit me that I’d jumped out of an airplane. It seemed insane. They key was that I hadn’t approached it as a single action. Even at the very end, it was four steps, which I concentrated on executing as well as I could, my mind focused on that specific task and not the entire chain of events that would put me in freefall, 12,000 feet up.

Of course, underneath it all was a huge amount of faith in the entire support system. I had faith in the instructors, the pilot, the equipment handlers, the equipment itself. I had faith in the invulnerability that came with being 19 years old. More than two decades later, I had forgotten that faith, especially in myself. As my responsibilities expanded beyond myself, so did my caution. I allowed my roles to define me, and as they did, my life became less about me and more about my obligations. That’s even considered virtuous to some. They call it a work ethic. I suspect that’s what a mid-life crisis is: after years of paying dues and being responsible, the sidelined self roars back into focus, demanding satisfaction. It wants, selfishly, unapologetically. In my case, it wanted, once again, to jump.

ONE. I told my supervisor that if my attitude was such a concern, but there was nothing to do about what caused that attitude, I really had to think about why I was here.

TWO. I asked my wife how concerned she’d be if I outright quit. This week. Tomorrow. She had once quit in frustration. She said we could make it work.

THREE. I backed up and cleared away everything personal on my laptop and desk, and took a final inventory of what I’d be leaving behind. Surprisingly little, all told.

FOUR. I looked forward to the follow-up meeting with my supervisor. For the first time in a long time, I felt like I had power. I was no longer beholden, no longer obligated. A feeling of magnanimity swelled up in me. I didn’t need to vent my grievances, I simply thanked him for his candor and give my two weeks notice.

I was light, free, floating and smiling all those two weeks. My relationship to people and objects in and around the office had shifted. I moved among them, but untethered. All the weight was lifted. Ironically, I could focus better, and the magnanimous attitude buoyed me through the remaining work days. I did ask myself if I could have somehow manufactured this way of being while keeping my job, but it was a passing thought. The feeling of release, of hope for the future, couldn’t be faked. It could only come from facing down my fear, letting go, and tumbling into open air.

CODA. The following week after my last day, my phone buzzed with texts, emails, and instant messages. Several people, including my supervisor, his supervisor, and half my peers, had their jobs terminated. A part of me wished I had held out three days, for a severance package. But the better part was happy to have my instincts validated. It’s better to jump than to be pushed.

 

A Wrap-Up From My “Providence” Reading Guide

After twelve issues – or eighteen, if you count The Courtyard and Neonomicon – we come to the end of Alan Moore and Jacen Burrows’ Providence. To finally have the whole project complete at last, we can finally sit back and reflect. No more annotations, no more stressing over page borders and trying to find the one black cat, no […]

via Providence At Last — Facts in the Case of Alan Moore’s Providence

“Remember the Ifrit”

I sold my second story, and the thrill is just as strong as the first. The Cast of Wonders podcast called for Young Adult science fiction/fantasy stories that evoke a sense of wonder — in 500 words or less. And since this is a podcast, I got to hear my words read by a professional voice actor (and Hugo award-winning author), which is pretty cool.

This is a short one. I hope you enjoy “Remember the Ifrit.” (If you’re in a hurry, my story starts around the 6:00 mark on the audio.)

http://www.castofwonders.org/2017/04/episode-242-little-wonders-11-flash-fiction-contest-finalists/

Writer’s Endnotes

An image that stuck with me from childhood was from an episode of Cosmos, where Carl Sagan hypothesized what kind of life might exist in the atmosphere of a gas giant planet like Jupiter. (I’m pleased to see that the segment clip is up on YouTube.) It was only after I’d written the first draft of “Ifrit” that I realized I was stealing from Carl Sagan. Let’s call it a tribute, instead.

humpback_whale

When the family went on a whale-watching cruise off Whidbey Island in Washington State, I resolved to experience it with my daughter, directly, with no camera involved. But my resolve faltered when the Humpback we’d been following began speeding just under the water’s surface. I had gotten my phone out of my pocket and started taking a video when she breached out of the water and then fell with a tremendous SPLASH. I never got her in frame — I wanted to see it with my naked eye — but in the audio, one can hear the family shouting and whooping, and mine was the loudest voice on the boat. That cruise, and sharing the experience with my daughter, was the first thing I thought of when I began considering topics of a story with a “sense of wonder.”

My cousin-in-law did manage to take a perfect picture of the whale, so I got the direct experience and a memento. I think it’s interesting that it’s not the photo that best recalls that sense of wonder for me, but the audio. The picture represents what I saw; the audio captures how I felt. For the story, I felt that both the experience and its recollection were important, along with the curious modern impulse to interpose devices between ourselves and a wonder in hopes of being able to re-experience it at will. And, of course, the power of an experience shared was the most important of all.