this mortal coil

You Just Go Out the Door

I’m on the “guesser” side of the cultural divide, I hate saying “no,” and it’s really hard for me to give people difficult feedback. I think most people who know me know all that.

Here’s something I remind myself of when I’m gifted with an opportunity to see that I’m heading for that territory:

I spent two years on jump status at Ft. Bragg. I wasn’t a super active jumper. I did the ones they told me to do to stay on active jump status and I went to a few weekend “fun jumps” early on. It got harder and harder to jump the closer I got to getting out; maybe because the stories of people being crippled or killed on a jump stack up the longer you’re listening for them, maybe because thinking about going home meant I also had to think about my future a little more. Either way, whatever for, it started getting scary.

So, there was this one sergeant — one of the jump masters — who didn’t think much of me. He’d let me know about it every once in a while. One afternoon he decided to make a thing about jumping:

“You’re such a fucking pussy. I saw you on that last jump, all tight-faced and afraid. Didn’t want to jump, did you?”

“No, sergeant.”

He laughed and hooted. “Called it! Called it! He even admits it. Fuckin’ scared.”

“But I jumped, sergeant. I’m scared every time, but I always jump.”

“Yeah. I guess you do.”

Mechanical Rabbit


I always liked the idea of running. One day I was in the library and saw a book called The Zen of Running, so I gave it a try.

It had some sort of woo stuff I can’t remember, and it had some advice that was just generally good (remember to breathe, unclench your hands and hold them like you’re carrying a bag of potato chips you don’t want to crush).

So I started running.

There wasn’t such a thing as Couch25K at the time, so I just aimed to go 15 minutes without stopping. That would take me to a hill on a country road behind my house that I couldn’t quite crest at the 7.5 minute mark when I started (no time, no wind). Then I was able to crest it and then I was able to keep going.

I had terrible shin splints because I didn’t know about stretching. Stretching is either implicit to Zen or unknown to it, because my library book didn’t mention it. Some mornings they were so bad that I’d get down the stairs by bracing on the wall and the hand-rail and lowering myself. They got better over time.

We moved into town, just a few blocks away from a park with a jogging trail. After a while, I got as interested in how far I was going as I was how long I was going, and I learned that I’d settled into 5K routine without aiming for 5K.

I did that for a while, almost every afternoon after work. I’d go home, put on my evening rice, change, go running, come home, eat.

A runner friend told me I’d burn out doing it that way, so I alternated running with trips to the gym with her. She taught me how to stretch.


One day, as I was finishing up the last lap of my run, I wondered to myself if I could run 10K, same as my friend. So I just kept running. It was fine. 10K felt the same as 5K.


I enlisted some time in the fall of that same year. The recruiter was sort of an asshole about my philosophy major.

“We’re gonna take you out on a run. Pushups don’t tell me how strong you are in the head!”

“Oh, I don’t know, Sergeant Ritchie. Don’t you run a lot? I’m not sure if I can keep up.”

“I’ll take it easy on you.”

So I went home and got my running clothes on and came back as he was closing the office for the day.

“How far are we going, Sergeant Ritchie?”

“You have to go two miles for the PT test, so let’s go a little past that. That o.k.?”

“I’ll try.”

It seemed to me that two miles was about a third of that 10K I’d run, so it seemed I could probably go pretty fast up front and make my point.

I made him quit about 1.5 miles in. I nodded sympathetically as he made excuses for himself, then we walked back to his office.


I was really awful at pushups and situps in basic training.

One morning the drill sergeants were making us do this thing where you have to hold the raised pushup position for a really long time, until you’re shaking and sweating. I sort of toppled over and one of the drill sergeants got down on his belly and put his face next to mine and screamed “you’re so fucking weak in the head!”

I took the advice, obliquely offered as it was.

There was a morning where I wanted to sort of topple over and I decided instead to take a quick inventory. The main thing I realized, having checked myself over inside and out, was that it was just my shoulders that were hurting. They were hurting enough to make me shake and sweat and want to quit, but everything else was pretty much “systems go!” and my shoulders, on further interrogation, allowed as how they didn’t have to quit, they just wanted to pretty badly. So I stayed up and made it to the point where enough other people had sort of toppled over that we were all allowed to quit.


I got a lot better at pushups over time. Good enough that I was usually pretty close to maxing out the pushup score on my PT tests. I remained terrible at situps. When I came up for a PT test in Korea, I was so nervous about situps that I tried to work on them extra hard and ended up pulling my back.

When the PT test came, I maxed out the pushups but couldn’t make it happen on the situps. My back hurt too much, and I fell short of passing by three or four.

I was so mad at myself for failing, and so embarrassed, that when it came time for the 2-mile run, I gave it everything. I was in front of everybody else in the unit in the last 200 meters or so, and it wasn’t enough to make me feel like I’d made any sort of point, so I sprinted. I heard someone yell, “holy shit, Hall!” as I crossed the line, and then I just veered off into the grass and threw up.

You couldn’t fail any part of the PT test and pass, even if you maxed the other two parts, so I failed, heroic vomiting and all.


At Ft. Bragg, I loved the long unit runs. I especially loved the ones where we could peel off and run circles around the unit as it made its way down the street.

I loved the 4-mile run they make paratroopers do and usually finished among the first 10 in the unit.

I joined the unit 10-mile race team, but a few weeks into training for that I had a pretty bad jump and ended up on a month-long no-PT profile that lasted until a week before the annual Ft. Bragg 10-miler.

I went ahead and did a few shakedown runs and then ran the race, and that was a pretty bad idea. I felt flat for most of the back half, and it affected my running for weeks after.


If we want to sum up the army running experience, I guess it’s like this:

I tried to never stop and never slow down, and if I ever felt like I had anything left toward the end of a run, I sprinted it out.

I tried to stay pretty amiable toward the people around me, but if someone talked shit to me or gave me a hard time, I found them during a run and I’d do my best to run them down.

I’d run past them and murmur, “weak.”

If it looked like they were going to fall out, I’d stay alongside them: “Don’t be weak.”

One guy passed out with me doing that to him right after one of our unit combat lifesavers had learned how to rehydrate heat stroke victims through their rectums, so I quit doing that kind of thing.

Since all that, I’ve come and gone from riding and biking, and I’ve had a hard time getting rid of that moment in Korea where I felt like I had to run all that shame and embarrassment out. GPS and stopwatches aren’t good things for me.


When I started to work at Puppet I tried to establish a biking routine, but I wasn’t very comfortable on my bike. I realized at points that I was just trying to push too hard: Too many people on the trail around me were sort of breezing by on their road bikes while I struggled along on my clunky hybrid.

I didn’t really stop to think about what it was that was bothering me about the whole thing. Looking back, I understand that what I wanted was a quiet, easy ride into work, but I couldn’t allow myself to have it. I kept pushing to go faster and got frustrated with myself when I couldn’t.

Last month, I bought a new bike that’s better built for commuting (drop bars, light frame) and started timing my rides. It was pretty easy to shave eight minutes off my 12-mile commute, and I found that it was also pretty easy to ride at a speed closer to the average commute pace for most of the bicyclists around me on the Springwater.

I started using Strava to record my rides because I liked the way it would break a trip down into legs and let me see how fast I was going relative to everyone else who uses Strava and travels across the same legs.

I had several weeks of continuing to not think about what it was I wanted from my ride, so I kept pushing harder and harder and experimenting with gears and all that stuff, then coming home sore and tired and not feeling super relaxed.

I don’t know what finally caused me to think it through, but I did. I couldn’t square the sweaty, panting guy rolling in at night with the guy I saw in my head when I thought about bike commuting and it finally occurred to me that maybe I could resolve that conflict.

So I just got on my bike one morning and settled it into a nice middle gear that allowed me to pedal along and easily imagine having a conversation with myself without panting. It was hard to maintain that pace. I got passed a lot. By the time I got to work, though, I felt a lot more composed.

I’ve been trying to do that ever since. My rides take six or seven minutes longer over 12 miles, but I feel much better at the end.

Better yet, I’ve been trying to get myself into decent enough shape to sustain a daily bike commute instead of just three days a week. I’d like to be comfortable doing daily commutes in time for September’s Bike Commute Challenge. Backing off the speed and effort makes that seem a lot more likely: Last week I rode in four times instead of my usual three. This week, I’ll try to bike in all five days.

I’m still recording my rides because I’m keeping track of calories and exercise, but I switched to Runkeeper Pro (which is far less social than Strava). If I were to add a speedometer to my bike now, I like to think it would be to make sure I’m going slow enough, not fast enough.


This is a story of getting things wrong, and perhaps continuing to get things wrong, but not knowing exactly what to do besides what I’ve come up with.


When I lived in Bloomington, IN, some guy spent a week in one of the student neighborhoods attacking women. The one account I read from a victim was that he walked up to her with keys sticking out from between the fingers of his balled fist, slashed her cheek open, and said, “not so pretty now” before running off.


A while back, before Ben was born, I took a few night classes. A few of us getting out of class together had to walk four or five blocks down a quiet side street to get back to a common parking area.

So, class would let out and we’d make our way down to the street. Throw in some random travel variables — like getting backpacks repacked or chatting with classmates on the way out the door or whatever — and you’d end up with four or five of us spread out over two blocks headed the same way down a side street after dark.

Most nights, there wasn’t much to think about: Out the door, down the street, into the car, home.

One night, I ended up falling in behind a woman from my class. She was about half a block ahead. I don’t think she noticed me at first, but I stepped onto a loose metal plate and it made a big noise. She glanced over her shoulder and appeared to notice me for the first time, and I think the next several blocks were very frightening for her.

Within a block, everybody else had headed down another street. It was just the two of us. She kept glancing over her shoulder, and I could tell I was making her anxious. There was no way it made any sense to pick up the pace to just get past her — I was engaged enough to realize that — but there was a smaller, stupider part of me that was pretty fixated on just getting to my car and going home. That part wasn’t doing much problem-solving that didn’t involve getting to go the direction I wanted to go as quickly as possible.

Well, let’s not dissociate.

I wasn’t doing much problem-solving that didn’t involve getting to go the direction I wanted to go as quickly as possible.

In the end, she ended up picking up the pace, she got to her car a block ahead of me, and it finally occurred to me that if I slowed down just a bit she’d be able to get into her car without feeling quite so much like she was racing me to get something between us but distance on a dark sidewalk.

So I slowed down and she got into her car and she drove away and I quietly congratulated myself for the five percent of our separate but shared walks where I had really thought about her and what she might be going through.


The next week, class let out and I went out the door with another woman in the class who’d been in my workshop group. We’d enjoyed each others’ work and we were talking about it. We walked out onto the sidewalk and I noticed we were headed the same direction. I didn’t want the conversation to end quite yet, so I pointed the way she seemed to be headed and said to her, “are you headed this way, too? I’ll walk with you.”

Her face tightened for a moment, but then she agreed. We walked a few blocks, she got to her car before I got to mine, and I had yet another belated realization that she’d been nervous the whole time. She couldn’t say goodbye fast enough.


So, when class let out on the third week it was back down onto the sidewalk and assorted variables came together to put me about half a block behind the classmate I’d walked with the week prior, just the two of us on the quiet and dark sidewalk. And — just like two weeks prior — she didn’t notice me until I made a sound. Then we spent a block with her looking over her shoulder at me, noticeably picking up the pace.

So I stopped and put my backpack down on the sidewalk to get my keys out of it, which helped her put a block between us. Then I crossed the street so I’d be on the opposite side from her, and slowed way down until she made it to her car.


I’ve done pretty much the same in similar situations ever since: If I end up behind a woman on a quiet sidewalk, I just go across the street. If I see that she’s noticed me behind her before I can do that and seems to be watching me, I’ll backtrack to the last intersection to do so.

It’s the smallest, saddest thing.


9, 23, 25, 26, 29, 33, 35, 39 & 46

The days of our years are threescore years and ten; and if by reason of strength they be fourscore years, yet is their strength labour and sorrow; for it is soon cut off, and we fly away.
— Psalm 90:10

There is no safety in the threefold world; it is like a burning house, replete with a multitude of sufferings, truly to be feared, constantly beset with the griefs and pains of birth, old age, sickness and death, which are like fires raging fiercely and without cease.
— The Lotus Sutra


When I was nine years old, I borrowed a collection of Star Trek stories from my dad. It included this one, wherein William Shatner, Leonard Nimoy and DeForest Kelly all end up in the 23rd century owing to some sort of freak transporter accident.

That was a pretty exciting premise to me. Since I knew that I was living in the 20th century and that Star Trek was happening in the 23rd century, I could do the math to figure out how long I had to wait to see it all for myself.

23rd century – 20th century = 3 centuries, pretty much.

So if it was 1977, then I was looking at having to wait around until 2277. I grabbed dad’s Commodore calculator (it looked like this) to help with the next part:

2277 – 1968 = 309 years.

So, dad being in seminary at the time and our family being church-going anyhow, I had some idea that some people lasted a pretty long time. Methuselah had a pretty good run. Hadn’t Noah made it to 900? Needed to check with mom, though.

Yes, she explained, people in the Bible lived a long time, “but we get threescore and ten years now.”

I knew how much a score was because Abraham Lincoln was my hero.

So …

1968 + (20 * 3) + 10 = 2038

and 2277 – 2038 = not even close, really.

Further away from now than last year’s bicentennial had been from the first Independence Day.

I just wasn’t going to make it.


My favorite grandfather is dying of a brain tumor. Mom goes down to Texas, hoping to make things right, but all she does is get in the way of the t.v.


I don’t think what I experienced was a “death trip,” exactly. I just remember that things got pretty morbid some time around dawn. I was in the tv room at the house in Indianapolis, looking out at the parking lot behind the back yard. Cody and Kevin and Bill were riding bikes in the morning fog, gliding in and out of view.


Hudson was so stupid and inept. They made him my buddy and told me if he didn’t make it out of basic, it’d be my fault.

The last week, we were out in the field under a tree. It was raining and Hudson had fucked something up and all he could do was cry. All I could do was put my arm around him and tell him it’d be fine.


Jump school seemed like a good idea. It never really occurred to me to feel frightened during the day, but every night I dreamed of falling and falling with no parachute. My subconscious mixed it up by letting me ride a mattress into the dirt one night.


The team’s up on the Richmond site outside of Taejon. It’s an old building behind a gate. We’ve put up the mast and we’re on the network. The team chief asks us what we’d do if the balloon went up. Oh … I know this one:

“We take our defensive positions and the one on radio watch burns the SOI and takes an axe to the COMSEC gear, then we all defend the site.”

The team chief says, “you do that. I’m gonna run my ass down the hill before it gets shot off. They won’t bother with soldiers anyhow. They’ll just dial us in and light us up.”


I arrive at Ft. Bragg the week a major in my brigade had a bad landing, broke his leg and the bone severed an artery. He bled out on the drop zone before anyone could find him and help him. I don’t know if he knew what was happening.


That last nine months I was on jump status, I was pretty sure each jump was going to kill me. If you could be on jump status, though, you were supposed to be on jump status. That’s how it was. The sergeant major would cut your wings off your chest in front of everybody otherwise.


They aspirated a lump in my throat on a Wednesday, the doctor fucked off on vacation before the labs came back on Thursday, and nobody would tell me anything until the next Tuesday.

It was fine.


Ben. He stirs some things up.


“I mean,” says my friend, “FORTY. Aren’t you freaking out?”

“I just don’t, I guess.”

It wasn’t a question for me though, was it? In retrospect, I regret the answer.


Here we are.

I still don’t.

Some days, I feel naive or clueless and I think to myself that I might be wrong, and that I might be giving the wrong answer on a cosmic test.

Some days I think, “you’ve taken advantage of a number of opportunities to consider it.”

Mostly I think we’re born in a house that’s on fire, and there’ll be a moment between flame and ash.

We’ll need to have been kind.

Things We Can’t Hear

I have had luck remembering to do things when I’ve written them down and made them public, so here we go on this one:

Hey! I’ve had a pretty good last couple of weeks. I was interested in this position elsewhere in Puppet, so I applied for it and I got it.

There was a writing sample to be submitted, which wasn’t hard to write—writing is a thing I can do! So I sat down in the library one afternoon, reviewed my source material, wrote an outline (that’s how you know I’m serious), put on the headphones, loaded up this playlist I’ve got that starts with “Teen Age Riot” and builds from there, and did my best to burn the thing down. The whole time, there was a lot of “is this the right thing to do? Is this what you want to do over and over for a while?” The last time I had to complete an exercise to get an interview, it’s worth noting, I realized right in the middle that I really didn’t like what I was doing after all so I stopped and apologized to the recruiter and that’s how I came to be at Puppet at all. “Writing,” said the recruiter, “is what really lights you up, isn’t it?”

Yes. Writing lights me up. Or, rather, it takes me out of right now, which makes me pretty happy.

Anyhow: Wow, it was hard to decide I was done, save my work, and mail it off to HR. I felt pretty good about the angle I came up with, I felt good about the tone, I felt good about the flow, but mailing it off was to say “this is me at my better, maybe best.” What would be more awful than thinking I was shredding with a Fender and being exposed as a mildly ridiculous keytar soloist?

So next I had to give a presentation. That was hard, too, but less from preparation: Once I knew what the hook was, it was pretty easy to get that out onto slides. I had ten years doing the thing I was presenting about, I care about it a lot, and I’m pretty sure I’m right about most of what I think. At least, right enough that if someone were to say, “please stop there. We can’t hire you for this position because your opinions are not correct,” I’d be pretty o.k. with not being hired because that would make me a bad fit.

The hard part wasn’t even giving the presentation. A few things went wrong, I got off track, and I missed a few of my talking points. That was o.k., because by the time I was past the first slide I was feeling pretty religious about the whole thing, and that counts for something. And I was at Ft. Bragg during the anti-PowerPoint interregnum, so my sense of presentations in general is that they are not the point of themselves and so can go pretty wrong provided you keep a map of the terrain in your head.

The hard part was being done and having to ride the train home, because I felt pretty spent. I’d just had religion for an hour, after all.

Then I had to just sort of stew for a few days, and that meant bracing for maybe not turning out to be the guy they were looking for. I don’t know if my way of preparing for that is great, because it involves modeling a number of responses to getting bad news in a variety of forms and also feeling sort of bad for the person who has to deliver the bad news and hoping that I’ll be able to put them at ease so they can deliver it with minimum discomfort.

Anyhow, I did get the job, and that was pretty great. Some of my soon-to-be new team came by my desk when they got the word and said some very nice things. In fact, I’ve been hearing a lot of nice things about myself, which is where we get to the thing that is most hard of all and why I’m writing at all: It’s very hard to hear those things, I don’t know where that comes from, and I know I don’t like it so I think I should figure out how to make it easier to hear them.

How do you do that? It feels like there are a lot of knots to untangle. Nigel, my boss until I transfer to the other side of the building, says it sounds like impostor syndrome, which is totally not a DSM thing but feels pretty apt when I read about it. An ex-boss says I’m just habitually hard on myself. I have a very dear old friend who spends a lot of time asking me why I get like that. I don’t have a single answer. I guess I could point to some adult-era biographical facts that make pretty good sense and perhaps point toward adopting habits of thought that are not conducive to positive self regard. I guess I could point to some childhood biographical facts that might similarly create a way of thinking that aren’t great.

But Al shared with me an interesting Buddhist parable she heard at the zendo about a man who’s wounded with an arrow and refuses to remove it and stop the bleeding until he can figure out why he was shot in the first place.

When she told me the story, I did what I do, which was to say “well, that’s fine but I think I’d need to know more about his particular situation before deciding whether he wasn’t perhaps doing the right thing.”

I think she was right to tell me that story, though. The “whys” might be interesting, but I don’t think I need therapy so much as I need, perhaps, a bit of reason and some faith in my coworkers. I haven’t told you much about them. They’re pretty great. I wrote this a little while back:

There are lots of bright people working really hard to solve interesting problems. […] Moreover, people there are very generous with their knowledge. There’s a lot of it, and sometimes it’s delivered very quickly in large packages you don’t so much receive as hope not to be crushed under, but it’s generously delivered all the same. I don’t get that creepy “don’t want to tell you because information is currency” vibe at Puppet. I get a “you need to know this because everyone wants everything to be better” vibe.

That is still true, and there’s more good to say than that. It’s a good place, and a good place to work. I like being in the kitchen on a Monday morning, listening to laughter from people who enjoy each other and haven’t seen each other for a few days. I like the way the Friday all-hands melts into people enjoying a beer with each other before heading home. I like how just about everybody seems so goddamn thoughtful and intent on solving whatever problem is in front of them. I could go into a lot of specific likes, too, but don’t want to embarrass anyone. It’s enough to say it’s a good place, and a good place to work, and it’s full of people who are talented and thoughtful.

So writing that down helps get a fingernail under the knot, and it was a little hard because I hate talking about good things that have happened to me: I don’t want to come off like I’m bragging or crowing. But it’s written down and it’s true. It’s a good place, a good place to work, and it’s full of people who are talented and thoughtful, and they picked me. Even if I’m having a hard time having a lot of faith in myself, I’ve learned over the past six months to have a lot of faith in them, and I believe that should be enough.

Little Free Libraries Coming to Lents (care to help?)

So, there are these things called “Little Free Libraries.” You build a small, weatherproof box, stick it on a post in your front yard, and you put books in it. People can take books or add books. You keep it stocked up if it runs low and keep it fixed up. That’s about it.

Some neighbors of ours (the Springwater folks, who helped us build a retaining wall a few years ago), wanted to start a neighborhood library. I mentioned Little Free Libraries, and it seems several people had the same idea all at the same time. So Laura Jones, the librarian at Kelly Elementary –Ben’s school–got a grant, and a number of other folks from around the city contributed a design and did some preassembly work for eight or ten little libraries in our part of Lents.

IMG 2305

Yesterday we had a building party at Kelly Elementary, with each library host family getting help assembling their library. Ours isn’t quite done yet (needs shingles, a nice doorknob and a little finishing work). The host families now have a few weeks to get them painted and ready to go up. Toward the end of February, the Springwater folks will come around and dig the postholes and pour the concrete, then come around again the next day to mount the libraries. There’ll be a neighborhood bike tour to see all the libraries, and we’ll be hosting a kickoff party at our house.

I’m a little excited about the whole thing: I’m really looking forward to keeping an inventory of the books in our little library, just to see what kind of use it gets. I’m hoping that ours, being across from a park, will see some use from the people who just come to hang out during nice weather and might like to have something to read while they’re sitting under a tree.

I’m also a little trepidatious, because I don’t want it to get vandalized. The flip side of living across the street from a park is that the pleasant people sitting under trees reading books by day are replaced by drunk assholes after 10:00 p.m. (Or teenagers dry-humping on the teeter totters, but they’re not usually interested in breaking anything.)

I’ve got a few ideas for our home’s library:

  1. It might be fun to tag the books and do the occasional ride through the neighborhood to other little libraries to see if any of the titles migrate.

  2. One of my neighbors is an Army Corps of Engineers mathematician, and he’s interested in a campaign to build a small web app so Lents librarians can keep track of their inventories online.

  3. It seems like an easy hack to tear apart one of those solar-powered garden lights, hook the door up to a switch to make a little light come on, for after dark visitors who aren’t interested in vandalism. I’d thought about just mounting a light that would come on after dark, but that might be a beacon for trouble.

I’m sort of torn on the ideas that involve broadcasting the library’s presence. Having held a few garage sales where the book scanner people turn up in force, I don’t know if it would be a good idea for all our neighbors to plot interesting titles on a map. It was fun to think about building a library app and providing an API …

Would You Like to Help?

Since we’ll have to keep the library stocked up, donations are welcome. If you’ve got any books you’d like to contribute, I’d be happy to take them off your hands.

Better yet, if you do a zine or have published something you’d like to share, I’d love to include stuff like that in our library.

I’m sure I’ll have to go down to Goodwill or Value Village with a twenty now and then to stock back up, but the more original work I can include, the better. And self-published stuff you did on a shoestring is the very best: I’d really like it if our patrons could see and enjoy creative work that didn’t come from a big publishing house. You won’t just be sharing your words, you might be sharing a hint or a nudge.

Heroica and Such


So, Ben turned nine on the 24th. It’s a weird time of year to have a birthday, but we’re learning how to deal with it. It just seems to last for whatever the number of days is between the actual birthday and the next weekend day, with some mixture of presents and general indulgence culminating in an informal party with his clique from school.

This year, his birthday falling on a Thursday, he got his favorite dinner (drumsticks, mashed potatoes) and a cake (chocolate, vanilla frosting). We forgot to get candles, so I had to sort of wiggle my fingers over the cake until he made a wish and blew on them. Then they curled into a facehugger shape and went for his face.

We asked him what his wish was, and he said it was “let me watch just one episode of what you guys watch after I go to bed.” He started the negotiating at American Horror Story (no way in hell), then moved on to Sons of Anarchy (I’ll be rewatching that plenty in hell, so no), then went for what I think was the end game all along: The Walking Dead.

There was some debate: Entrails, human-on-zombie violence, maybe Shane sweatily pawing at Lori? Was that in the pilot? Couldn’t remember. Oh, and zombie on horse violence. But we o.k.’d it. He was pretty delighted.

Friday night, his friend Zack came over for a sleepover (Paranormal Activity, Minecraft, camera phone videos of assorted boy lunacy).

Saturday, we went to Oaks Park where he met with four of his friends and they went skating. Highlight:

Me: So, having a good time?

Ashton: Well, I fell and someone ran over my hand with a skate. Then I fell again and someone kicked me in the leg with a skate. Then I came in here and fell and stabbed myself in the eye with my straw. So, I guess so.

I gave him some cotton candy and listened to his outlandish stories about a giant Slinky he had at home.

Ben’s birthday present from me was a small Lego set featuring Gollum and Bilbo and some weird trap door that makes the One Ring pop out, and a Lego game called Heroica: Castle Fortaan.

The Heroica line is pretty neat: You get a small Lego set that allows you to build seven or eight dungeon rooms, provides four hero figures, a collection of potion blocks, treasure chest blocks, bad buy blocks and weapons. Each Heroica set comes with two maps you can assemble into a particular adventure, like this:


Then you move the characters through the dungeon trying to reach the final room. Along the way you can collect gold and battle monsters. Each hero represents a stripped down character class like you’d find in a fantasy RPG, and has a limited number of health points.


You can buy several sets in the Heroica line and combine them into bigger adventures, and it allows for some persistence from adventure to adventure (so a relic or gold earned in one game carry over to the next). The game rules include variants where players can either compete to reach the end first, or where one player controls all the monsters in the dungeon.

I was glad I found it: Last week at our friend Justin’s birthday party, there was some Lego stuff going on (Justin’s a fan). Our team won an Instagram scavenger hunt and we each won a Lego mini figure. We’ve never really put Legos in front of Ben (simpler building toys didn’t seem to be his thing), but he really liked the mini figures and asked for a Lego set. He’s also been asking to play more Pathfinder. So I walked into the store thinking “Hobbit-themed Lego set” but walked over to the games section thinking “fantasy/RPG-themed board game” that might give him some of that whole dungeon crawl thing without having to roll up a dungeon. And there’s Heroica: A fantasy/RPG-themed board game made out of Lego. Awesome.

Like Being Back

Hey, here’s something that made me pretty happy:

My name turned up as a contributor in some release notes. It stands to reason that it would, because I work there and I did some work that shows up in that release, but I think that’s a first for me at Puppet. The actual ticket I worked on was for the documentation on the newest version of the Puppet Ruby DSL. It was kind of a heavy thing to have a hand in, I wasn’t sure I liked having to deal with it at the time, but there it is and if you’re the type to maybe feel a little stifled by the vanilla Puppet DSL, maybe you’ll enjoy giving the Puppet Ruby DSL a spin.

Something else I worked on related to the Puppet 3.1-rc1 release, but not as anything that was on a ticket anywhere, is a small enhancement to the documentation for installing Puppet on OS X. Installation itself is pretty simple: You just download a few DMGs and run the installers, but you’re not left with much to work with from there if you want to run a puppet master or background agent. So we rescued a few launchd plists from the aging wiki, spruced them up a little bit, and gave the information a home on the docs site, where it will seem less like some vaguely illicit thing you can try but aren’t encouraged to count on and more like a thing you ought to be doing. So here’s the basic installation guide for Puppet on OS X and here’s the bit about launchd plists for Puppet on OS X with links to a pair of plists that will get you going.

I used them to help finish the setup on a puppet master for a home Mac that isn’t seeing much use now that I’m not working at home as much. I’m going to use it to puppetize a few configurations between my several machines, and also with Kelsey Hightower’s Homebrew provider.

One more note on those: They’re very simple. If you’ve been curious about launchd and thought about replacing cron with it, those links above will give you a minimal working example. All they do is kick Puppet off at system launch, at which point Puppet’s own configuration handles how often a run happens. If you want to set up a launchd job that runs on a given interval, you have to add a StartInterval key. Here’s a reasonable, minimal guide to launchd that points to some tools that’ll keep you out of editing XML. Oh, and here’s a coherent case for launchd from back during Tiger’s launch. The word “barbaric” is used, so if you’re really sensitive about cron and Our Sacred Unix Heritage, you should maybe just let that link be. Alternately, use it as a test to see how you do when exposed to higher quality Apple advocacy.

Oh. Why so happy? Because I remember back when I was kind of this paid Linux and open source guy, and I let some things that were not awesome about that get in the way of enjoying the parts that were awesome. I stopped being that guy and started doing other stuff. In the process of doing that other stuff, I felt pretty cut off from the open source world.

Moving to Puppet Labs, I feel reconnected with that world and understand the ethical language people are speaking around me. I’m really glad I get to make a living contributing to free software people love.

Risking Wrong

One thing I did not get to in that last entry:

It’s valuable to me, personally, to think in writing. It’s valuable to even more people to risk being wrong in public.

When I’m going through the process of thinking in writing, the risk of being wrong helps me clarify my thinking more than if I were journaling, which is where I give myself permission to be completely wrong about everything all over the page, without a thought to whether or not the thing I said in the third paragraph squares with the thing in the first.

It’s useful to be wrong like that: Sometimes we’re so full of negative emotion or hurt or whatever that containing the emotion is too much to ask, so we can drag it out and look at it in a journal. Sometimes an idea is a bad one but needs a lot of thinking and processing to establish its badness.

So being wrong in private is something I expect to do a lot. I can’t believe some of the shit I’ve written in the past, when I knew nobody was looking. Other times I can believe I wrote it because I remember what I was feeling, and I’m just glad I can look back and be grateful I didn’t say that stuff to someone else.

Being wrong in public is harder to endure and the pain of being wrong in public helps me be a hair more thorough. However:

I recently helped a coworker with a blog entry, and I recognized in his writing something I used to do a lot, which was to take great pains to nail down all the places where someone might take exception to how I’d reasoned things through. For a while, it meant columns that should have been relatively concise would grow to twice their natural size as I spent my time covering my flanks and identifying all possible lines of attack. And the more I wrote to handle the objections, the more irritable I became about writing, because I was spending so much time thinking about where I was disagreeing with some part of my audience. I didn’t want to be wrong in public, where “wrong” could mean something as simple as failing to address all edge cases, and it made my writing suck more than it should have.

So we talked it through and put the objections he was concerned about in context, then agreed that he didn’t have to address all those possible objections, because they weren’t really important to his point. He had to give himself permission to not be completely correct in favor of being right enough to make his point. And he had to be mentally prepared for someone to call him a moron for not mentioning every possible exception someone might take to his point. People do that on the Internet a lot more than they might in a restaurant: They figuratively walk by as you’re expressing yourself — sometimes as a you from two or three years ago expresses yourself — and they call you a moron because you don’t mention a fact they happen to know.

The other part of risking being wrong in public is that sometimes people completely have a point and you are wrong in a way that impacts your point, undermines your reasoning and proves that you do not understand things as well as you thought. Then somebody walks by and calls you a moron, and they’re still not right to call you that, but they’re definitely right to say you’re wrong.

That’s harder to deal with, and embarrassing, but if your Future Self can learn to forgive your Past Self for mistakes your Past Self made in a private journal, your Present Self can probably be trained to forgive itself for making mistakes in public. One thing that helps is to be forgiving and kind toward other people who are wrong in public, because it shapes your expectations of how people should behave when people around them are wrong, which helps clarify when someone is being a big asshole over someone else being wrong.

What you get for all that suffering is mostly free chances to improve where you’re lacking.

Just another set of reasons I think I need to pick up the blogging.

Sources of Truth

I probably should have had the hell frustrated out of me by this, but I think I learned something on Wednesday. This post is going to be kind of a work post and kind of a process post. Things could get a little tangled up.

I’ve been working on the documentation for this thing at work called Hiera. What’s there right now is mostly not mine (I inherited the work from coworker Nick), but I did write the bits about using Hiera on the command line, and I wrote the JSON and YAML examples.

I’m not going to get too much into what Hiera is, except to say it has the potential to be a really awesome tool if used properly, and that it was a good pick to hand me for my first thing to work on because you can’t really get Hiera unless you get Puppet, and then — once you’re pretty sure you get them both — there’s room for even more clouds to part.

There are good ways to get Hiera and there are bad ways to get Hiera. I’m pretty sure, based on my own experience after thinking about Hiera for a number of weeks and coming at it from the perspective of someone who was learning all about Hiera at the same time he was learning all about Puppet, that newer Puppet users following a relatively normal path of learning about Puppet are at fairly high risk to get Hiera one of the bad ways. I know I spent a number of weeks getting Hiera one of the bad ways. If not “bad,” anyhow, “skewed.”

An Aside on Hiera and Truth

If you’re actually here because you’re interested in Hiera and are suddenly wondering what’s “bad” and what’s “good” and who the hell am I to say, and are you Doing It Wrong, I’ll offer this:

There are a few kinds of truth in the world. Some truth is local (or organizational) and some truth is universal:

Universal Truth Organizational Truth
What Debian calls its MySQL packages The password for your website’s database
What the name of the postfix service is on CentOS The name of the host your Postfix service is running on
The default NTP servers for Ubuntu The ntp servers your East Coast datacenter should be using

Just, you know, go with this. For our purposes, your special in-house MySQL package doesn’t count and doesn’t really change my point:

Hiera is sometimes sold as a way to remove a lot of conditional logic from your Puppet code, and it’s true that’s a good use. If, however, you’re removing conditional code that describes universal truths from your modules and classes, then moving it over into Hiera, you’re creating a pretty bad situation from a management point of view (you now have logic living in two places — your Hiera data sources and your module code) and you’re also living a pretty bad pattern from a community point of view, because your modules will be difficult to use on places like the awesome Puppet Forge: A chunk of their logic will live outside the confines of a standard Puppet module, making them largely unusable without requiring consumers to create or modify a Hiera hierarchy. That’s a drag.

Instead, you want to put organizational truth into Hiera and call it into your classes and modules via parameters. That means you can put that organizational truth in one place, potentially reuse it in a number of classes and modules, and you can share your modules without the pain of sanitizing them of organizational data every time you share them: That data is coming from Hiera data sources, which you aren’t sharing at all.

Now that I’m at the point in the process where I’m about ready to move on to writing a complete example, that’s what I’m thinking.

How We Got There

It took a while to get to where I could type that up. Time spent getting Puppet up and running in such a way that I could make sure I understood what constitutes normal Puppet behavior, time spent making my Puppet setup work reliably, time spent learning how to provide data to Hiera in YAML and JSON, time spent learning how the Hiera command line tool works to make sure I was testing my assumptions correctly, etc. etc. etc. Most recently, it took me on a detour to learn Vagrant so I could build an easily maintained and reproducible Puppet environment. It also took me time to learn about Puppet modules so I could write a few to work with Hiera.

After months, I was able to push up that page about how to use Hiera on the command line and drop a quick note to the Puppet Users group to let them know we’d made a little more progress. I’m pretty happy with that, because the command line tool is really useful for learning about Hiera outside even a complete Puppet environment and there have been a number of requests for even a bare hint of how to get going with Hiera.

The act of pushing that one page and letting people know about it caused another coworker to write and ask if I needed more help with the documentation. I’d started the day I got that mail thinking I was going to be working on one thing, but his mail got me to thinking about Hiera interacted with his particular concerns and how I’d had the beginnings of a discussion with another coworker about those issues, so I spent the next 2.5 hours trying to crystallize all my thinking and write up some notes not only on what I perceived the state of affairs to be, but how we might make it better.

After doing all that writing, which had started as a 1:1 response and ended up cc’ing somebody else, I paused for a moment to eat lunch, then opened my draft back up, re-read it, saw some things I felt less confident about, and did what I always do before sending a mail of more than a graf or two: I went back to the documentation and my notes and asked myself if that was really, really what I wanted to say. I discovered it really wasn’t, because I had things backwards and didn’t completely understand part of how Hiera interacts differently between a few different versions of Puppet.

So I deleted 90 percent of the email.

Time on a Discarded Mail Well Spent

We can’t always count on someone asking us a simple or friendly question at just the right time to trigger a response that ultimately helps us understand something we were kind of stuck or misguided about, right? So as I sat there staring at the email I’d just pared down to practically nothing, after spending hours thinking about it and staring at it and consulting manuals and looking through at least three git repos to write bits of it, I was tempted to think “why the fuck did I even write this fucking thing?” It felt like a waste of time, because I’d just spent a ton of time documenting questions and concerns that weren’t so much stupid as they were, perhaps, misguided.

Then I realized that in the process of figuring out how much I’d not gotten things right to start with, I’d learned a few new answers, understood a concept I had listed in my todos as a thing I needed to figure out, and I’d been spared writing an example that would have been teaching people A Bad Way to Do Things, provided it even got past the stage where it wasted someone else’s time reviewing it.

It didn’t take me long to think back to when I was blogging a lot more often about a lot of things, and how it would sometimes take me days from starting an entry to actually publishing it, and how sometimes entries were never, ever published in any form because a premise turned out to be too flawed for public consumption, or I decided I was just wrong.

I started out behaving very differently. Writing came naturally enough to me that I won praise and a few small awards without ever having to revise or reconsider what I was writing. I used to think that merely meant that the products I was best suited to create were written ones. That makes sense, even though I’ll confess I’ve never really thrown myself into the craft very deeply.

But I think it may also mean that the best thoughts I have are the ones produced because they were written down, thought through and reconsidered once or twice. I don’t trust many of my thoughts until I’ve taken the time to write them down and think about them. The thoughts I trust the very most are the ones I’ve prepared myself to stand by in public in written form.

So there’s the claim “I’m a writer” you can make from the standpoint of a vocation, profession or hobby; and there’s the claim “I’m a writer” you can make from the standpoint that writing is key to your good internal working order.

I can check both boxes at the moment, but the former can and has come and gone. The latter’s just a matter of truth. It took a few hours worth of email that never saw the light of day to remember it.

© Michael Hall, licensed under a Creative Commons Attribution-ShareAlike 3.0 United States license.