If there is anything inaccurate or inequitable about the following post, please email me or send me a tweet to discuss it.

When I was about 11 years old, I started getting into politics. Anyone who has met me in the last 12 years would be blown away to hear that I was initially very conservative. I’m talking “Sean Hannity and Ann Coulter book owner” conservative. However, as I got a bit older, many conversations with great, patient folks led me to rethink nearly all of my early political opinions.

It’s amazing how far a bit of loving explanation can go, even with the most backwards people.

Folks who know me now know just how central social justice concepts are to all of my work. A recurring theme of my podcast is how programmers can help make development more friendly to new learners. I helped draft codes of conduct for the Spec, imgix, and slashrocket communities. I publicly spoke out against LambdaConf’s decision to allow Curtis Yarvin to speak there. I even recently opposed body shaming Donald Trump, a man I could not be more at odds with. I think about this stuff almost constantly, and do my best.

Yesterday, it was announced that Douglas Crockford was being removed as a keynote speaker at Nodevember. This hit me particularly hard, as Mr. Crockford is someone I have learned a lot from over the years, and have come to deeply respect. As far as I am aware, Mr. Crockford has never been accused of anything beyond being a “grumpy old man” before this incident (a description I imagine he would happily agree with). Unfortunately, there is very little publicly-available information regarding what he did to warrant removal from this event.

Of course, in any code of conduct response situation, there is a chance that the person who was victimized requested that the specific behavior not be made public. This is perfectly acceptable, and is something I am unable to account for in this article for obvious reasons. However, after several hours of research and listening, I have found nothing to indicate that is the case in this instance.

The following is an account of my findings regarding this incident. Since there is a distinct lack of information from Nodevember about this situation (even in their followup post), my research methodology was to find links via replies to the original tweet, and a Reddit thread on the topic that I found by Googling “douglas crockford nodevember”. My investigation of this subject took place starting on Saturday, September 3rd at around 12:00 AM.

How it started #

This incident appears to have started with a tweet from @jsdnxx.

nice list of illustrious dude programmers. notice any omissions?

After a bit of back-and-forth on what should be done to rectify that lack of diversity and when, Emily Rose joined the conversation, saying:

@nodevember one way you could show you actually care about community safety & diversity is by uninviting Douglas Crockford.

@nodevember he has repeatedly shown himself to be actively hostile to fostering inclusivity and many will decline to speak if he is invited.

Unfortunately, there do not appear to be any examples given of Mr. Crockford’s hostile behavior in the remainder of the thread.

The one with the gonads #

One item that I found brought up a few times is a talk Mr. Crockford gave at Google in 2013, titled “Monads and Gonads”. Certainly, this is a bit of an inappropriate and silly title for a talk. However, it is also not explicitly gendered, as “Gonad” is a term that refers to both testicles and ovaries.

In order to make sure I wasn’t missing anything, I listened to the talk and Q&A session in its entirety with subtitles on (~50 minutes). Aside from learning a fair bit about monads, here were the bits I found that could potentially be considered offensive:

At 10:05, Mr. Crockford says:

… if you have the chicharrones, you can learn monads without Haskell

I don’t speak Spanish, but this certainly sounded like a gonad reference to me at first blush. I pulled it up on Wikipedia, and apparently “chicharrones” is a pork belly/rind dish that doesn’t look particularly like any piece of reproductive anatomy I’m familiar with. It’s quite possible that either I or Mr. Crockford made some sort of mistake in the translation here; please let me know if that’s the case.

Slightly later at 11:50, Mr. Crockford says the following:

Now there’s some who will say “No, that’s not true, you don’t dare go that way, otherwise…”, but I say, my friends, if you have the huevos, you can. So what do you say we sack up and look at some monads?

Was this an appropriate “joke” to make in a conference talk? Certainly not.
Was it even a funny joke? Literally zero percent funny.
Was it exclusionary? Yup.

Was it made in bad faith? Not as far as I can tell.

Much later in the talk, at 39:00, there is a final reference to testicles:

So, that little pair of parens is really easy to overlook, but it turns out it’s really critical to understanding this. So, just leaving it hanging out there like a pair of dog balls, I don’t think is useful to the reader.

At best, this is a strained metaphor. At worst, it’s an inappropriate, gendered comment.

People (especially those who grew up in different times), often don’t think about these problems in the same way younger folks do. That absolutely doesn’t excuse their behavior, but it also doesn’t mean we should discard them. Whenever possible, it’s best to use mistakes as teachable moments.

The one with the slut-shaming #

One of the items linked several times in both the Twitter and Reddit threads is a piece by Kassandra Perch from February 2016 titled “Why I won’t be speaking at conferences with Douglas Crockford anymore.” In their article, Mx. Perch mentions two incidents of Mr. Crockford’s “untenable behavior”.

The first is is a segment in the keynote he gave at the event, “in which he slut-shames the audience”. This talk is called “The Seif Project”, and Mr. Crockford has been giving it repeatedly for a while now (full disclaimer, I saw the last 15 minutes or so of this talk at O'Reilly Fluent earlier this year). Several others have also raised concerns about it on Twitter for slut-shaming:


dat crock just slut shamed the web ?


And now Crockford very subtly slut shamed a lot people with his talk of promiscuity vs commitment #forwardjs

The specific version of Mr. Crockford’s keynote from ForwardJS is available on YouTube, so I watched the entire thing with subtitles on to find the slut-shaming mentioned by the folks above.

At 41:30, Mr. Crockford puts up a slide saying the following:

The Old Web: Promiscuity

The New Web: Commitment

The Internet of People

When he switches to this slide, he says:

… the Old Web was great because it provided promiscuity. It meant that you could go and connect to anything, and you’re probably gonna be ok. You might get shocked and embarrassed, but your machine’s not gonna get taken over, your identity’s not gonna get stolen. … And that’s good, because that allows us to get introduced to things. We used to call it “surfing”, where you could go from one thing to another, and discover stuff, and start forming relationships. Unfortunately, the same thing which allows the promiscuity to work is very bad for dealing with commitment, so that’s what the New Web is for. Now, once I’ve found my bank, I want to make sure from this point on I’m talking to my bank, and I’m not talking to anything which pretends to be my bank.

As far as I can tell, there is no slut shaming happening here. It’s a bit of a strained metaphor, but not inaccurate or directed at human relationships. In fact, Mr. Crockford explicitly says that the “Old Web” was great because of its promiscuity. His point here appears to be that promiscuity as a whole tends to be at odds with commitment, and that in some cases (such as financial transactions), a “committed relationship” can be more beneficial.

In another segment at 42:45, Mr. Crockford mentions committed relationships again:

Because we’re now connecting things forming relationships, this should work better for connecting people as well. Right now, we have to do all sorts of terrible things, but we can do safer things now, we can have committed relationships between people as well as between companies.

Again, as far as I’m able to tell, this is not a condemnation of any type of relationship, but rather pointing out that different types of relationships can serve different needs. “Promiscuous” is an industry-standard term used in networking, and does not have negative connotations in that context. This reminds me a lot of “master/slave” terminology discussion. Should we improve the words we use to discuss concepts? Always. Is it productive or helpful to shout people down instead of educate them? Rarely.

The second incident Mx. Perch mentions in their article is a discussion with Mr. Crockford about TXJS 2011, where Mr. Crockford said “the talks as the day went on just got stupider and stupider”. As it turns out, Mr. Crockford has publicly clarified this quote himself:

In 2011 I spoke at TXJS in at the Alamo Drafthouse in Austin. They started serving alcohol in the morning, and people were drinking all day long. As the day went on, the talks got stupider and stupider.

I don’t recommend serving alcohol during conferences.

The one where I finally finish this post #

After doing all my research, I was left a bit baffled. There still seemed to be a distinct lack of information about what had actually happened here. I decided that it would make sense to contact Mr. Crockford directly and see if he had anything to say. To that end, I sent him the following message:

Hey Mr. Crockford,

I’m currently researching an article regarding the recent Nodevember incident, mentioned here: Since there is an unfortunate lack of concrete information available on the subject, I was hoping you might be willing to provide me some details around what happened from your point of view.

Of course, I also understand if you can’t or don’t want to discuss this particular issue.


A couple hours later, I received this response:

It is a mystery to me too.


Now read this

Look at the Photo, Not the Frame

I work with an extremely talented design team, all of whom are unhappy with iOS 7’s new design direction. While I agree there are some rough edges, overall I think the changes will ultimately be for the best, as designers and developers... Continue →