On Distinguishing Microaggressions

While for me the word “microaggression” made sense immediately, I’ve met people for whom the meaning doesn’t land right away.

The distinguishing feature of a microaggression is that it inflicts damage mainly by attrition. That renders the damage invisible, when taking any one isolated incident. It’s a siege tactic; like any offense, though, it ultimately works towards the same defeat, oppression, and hegemony as an outright attack. It’s only when taken in the aggregate that the damage reveals itself.

Most importantly, an invisible attack is hard to rebuff. You certainly feel it, but no one else knows what’s going on, maybe not even the attacker. By consequence, your defenses are lowered because any response looks like escalation, possibly alienating any sympathy and provoking further attack. This feeds into a kind of gaslighting where you’re not sure anything even happened, even as the inflicted damage remains.

That’s why I feel pretty glad the idea of microaggressions is being spread, to mitigate that cycle.

(Not Quite) Everything You Ever Wanted to Know about Leaving Google (And Were Afraid to Ask)

I thought I’d write up a bit about how I’ve gone about leaving Google and why I’ve done so. This is going to get a bit long, so bear with me.

This was a pretty personal decision on my part. It’s not something I generally recommend at this point. Once you try to fight the Google hegemony, you really start to realize how pervasive and powerful it is. Google positions itself as a kind of default for the web services that make up our daily lives—mail, documents, search—and even as organizational foci, like with groups, document sharing, messaging, and now Plus.

I think Plus was the thing that really started to drive a wedge between Google and me. As Google began to push Plus aggressively and made questionable policies around it (like the nym wars), I began to see Google as a corporate entity whose goals were fundamentally at odds with my interests as a person. The bottom line is that I didn’t want to be a product anymore.

I also worried about the future. Now that Google has shown the potential to tear down well beloved and well used services (like Reader), what else would they do? Talk is becoming a feature of Plus. Would mail eventually become so? That’s not what I want.

I want a home on the Internet. Or maybe a homestead. A place on which to hang my identity and remain static as long as possible. Changing from service to server a few times a decade is very awkward.

To this end, I registered a domain for my personal use (the same one which hosts this very web log) and began to wonder how best to set up my own services.

Google provides a lot of services. I wanted to replace the majority of them, where it made sense. For this post, I’m going to talk primarily about the ones I use for personal information management and communication. For me, this includes Mail, Calendar, Talk, Groups, and Voice.

Initially, I wanted to replace all these services with self-hosted open source services on a virtual server. That’s still certainly possible, but as time passed, I realize some services just weren’t worth my time or money to set up and maintain indefinitely. I realized, in some cases, that the software isn’t quite there, and in other cases, I couldn’t accomplish my goals that way. All that matters is that I control the domain and the data, really. Replacing Google has meant questioning my motivations and goals along and along and making decisions accordingly.

As an example, the first thing (and biggest thing) that I wanted to replace was mail. Gmail has innovated remarkably in the space of mail user agents, leading to amazing clients, and I’ve used Gmail exclusively for the better part of a decade, so the bar was a bit high in that regard. I also figured that server-side mail transfer agents had equally advanced in the time since I had last set up a mail server.

I was wrong. Mail servers have changed very little. What seems to have changed the most, with regards to MTAs, was all the other rigamarole to avoid being marked as spam. Between making sure my DNS setup was just right, getting DKIM signing working, making sure I had working SSL certificates, and so on, I felt like I had gotten in over my head. It certainly would have been workable, but I didn’t want to have to maintain that mess (and spend days encountering subtleties in my setup that made it insecure or flub a command and risk dropping mail on the floor).

There was also the matter of an SMTP server. I would need to send my mail somewhere. Probably using my ISP’s supplied SMTP servers? The days of sending mail around directly from server to destination in a trusted way are over, from what I can tell. This means, no matter what, I couldn’t be on my own with mail or completely avoid US-based MTAs from seeing my mail (even if the transmission itself were secure) ((I may have misunderstood all this; if so, disregard.)).

Some services just are best left to the pros.

I asked around for recommendations, and it sounds like, these days, most people are using Pobox or Fastmail. The biggest disadvantage I can see with either of those are they host themselves in the US. I don’t know what sort of PRISM arrangements the NSA has made with these providers, but after checking out Fastmail, I decided that I liked them enough that I didn’t care. Avoiding surveillence wasn’t one of my primary goals (though nice if I could accomplish it), so I ended up going with Fastmail.

For now, I’ve pointed all mail to my domain with a wildcard to come directly to my Fastmail inbox. It’s worked really well so far! I haven’t encountered spam yet, so I can’t speak to how well Fastmail deals with that, but every other feature I could want seems to work swimmingly (server-side filtering, nice UI, secure, and so on).

I have changed my mail address for most lists and services, giving each its own specific address. The transition is really still ongoing, as I wait around and see what mails end up going to my Google account and addressing the source.

I think the most awkward part was moving over Google Groups subscriptions. I’m not going to get into that subject here in detail, but suffice it to say, it’s almost completely undocumented and awkward to achieve for private lists, but it’s absolutely possible.

If mail was hard, setting up an IM server was a dream. I ended up using Prosody on my EC2 instance for XMPP ((Fastmail advertises that it has IM, but in my experience, it didn’t work, and others on the internet have complained about it.)). The only qualm is, again, interacting with existing Google users. I’m disinclined to add Google contacts, knowing I may lose communication with them at any moment—and not even know it. Maybe Google will change course someday, or maybe someone will figure out interoperability somehow despite Google. I doubt most people I know will end up moving en masse to another, more interoperable service.

At the polar opposite end of ease, I totally failed to get a working setup for a calendar server. Fastmail does not offer calendaring, contacts, tasks, or notes. I thought I could reasonably set all that up through some sort of DAV server, and I wasted probably weeks of my life (off and on) trying to find one that I could get working on my EC2 instance.

They were almost universally impossible to get working in a way that felt obvious, secure, or straightforward, and it was maddening. Every solution I found was either overengineered groupware or someone’s beta-stage private project.

Eventually I learned about Fruux on Twitter. I initially felt a pang about giving up control over this service, as well, but they won me over handily once I actually tried them. Compared to all the hours of effort I wasted trying to set up my own service, Fruux was so easy, it was like falling in love.

Okay, great, I’m no longer using Google. Now what do I do about my account there and all that data?

I want to keep the data forever and control it. I want to ensure my privacy (inasmuch as I realize the horse has already left the barn) for that backed up data.

I’ve used a combination of exports (for Calendar and Contacts), Google Takeout (for miscellaneous services, such as Voice), and a nifty app called gmvault for Talk and Gmail. All this data goes together in a directory which I’ve archived up, compressed, and GPG encrypted. As for long-term storage of this archive, I’ll probably use an archival quality CD and a flash drive.

As it all weighs over half a GB compressed, I doubt I’ll be able to print it all as a hard copy (and I’d worry about that if I did so).

Now, with the data backed up, what about the account? I’ve left my account active for the time being. It’s too abrupt, for now, to cut myself off from all Google services right now. Maybe someday in the future.

Zen Not Zen

On my day off, I was browsing the Internet and came across yet another nonsensical use of the word “Zen” to adorn a programming project. This isn’t the first time I’ve seen this in the wild. A quick search of GitHub shows an undeniable pattern.1 Even GitHub itself is complicit.

A quick glance at some of the (sometimes grating) descriptions and documentation for these projects reveals the use of “Zen” to connote simplicity, ease, and minimalism. Especially minimalism. I think the idea is to evoke harmony—with nature, with the user, with the computer, or with whatever—and peace, inasmuch as that can come from a computer.

(Searching the Internet some more, I came across a wonderful term, a “dharma-burger”, to describe this combination of Buddhism and pop culture via marketing.)

I am not a Zen teacher, practitioner, or student. However, I have to try to imagine what sort of dialogue I might engage in, were I on a team of engineers who were all white and raised in the West.

Listen, everyone, I don’t think naming this product “Zen” is a good idea. I know that we’re all white here, and when we hear the word “Zen,” we think of a certain minimalistic, natural aesthetic. We definitely want that sort of aesthetic, too. We want our product to feel good and be second-nature to learn.

I don’t think we can use “Zen” as a shorthand to refer to that aesthetic or philosophy, though, because there are a lot of people who have very different associations with the word. The bottom line is that we need to make a decision, now, before we ship, whether we want those people to be among our users or even among our team in the future.

In short, to my mind, it’s needless and offputting baggage. In other words, “Zen arts without Zen study is just cultural junk.”


Was reading over some of the ways famous writers have organized their works mentally and saw that their outlines represent a special kind of condensation of their thought process. The way they organize, plan, thread thought through thought.

I was particularly struck by Faulkner’s use of his office wall—so much space! And Joseph Heller’s outline is almost equally impressive.

Another little piece fell into place in my mind just now. I really want to indulge in the largest whiteboard or other writing surface I can find, even if I end up painting an entire room in whiteboard paint, just so I can have an enormous place to plan without geometrical limit.

I hadn’t actually realized how constraining I find linear outlines and small journals to be in that regard. I need room to explore time and points of view, to elaborate.

Maybe a computer can also give me that…


I want to talk a little about caprice. I want to talk about its invisibility; its influence; its implications on privilege; and its implications on me.

What is caprice? They’re the things that we can’t control. It’s the agent of luck, acts of God. It’s unfairness. We’re all subject to caprice to some extent, and it’s treated some of us very well, and in other cases, it’s treated us pretty badly. Or maybe it’s been a mixed bag for you. Either way, we have no idea what it has in store for us.

I have the fortunate quality of seeing caprice’s role in my life because I haven’t always had a safety net. I’ve spent a little time in jail. I’ve spent a little time being homeless. I’ve spent a lot of time being broke. I’ve let health issues impact me for years out of lack of options.

I realize that caprice is a bit harder to see when it’s always helped you along, silently privileging you and your accomplishments. This is due to a pretty well understood cognitive bias, and we’re all subject to it. We can begin to internalize “good” caprice. Now, as I write, I’m at a shiny conference full of rich people, watching them socialize in a big room full of expensive computers and robots, and I wonder how many people in this room recognize the role of caprice—of privilege—in putting them there.

I think my favorite talk so far of Open Source Bridge has been Cameron Adamez’s talk about labor, ethics, and computing. She did this really awesome thing that led to these thoughts and underscored the contrast I’ve seen in my adult life so far. First, she played a clip of a documentary about San Jose’s tent city. Of course, she followed this right away with a small clip from Chris Anderson talking to an audience of “makers” leading startups.

What does this have to say? The juxtaposition spoke volumes: about elitism, about exploitation, about class, and most especially about how caprice unites all these factors.

Disadvantaged and marginalized people know caprice much better than those whom caprice has treated well. We know the world is unfair. This plays into our impostor syndrome, unfortunately. For those whom caprice has mishandled, we’ve internalized, at some point, the idea that only some people deserve to be where they are. In other words, we are subject to a different cognitive bias, a kind of survivorship bias, which blinds us somewhat to role of caprice in others’ success or to valuing our own accomplishments later on when they’re recognized and rewarded.

How we react to this situation interests me. Some people seem to look at their marginalized peers, see themselves and their accomplishments, and conclude they do not deserve their own success.

I’ve had a little time to observe the situation and think about it, and I am much more tempted to conclude, on the other hand, that others do not deserve their success anymore than I. I look around at my peers and wonder, why aren’t you guys as awesome as I am? And it has little to do with me. There’s not necessarily anything special about me (though I do need to own my accomplishments). By and large there’s an element of stupid, uncaring, meandering luck.

I keep wondering, how can I spread this professional success, my tech accomplishments, to my friends who may be struggling, who are equally talented but in another place in life?

I’m suffering less, maybe, from an impostor problem and more of a survivor guilt. Or maybe a success guilt. Maybe impostor syndrome is just a way of turning this success guilt inwards on ourselves rather than acknowledging the fundamental unfairness of the world around us.

What’s Mozilla Doing These Days?

I’m inclined to forget about Google. I’ve mostly completed the steps that I need to transition away from their services. I’m sitting on the fence about transitioning my mail (which would be the biggest and final step).

I got to thinking about all that today after I remembered that my RSS subscriptions existed and started reading through those, when I fell down a rabbit hole leading from Google’s disregard for the XMPP standard (sorry about the Google Plus link) to a depressing discussion about PNaCl.

Google has built an empire upon the web, and for a few years there, I got this sense they were really going somewhere remarkable, like there was some shining, beautiful future just over the horizon built out of community standards and driven by smart, passionate engineers. Any day now, I thought, they’d unite Gmail and Talk and Voice and Reader into some amazing community platform and usher in the future. Yep. Any day now. Just got to wait.

Yeah, I’m not sure that’s going to happen anymore.

Sorry. This post isn’t even about Google. It’s about the web. The web doesn’t need a company—it never needed Google, at least. But there are a lot of companies, organizations, and communities that need the web. The web is going to tend towards openness, no matter what we do, if history is any indication. It was created with open standards, and we need it badly to remain that way.

Earlier today, I tweeted:

Open question: Can Mozilla become (or is becoming) what Google has failed to realize?

I’ve written this blog post to elaborate (more or less) on that thought. Twitter is a pretty poor medium for this kind of discussion. What I really meant to ask is, can Mozilla fully embrace its role as a good steward for the web and by extension the web’s role in our lives and communities?

I suppose this would imply Mozilla competing more directly with Google and creating services for productivity and interactivity in some fashion or another. I’m not even sure that this makes sense for them. But given the Firefox OS and their Persona single-login identity service, it feels to me like a logical progression to begin offering cloud services to compete with Google and Apple.

All of this, of course, assumes Mozilla’s making strategic moves into a competitive space they haven’t shown much interest in so far. And maybe they don’t have to. Does the web need a steward?

Location, Location, Location

I’ve been making a concerted effort to recenter my online life around a user name that makes more sense for me. For me, this user name is “emilyst”. It’s a pretty straightforward adaptation from my name. That’s usually how I sign things, in fact, just the first two letters of my last name there.

By this point, I’m using it on GitHub, Twitter, and on IRC, among other places.

I managed to register emily.st and have pointed it at the same server as my old domain lilix.name. I’ve moved my blog to the new URL under emily.st/log (now emily.st). The old location will still mirror the blog with updates until I decide to let the domain expire, and then it won’t lead anywhere. Consider this your warning, if you’re trying to follow me at all.

Finally, I’ve decided not to bother with SSL for the time being. This means that the HTTPS version of my site no longer works for the new domain (the old domain will continue to work until next year with HTTPS).

Can I also just say how awesome it feels to have a vanity domain that feels like it makes sense and which I won’t get tired of after a few months? I feel pretty sure that I won’t waffle about this user name because it’s not actually some weird word or pun or inside joke on my part.

Tolkien’s Racist Geography: Reading with a Conscience

I’ve been rereading Tolkien’s The Lord of the Rings lately. I’m going to set aside all my other thoughts and feelings about the series and about Tolkien as a writer to talk about something that’s been bugging me.

First it started as this little tickle in the back of my mind, whenever Tolkien mentioned the West or the East. Cardinal directions play a huge role in Tolkien’s legendarium, along with geography in general. If you’ll indulge my elision of many of the subtleties in Tolkien’s plot, it suffices to say that the further West one goes, the more one ventures into peoples Tolkien characterizes as familiar, idyllic, and—even further west—a kind of heaven or paradisaical hinterland. On the other hand, every mention of the East is accompanied with shades of evil or mystery.

I had trouble getting into this world view because I grew up in the southeastern United States, and I subconsciously imprinted Tolkien’s geography on top of the US, the place I grew up in and learned about in school. I especially wanted to think of westness as a kind of frontier land, projecting my feelings from popular culture in the US. Adventure in the US is more often than not a journey from east to west.

That doesn’t accord with Middle-earth at all, and once it bugged me enough to provoke conscious examination on my part, it struck me as likely that Tolkien was projecting a Eurocentric tradition onto his own geography. The Shire, far flung up in the northwest of Middle-earth, embodies the English countryside—in terms of names, customs, and in a rough geographical reckoning.

It’s not hard to imagine then projecting the inhospitable desert lands in the south of Gondor and in Mordor onto regions with a similar geographic relationship to Europe—namely, the Arab regions of the Middle East and Africa. Beyond Tolkien’s eastern horizons lay cultures he didn’t understand, unfathomable distances, and alien climates. The same holds true for the inhabitants of Middle earth. For example, in The Two Towers, Gollum describes what’s south of Mordor:

And further still there are more lands, they say, but the Yellow Face is very hot there, and there are seldom any clouds, and the men are fierce and have dark faces. We do not want to see that land.

A Eurocentric description of Saharan Africa is not a difficult stretch from that description, especially considering Gollum is speaking to the hobbits while they are situated directly outside of Mordor.

There are, of course, other similar references that have been noticed by other critics. Tolkien’s descriptions of Easterlings and more notably still the Haradrim (who are likely referenced by Gollum above) have obvious racial tinges that reflect a Eurocentric world. Later on in The Two Towers, Faramir encounters a group of Haradrim, and the leader is described a brown-skinned man leading soldiers with scimitars.

In placing these regions, I personally drew some conclusions about Tolkien’s European compass, as he projected it onto his legendarium. I guess this leads me to ask a few questions about the series and myself. First, I could ask myself, was Tolkien himself racist?

Well, probably so. It’s easy to search the web for critiques of racism in the series, while on the other hand, it’s equally easy to find a lot of sources (drawing from letters or other places in his writing) which apologize for Tolkien or even lionize him rather uncritically. It’s clear that most consider his views on race rather progressive. On the other hand, I read his series and find his geography undeniably influenced by a European perspective, and I personally find that aspect of his creative works problematic.

This leads, though, to a second question, one that’s probably a lot more relevant. Does this Eurocentrism detract from my enjoyment of his works? Well, when Tolkien writes something that draws my attention away from the narrative to a problem in the telling, I find it, at best, distracting on a superficial level. I can regard his work as being in a high fantasy context, but even high fantasy doesn’t exist in a vacuum. I can’t ignore the problem or apologize for it.

On the contrary, I think I’d derive a lot less enjoyment and edification from The Lord of the Rings—or, really, any work of art—if I didn’t hold it in a critical light and explore its flaws. Finding racism in Tolkien’s writing doesn’t negate its artful qualities, ones worth experiencing. Rather than weighing the qualities of his art (or, again, any other) against a single value judgment, in my mind, it’s likely more useful to bring a holistic examination of Tolkien’s writing to the conversation.

So I don’t bring this up to shed light on anything particularly novel about Tolkien. I’m not the first to point out racism in The Lord of the Rings. Instead, I bring it up to participate in that conversation—a conversation which serves a necessary role as a conscience and without which the community of art and literature doesn’t really work. Unless we seek out art with an eye to unearth both the flawed and scintillating facets of the piece, we leave part of it in the ground.

Change Your Cursor Shape on the Fly in Zsh’s “vi-mode”

Note: I no longer use the configuration below, and I no longer maintain it, so I provide the information as is.

I decided to switch to using something called “vi-mode” when using Zsh. If you’re into using the command line a lot, and you’re using Zsh, then you might find this interesting.

If you’re using “vi-mode” — and this entry isn’t really about using “vi-mode”, so I suggest you look elsewhere on what that is and how to use it — then you might desire to know offhand what mode you’re in when you look at your shell prompt. This is probably a natural desire, and it’s what occurred to me when I made the switch. I took a look at the vi-mode plugin that comes with oh-my-zsh. It has some nifty thing that can be inserted into the prompt.

I wanted something subtle, so I made it change the color of my lightning bolt. I wasn’t satisfied, though, because I remembered a Vim tip that let me change the cursor shape on the fly in exactly the same circumstances when using Vim proper. It uses a trick that works in iTerm2 (and evidently Konsole over on Linux), using a proprietary escape sequence.

I searched a little bit more, but I only ever saw information about this escape sequence in the context of Vim, so I’m evidently the first ever to want to use this escape sequence outside of Vim. I think it’s actually pretty useful, so I thought I’d jot down how I did it.

First, here’s what it looks like…


Now, as for how I did it. This is the relevant excerpt from my ~/.zshrc, omitting all the other things I have in there that accomplish the color change and other features I like.

function zle-keymap-select zle-line-init zle-line-finish {
  case $KEYMAP in
    vicmd)      print -n -- "\E]50;CursorShape=0\C-G";; # block cursor
    viins|main) print -n -- "\E]50;CursorShape=1\C-G";; # line cursor

  zle reset-prompt
  zle -R

zle -N zle-line-init
zle -N zle-line-finish
zle -N zle-keymap-select

That’s about it. Again, this only really works if you’re using iTerm 2 on a Mac.


I noticed one pernicious drawback of the methodology I outlined above. Whenever executing a command, it would use the line-style cursor just as a matter of course, since that’s what the shell had set earlier, and there was nothing to reset it when a command were issued.

For this reason, I split out the above Zsh widget functions so that the block cursor is always restored when the shell finishes reading a line of input. That is to say, I choose the line-style cursor when initializing a prompt to accept a new line of input (or when $KEYMAP changes), but as soon as I finish reading in input and move on to execute a command, I restore the block-style cursor. Here’s what that looks like:

function zle-keymap-select zle-line-init
    # change cursor shape in iTerm2
    case $KEYMAP in
        vicmd)      print -n -- "\E]50;CursorShape=0\C-G";;  # block cursor
        viins|main) print -n -- "\E]50;CursorShape=1\C-G";;  # line cursor

    zle reset-prompt
    zle -R

function zle-line-finish
    print -n -- "\E]50;CursorShape=0\C-G"  # block cursor

zle -N zle-line-init
zle -N zle-line-finish
zle -N zle-keymap-select

You can always find the most recent version of my settings in my .zshrc configuration script.

My Zsh Prompt

Not that anyone asked, but I decided to tell you guys a bit about my zsh prompt. If you care to check it out, it looks like this (with the text size blown up a bit to make it easier to read):


Couple of things here. I moved almost everything over to the right side, and I decided to keep everything on a single line. My rationale was that zsh does a rather clever thing when the command runs into the right prompt and makes it disappear. That’s pretty much ideal for me. All the information I could like when I’m looking at the prompt, and when I go to enter a command, it gets out of the way and lets me focus on the command itself.

I kept the left side minimal for that reason. It just has my old lightning bolt: It feels like a call to action.

I do make one concession to length and truncate the path at thirty characters. Seems like enough, but maybe I’ll update it at some point.

If you’re curious to check out the whole thing (which makes extensive use of the oh-my-zsh framework for git information), you can see its current incarnation here.