Writing, publishing, geekdom, and errata.

Defeated by the Claw: It just ain't fair.

No comments
She cried on the floor, hands pounding the carpet ineffectually. "I want to get something!"

It was the claw machine's fault, obviously.

Somehow, with only a dollar, her brother had managed something that I have never achieved:  he'd managed to get a toy from the claw machine in the arcade.

She had been given a dollar as well, but her luck and skill were more comparable to my own.  The dollar was gone, the little stuffed animal was still safely ensconced in the machine, un-clawed.

Photo by Jackson Jost on Unsplash
"It's not fair!" she screamed.

Of course it was fair.  But it was only one type of fair:  Equality of opportunity.

Both kids had the same amount of money to spend on the claw.  They each got the same number of chances.

It wasn't the other type of fair - equality of outcome - at all.  One kid had a toy, the other didn't.  It took eight more dollars to finally snag a toy with that claw.

Politicians try to fool us by swapping which kind of "fair" they're talking about all the time.

Most people are more okay with unequal outcomes as long as there's an equal opportunity.

And the tricky part is this:  opportunities are rarely truly equal.

One kid had better reflexes.  Maybe he'd trained more (or less) previously. Maybe one needed glasses, or there was more background noise, or...

...or their parents had to work three or four jobs between them and couldn't help study.  Or they didn't have enough food, so they were distracted by hunger at school.  Or their school funding (based off of property taxes) was low, so

You get the idea.

Life just isn't fair... but if we think about it, and we're kind, maybe we can make it fairer.

No comments :

The Art of the Relationship Insta-Kill

No comments
What would be a relationship instakill for you?

She blew all of the tax return money on a weekend of drugs.
He showed her a picture of a model, and said "I want you to look like that by the end of the year."
She went through his phone messages, and flew into a fury whenever he showed kindness to another woman.
He offered her to his friends for sex.
She insisted they had to have an argument, right then, and angrily.
He said he'd kill himself if she didn't stay with him.

There's some things that are relationship insta-kills1.  They screw the pooch so hard it can't be unscrewed.  They demolish the fundamentals of that relationship in a way that it can't continue.

At least, they should.  Right?


The thing is, not everyone agrees that these are one-shot kills for a relationship.  And sometimes that answer changes when they're the one in the relationships. One person told me that cheating was an insta kill when of they were married...but not if they were dating. Another told me lying to hang out with another guy was an insta kill...not because she was hanging out with another guy, but because she lied.

I think that maybe relationship instakills should be part of your user manual.  Write them down - preferably before you're in a relationship.  That way you can refer back to them if the situation happens...or allow you to notice if your criteria changes. 

What's your instakills?

1 As always, see my artistic license policy. And see this post about it before you argue with me about my policy.

No comments :

Holding You Hostage With A Lie: Fears and Brain Weasels

No comments
There’s a reason I keep talking about fears, both here and in real life.

Fears must be pulled out, dissected, and exposed in the light of day.

At first, pulling those fears out is difficult. They’re like mental ingrown hangnails. But pulling those brain weasels out of your head and dealing with them becomes easier (and faster) the more you do it. 

Maybe you’ve been trained - explicitly or implicitly - to not address your fears, to not make your needs known. Acknowledging that training - and working to counter it - is the first vital step towards healing.

Sometimes it feels as if pulling that fear out, that speaking its name, will make it real. We see this all the time in our cultural myths, from villains like Voldemort and Sauron, to the comedic “don’t say ‘it couldn’t possibly get worse’.”

But you must acknowledge and tear apart those fears.

Otherwise they’re holding you hostage.

They’re holding you hostage - with a lie.

The fear is that things will get worse if you address your fear - but avoiding that fear also makes things worse… just slowly, and in a different way.

Let’s say your worst case scenario if your fears are true would be taking 20 hit points of damage in a round.

But what gets ignored is that avoiding the fear costs you one hit point a turn.

That adds up, quick… and it also ignores the possibility that the best case scenario wouldn’t do any damage at all.

And often, it will lead to you leveling up.

No comments :

It's time for the first flash fiction challenge of 2018!!!!!

No comments
It's time for the first flash fiction challenge of the year!

Remember:  The word count limit is now 1500 words, not 1000 words.

Several of us have started our own, self-hosted, flash fiction challenge over at a website we're calling Obsidian Flash.  It's on a forum behind a password, so that anything you write and submit is considered unpublished.  Registration is quick, free, and pretty painless.

Seriously, this thing is the perfect thing for you to do if you think writing is hard (or finding time for writing is hard), and especially if you haven't been writing for a while.  It's also great if you have problems with getting past ideas that "you suck" (every first draft sucks, face it) or self-doubt.

Go sign up now at and we'll see you writing this weekend!

Here are the rules:

Welcome to the Flash Challenge!  Our Flash Master!

Here are the rules, slightly changed for NaNoWriMo:

1. All stories should be complete, written and posted within 24 hours of the prompt being posted, and can be anywhere from one sentence to 1,500 words in length.  Typically the prompt is posted by 8pm EST on Friday, and stories are posted by 8pm EST on Saturday.  For this holiday weekend, you have extra time: stories are due by 8pm EST on SUNDAY and critiques are due by 8pm EST on Monday.

2. You may choose to write your story in any genre.

3. Your story must be built around the restrictions—words, themes, photo prompts, word limits, etc.—provided by the Flashmaster at the beginning of the challenge.

4. Once the participants’ work is posted, the voting and comment session begins and continues until all votes are in. Time limit for voting will be determined on the spot, depending on how many people finish the challenge.  Typically this is within 24 hours of the end of the writing portion, or 8pm EST on Sunday.

5. The winner becomes Flashmaster and chooses the prompt(s) for the next contest.  Also, you get all the Internet Bragging Points you think you can get away with.

Don't wait - get going and register at right now and join us!

No comments :

Bullsum: Using the Bull**** Corporate Generator to make CLI Lorem Ipsum

No comments
When designing websites or doing book layouts, you often need filler text.  Typically, some quasi-Latin known as "lorem ipsum" is used.  There's a great example (and more history) at

Still, I wanted something I could pipe into other programs, and I thought of the Corporate Bull**** Generator.   It'll spit out a bunch of sentences for you at the live site, but it's not formatted into paragraphs or a set number of sentences.

So I made bullsum.  It's a bash script that lets you choose how many sentences (or paragraphs) of corporate bull to spit out, optionally starting with the traditional "Lorem ipsum" phrase.

bullshit -l -p2

Lorem ipsum dolor sit amet, consectetur adipiscing elit. An accelerated yield enhancement goes hand-in-hand with a superior profits growth. A global network globally engages our on-boarding processes. The supportive initiative motivates the game changers. The network dramatically digitizes a prioritizing crowdsourcing 50/50.

Industry-standard up-sell messages empower the enabler across our portfolio. Our phased branding carefully inspires the market thinkers. The category manager is eager for metrics. The market thinkers focus on an improved sustainability. The rockstar efficiently fleshes out our opportunity pipelines.

From there, you can easily pipe the output into the clipboard (using xsel or xclip) or into any file or program you like.  There's an example in bsclip that works out of the box with xsel.

No comments :

Whole house audio, easily, freely, for Linux and MacOSX using SnapCast

No comments
A year and a half ago I wrote about a way to use RTP multicast to provide whole-house audio.

Less than a month later, SnapCast was uploaded to GitHub and made that whole guide obsolete.

Available for Raspberry (and C.H.I.P.), Linux, FreeBSD, macOS, Android, and OpenWrt,
Snapcast is a multi-room client-server audio player, where all clients are time synchronized with the server to play perfectly synced audio. It's not a standalone player, but an extension that turns your existing audio player into a Sonos-like multi-room solution. The server's audio input is a named pipe /tmp/snapfifo. All data that is fed into this file will be send to the connected clients. One of the most generic ways to use Snapcast is in conjunction with the music player daemon (MPD) or Mopidy, which can be configured to use a named pipe as audio output.

Snapcast is absurdly simple to set up with sane defaults.  I currently have the server (and a client) running on my main server, a client on my laptop, a client on my phone, and a client on a CHIP that I have speakers plugged into... and it's all in sync... without clobbering my WiFi.

This is a great little application that does something really simple and awesome, with guides that are pretty straightforward.  

Still not convinced?  You can get a $8 early version of the C.H.I.P. (with Debian installed), then set it up using this guide: .  Install the arm version of SnapCast and hook it up to a sub-$20 speakerBOOM.  Music in the kitchen, cheaply and all under your control.

No comments :