The Importance of Context

When studying history, the first rule of intellectual honesty is to never drop the context of the time period being studied. We stand at the end of a long line of people who screwed things up, figured out what went wrong, and came up with a better solution. We are the inheritors of thousands of years learning in every area of human endeavor: including morality. When studying history, any time you indignantly ask the question “How could they?”, it is imperative to stop yourself and ask the question again with curiosity instead. Really… how did it come to pass that people in a prior age thought it right and natural to act in ways we find foreign or even immoral now?

We can (and should) look back with our modern eyes and pass judgement on the moral systems people have used in the past. Most moral codes for most of history were atrocious by our modern moral understanding. However, when judging individual members of those societies, we must not lose our perspective and judge them by standards they never even knew existed. One can only judge a person from a prior historical period by asking whether they faithfully adhered to the best moral code they knew about and/or whether they helped to advance our understanding of morality as such.

This does mean that certain historical figures, though perhaps despicable when judged by our modern standards, where moral and virtuous in their own time. It is important that we judge the moral system, not the person who could have known no better.

Considering Women in History

When thinking of the treatment of women through history (just to pick one minority), we must apply the same respect for context we would for any other historical study. We can (and should) judge historical societies’ moral codes based upon their respect for women. However, we can only judge individual people for having better or worse views and actions compared to others who shared their context.

For example, a person who was skeptical of a woman’s right to vote in England of 1880 is hardly a villain when judged by the moral standards of that time. We now find that position repugnant, but not the person who holds it. Needless to day, a person in a modern context who held such a view would (rightfully) be considered morally bankrupt. Conversely, a person who was enlightened enough, in that place and time, to support women’s suffrage wasn’t merely a normal, decent person (as they would be today), but a one of unusual foresight and virtue.

Notice that I very deliberately used the word “person” throughout that example. We must remember that the suffragettes were themselves usually foresighted and virtuous even among the women of their day. Many women of the time were as skeptical of such things as “votes for women” as their spouses. They too were not villains, but people of ordinary character and understanding: for their own time.

But what about…

The really interesting question is what other moral issues were, at one point, perfectly acceptable, but are not any longer? For example, homophobia was once not only perfectly acceptable, but actively encouraged and legally enforced. However, in the United States today, LGBT+ people are legally protected (in many jurisdictions) and homophobia (in most communities) is actively regarded as backward and immoral. When did that moral stance shift? How did it happen? At what point do you consider someone slow to make the shift as being immoral?

Thoughts on Toxic Masculinity

I recently saw the Gillette commercial about toxic masculinity, and it’s gotten me thinking, especially when viewed along side the Egard Watches response video. I highly recommend you go watch both of them before continuing to read here.

The perspectives in both are reflected by the polarized responses I’ve been seeing since the Me Too movement picked up steam. Any time I see such extreme reactions to the same thing (the commercial, especially) among people who normally agree about many things, it makes me stop to ponder what’s going on.

Personally, I find it very easy to have enormous sympathy with the Me Too movement.  It is sadly all too easy to find many, many examples of women being treated unjustly in every era, and in every civilization which has ever existed.  Indeed, “unjust” hardly begins to describe centuries of disregard, disenfranchisement, oppression, torment, slavery, mutilation, rape, and murder which women have suffered across the span of human history. Given that the perpetrators have been overwhelmingly male, it’s all too easy to take a dim view of masculinity in general.

However, it is also true that many brilliant, talented, moral, and courageous men have moved our species forward in leaps and bounds. Many of these men were the ones who fought against oppressors of every sort (both literally and figuratively). Indeed, many of them fought, specifically, to oppose the tremendous injustice met out to women by other men of their time. Taking either the view that all men are monsters or that all men are innocent is too simplistic.

I view “toxic masculinity” as being what the philosopher, Ayn Rand, called a package deal. That is, a bunch of concepts grouped together with the effect (usually deliberate) of damning the good by linking it with the evil. In this case, the “package” contains a lot of elements which are, in fact, attitudes, beliefs, and cultural norms which each have been held by individual men. However, not all men exhibit all these traits, and, in fact, it’s very common for the negative traits to be concentrated in certain individuals, and positive ones in others.

But let’s get specific here. When I think of traits considered typically “masculine”, I get something like this:

  • physical traits (size, strength, body shape, genitals)
  • self-control
  • competence
  • courage
  • protectiveness
  • resilience

However, when I think of the kind of behaviors associated with the phrase “toxic masculinity”, I get a very different (and mostly incompatible) list:

  • sexism & misogyny
  • homophobia
  • bullying
  • excessive use of drugs & alcohol
  • macho toughness

I think this is the heart of the division I see between people reacting to this issue. When someone says “masculine”, which of these two lists pops up in their head? You can easily tell by the litmus test of these two videos.

What I find especially fascinating and useful, is to construct a similar list using the phrases “feminine” and “toxic femininity”. To my mind, the first list is nearly identical, while the second list has its own (and different) set of revolting behaviors.

My point, really, is that using deliberately leading phrases like “toxic masculinity” or “toxic femininity” doesn’t actually help what is really an admirable goal: to eliminate the specific nasty behaviors associated with those phrases. At best, they serve to stir up animosity and misunderstanding between people who probably have the same goals at heart. At worst, they create a completely useless debate between people wanting to define “masculine” as meaning the first list versus the second.

Instead, I would urge people to discard the “package deal”, and focus on the real problems specifically, and one-by-one: sexual harassment, homophobia, bullying, and all those other behaviors we should no longer tolerate as a rational, civil society.

Atomic Habits by James Clear

I recently picked up the audiobook version of “Atomic Habits” by James Clear. While I’ve only just started my second listen through, I already think it will become one of the most influential books I’ve read: right behind “Getting Things Done” by David Allen, and “The Fountainhead” by Ayn Rand.

The basic premiss of the book is that while goals are great for setting a direction, they are really lousy as a means to achieving anything. Instead, success comes from changing your daily habits—sometimes in very tiny ways—so that they accumulate, inevitably, and almost without effort, into success. This is accomplished by dissecting the life-cycle of a habit, and taking specific actions for each stage to ensure a new habit sticks. The same applies to habits you’d like to break: just apply the opposite actions for each stage to break the habit.

What impresses me the most about this book is its specificity. A lot of self-help books do a great job of laying out some interesting ideas or principles, but then fail to help the reader make the jump to practicing what is written. Not here. Every chapter starts with some motivating anecdote, then describes the principle involved, and then works through several different ways to put things into practice. Each chapter includes various kinds of mental exercises, checklists, and specific actions to take.

Another thing I like, is that the author fully understands how challenging it is to jump in at the deep end of creating some complex new habit (or breaking a very familiar one). He talks through various ways to simplify the process of easing into the new habit so that it doesn’t require tremendous willpower to accomplish it. Just a slow process of continuous improvement from very easy steps to more complex ones.

It’s not a long book at all, just 5½ hours in the audiobook version, and it’s caught my brain on fire with future possibilities. I highly recommend giving it a read.

Being Helpful While Still Saying “No”

A while back, I was a team lead at Amazon.  At the time, Amazon was organized into lots of small teams, and each lead was expected to run their team pretty autonomously.  When a team wanted to tackle a project which required the help of some other team, the lead of the one team would generally go talk to the lead of the other team and ask for their help.

This all seems very sensible on the surface, but it frequently happened that certain teams who were at the cross-roads of a lot of systems would be inundated, and, in frustration, would flat-out reject requests.  Naturally, this aggravated the people making the requests, and it turned into an unpleasant spiral.

I had the good fortune not to be running one of those teams, but my team certainly got plenty of requests which weren’t feasible for us to accept.  However, instead of flatly refusing requests, I employed a technique taught to me by one of my mentors at Amazon:

Instead of refusing what you can’t do, offer what you can do.

In one particular incident, I recall the lead of another team calling a meeting with me and a few of his most senior engineers.  They had a scheme in mind which I knew my team wouldn’t have time to handle.  However, taking this advice to heart, I heard him out.  In the end, I told him that my team definitely didn’t have to do what he was asking, but I offered instead to help him brainstorm other options.  At the end of our meeting, we’d managed to work out a different approach which was less work for his team, and none at all for mine.  By offering up a little over an hour of my own time, the lead of the other team walked away happy and thinking well of me despite my refusal of his initial request.


Of course, this advice has served me well in many aspects of my life since then.  Whether it’s a friend needing a favor, or my spouse wanting help with a project, or anything else, the key insight I’ve taken away is to look for ways to turn a “no” into a “yes”, even if its not the “yes” the person was looking for.

There are two extremely helpful side effects I’ve noticed with this approach.  The first is that it’s a lot easier to offer an alternate “yes” than to say “no”: especially to someone you like.  Using this approach helps me protect my own time instead of allowing my feelings of compassion or guilt trick me into over-committing and regretting it later on.  The second is that it helps me clearly communicate that I do want to help the person, even if I can’t do the exact thing they’re asking.  So, rather than stressing a relationship by a flat refusal (or even more so by a failure to deliver later on), you strengthen it (or at least break even) by showing your eagerness not to refuse them: at least in some capacity.

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)