We’re trying to watch the Shannara Chronicles because I loved the books 20+ years ago. I feel like they’re being told by someone who assumes you’ve read the books, and that you already know the backstory. Which is frustrating because I’ve forgotten as much as I remember.  

Someone tell me it gets better. 

Red Hat Summit in Review

Despite my best intentions of blogging every day at Red Hat Summit, time got away from me, as it often does at these events. There’s always 3 things going on, and it’s hard to find a moment between that first cup of coffee, and stumbling into bed at the end of the night.

I spent almost the entire event working the RDO booth in the Community Central section of the expo hall. While traffic wasn’t as heavy as at OpenStack Summit, it was still pretty constant.

In the swag department, I had our “what does RDO stand for” tshirts, and TripleO QuickStart USBkeys.


Several things stood out to me from this audience.

First, I was delighted to hear story after story of companies that use RDO in the test/dev/lab environment, and use Red Hat OpenStack Platform in their public/production environments. This is what I really want to see happening, so it’s very gratifying when I get anecdotal evidence that it is happening. Now, if I can only convince those folks to follow up with case study writeups for the user stories page.

Second, from people who were not quite as familiar with either RDO or OpenStack, if there was a consistent thread in the questions, it was confusion as to the overlap between oVirt (or Red Hat Enterprise Virtualization), OpenStack, and OpenShift, and when one might use one vs. the others. This looks like a good opportunity for some blog posts around what the overlap is, what the distinctions are, and what recommendations are for using one or another.

Brian and I did an OpenStack vs oVirt comparison talk at last year’s Red Hat Summit, but I don’t believe we ever wrote it up anywhere. And OpenShift has the added confusion of having a similar name, which gets people kind of mixed up before they even consider the feature set.


And, finally, the week was yet another reminder that I work for the best company in the world, with the best coworkers. I feel sorry for the rest of you.


Convert an Apache httpd password file to dbm

If you have a textfile password file, and you want to convert it to a dbm database for use with mod_authn_dbm, this can be done as follows:

htdbm -cbp passwords.dbm bogus bogus
awk ‘BEGIN { FS=”:” }; {system (“htdbm -bp passwords.dbm ” $1 ” ”  $2)}’ passwords
htdbm -x bogus

This assumes that the file `passwords` is your existing password file, and that you wish to create a dbm database `passwords.dbm`

The -b flag says that the passwords will be provided on the command line. The -p flag says not to encrypt the password – because it’s already encrypted.

This feature used to be available in the `dbmmanage` utility, as an `import` argument, but that utility is no longer included in the httpd packages for the Fedora/CentOS and Debian/Ubuntu Linux distro families, so we have to make do with htdbm.

I’m stashing this here for posterity, since I just spent a half hour getting the awk syntax right.

The first line creates a starter dbm with a single bogus entry, and the third line cleans up that bogus entry.

All right thinking people

In the midst of a Facebook conversation someone (a “friend” of a “friend”) said that all right thinking people thought a certain thing, while the rest of the world were ignorant savages. (I’m paraphrasing, but the phrase “most right-thinking people” was definitely used.)

This got me thinking about a topic that has crossed my mind a lot during this particularly presidential campaign circus.

Long ago (ie, pre-Facebook) one would surround oneself with like-thinking people. You’d have a few dozen friends that agreed with you about everything, and the rest of the world were ignorant savages, and life was good. You knew that all right-thinking people agreed with you, but you were also aware that the majority of the world was ignorant savages.

Then came Facebook. You have a few hundred carefully curated “friends”, most of whom are people that have similar worldviews to yourself. They, in turn, have the same. You now have somewhere north of 10,000 people that you hear from every day, most of whom agree with you on most topics.

So far, so good. This is the same as it was pre-Facebook, except that the numbers are much bigger, giving you the impression that everyone in the world agrees with you, except for that wingnut Larry who is a friend of a friend of a friend and says *CRAZY* things. All right-thinking people agree with you, and there’s a tiny minority of morons clinging to their tribal gods.

Meanwhile, Donald Trump has the nomination for the Republican candidate for President, so something must be wrong with your math.


Ode to Box 1 (of 2)

IMG_20160611_101704You taunt me,
box 1 of 2.
What, and where
is box 2?

Is there even a box 2?
Is there any relation
between the utterly random
assortment of junk in you
to the cornucopia
which is box 2?

Ah, box 1
half of an unknown whole,
kept, I think, only to wait
for your long lost sibling,
languishing, somewhere,
waiting for you.




She didn’t want
to send invitations.
Why invite people you know aren’t going to come.
Seems a waste.
So her Daddy’s daughter.

It’s traditional,
says Mere,
People like to know.

She didn’t send invitations.

And now she sits,
easy to find with her purple hair,
in a mob of her classmates

awaiting a short walk,
a slip of paper,
the endnotes of this chapter
that she doesn’t really need to tell her
that the next one has started.

Almost spring

Almost spring

The final creme brulee crust of ice
clings valiantly to the surface of the swimming pool,
but vanishes at the lightest touch of the fingers

I pretend it’s warm enough
to be outside in bare feet,
pretend not to shiver when
the water gets on my neck.

Pretend it will be
warm again some day.

Alexa, chapter 2

Since last I wrote, I’ve been experimenting with Amazon Echo skills.

Getting the skill working for personal use wasn’t very difficult. Having a skill published to the whole world is more involved, because you have to pass their certification testing.

I’m not quite there yet, and I’m not really sure what I’m doing wrong.My first attempts to address the problems found in the certification phase have led to this:

That’s a PHP function that handles the validation of the request certificate, timestamp, and various other things that are part of the request. However, apparently I’m not validating the certificate correctly just yet, as the latest feedback was:

1. The skill does not validate the signature for the incoming requests and is accepting requests with invalid signature specified. Please refer to the document that describes how to build your Alexa Skill as a web service (available via this link: ) for tips and requirements about validating the requests (and their signatures) sent to your web service.

Furthermore, I can’t find anywhere in the documentation what you’re supposed to return on failure, so perhaps that’s what I’m doing wrong.

On the other hand, all of the skills that I’ve written work just fine for me, in developer mode, I just can’t show them to anybody else.


The Margin Is Too Narrow