this mortal coil

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.

oh, puppet

This post comes in two parts. This is one part, and I will get back to it in a second. The other part was written on October 21, the Sunday evening before I started my newish job at Puppet Labs, and if you’ve been reading this blog for the last several months, it would have done a lot to lend context to this post, which I wrote on September 27th as I was waiting around to see if I’d get an offer from Puppet, knowing that I was done with my last job but not sure what my next would be. Both parts were a little tricky to commit to, because I don’t like blogging about work that much. That’s funny, considering how much of my time and energy it takes, but there are a number of reasons for my reserve in that regard. I’d like to claim “professionalism” and “discretion,” but also there’s “superstition” and “paranoia,” because (as detailed below) I worked somewhere that just couldn’t stop laying people off for, like, years.

So:

Today was not my most favorite day at work. I feel behind on one thing I’m working on because it has (reasonably, and by design) involved learning stuff so I can learn stuff so I can learn some more stuff. Another thing I’m working on reminded me that I am just starting out on this job, and that I’ve got plenty to learn. It’s good that I like to learn new things, because I hate not knowing the answer, and that’s an uncomfortable way to be if you don’t like to learn new things.

My move from online editorial to technical work had some moments of difficulty, but I got over it and after 18 months was moving through that environment with a level of grace and competence that allowed me to feel like I’d earned the title “technical lead” (even as I was working under the title “acting CTO,” and cultivating some feelings of ambivalence about that). This job feels more challenging.

Last job, being a jack of all trades offered more immediate payoffs in terms of being a useful engine. With this job I’ve found things to do using what I came through the door with, but boy there are hills to climb. So right now all this learning I’m doing feels more like someone’s investment in me, and that brings a certain pressure.

But what a great place to be under that kind of pressure! There are lots of bright people working really hard to solve interesting problems. Puppet technical writers aren’t buried in a corner, away from the developers, which means that as I prepare to do more with the toolsmith part of my job, I’m getting exposed to software development in a way I never have before. And even on a day that isn’t awesome, like today, there’s something new to learn or practice, even if it’s just “wipe your own git bottom more effectively.” 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. There’s a lot to live up to, both in terms of skill and culture.

I remember a feeling of genuine optimism when I wrote the second part of this, which we are nearly to, tempered with uncertainty as I wondered what sorts of challenges there would be and what would constitute a bad day vs. a good one or a terrible or great one. The shape of things is more clear now: I’ve been through a few mildly bad days, I don’t think I’ve had a terrible one yet, and I’ve had lots of good ones and a great one here or there. I’ve been new at something enough times that I can look forward to not being new at this without being too hard on myself in the mean time.

And that brings us to …

Part the Second

I’m not sure why I never got around to publishing this next bit as its own entry. I think it probably involved not wanting to believe I actually had the job until they’d issued me a stapler or told me how to get on the secure company Wi-Fi. They never did issue me a stapler, and I figured out the password to the secure company Wi-Fi on my own because I know what Keychain Access is and how to use it. And some of it was a measure of superstition, not wanting to risk my good luck. Some of it was that I was — am — fairly bursting with pride, and I don’t know that I trusted myself to not sound like I was bragging. Looking back over it this evening I vaguely remember excising some bits of it but I decided not to try to put them back or cut any more out because I’d rather just have it up and done with as a record of this particular moment in my life. I think it may not seem completely coherent because of that, but I still think it’s mostly true.

October 21, 2012 — I am starting a new job this week, as a technical writer and toolsmith at Puppet Labs. That new job comes with a couple of milestones.

First, the one that affects me and the family the very most, this marks the first job I’ve had since August of 2000 that has required me to work outside of my house. I recently sat down and tried to tally my total time spent working in traditional offices since September of 2000, and couldn’t come up with more than about ten hours, total. That included two four-hour sessions mostly spent sitting around an office waiting to meet people as part of a courtesy visit. Were I to just count time spent working, I think I’d be down closer to two or three hours. I’ve spent more time working out of hotel rooms and press areas than I have in a regular office.

The question of when, exactly, I’d have to trade in my bunny slippers has come up over the years, but I survived a lot of layoffs and an acquisition, so I never had to take a traditional office job. I probably would have started going into an office for QuinStreet, but nobody in my workgroup lived in the area so there was no real point. As I prepared to leave QuinStreet I was open to leaving my home office, but nothing in Portland sparked my interest before I came across a good opportunity with Social Media Today that allowed for remote work.

WaH

The first few years I was working from home it seemed like an incredible luxury. A lot of how nice working at home is, though, is dependent on a few variables: Employer culture, boss temperament and timezones all factored in. Especially, I think, timezones. Everything goes a lot more smoothly when nine, noon and five all mean the same things to everybody, even when your boss and employer are pretty good about remote workers. It goes a lot more smoothly, too, if you pick up some habits people who haven’t been full-time telecommuters never seem to imagine are necessary:

For instance, I mentioned “trading in my bunny slippers,” but that was a figure of speech. I wore slippers to work and often worked in pajama bottoms my first year at home, but after a while I learned it was important to get into uniform each day. Otherwise, I started feeling like I was always working and that there was no real difference between being on the clock and off the clock.

There are some people issues, too. When others can’t see you sitting there working, they seem to create proxies for visual observation, like how quickly you pick up the phone or whether you answer an IM right away, which creates a mindset about signifying “availability” that begins to feel oppressive after you come back from making coffee downstairs, or just using the bathroom, and see two caller i.d. entries, an “are you there?” IM and two aborted Skype calls in the space of five minutes, all so you can learn when you call back that your coworker was “just checking in.”

During the big downturn years of 2001–2002, when all the people on my team were let go in ones or twos, that “always working” feeling got worse. I was holding down a website that was supposed to be active 24/7, so I had to do some kind of work seven days a week. Two thirds of the people in the company I worked for went away over the course of a year, and there were similar stories coming out of all the places an online editorial type could imagine going after losing a job. That made the prospect of putting together a bunch of freelance stuff seem dicey, because there were a lot of executive and managing editors wandering around out there who’d suddenly found themselves in reduced circumstances. So I just held on as tight as I could, quit at one point to go back to school after my workload was doubled—but got a freelance gig from the same company that paid a steady amount each month—and ended up coming back on the clock after Ben was born.

Over the next eight years, it got worse and it got better. Sometimes management would seem to get a little paranoid about just what was going on with the remote workers, so the random “just saying hello” phone calls would ramp up, or the odd “Hey, you there?” IMs would increase in frequency. Other times, maybe even more disconcertingly, contact would just drop out and I’d go for weeks at a time without hearing from anybody at work. After an acquisition, one manager told me that he was happy to have people working at home as long as the work they were doing didn’t matter too much.

I know there are people out there who are better than me at setting the kind of boundaries and expectations you need to be a remote worker who doesn’t feel significantly hassled by other people trying to reassure themselves you’re not a very clever Ruby script, or perhaps a group of performance artists who have constructed an identity for beer money. I never picked up that trick, though, which made any daily routine I tried to adopt fairly fragile. I think I was successful enough. I mean, I survived layoffs left and right and my evaluations were always good. But there were some things that never became comfortable about the whole situation.

So, here on the other side of the past twelve years, I’m ready to be in an office for a while. It’s been pretty good for my family to have me working from home, and this will be a big change that will make some things harder than they were, but I’m looking forward to having a new rhythm to pick up and it’ll be nice to not be just some voice on a speakerphone in a conference room full of people I can’t see.

Fortunately, Puppet Labs offers some flexibility in scheduling and that will help with the adjustment. Also, we live within a half mile of the Lents Max stop, and Puppet is within a few blocks of Union Station, so my light rail commute will take about 45 minutes door to door. Considering what a ridiculous slog 205 and 84 can be, that’s a pretty decent trip time no matter what Google Maps claims. Finally, we live five blocks off the Springwater Corridor, so I have the option of an hour-long bike commute with very little travel over normal city streets except for the last mile or so at the end.

WWWWork

Another milestone: I’m marking the end of 12 years spent working in online media. I spent over 10 years as an editor or writer with internet.com/JupiterMedia/WebMediaBrands and QuinStreet, then the past 18 months at Social Media Today as its technical lead.

If I had to pick a word for the mood working in online editorial, first as an editor then as someone whose job it was to support an editorial mission, I suppose it would be “autumnal.” A lot of change happening in online publishing isn’t merely about the end of certain business models, but the end of a way of thinking about writing and its place in the world of “content.”

Most people I worked for on the editorial side had a print background, and it informed what they were doing online. Sometimes those of us who had come to the Web from print confused migrating to online publishing with actually understanding what it meant to publish online. There’s a lot of narrative focus on the travails of print-based editorial operations trying to make the move online, but not so much on the travails of online editorial operations that thought their work was done because they didn’t have to buy ink and paper anymore.

But the way things are published isn’t the only thing that has changed: The way people solve problems and learn things has changed, and the sort of deference people used to show to an authority who’d managed to write a book (or get published in a magazine) is in short supply. Many who came to the Web from print thought the prestige and authority that came with working for a print institution would somehow transfer. For a few years it was relatively easy to nurture that belief, and then the mood changed as people began to connect and engage. As annoying as early bloggers’ lengthy blogrolls and in-group shout-outs were, you can look back and see them as the Web establishing itself as a social medium. Once those conventions had been established, that assumed authority began to collapse. You still see signs of the process in the form of, for instance, a Salon film critic’s periodic meltdown over the cheek of readers who’d question her authority; or out-of-touch tech columnists who cite a stint at DEC in the ’80s as a good reason to listen to them now. Getting a paycheck to say something doesn’t mean what it used to.

When I moved from covering Linux (which I knew plenty about) to enterprise networking (which I had an understanding of but no practical experience in) I used to spend time thinking about that changed mood and what we could hope to do about it. It wasn’t hard to figure out, just searching around, that self-documenting, technically inclined bloggers — not gadget bloggers like Gizmodo and certainly not John Dvorak types — were doing a lot to erode demand for the product I was supposed to be putting out. They’d have a problem, they’d solve it, they’d write up their solution, and they’d do it as an afterthought, for free, and in a dialect appropriate to their audience — the audience I was hoping to get. I had some success (as measured in terms of consistent traffic and links from relevant authorities) from hiring people who were technical workers first, writers second. They weren’t doing what a self-documenting technical blogger would do (solving a problem, writing it up), but they were coming pretty close: They were thinking back to a set of problems they’d solved recently and writing on that theme. My calls with writers often began with, “so … what interesting problems have you solved lately?” My job involved asking that question and remembering that most of what I had going for me was a title, control of the editorial budget, and access to the site’s analytics. Most of our successes came from making sure those writers helped me set the direction, because they knew more than I did.

At the same time, I had a budget that ranged over the years from $2,000 to $5,000 a month and I didn’t want to pay anyone under $300 or $400 for their work, so it was just me vs. the Web, with me getting to publish something a few times a week. One of my last projects as an editor involved talking to actual network managers and technicians about what I could do to make my site more relevant to them, and they all said I needed something like Stack Exchange, only for networking. They wanted the person doling out 1,000-word/$300 chunks of information that might or might not be relevant to their needs out of the way so they could connect with each other and get their problems solved. They certainly didn’t want “overviews,” “summaries,” “introductions” or “quick guides.”

So, I ended the 2000s in an online publishing division that was unceremoniously sold off to a marketing company, and some of my last conversations inside that company involved talking to people who thought articles longer than 300 words were hopeless extravagances.

During all that, though, I taught myself to program—first to automate little things like cleaning up crummy HTML and later to automate analytics reporting for a network of websites—and I wanted to do more of that kind of thing, so the past 18 months have been spent in a different role, still loosely in “online publishing.” I went from being an editor managing a bullpen of freelancers, trying to get a decent product in front of an audience increasingly getting its needs met by self-documenting tech bloggers, to a technical lead working for a company that had gotten into content marketing before most people knew to call it that.

In that role I didn’t have any real day-to-day input into how the editorial—excuse me, “curatorial”—team there conducted itself. The business made sense to me as an evolutionary step in the models funding online content, but it was also very far removed from what I was up to when I was a small-town reporter working for a biweekly newspaper, or when I wrote a book, or when I was an editor running my freelancers. I had a lot of opinions, though, and in the past month—especially after I briefly found myself in a leadership role—I was surprised at how strong some of those opinions were, and how much that kind of business could have ended up being a home for me even though it was pretty alien to where I’d started, waxing bits of paper pulled from a CompuGraphic developer.

As strong as those opinions were, though, twelve years seemed like a while to me. The novelty of working on the Web was long gone, I didn’t want to go back into Web editorial in its manifestation as “old-school technology magazines, but online,” and I’ve learned that Web development as its own profession isn’t quite my thing, either. So, I flipped the LinkedIn switch that says “hello, recruiters,” and started listening to their pitches, even though most seemed to be finding me because they were searching for Rails talent (and what I’ve got could probably better be described as Rails knowledge).

It was in that spirit of hearing what was out there that I spoke to one recruiter who noticed when she mentioned Web developer jobs that I sounded tentative and prickly, but that when she mentioned writing, I lit up. I spoke to a few more recruiters, backed out of a few technical interviews, and began to wonder if perhaps I was trying to be too special a snowflake to be employable. Chatting with my friend Ed, I said what I really wanted was some sort of job where I could write plain old words, but also write Ruby, and that I didn’t see much hope for anything like that turning up.

So I really lit up when I had coffee with Nigel Kersten—the CTO at Puppet Labs—and he mentioned that he had a job for a writer who could also build tools used to get that writing moved around the business. One great (but slightly tiring) day of interviews later, I knew where I wanted to be next, and I get to start there tomorrow.

In other news, Ikea still weirds me out

Five years, one week old and this is still me. We went to Ikea tonight to get a table and I fell in behind another pair of auto-curators. It’s just weird. People love to explain that place to each other.

One jumper to the left door

ZG187_079

This aircraft is used to train astronauts in zero maneuvers, giving them about 25 seconds of weightlessness out of 65 seconds of flight in each parabola. During such training the airplane typically flies between 40-60 parabolic maneuvers. In about two thirds of these flights, this motion produces nausea due to airsickness, especially in novices, giving the plane its nickname.

— Wikipedia entry on reduced gravity aircraft, a.k.a. “The Vomit Comet”, photo courtesy kwc under a Creative Commons License

So there’s this moment where you’re just hovering, unmoored, between a state of going up or going down. Just there. You came from the ground, you’re going back to the ground. For that moment, though, maybe it seems like you could be going nowhere; or perhaps you’re in danger of going practically anywhere.

When you search for “vomit comet” photos you see a lot of expressions. Some people are smiling, some look very still and maybe afraid, some look determined … just 25 seconds to be in that state and learn the ropes of being that way before it’s back to normal.

I’ve never been in an airplane like that. I remember my first drop in jump school, though; the way it was so loud in the plane from the engine noise and the jump master’s shouting and the rush of the wind. Going out the door felt like what it might feel to walk in high gravity, not because of any of the physics involved but because it’s taking hours to walk five or six feet to the jump master who’s waiting to grab your static line, then more hours still to pivot and walk for the door. Maybe other people thought it was the same as walking out the front door in the morning, but to me it felt like walking into a wall of ballistic gel.

The door isn’t wider than one in your house, but between turning toward it and going out of it, it becomes as big as a drive-in movie screen showing nothing but horizon. Then out the door and the horizon flips and turns and spins. You’re not falling, you’re not flying, you’re not hanging. It’s just you and blue sky and green fields, and by the time you feel the snap of the static line telling you that one more thing has probably not gone too badly wrong, you’re in the middle of quiet like you haven’t heard in hours. You feel like you’re just hanging around up there, not going up, doesn’t feel like you’re going down. By the time you pull even with the tree line, though, you can tell Earth wants you back.

You land. Gravity works again. There’s noise, too, even if it’s just the Black Hats yelling at you to get off their goddamn drop zone, but sometimes because somebody lost a piece of gear up there and it lands right next to you with a whiz and a smack, kicking up sand. You look around, look up, orient and get used to being back down again. You start gathering your chute, bundling up silk and risers, stuffing it in a sack, and you run off the drop zone. You didn’t die, and for a few minutes maybe you’re that much more alive, but you’re not between anything anymore. Sky’s up there. Ground’s down here.

Sushi Catastrophes and Sons of Anarchy

I am pretty sure I got food poisoning from a neighborhood sushi eatery about ten days ago. It stuck around until late this past week, leaving me unable to sit at my desk and concentrate on much of anything until Wednesday. Because I couldn’t sleep for more than three hours at a time during the ordeal, I’m still a little spacey and washed out feeling. 

One thing I did manage to do during the times I wasn’t curled up in a fetal position wondering when my inability to eat would be replaced with a longing for human brains was binge on four seasons of Sons of Anarchy.

I’m not sure if it’s a comment on my slow return to full reason or a decline in the show’s writing, but season 4, which I wrapped up on Friday evening, seems to involve a lot of hard to credit situations you don’t like to see shows rely on too often: Characters are used to make information more or less symmetric at the whims of the plot, but they do so inconsistently. Characters pinball between situations with life or death implications with no sense that anybody really has any priorities, even when a murderous drug cartel is involved. The season finale was mildly ridiculous, too. It feels like a show that might not know what to do with itself to get to whatever number of seasons represent the syndication sweet spot these days.

I was in pretty bad shape while watching season 2, which seems to be the best the show has offered so far. Tight plots, believable reactions from most of the characters in most of the situations, one heavy who was a little ridiculous but kept the pot stirred enough that I didn’t mind. Season 3 (spent in Ireland) was a harder slog, and I’m not sure if my impatience with it was a reflection of my growing fear that I had some special kind of food poisoning that would never, ever end or deeper flaws in its structure. There was some unevenness of tone, too. The show’s got a certain dark sense of humor to it that it sometimes trades for broader stuff to poor effect. But for all its problems, the season resolved itself well enough for me to think “hm … so maybe they’ll have it zeroed in for next season.”

Season 4 feels like the writing team has gotten more gratuitous and maybe a little too willing to lean on a collective understanding that “those cartel guys are animals. ANIMALS!” to move things along. As a result, the show is beginning to lose some of its luster as an exemplar of the kind of high quality t.v. drama we’ve been getting the past few years.  In fact, let us just enumerate some of those dramas. I won’t even try to rank. Just what’s coming to mind as it comes:

  • Justified
  • Sons of Anarchy
  • Walking Dead
  • Game of Thrones
  • Homeland
  • Dexter (though I’ve got some reservations on this one)
  • Mad Men
  • Breaking Bad

Of the lot, and if I had to rank, I’d say Sons and Dexter are the two fighting over last place. Sons is having some late-game unevenness that doesn’t bode well for its alleged seven season ambitions. Dexter troubles me because I can never tell whether the supporting cast feels sort of cardboard because they aren’t written well, or because they’re some strange, meta attempt to get me to view them as a total sociopath would — mere tools to be manipulated at the convenience of the narrative. I think the former.  And if I had to name a third to complete a sub-list of shows fighting for a place in the top 5 of that list, it’d be Mad Men. I think my problem with Mad Men might be as much with the cultural miasma that surrounds it as the show itself, but I also found a few episodes last season sort of tedious. 

Walking Dead hasn’t been without its problems, but it has been pretty consistently watchable. We found Homeland pretty gripping. I was already a fan of Game of Thrones, and I think HBO’s adaptation has been pretty good. I really look forward to Jaime’s arc in the next season because I think he’s one of the characters that sets Martin’s work apart. 

Breaking Bad amazes me anew with each season. It remains consistently good, and Walter White is just confounding to me. I think when this final season wraps up, the show has the best chance of any of the last decade or so’s generation of arc-driven dramas to stand as a real achievement in television. I thought the closest we’d gotten to that prior was probably The Wire, which was great but fell short of greatness as a whole with its final season.

And there’s Justified, which isn’t necessarily as ambitious as everything else on the list, but consistently delivers satisfying drama. It’s well crafted and competent, and you know its depiction of Harlan County is a cartoon, but there are hints of an allegorical grandeur underneath. 

Since I so seldom write about this kind of stuff, I also want to drop in mention of Louie, which I love. I wish more comedy was like this. 

Ben Doesn’t Always Nab Badgers: The Three C’s of Chaperoning

IMG_1733
I volunteered to chaperone yesterday’s second grade field trip to OMSI. It was a little exhausting. I was assigned five children (Ben among them) and thought I’d just be sort of walking alongside as the children were ushered from learning station to learning station. As it turned out, we were let out at the curb, taken to the lobby, handed a page with a few questions related to some of the exhibits in Life Hall, then cut loose until lunch. 
Everyone who knows me knows I have a hard time remembering or keeping track of things as simple as where the coffee mugs go (at all stages of the coffee mug life cycle clean, dirty, full), and I briefly imagined one of my charges deciding to just run off into the crowd, so the first order of business was figuring out how to remember their names so I could call them by name (which any good Bene Gesserit will tell you is 90 percent of getting The Voice to work). That brings us to the first of our three C’s:

1. Commit Names to Memory

That turned out to be pretty easy:
  1. Ben — Ben
  2. Dallas — Doesn’t
  3. Alex — Always
  4. Nicole — Nab
  5. Brandon — Badgers

I practiced on the bus ride to the museum and had them all down quickly enough.

2. Constantly Count

Once faced with the reality of OMSI’s Turbine Hall, though, I realized I was really just in a struggle for mere survival. There were bunches of school groups there, all running in different directions. So “Ben Doesn’t Always Nab Badgers” became a constant nose count: 1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5. It paid off big when Dallas, Ben’s best friend, looked up from what she was doing, didn’t see anybody she recognized in the only direction she looked, instantly decided she’d been abandoned by the group and sprinted into the crowd looking for us. A quick, gentle application of The Voice and she was back among us. If I’d put off my five-count for another three seconds, I would have lost her for at least a moment, and that would have sucked. (I should point out that, of the five I had, Dallas is the one I would have most trusted to collect herself and find us … by the time the day was over, she was my go-to child for herding all the others back into one place so I could move them along to the next area.)

But just knowing what to call them and keeping constant track of their whereabouts was strictly for keeping total chaos at bay. It offered no security, because even steady Dallas showed any one of them could go random. That brings us to the third C:

3. Contain, Contain, Contain

At first glance, Turbine Hall is a nightmare scenario: It’s a huge, open room full of children running in all directions, the half-zombie parents chasing them, and that one dad who has embraced his inner multitudes by wearing Jedi robes, hanging a light saber off his belt, and yet taking the decidedly non-whimsical measure of putting his child on a leash. 

If you pause for a moment, though, and analyze the situation, you begin to see where all the choke points are. Most areas can be mentally cordoned off, either because they have just one or two entrances/exits or because there’s a lot of empty space between them and some other thing a child might want to run off to. About ten minutes into to the trip, I started seeing how those worked and it became pretty easy to figure out a post to stand at that gave me a good view.

In the end, I had one or two brief “child goes random, runs off” incidents that were quickly kept from being a Big Deal because I knew a name to call out. 

And the children themselves were great: I could tell when consensus was building among them that it was time to move on, at which point I’d send Dallas in to get them all rounded up. Letting them lead themselves for the bulk of the day made them easier to gently nudge along. When it came time to take them up to Life Hall, where the question sheet I’d been handed could be answered, they were willing to be taken to each of the stations to watch little videos and fiddle with the Q&A screens. For the last 30 minutes, I posted at the main entrance and let them run around until it was time to get back on the bus and go home.

I think the best part, in the end, was Ben. He’s at that stage where he’d rather I not be walking him to school at all, and any hugs goodbye are to be conducted in a small, closed-off hallway outside the cafeteria where the students gather in the morning to be taken to their rooms. Most of the day yesterday, though, he was the one trying to hold my hand or stand close to me. I’m guessing there won’t be much more of that in any setting, so I reminded myself — between committing, counting and containing —to enjoy it.

 

IMG_1734

Not a bad time at all (tech edition)

Sometimes it’s nice to stop and look around and think about all the things you’ve been taking for granted. I’ve been in the process of handing two projects over to coworkers, one small and one large, and it’s caused me to go out looking for ways to make that easier. I don’t work on an actual dev team: My stuff has been solo efforts, so I’m aware that it probably looks and feels a little different from what everybody else is used to. It was good to find a few tools to make the handover less painful.

So here are a few things I’m newly grateful for:

GitHub

Wow. TextMate has great support for git repositories, so it was super-easy to set up a repository, add all the files, write a few READMEs in Markdown and hand things over. When something needed tweaking, it was a simple matter to make a fix, push it up, and let the recipients know. One of them was on Windows and needed different instructions to get things running? Fine … I made a Windows branch with its own instructions and dependency lists.

Maybe not as important, but GitHub made me feel better about dropping that code on my coworkers because it made everything more approachable. It makes the READMEs look good (and readable) and it makes the source easy to browse with pleasant syntax highlighting.

RVM

I’ve been developing with Rails on OS X, able to install whatever I need to get a gem working, updating my rubygems install whenever it suits me, etc. etc. I didn’t want to make my coworkers go through custom-building their own Ruby or rubygems, and after a few years of getting everything just so I know there’s a chance I’ve got something on my machine they don’t have on theirs. So RVM completely rocked.

RVM stands for “Ruby Version Manager,” and it’s a way to get a self-contained Ruby sandbox running on an unprivileged account. At its simplest, RVM lets you bypass your distro’s elderly Ruby packages and update your Rubygems package without getting a scolding about how your distro will be pleased to update that on its own timetable.

RVM can do a lot more: You can install multiple versions of Ruby and switch back and forth between them with something like:

rvm use 1.8.7

If you’d like to use whatever Ruby came with your distro:

rvm system

If you’ve got three or four Rubies floating around, you can set a default:

rvm --default use 1.9.2

You can also create swappable gem sets.

VMWare

I first reviewed VMWare 11 years ago, when this is what passed for a middling machine:

VMware’s base system requirements are a Pentium II/266 MHz processor and at least 96 MB of RAM. We tested the software on several configurations, ranging from a machine at the very lowest end of the recommended specifications to a Pentium III/500 with 128 MB RAM. Performance is clearly helped by devoting plenty of RAM to the virtual machine. A computer with 160 MB or more is closer to ideal, unless you run X with a conservative window manager and few applications.

I could have spent some time guessing about what might be needed to get my projects working for somebody else, but it was a lot easier to ask “which distro are you running?” download the necessary disc image, set up a VM to match their environment, then run through installation and testing. I did that twice this week: Once to match a developer’s workstation, once to make sure I was testing against the company server platform.

Ubuntu each time, by the way. I don’t know what the current state of the distro wars is, but Ubuntu went up about the way I remember Debian going up: easily and thoughtfully, leaving me with something that Just Worked for my limited purposes. So good for it.

progress_bar

So, _I_ know the script is doing what it’s supposed to be doing because I’ve been fiddling with it for a year. Not everybody else does, so there are a few ways to denote that something is happening. One is just adding an extra bit of noise to each iteration of the main loop to simulate a comforting beeping noise. Another is to use the handy progress_bar gem, which adds a progress bar that can show a counter, percentage completed, rate and ETA with just a few extra lines. Looks nice, less noisy, took all of a minute to add.

Exposure Therapy

Flickr favorites

I read a short bit a few weeks ago titled A Simple Guide for a Mindful Digital Life, and it offered some suggestions that resonated with me, along with a few that would not be practical for a good many people. I recommend it, though, because I like the author’s take on ownership of online presence. One thing that came of trying a few of his recommendations was a modification to my morning reading routine.

Over the past year, my iPad has become my morning paper. I like to get up a little early and sit by the fire reading the things I consider interesting but disposable. I use Flipboard and Twitter lists to skim through the things with which I’d like to have headline-level familiarity.

I like the morning skim because I don’t have to place any weight on anything I read there. Sometimes I bookmark useful things for later, but it’s the only time of the day I’ve got that I consider solely mine. After it’s over, my time stops being just mine for long stretches.

One neat thing Flipboard offers is support for Flickr as a “digital magazine.” You can subscribe to your own Flickr stream, those of your friends, your own favorites or (and this is the part I really like) the Flickr “Interestingness” feed.

Flickr’s always been a little hard for me the same way the rest of the Internet can be a little hard for me. There’s just so much good stuff going on, so many people being completely amazing, and so many things that seem almost casually wonderful that it makes ever doing anything hard. To paraphrase Theoden, who can stand against such reckless awesomeness? Why even get out of bed, because if it hasn’t been done, it’s in the process of being done and probably in the form of a multi-year project with incredible JavaScript transition effects.

That’s harmful thinking on a few levels:

  1. You never end up doing anything.
  2. Other people have an easier time telling you your limits.
  3. After a while, it makes you crabby about everything, because crabbiness blunts the sheer radiance of all the random awesomeness going on, making it easier to live with.

So Flickr’s been hard, because there are some really good photographers out there, and the Interestingness feed pulls in a lot of their work.

It occurred to me a few days ago, however, that maybe the thing to do would be to just dive into that pool of greatness, so I modified my morning routine a little by tweaking Flipboard. I pushed a lot of the lists about Facts and Things to the second page, and I filled the front page with interesting photography feeds. First in line is the Flickr Interestingness feed. I’ve been flipping through it each morning and marking a few of the pictures I see as favorites (another nice thing Flipboard lets you do). I’m trying to treat it as a mindless exercise, something done without a lot of reasoning, because I think doing it that way allows me to silence the inner critic for others, which makes it easier to silence the inner critic for me.

I try to stop thinking about the things I used to think about: Is this image overprocessed, did the photographer go too far with the sharpening, is the image correct, is the underlying sentiment hackneyed, and on and on. I try to just like stuff. Sometimes, though, I see a picture that achieves something I once tried and failed to pull off, so I favorite that for when I can circle back later, when I’m in a better frame of mind, and consider the things that will help me take better pictures.

Oregon State Fair

DSC_1359

We spent part of the day at the Oregon State Fair in Salem.

Best part: It was pretty quiet on the cable car that ran over the fairgrounds. You could look down into the grease disposal areas kept behind the food stands as well as gain an appreciation for the rich diversity of the Oregon airbrushed t-shirt industry. With a good lens, you could also see what people were eating.

DSC_1327

Worst part: The live alligator exhibit was one of the most depressing things I’ve ever seen in my life. There was an alligator, it was alive, and it was kept in a pool of water where it had just enough room to be alive in a pool of water. Horrible. Whoever allowed that should be kept in a bathtub full of dirty water for a week while people walk by and gawk. Then fired.

DSC_1393

You can spend a lot on rides. We did.

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