Where does the time go? 

It’s the same story the crow told me; it’s the only one he knows

Like the morning sun you come and like the wind you go
Ain’t no time to hate, barely time to wait
Wo, oh, what I want to know, where does the time go? 

Uncle John’s Band, the Grateful Dead

We’re first in line for Rhi’s student id card. The last 18 years have gone by in a flash and my baby girl is off on her own.

We drove 1200 miles listening to The Grateful Dead and talking about everything. It was wonderful. And now, just a few hours left with her. 

What a long strange trip it’s been. 

Hothouse, by Brian Aldiss

I’ve been working through a list of SciFi/Fantasy books, which is a merging of three “top 50” lists that I’ve found over the years. I just finished reading Hothouse, by Brian Aldiss.

It was … weird, and ok. I guess I can see how some people would enjoy it. It follows the travels of group of primitive people around a post-civilization world where vegetation is the dominant life form.

I found it unsatisfying. Not much happens, and the people in the story are largely uninteresting, or, at least, Aldiss doesn’t tell us very much about them. So it’s more of a travelogue than a novel.

Anyways, on to the next book. I’ve included the list below, if you want to follow along. Stared books are those that I’ve already read – many of them before I encountered the list. I’m only on #3 of the ones that I hadn’t read yet when i started. Give me a few more years …

* A Canticle for Leibowitz by Walter M. Miller (1960)
* A Journey to the Center of the Earth by Jules Verne (1864)
* A Wrinkle in Time by Madeleine L’Engle (1962)
* Alas, Babylon by Pat Frank (1959)
* Brave New World by Aldous Huxley (1932)
* Do Androids Dream of Electric Sheep? by Philip K. Dick (1968)
* Dune by Frank Herbert (1965)
* Ender’s Game by Orson Scott Card (1985)
* Foundation by Isaac Asimov (1951)
* Make Room! Make Room! by Harry Harrison (1966)
* Nineteen Eighty-Four by George Orwell (1949)
* Old Man’s War by John Scalzi (2005)
* Rendezvous with Rama by Arthur C. Clarke (1972)
* Ringworld by Larry Niven (1970)
* Starship Troopers by Robert Heinlein (1959)
* The Hitchhiker’s Guide to the Galaxy by Douglas Adams (1979)
* The Illustrated Man by Ray Bradbury (1951)
* The Left Hand of Darkness by Ursula K. Le Guin (1969)
* The Stand by Stephen King (1978)
* The War of the Worlds by H.G. Wells (1898)
* Uglies by Scott Westerfeld (2005)
* Ribofunk by Paul Di Filippo (1996)
* Little Brother by Cory Doctorow (2007)
* Hothouse by Brian Aldiss (1962)
A Fire Upon the Deep (1992), by Vernor Vinge
Acme Novelty Library #19 by Chris Ware (2008)
Behold the Man by Michael Moorcock (1969)
Consider Phlebas by Iain M. Banks (1987)
Cryptonomicon by Neal Stephenson (1999)
Earth Abides by George R. Stewart (1949)
Embassytown by China Miéville (2011)
Falling Free by Lois McMaster Bujold (1988)
Glasshouse (2006), by Charles Stross
He, She, and It (1991), by Marge Piercy
Hyperion by Dan Simmons (1989)
Kindred (1979), by Octavia Butler
Logan’s Run by William F. Nolan & George Clayton Johnson (1967)
Man Plus by Frederik Pohl (1976)
Mission of Gravity by Hal Clement (1954)
Newton’s Wake (2004), by Ken MacLeod
Nor Crystal Tears by Alan Dean Foster (1982)
Odd John by Olaf Stapledon (1935)
Pattern Recognition (2003), by William Gibson
Perdido Street Station (2002), by China Mieville
Red Mars by Kim Stanley Robinson (1993)
Ring Around the Sun by Clifford D. Simak (1953)
Roadside Picnic / Tale of the Troika by Boris & Arkady Strugatsky (1972)
Sarah Canary (1991), by Karen Joy Fowler
Solaris by Stanislaw Lem (1961)
The Bohr Maker (1995), by Linda Nagata
The Chrysalids by John Wyndham (1955)
The Death of Grass or No Blade of Grass by John Christopher (1956)
The Demolished Man by Alfred Bester (1953)
The Dispossessed (1974), by Ursula LeGuin
The Drowned World by J.G. Ballard (1962)
The Female Man by Joanna Russ (1975)
The Long Tomorrow by Leigh Brackett (1955)
The Mount (2002), by Carol Emschwiller
The Sirens of Titan by Kurt Vonnegut (1959)
The Sparrow (1996), by Mary Doria Russell
Venus Plus X by Theodore Sturgeon (1960)
When Worlds Collide by Edwin Balmer & Philip Wylie (1933)
Wizard (1979), by John Varley

Cacti and the Asus RT‑N66U

I discovered a few days ago, quite by accident, that the Cacti project is still quite alive and well. I don’t know why I thought it wasn’t. I thought it would be kind of cool to set it up to graph my network traffic here at home.

I have an Asus RT-N66U wireless router, which I’ve been very pleased with since I acquired it.

Step one was getting Cacti running, which has always been something of a challenge. The installation instructions, while extensive, miss a lot of prerequisites that you encounter along the way. (Install packages are not, apparently, available for CentOS7.) Notably, you have to install Spine (the stats collection daemon) from source, and it required the -devel version of several of the items that the docs mention. So, things like php-devel, mysql-devel, snmp-utils, which are not mentioned in the installation instructions. No big deal, but it did make the process a little longer, finding and installing these prerequisites.

Step two was getting file permissions set up correctly in my Apache httpd document directory. This turned out to be a combination of missing directories (log/ and rra/ in Cacti’s home directory) and the fact that my vanilla installation of php had logging turned off, so everything just silently failed. Those directories, once created, and ownership changed to the newly created cactiuser user, Cacti itself started running. Awesome.

Step three is enabling SNMP on the router, which isn’t hard, but is a little time consuming. Instructions for doing this may be found on the My gap in the void blog, and I will not copy them here.

Finally, there’s the step of getting Cacti to talk to the N66U. This turned out to be absurdly easy. Under ‘devices’, I clicked Add. I gave it the name and IP address of the router, and selected “Generic SNMP-enabled Host” from the Host Template dropdown, and pressed ‘Create’.

On the server, in the cactiuser’s crontab, add:

*/5 * * * * php /var/www/html/poller.php > /dev/null 2>&1

Then, click ‘New Graphs’, select the “select all” checkbox, and press ‘Create’.

Finally, under ‘Graph Management’, select the ‘select all’ checkbox, select ‘Place on a tree (default tree)’, and press go.

And, you’re done. Wait a few hours for data to accumulate:


Write every day

“You must write every single day of your life… You must lurk in libraries and climb the stacks like ladders to sniff books like perfumes and wear books like hats upon your crazy heads… may you be in love every day for the next 20,000 days. And out of that love, remake a world.”

–Ray Bradbury

And so, between Ray and Rain, I’m trying to write something every day. It’s surprisingly hard. All of the words I write every day in inconsequential email, all the words spoken in meetings, all the words listened to on tv, radio, podcasts, youtube, and read on Facebook, and I struggle to have something consequential to say on my own.

Ray Bradbury, my favorite author since I can’t remember when, wrote a story every day – or at least until he was very near the end. One thing that he said, in some foreword to one of his books, stuck with me – that most of them were rubbish, but that that didn’t matter. It was more important to write, and exercise the muscle, than to have everything one writes be a masterpiece. And, out of the rubbish, a few ideas spring, and from the ideas, the art.

I keep expecting, in the years after Ray’s death, to see a flood of publications of The Other Stuff. I’m both looking forward to it, and dreading it. He threw it out for a reason.

But, just one look at his office should let you know that he never actually threw something out. So, one of these days, we’re going to see new books by Bradbury, and most of it is going to be really bad. But there will be gems in there that make it worthwhile.

So, while I know I’m no Bradbury, I will try to keep it going, and write something every day, and hope that one of these days I’ll find some more stories and poems lurking around the dusty corners of my mind.


remark.js and LinuxCon

In about 2 weeks I’ll be presenting at LinuxCon about documentation, community, and not being a jerk. The presentation is titled Read the Fine Manual? Write a better fine manual.

For the last couple of years, I’ve been using reveal.js for my conference presentations. I’ve been getting progressively more frustrated with it, because, while it allows me to write content using MarkDown, it greatly limits what functionality I have access to when using MarkDown. That is, it has lots of cool features, but many of them are only available if you actually want to write your presentation in HTML, with javascript calls in it. I really don’t want to.

So, for LinuxCon, I’ll be trying out remark.js instead. It’s not very different, but it gives access to more style and transition stuff directly in the markdown. And, best of all, since it’s just Markdown, I didn’t have to rewrite any of my content to use it – just use a different wrapper to display the rendered slides.

You can preview my slides HERE. You’ll see they’re nothing fancy, but they do the job. Mostly I use slides for two things – cue cards for myself, so I remember what to say, and a few clever images so that I can keep the attention of the audience for a minute or two before moving on to the next slide.


Road Trip with Rhi

On Saturday morning, Rhi and I will leave for Colorado, where she’ll be attending her first year of College at UC Boulder.


Day one, we’ll drive as long as we can stand it, and stop somewhere, probably in Kansas. Many Wizard of Oz jokes will be made.

Day two, we’ll go the rest of the way to Boulder, where we’ll have a look around the town a little, and see what there is to see.

Day three, we’ll move her stuff into the dorm.

Day four, I’ll fly home to Lexington.

It hardly seems possible that my little girl is an adult, and moving off on her own. We’re going to miss her terribly, but we’re also so very excited for her. It’s been very nice having her here for the 8 or 9 months since she finished school. It’s been awesome watching her find her passions over the last 18 years, and grow into a beautiful young woman. I’m really looking forward to the next 40 years or so, watching her bloom even more.


This weekend I set up my new Raspberry Pi with the RetroPie distribution, using the instructions and parts list from LifeHacker. I’ve been eyeing it for a while, and just hadn’t gotten around to it yet.


It was very simple to get installed, but configuring the controller – I used an XBox360 USB controller – proved challenging. I ended up following the instructions in this Github issue to get it working.

Most of the games that I wanted are from the various Atari systems, and from the ZX Spectrum – systems that are long since obsolete, but the games are still a lot of fun.


OpenStack 6th Birthday, Lexington, KY


Yesterday I spent the day at the University of Kentucky at the OpenStack 6th Birthday Meetup. The day was arranged by Cody Bumgardner and Kathryn Wong from the UK College of Engineering.

UK has an OpenStack cloud that they use for instruction, as well as for research, and they’ve got a 6PB Ceph cluster hanging off of it. There were presentations about the various aspects of this cloud, and how it’s being used.

I gave an introduction to OpenStack – the Foundation, the software, and the community – for the attendees that were just getting started. Patrick McGarry gave a talk about how Ceph works.

Nassir Hussamddin closed the day with a really cool presentation about CloudLab, which is a tool shared by a number of universities that allows users to spin up an OpenStack cloud (not just a VM, but an entire cloud) on demand for testing purposes. Definitely worth looking into further.

Big thanks to Dell, the University of Kentucky, and the OpenStack Foundation, who, along with RDO, sponsored this event.

The Margin Is Too Narrow