A Queer Thanksgiving

I came out as bisexual earlier this year after a long time struggling both with acknowledging my own sexuality, and then building up the courage to come out to others.  As I’ve been thinking about being thankful for various things this year, it keeps coming back into my head that I owe an immense debt to other people who have paved the way for my coming out to be possible.

The first group of people who come to mind are the martyrs.  The countless gays, lesbians, and other queer folk who found themselves living at the wrong point in history, and paid the price for just existing.  Even only considering recent history, this includes millions of people trapped in Nazi Germany, people persecuted in the UK and America under discriminatory laws, and others around the world who were victims of lawfully enshrined prejudice.  This especially includes Alan Turing, one of my personal heroes, whose heroism during WWII, and later epochal contributions to computer science didn’t prevent his government from persecuting him, and likely driving him to suicide.  This also includes martyrs to private hatred, like Matthew Shepard, who was murdered by private citizens in a gruesome case of homophobia.  While tragic, I am thankful that the stories of these people helped to awaken our society to the injustices being done to queer people.

The second group of people who come to mind are the crusaders.  From those who protested in the Stonewall riots at the start of the modern gay rights movement, through to the people who still march at pride parades, protest against unfair laws, and speak out for equal rights for the LGBT community at large.  But for these people, I would have been in legal jeopardy if I decided to come out, and, being bi in a straight marriage, I almost certainly wouldn’t have.  I’m thankful that they have changed my society into a place which acknowledges and respects queer people, and that—by their struggles—my rights are protected regardless of my sexual orientation.

The third group which comes to mind are the scientists and educators.  There’s been a long road which leads up to our current understanding of sexuality as a complex set of variables in which people fall into a myriad different categories describing sexual and gender expression.  In particular, Alfred Kinsey comes to mind as one of the earliest of modern researchers to seriously study the subject and start to move away from homosexuality as a disease to homosexuality as being part of the normal spectrum of human behavior.  In this group, I also include more modern scientists and doctors like Lindsey Doe who promotes positive sex education: including non-hetero orientations.  Without their work, both I and the society I live in would still be trapped in antiquated and prejudicial views about sexuality.  I am thankful to live an a time enlightened by their research and teaching.

The final group I think of are my own friends and family.  The largest portion of this group is made up of all those people who said such kind and supportive things when I actually did come out.  But, this group most especially includes my friends Duane and Blake, both of whom spent hours talking and exchanging emails with me while I worked through whether to come out, how to come out, and why I should want to do such a thing.  That I could be so articulate in explaining myself, and, as Duane put it so well, “tremblingly determined” to make myself understood, is through their friendship and advice.  I am thankful to have such thoughtful and wise people in my life to help me when I’m struggling and uncertain.

But, most of all, I think of my wife, Rachel.  I could have never understood my own sexuality without our long talks, and she was always there to talk, or just listen to me talk.  It was also immeasurably easier to accept myself with the certain knowledge that she would accept me, too.  And she did, and does.  It would also have been so much harder to muster the courage to come out without her love and support.  I am thankful to have such a caring, thoughtful, and loving person as a partner who constantly urges me to be the best and truest version of myself.

What flipped my understanding of “white privilege”

My White Friend Asked Me on Facebook to Explain White Privilege. I Decided to Be Honest
by Lori Lakin Hutcherson


I read this all the way to the end, and found it extremely well-written and enlightening. Even if you don’t want to read the whole thing, you can get a lot of value from just the opening and closing few paragraphs.

I’ve always been troubled by the phrase “white privilege” for exactly the reasons stated in the opening of the piece by the author’s friend.  And her answer to him resonates with me.  To paraphrase her excellent formulation: white privilege isn’t a positive benefit that white people receive overtly, some kind of undeserved handout, or something white people need to feel guilty about.  Instead, it’s a lack of the kind of hostility, skepticism, and type-casting directed exclusively at people who are different by not being white.

Another illuminating point comes out as she enumerates a small sample of racist experiences she’s personally encountered.  She’s not saying that all white people are racist… nor even that very many of them are.  But it’s common enough that the rare instances of it are relentless, and that makes every interaction with white people tinged with a subtle fear of yet another nasty encounter.

It’s fantastic how far we have come at eliminating the most horrific forms of institutional and official racism (largely due to the heroic efforts of black men and women of generations past).  But, accounts like Ms. Hutcherson’s make it clear that it’s not completely gone by a long shot.  I think this is an essential read to understanding the character of the racism that yet remains in our society.

Finally, her advice to people who want to fight this remaining racism also resonates with me.  It’s not enough to merely not be racist to help with the fight.  Good on you if you aren’t, but it’s not enough to move things forward.  It requires that special effort to keep an eye out for the little digs, skeptical remarks, and subtle insults and to challenge them.  Sometimes they’re not meant as hostile remarks, and the offender only needs a polite reminder.  Sometimes it’s not so benign.  But, especially if you happen to be white and see another white person doing these things, be the one to have the courage to call bullshit.  That’s what helps and can make a difference.

Scales of Preference

I’m constantly in situations where I’m working with another person to try to make some decision.  This could be figuring out where to go out to eat with my wife, or which vendor to go with for a major purchase at work.  Either which way, when there are multiple people involved in the decision, it’s easy to find yourself at an impasse where everyone has a different preference.

One of the tricks I’ve learned for making these situations easier is to routinely give an indication of how strongly I feel about any particular option.  Of course, that can range from absolute certainty that something is a terrible idea to a positive and unshakable conviction that it’s the best thing ever.  So, when talking about how I feel about a certain option, I try to use language which gives a clear indication of where I am on the scale.  For example:

  • I’m vehemently opposed to __________.
  • I completely disagree with __________.
  • I don’t think __________ is right.
  • I’d prefer not to __________.
  • I’m not convinced that __________ is a good idea.
  • I’m not convinced that __________ is the best option.
  • I don’t really have a preference about __________.
  • I’m slightly inclined toward __________.
  • I think __________ is the best option on the table.
  • I think __________ is a good plan.
  • I really like the idea of doing __________.
  • I’m super excited about going with __________!
  • I think __________ is the perfect choice!

As you can tell, these are arranged to scale from strong disagreement to strong agreement.  And, of course, this is barely more than a starting point for the kind of language you can use to place yourself on the scale.  While there are certainly a whole lot of other excellent options, there are a few things these particular ones all have in common:

  1. They express my own opinion of the idea without judging the person who suggested the idea by starting with “I…”.  This makes it clear that I’m only expressing my own opinion: not passing judgement on someone else.
  2. They provide a wide range of shading on how much you like or don’t like the idea: not merely whether you’re in agreement or not.

These are both incredibly important when trying to come to a decision with other people.  The first one attempts to ensure that the conversation says friendly.  It’s much harder to come to a win-win decision with another person when you’ve managed to get them pissed off at you.  The second allows you to each gauge whether there’s a large disparity in passion.  If one person is strongly in favor of an idea, while another person is mildly against it, the best course of action may well be to just go with it (so long as the decision is sufficiently reversible).  If one person is violently opposed, when the other person is so-so… it’s almost certainly best to give it a pass.


I first thought of using this technique when I was in a start-up with just two other people.  It was incredibly helpful in unravelling decisions where we didn’t have anywhere near enough data for any of us to really convince the others objectively.  In those cases, it was often just each of us with our own intuition about how a certain course would turn out, and this tool made it a lot easier for us to express how strongly that “gut” feeling was.

Since then, I’ve used it quite a bit on software engineering teams when trying to figure out exactly how best to build various features or solve certain technical challenges.  Again, these were often cases where clear, objective answers were hard to come by (e.g., what would users think about X change to a feature?).  Using this technique allowed each person to weigh their own ideas against the others in a productive way.

Reversibility and Fast Decision Making

There are a number of different circumstances when it’s important to distinguish between reversible and irreversible decisions.  First, though may seem pretty obvious, let me be clear by what I mean by each of those.

A decision is only irreversible if there’s absolutely no way to take it back again.  The somewhat clichéd example is that you can’t un-ring a bell.  However, there are plenty of more consequential decisions which are also quite permanent.  Drive drunk?  You may not have an opportunity to repent of that decision.  Unprotected sex?  You might have no way to undo the damage you’ve done to your body.

Fortunately, most decisions aren’t completely irreversible: although they may be more or less difficult / expensive to fix.  Get married to the wrong person?  That could have massive consequences, but it’s possible to fix.  Paint your house a color which turns out to be ugly?  Probably less difficult to unwind, but still not consequence-free.  Get a bad haircut?  You’re out a little bit of money, but it will fix itself in time.

And, of course, there are a huge number of decisions we make every day which are completely and readily reversible.  Not enjoying the channel you’re watching on TV?  Just flip to the next one.


One way to use this distinction is to guide you in how much effort to spend ahead of time trying to make a certain decision.  When I find myself faced with a decision, part of the process is to make exactly this evaluation.  If it’s a pretty reversible decision, I won’t let myself get too caught up in making it.  I choose the first option which seems pretty reasonable, and I move along.  On the other hand, I’ll spend quite a bit of time evaluating houses before buying one, and even more when considering changing jobs.

Another useful way to use this distinction is when you’re responsible for guiding another person (e.g., as a parent, guardian, coach, manager, executive, etc.).  If a decision is reversible, and your other person is set on making a choice you’re skeptical of, perhaps you let them go ahead anyway.  If they’re wrong, then they’ll learn something from the attempt in much deeper way they might have done.  If they’re right, then you’ve learned something instead.  On the other hand, for a more irreversible decision, you may decide you need to intervene (e.g., a toddler climbing upon on a coffee table vs. running out into the street).

Finally, this distinction can also be useful when trying to make a decision as a group.  As it often happens, different people will offer up differing suggestions on how to proceed, and the best answer isn’t always clear.  In such cases, it can be very helpful to gauge how reversible the decision is.  When it’s pretty easy to back away from, it’s fine to just pick a solution (probably from the most insistent person in the group), and see how it works out.  On the other hand, if it’s a fairly irreversible decision, you may all way to slow down, gather more data, and try to be a lot more careful.

Goodwill Accounting on Teams

A while ago, I was working at a very early stage start-up with two friends.  It was just the three of us, but both of them were in San Francisco, while I was living in Seattle.   Every month or so, I’d travel down to stay in San Francisco for a few days so that we could catch up and spend some real-world time together.  It was during this time that I noticed the phenomenon I call “goodwill accounting”.

Naturally, starting a company is stressful for anyone, and we were no different.  The odd thing I noticed was that the longer it was since I was down in SF, the more irritated I’d get with my teammates over little things.  Then, when I would go down to SF, I’d feel a lot closer to my friends again, and it would be a lot easier to deal with the myriad little disagreements you naturally have to sort out when building a company.

What I noticed was that it was really the outside-of-work time which really made the improvement, and it started to occur to me that those times were filled with good feelings: often as a strong contrast to the stress of the work.  We’d go out to eat together, chat about things we share outside of work, laugh, joke around, get out an enjoy the city… all sorts of things.  And those events would fill up a kind of emotional reservoir of friendship and trust between us.  Or, to put it another way, we’d make a “deposit” in a “goodwill account”.

Then, when we got back to work, the natural rigors of the work would start to “withdraw” from that account.  Each disagreement, though perfectly natural and necessary for the business, would count as a “withdrawal”.  So long as we kept making “deposits”, things would generally be fine, and we could sustain the stress of building a business together.  It was only when we let the account drain off that our “checks” would start to “bounce”, and we’d start to have unpleasant disagreements and ill-feeling.

As things went along, I started actively thinking about my relationship with my two friend along these lines quite explicitly, and I’d start to deliberately arrange to make “deposits” in the accounts I had with each of them as much as possible.  Sadly, sometimes the rigors of founding a company would result in “bounced checks”, but it helped a lot to have this metaphor for understanding what was going on and a way to correct the situation.


The lesson here is to keep in mind your “goodwill account” with the people around you.  This is part of the one-on-one relationship you have with each person you spend time with (whether a colleague, spouse, child, or friend).  Any time you do fun things, share something special, or enjoy time spent together, you make “deposits”.  Any time you disagree, get on each other’s nerves, or cause one another bad feelings, you make a “withdrawal”.  For some relationships, it’s easy to keep the books balanced, but for other relationships (especially work relationships), you have to be more deliberate.  When you notice a relationship starting to go south, consider whether you’re “in the red” with that person, and what you can do to add something back into the account.

Crow Epistemology

Our brain is an amazing organ, capable of truly astounding feats of abstraction and generalization, particularly when compared to a computer. On the other hand, it measures up pretty poorly when it comes down to managing a lot of information at once.  Ayn Rand, a 20th century philosopher, described this phenomenon as Crow Epistemology with the following story (paraphrased).

Imagine there are a bunch of crows sitting in the tree-tops at the edge of a forest. A pair of hunters pass them on their way into the forest, and all the crows get really quiet. One hunter comes out alone, but the crows stay quiet because they know there’s still another one in the forest. At little while later, the second hunter comes out, and as soon as he’s out of sight, the crows relax and start cawing again.

Now, imagine that a group of 20 hunters goes into the forest. The crows get all quiet, just like before. After a while, 15 hunters come out again. As soon as they’re out of sight, the crows start up with their cawing again. The crows could keep track of two hunters, but 20 was just too many for them to track by sight.

Of course, humans have the same problem. To address this, we create abstractions (like numbers) which allow us to group things together and keep track of them as a single unit. In our example, a boy sitting at the edge of the forest could simply count the hunters, and just remember one thing (the number 20). That way, he could easily know whether all the hunters had left the woods or not.

It turns out, programming is a lot harder than counting, and to do it, we need to keep all kinds of information stuffed in our heads. Naturally, the rules are no different, so we, as programmers, use lots of abstractions to keep everything straight. No one could possibly think about all the electrical signals racing around in a computer while they were designing a game. Even when designing a simple game, we need to break the program up into pieces, and complete each piece one at a time, and then stitch the parts together.

This process of using higher and higher abstractions to manage complexity is known as unit economy.  By grouping complex things together into a single unit, we can forget about how it works, and just remember what it does.  You don’t have to remember how a transistor works to understand what it does, just as you don’t need to remember how to implement a hash table to understand what it does.

The concept of unit economy is behind everything we do in our daily work as programmers.  Not too surprisingly, abusing a reader’s unit economy is the foremost way to make your code unreadable. I’ll have more to say on actually applying this principle in future posts.

For further reading:

  • Leroy, Charles Georges. “Letter VII. On the Instinct of Animals. The Intelligence and Perfectibility of Animals from a Philosophic Point of View: With a Few Letters on Man”. pgs 125-126. (Google Books)
  • Miller, George. “Magical Number Seven, Plus or Minus Two…”  (Wikipedia)
  • Rand, Ayn. “Introduction to Objectivist Epistemology” (Amazon)