28 October 2011

Warming up the Rocket Sledge

I've been a little quiet lately.

Partly that's because I've been grading papers (ah, teaching!) or sick (ah, viruses!), but it's also because I've been finishing compiling the stories for this year's Spec The Halls charity anthology.

It's on schedule to come out All Saint's Day, and will only be available for a limited time.  Inspiring stories, dark stories, funny stories, and sad stories - all aspects of the winter holidays1 are going to be in here. It'll be a heck of a volume, folks, and all proceeds will go to support Heifer International.

Want to be in next year's volume?  Want to win cash prizes?  Want to share your speculative holiday fiction with the internet?

Stop by the Spec The Halls site to follow our submission guidelines!

1 Yes, winter holidays, regardless of religion, planet, or plane of existence.

26 October 2011

Get external IP address at hotspot - with some error checking

In my conky setup, I call a file inet_test.  It's a bash script, made executable and called by conky.

The core of it is getting an address from checkip.dyndns.org, but there's one small problem.  Some public hotspots also have a login - such as Starbucks.  When I've connected, but before I log in, I'll get a big jacked-up mess back.  This script basically checks for the length of the string returned, and if it's longer than an IP4 address is allowed to be, it returns back for my conky script.

Even if you don't use conky, you might find it to be a useful standalone script.  Check it out on pastebin and try it out on your linux box.

25 October 2011

Informative, unobtrusive, minimalistic conky bar

I use conky to make a nice informative bar across the top of my screen (click to embiggen):
Lots of cool, useful info I like to have at a moment's notice.  In order:

[Left side]
1.  Inspirational saying
2.  Which desktop I'm on
3.  Average CPU usage
4.  RAM usage
5.  CPU temperature in Celsius
6.  Uptime
7.  Load (good explanation of load here)

[Right Side]
1. Wireless network::Signal Strength
2. Network speed up / Down
3. LAN IP address
4. WLAN IP address (obviously, I'm at a hotspot here).

It's compact, always visible without taking up much screen real estate, and is the info that when I need it, I need it now.

There's lots of tweaked if/then branches in this conky setup - such as using a temporary file to signal the rest of the system that the network's up, and showing different parts depending on whether it's wireless, wired, and so on.  I use the StyleBats font as well, and one tweaked bash file at the end there (inet_test) that I'll discuss briefly tomorrow.

If you want to take a look at my conky setup, the code is here on pastebin.

24 October 2011

Dual monitor, single monitor, and HDMI output switcher (including audio) for linux with PulseAudio

technology.pngOne of the minor annoyances I've had with computers are the ways they handle switching internal monitor, dual monitor, external monitor, and HDMI outputs. I was able to handle this to some degree with linux 1, using xrandr, as I originally helped someone with in this thread at UbuntuForums. That did not, however, help with HDMI - especially when it came to HDMI sound outputs. I found the pacmd utility to get the pulseaudio sound server to change where it was pointing without too much difficulty.

I created a somewhat complex script to handle all of this - pastebin of the bash script here. It's a really good example of something that looks intimidating actually being fairly simple when you take each bit in turn.

1. After resetting the monitors, I use xrandr to tell me what is connected - and if it includes VGA output.
1a. If it's not hooked up to VGA output, then check and see if you're connected to HDMI output.
1aa. Not hooked up to either? Then just set up the internal monitor.
1ab. Hooked up to HDMI? Set HDMI as the output of choice and turn off the laptop monitor. Keep a record that we're hooked up to HDMI
1b. Hooked up to VGA, then. Dual monitor output it is. Keep a record that we're hooked up to VGA.

2. Use feh to set my background.

3. Use that record of what we're hooked up to.
3a. Was it HDMI? Point the sound output that way.
3b. Everything else, point it to our normal duplex output.

If you take a look at the script with this guide, the structure should start to make some kind of sense.

1 I run openbox over ubuntu 10.04, for those who care...

21 October 2011

A New Type of Rights Grab - Reinterpreting No-Compete Clauses To Include Backlist

[Originally modified from a G+ post]

publishing.pngThis, my friends, is crap. This article suggests that Penguin (at least) interprets "next-work", "no-compete" and "option" portions of a contract to cover all types of an author's output, and I really, really, really hope that it's exaggerating things.

I've dealt too much with corporations to be that hopeful, though.

The short form of the story as presented in the article1: Author was under contract to write a novel. While doing so, she offered some of her rights-reverted backlist up as digital downloads. Backlist that the publisher had turned down previously. The publisher then insisted that she remove the eBook in question. They also demanded she not put up anything else from her backlist until the hardcover and paperback version of her novel were printed by them. (It'd be interesting to see if her contract guaranteed both a hard and softcover release...)

Their reasoning? The backlist offering now would "compete" with a future release a year or more in the future. (Feel free to laugh in derision here.)

This is framed as a digital publishing issue, but it's not. This is a publisher problem, not a digital publishing problem. The argument used here sets a precedent. It implies that Penguin thinks that if you're under one of their contracts, you're not allowed to even sell a short story to anybody else... even if the publisher has turned down the short story or collection in the past.

It would be a reasonable argument if we were talking about an author contracting to write for two or more houses at the same time. But we are talking about backlist offerings, not original, new works. That's what makes this argument so heinous. The exact same argument could be used against an author selling a backlist story to an audio market on their own.

You might have heard some of the horror stories about offered contracts from the Big 6 (and other) publishers, where they've essentially tried to grab all rights whenever possible. A lot of us have, because other authors have pointed out exactly how heinous the right grabs are. This is a new kind of rights grab, and it's crap.

I understand that lots of folks who work at Penguin are decent human beings, who are probably just as appalled at this. They might be editors, fellow writers, and the like. The problem here is not those decent human beings, but a corporate mentality that values maximal profits over all. 2 Media conglomerates own most of the publishing industry in this country (and worldwide) - which means those folks who are actually working with content and creative types are frequently those whose concern is not authors (or editors, or artists, or...), but profits and shareholders.

This is disturbing not just because of what Ms. Davenport has had to deal with, but also because it demonstrates (or at least strongly, strongly suggests) that the suits in the big companies treat authors - not content, but authors - as merely a commodity, nothing more.

I hope this is me tilting at straw men and not windmills. I really, really do.

1 Yeah, I'm making a big assumption that the article is legit and states the facts of the matter accurately. Honestly, I hope I'm wrong. Her version of the story is here.
2 And I do mean maximal. I have no grudge over making money - but there's a difference between making money and min/maxing your profit margin.

At Bell, Book and Comic this weekend!

Saturday (late) afternoon and all day Sunday I'll be at Bell Book & Comic in Dayton, with copies of The Crimson Pact (both volumes - digital AND PRINT), as well as Don Bingle's Net Impact and several other books of my own. Stop by for their 8th anniversary celebration and say hi!

18 October 2011

Leaves - A Guest 100 Word Story

storytime.pngYup, it's flash fiction time again! (This one is by Chris the Nuclear Kid, though he asked me to narrate it.) 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!

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!

Haffa Cubicle
I smack down the report. "I can't do this! It's just too stupid!” I exclaim.

“Too dang bad!” my boss Joe said. “If you aren't going to work, then you won't get paid, and you're going to get fired!"

“Then fire me because I'm not going to do this dumb work. If I don't have to do this, I’ll be happy!” I shouted.

Joe's face got red. “Well, then, you're fired! Get out!"

I walked out the door and felt the breeze blowing leaves across the road.

I wondered what I should do, then realized: Nothing.

So I just walked.

17 October 2011

Leaves - A 100 Word Story

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!

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!

AUSAShe left me.

In hindsight, I should have seen it coming - she started to wear makeup. First it was subtle hints, then bright reds and yellows. She began refusing my gifts. She just didn't pay attention - her focus was elsewhere. Our conversations grew short as she turned... brittle.

Then, a bright clear October day, just before the first possibility of a frost, she left. She twirled off to adventure and unknown lands, a dancer spinning away from her partner.

It happens the same way every time.

I look at the spruce across the yard, and I wonder if it's me.

13 October 2011

Review of "Human Tales"

Human Tales attempts to take "fairy tales" - the stories of all the bad things the mystical world perpetrates upon humans - and turn the concept on its head.  These are the stories that the magical and mystical world tells to warn their children about humans.

Short version:

Graded as a solid B.  Some really good stories, and a lot of pretty good ones.  It's a bit uneven at times, and probably should not be read straight through.  Several stories have small missteps, either because of the method of telling the story or because they don't have enough of a punch at the end.  Despite these small flaws, it's a good anthology and worth the price of admission.  A few potential triggers exist for child abuse and those who have dealt with attachment disorders.

Long version:

I like fairy tales.  I like subversion of fairy tales.  Rewritten fairy tales.  Expanded fairy tales.  But I also like modern storytelling techniques, and that might be where Human Tales and I didn't entirely mesh.

If you've read the original - and I mean the original, not the cleaned-up versions - of fairy tales, there's often a disconcerting lack of resolution to them.  Things happen, there's consequences, but ... that's it.  I have a strong negative reaction to that - it's a taste and style thing.

Some of the stories in Human Tales seem to draw on this tradition, and so I think that had something to do with why I didn't give this anthology full marks.  I really enjoy short stories that hit you with a gut-wrenching punch of an ending, and as I was making up notes for this review, I noticed how many times I'd written something like "great story except not enough of a resolution at the very end".

Because nearly all the writing in this anthology is very good, little stumbles (or things I don't care for personally) stood out for me.  Regardless, the quality of storytelling overall makes this a volume worth picking up and reading.

Some of the stories which were particularly noteworthy:

"Bloody Spindle" by Ivan Ewart.  This story fits the bill of the anthology perfectly.  Well told, it lets us see the other side of the story nearly without any alteration of the story we already know.

"Riddles" by Seanan McGuire.  We only know part of the story of the Sphinxes;  Ms. McGuire weaves the bits we know together into a coherent whole.  The sphinxes are truly not human, yet she keeps us at a place where we can empathize with them.

"Skin Deep" by Sarah Harvey.  This story does an excellent job of showing that all the actors are flawed, illustrating how different motivations and personal weakness can give rise to the stylized morality tales that come much later.

"The Ifrit's Trial" by Spencer Ellworth.  A positively delightful story in voice and tone - even though it's a darkish topic - up until the last two sentences.  While necessary (and I can't think of a better way to do it), they clunk a bit.  In many other tales I wouldn't have noticed, but it's such a contrast with the smooth as silk wordsmithing through the rest of the story that it was noticeable.

"Hunger's Child" by Jess Hartley.  I had a very hard time with this story;  this is the one that might trigger those who have dealt with children with attachment disorders.  Due to my own life history, that ended up upsetting me.  Aside from that, this is a very good story that again has the complexity of motivation that you see in "Skin Deep".

"A Tithe for Homecoming" by Deborah J. Brannon.  Dark, mysterious, and twists a few concepts together into a nice interaction of the modern world and the ancient tales.  Tree spirits, changlings, and revenge all fall naturally together like leaves on the forest floor.  Potential trigger warnings for child abuse.

"Color" by Alma Alexander.  I want to like this story more, and perhaps if  it were not in this volume, I would.  It's not so much a cautionary tale for non-humans as an inspiriational tale *for* humans.  It focuses on what we humans have and don't appreciate.  It's a good story on it's own, but I'd suggest reading it separately from the rest of this anthology because it seemed like such a change-up for me.

Additionally, the stories by James L. Sutter, Dylan Birtolo, and Nathan Crowder were quite good, but I would end up repeating myself even more.

Again, take the time to pick up this anthology;  it's worth the price of admission.

12 October 2011

Don't Feed The Trolls: The Problem With American Politics

[Some details, timelines, etc changed to protect the guilty... and me.]

I recently joined an e-mail list that was billed as a general-discussion cum professional e-mail list.  So I was a bit surprised when I came across rants from both sides of the political spectrum.

I mean rants.  Not even rants like my rants, folks - we're talking full-grown adults debating which presidential candidate best matches the dictionary definition of boob.  And that was the high intellectual point of the conversation.

I made the mistake of asking if this kind of discussion was normal.  Yes, mistake.  I got so much vitriol that I had to wipe virtual spittle from the backside of my e-mail client.  I was an enemy of free speech.  I was what was wrong with America today.  I was called a tool of the left - and of the right.  I was held up as an example of the political apathy that has let "them" (for whatever value of "them" you prefer) take over.

But here's the interesting bit:  A number of people told me - privately, in person and in e-mail - that not only were the political rants par for the course, but also led them to stop participating for long stretches at a time.  Several people told me the political rants led them to unsubscribe entirely, at least around election season.  [emphasis mine]

I think this is a microcosm of the bigger problem in the American political landscape.  Everything is so polarized that only the loudest and most unreasonable get heard.  I'm a loudmouth, and it's pretty hard to dissuade me from a political argument, sure.  However, I try to stay reasonable - and that's when even I get shouted down by soundbite-spewing blowhards.  It's not about the quality or worth of what one is saying - but about how loud and how many times they say it.

I assume the ranters on that e-mail list can be safely categorized as trolls (in the internet sense).  But maybe I'm wrong.  Maybe they're not trolls.  Maybe they really think that sending rants to other people's e-mail will actually convince them.

But they're not.

They're only causing the apathy and disinterest they hate so much.

Steven still participates on the e-mail list in question, but currently has no less than five filters working to filter out the vitriolic political screeds, regardless of which side of the political spectrum they come from

Play iPhone games?

If so, I would love it if you friended me in the game center. Stupid thing doesn't support name lookups. Also I'm on Openfeint, and the more the better there as well. My nick on both is steve-author.

11 October 2011

Spec The Halls - A Contest, A Charity (CALL FOR SUBMISSIONS)

Spec The Halls - originally started by Abra Staffin-Wiebe - is back again this year!

There's two parts to this, so stick with me here ...

The Charity
I've been contacting past winners as well as author friends of mine for submissions;  these will all go into an eBook (available from around All Saint's Day through Epiphany only).  All proceeds will go to Heifer International -  more on this when it becomes available.

The Contest (the call for submissions)
Oh yes, the contest.  This is what you're interested in, my pretties.  Much like prior years, I'm requiring you to make the story available on the web at least through next Groundhog Day in the spirit of giving and sharing.  I'll probably ask most of the entrants to submit for next year's charity book.

But this year, they'll be in the running for cash prizes - $100 for first place, $50 for second place, and $25 for third place.  We've got other authors as the judges, so you'll want to bring your game, folks.  Check out the guidelines - submissions are already coming in!

10 October 2011

Mustache - A 100 Word Story

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!

You can also read and hear the rest of the entries (and vote for your favorites) at the 100 Word Stories podcast site!

I put my arm around the girl's shoulder, guide her toward the funhouse door.

"Daddy, I'm not sure-"

"It's fine, pumpkin." The endearment is ash in my mouth. "Nothing bad can happen to you in there," I lie.

"Mommy hasn't come out yet- "

I bite the words off. "It's fine."

"Daddy, you're acting funny, like that Star Trek episode where they came from a para... para..."

"One, please," I shout to the figure at the funhouse door and push the girl toward him.

She goes to her doom, and I rub my newly-bare chin, thankful this dimension invented razors.

Corporate Talk On Raising Healthcare Premiums Again

Greetings, employees. I know you all are busy, since we required you to be here and also require your output to be the same, but we thought this was important.

The cost of your health care benefits will be going up almost 10% again this year, and what they cover will be going down again.

Now, before you boo, keep in mind that this is due to ... Uncertainty... in the field of health care. Not that I would say it's Obama's fault, but what other uncertainty is there?

Now again, before you complain, remember how many people are without insurance. You don't want to be without insurance, do you? Glad you agree.

Also, more ...uncertainty...might force us to raise the premiums even more mumble mumble.

What? I deny saying "to preserve profit margins"! We care for our employees...as long as you can keep working for us.

Anyway, let us all hope there is no more "uncertainty" in healthcare so your rates don't go up more.

[unaware mike is still on]

This is great! We can keep raising premiums, blame the government, and get them so scared of higher premiums that they never stop to think that universal healthcare might cost them less!

[mike cuts off abruptly]

(yes, this is really what these meetings sound like to me)

07 October 2011


Ah, heck, doesn't matter what I call it. I'm being nonconformist! Caturday? Ha! We have it all today! Cuteness! Action! Cats and dogs living together!

Cat in a sink!

Dogs on fences!

Dogs who stop recognizing any human when they're on the other side of a fence! (seriously - this is why you NEVER try to pet someone else's dog over a fence. When I'm outside, they see ME as an intruder!)

Dog in motion!!!!

Have a great weekend!

05 October 2011

My Twitter Fiction on Nanoism

I've been published three times in Nanoism - including (unless something has gone horribly wrong) today. Yes, right now, if you go to the Nanoism front page, I should be right up top there, and if you want a direct link to the story, this one should work.

The other two stories are here and here.

I think they're good. They still hurt to read.

04 October 2011

BASH script to turn Remember The Milk's RSS Feed into plain text for ifttt

technology.pngI like Remember The Milk.  I like IFThisThenThat.  But there's no easy integration.  I hoped that maybe I could parse the RSS feed from Remember The Milk so that ifttt could use it...

I haven't succeeded that far - but I did manage to parse RTM's tasks into a plain text format, with comma separated values, dates, and links to the original task in a BASH script.  You can probably do something similar with VB, since the dependent items have all been ported or coded to Windows.  (Batch files don't support arrays, though.)

Why in BASH?  Two big reasons:

1. I'm not horribly familiar with Python, Ruby, Perl, etc.  I can teach myself them, but just haven't yet.
2. BASH is actually pretty easy to understand and read, even if you don't know a programming language while still supporting complex things like arrays. I'm hoping that new Linux users give these BASH scripts a shot, Mac users start exploring their shell, and that Windows users take more control of their machines.

It does require WGET, XMLStarlet, and SED.  My code is probably all kinds of kludgy, so feel free to point out where it can be done better in the comments.

Two notes:

1.  It's not completely done.  I mean, it's functional, but it's not a full-featured program.  Right now it outputs a list of all tasks after loading them in an array.  It only outputs the title, scheduled date of completion, and link.  Once it's in an array, you can do all sorts of stuff to the records - sorting, searching, etc.

2.  RTM's RSS feed (which is what I grab to do all of this) is ugly.  The description, note, date, priority, and tags are all in the description field.  The problem is twofold - the description field is HTML span tags, not XML; and the note field can contain newlines, which breaks the parser.  So with this version, notes on your tasks are actively truncated.

You can grab the BASH script at pastebin here.  Make sure you change the username and password appropriately!

03 October 2011

Coffee - A 100 Word Story

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!

By the way - no audio this week, and I couldn't quite get this one to a hundred words without doing violence to the story, so it's not entered. Still, go check out the others and write one of your own for next week!

Sarah sets the mug on the diner table. "This is — excuse me — a damn fine cup of coffee."

Karen looks up from the table, then out the windows holding back the autumn chill. She shivers anyway, drawing her coat around her shoulders. "I bet this is where pies go when they die." Her voice falters at the last word.

Sarah pulls out her half of the heart necklace. "No backing out now. We've got everything — the bird, the plastic-"

"Which of us will be Laura?" Karen's hands shake the mug, hot liquid tracking across her fingers.

"Why, you, Karen." Sarah's smile gets wide. "Damn fine cup of coffee."

02 October 2011

Easy way to keep up with my publications

random.pngBecause I know some folks just want to know when I've got a published work somewhere, I created a Tumblr blog that only has publications.  You can also check out the recent pubs here - and if you're an e-mail centric kind of person, that page also has a form so you can get updates by e-mail. You can also subscribe to Steve's Pubs by Email at the link in this sentence.