John De Goes and the FP community

This post is a collection of links about John De Goes that show some clear patterns of behavior:

  • De Goes defending white supremacists and misogynists.
  • De Goes attacking critics and accusing them (especially women) of lying.
  • De Goes engaging in targeted harassment, either directly (@druconfessions) or indirectly (e.g. via ClarkHat, a LambdaConf sponsor).

Despite all of the information in this post being publicly available and widely known, De Goes is frequently invited to Scala conferences to speak. The following are a few of his conference appearances in 2019:

I know that the Scala Exchange organizers are aware of the information in this post, because I shared much of it with them when I declined a keynote invitation in February. I also know of other cases of people in the Scala community declining invitations from conferences on this list and providing similar reasons. The organizers of these conferences aren’t choosing to give De Goes a platform because they don’t know about his history of abuse, accusing women of lying, etc.—they just don’t care.

Update: the Scala Exchange organizers have posted a statement on the matter.

Note that many of the links below are to web archives, because some of the people involved here have a tendency to delete things they write online (or to have the things they write online get deleted when they’re banned for abuse). If you notice factual inaccuracies or broken links in this post, or if you have other information that you feel should be included, please open an issue or pull request.

LambdaConf 2016

In 2016 De Goes invited Curtis Yarvin to speak at LambdaConf, despite hundreds of people in the functional programming community formally criticizing this invitation on the basis that Yarvin is best known for his racist views and his role in the creation of the neoreactionary movement, a right-wing, white supremacist ideology that’s closely related to the alt-right.

De Goes has repeatedly defended this decision, and argued that the neoreactionary movement is not white supremacist:

When you conflate NRx with white supremacy, it discredits you.

When most of the 2016 LambdaConf sponsors withdrew support, a right-wing blog called Status 451 raised money to help fund the conference. This effort was driven by “ClarkHat”, an individual who finally got kicked off of Twitter in 2018 after years of coordinating harassment and doing things like tweeting “Blacks have lower average IQs. Your move.” at prominent black scientists.

De Goes also repeatedly defended ClarkHat (who was after all funding his conference):

I believe people lie all the time; you know it when you have evidence. I still have no evidence Clark is alt-right.


Which @Status451Blog blogger is “openly alt-right”? Quote or you’re lying. They’re all anarchists & libertarians.

When one of the people he was accusing of lying made the following request:

i have previously asked you not to retweet that dangerous person who has previously harassed me into my mentions. PLEASE DO NOT

This was his response:

OK, I won’t tag them (though they’re not dangerous). You provide me one quote proving Clark is alt-right. Just one.

(For the record, ClarkHat has self-identified as alt-right many times.)

LambdaConf 2017

At the following year’s LambdaConf, De Goes invited Ed Latimore, a self-described “red-piller” and mens’ rights activist with a long history of saying misogynistic things on Twitter (e.g. “I’m against hitting women because they’re much smaller than me. But let a 6’5 chick try to beat my ass and I’ll turn into Ike Turner.”) and elsewhere. When an attendee criticized this invitation, De Goes publicly accused her of lying, and his responses contributed to her being targeted for months by right-wing hate mobs. This attendee has written a detailed account of the sitation—please read it, even if you don’t read any of the other links in this post.

Drupal Confessions

Also in 2017, De Goes was one of the operators of a satirical and abusive Twitter account named “@druconfessions” that was focused on attacking Drupal community leadership for what De Goes described as their “social justice” agenda. I’ve never been a part of the Drupal community and don’t personally have much context about this situation, but it notably involves a lot of harassment directed by @druconfessions at one particular Drupal developer, calling her a “Psychotic intersectionalist Marxist”, an extremist, etc.

The language of the account is frequently hostile or violent, sometimes in a way that seems inadvertently ridiculous (“There’s a time for peace, and a time for war. The time for peace has ended.”). It also included a lot of inspirational platitudes (“Never start a fight, but always finish it”) that will probably sound familiar to anyone who’s ever looked at De Goes’s Twitter feed.

When his @druconfessions collaborators decided it was time to take a less abusive approach, De Goes disagreed:

Many have access to the Twitter. We (cordially) parted ways over disagreements about next steps. DC wants healing. I want truth.


If I can’t help with reform (and I hope I can), I can at least help ensure the crater scares other communities away from the same decisions.

Please read this post by Christie Koehler for more information about the situation and De Goes’s involvement.

Other issues

De Goes frequently criticizes codes of conduct, and has spent a lot of time promoting his own “Fantasyland Code of Professionalism”, which he summarizes like this:

FCOP protects professionals from being purged from tech communities for expressing beliefs in other communities.

The FCoP was developed specifically in response to the 2016 LambdaConf controversy, and it’s clearly designed to protect white supremacists like Yarvin. De Goes tried (and failed) to get the FCoP approved for use in Typelevel projects, a move that many people thought was not made in good faith.

In advocating for the FCoP, De Goes often relies on right-wing tropes about the persecution of conservatives:

Rather, all the real world cases are programmers being excluded for being conservative…

He echoes TERF rhetoric about people being attacked for “questioning whether 4 year olds should transition”, and specifies that he intends for the FCoP to protect advocates of race science and people who complain that they’re expected to respect other people’s pronouns:

People who have expressed concerns about the unbounded growth of gender pronouns have been accused of denying basic human rights to non-binary gendered individuals. People who believe there might be small differences in the distribution of IQ across sex or “race” have been labeled misogynists or racists.

Christie Koehler has written a detailed analysis of the FCoP, and several follow-up threads (see here and here). De Goes’s response was to accuse Koehler and others of lying, over and over and over.

De Goes is also a user and advocate for Gab, a social network that’s best known for accommodating white supremacists and men like the Pittsburgh synagogue shooter.

Lastly, De Goes’s followers include a group (mostly men) who routinely harass people he criticizes on his Twitter feed, often with ableist abuse, as for example during a recent situation where ZIO was removed from the Lightbend community build, or in response to some of his tweets about me last week. While he’s not personally responsible for comments by his followers, this happens a lot, and in the context of all of the history above it doesn’t seem unintentional.

Why this matters

The fact that the Scala community continues to embrace De Goes affects how people outside the community see us. For example:

  • As an outsider, it feels like Scala’s community leaders are intently focused on”keeping politics out of our technical discussion“, and hoping that the involvement of racist, misogynist, and transphobic people will somehow remain at the periphery, rather than pushing people away.”
  • dang maybe the problem isn’t people who annoy others it’s misogynists, transphobes, white supremacists and the like. De Goes is a fairly good example of somebody who not only tolerates them, but invites them to speak.”
  • by the way, if you fav’d the”we’re doing our best" tweets from typelevel and not any of the very real criticism that lead to this, I fucking see you, and you’re complicit"
  • John de Goes is an incredibly bad person, but he’s also being both ignorant and arrogant in this particular case.”
  • Also it’s shocking to me that people who follow the Scala community wouldn’t know about this yet????”

These are just a few examples from people who feel comfortable speaking up—there are undoubtedly many, many others who have left or avoided the Scala community because of its insistence on harboring abusers like De Goes.


After I published this post and the Scala Exchange organizers withdrew De Goes’s keynote invitation, he responded with the following tweet (also archived):

I have been no-platformed at Scala eXchange by people making baseless character smears. I respect the right of @skillsmatter to make the decision they feel is best. I respect the right of every potential speaker & attendee to respectfully write, tweet, & blog their response.

He was retweeted by the official Twitter account of Gab, the social network, and by an individual who works for Breitbart News, a right-wing American website. De Goes is aware that allowing his far-right advocates to amplify his message can result in his critics being targeted by hate mobs, because this has happened repeatedly in the past, and he has specifically acknowledged it in at least one case (archived):

It’s shameful that Breitbart readers harassed Sonia, and insane that Twitter didn’t (and to some degree, still doesn’t!) engineer their product to prevent harassment. 12/22

He could easily prevent much of this amplification and harassment by blocking these right-wing accounts, which would remove the retweet, but as of this morning the tweet is still on the timelines of both Gab and the Breitbart employee.

To his credit he did write the following (archived):

As always, please share your views with respect and professionalism. ❤️

If anyone sees poorly behaving outsiders stepping in, let me know.

I will step up to defend anyone receiving abuse or harassment, including those no-platforming me.

But when I suggested a concrete way he could provide this kind of defense (blocking two far-right Twitter accounts), he ignored the request.

De Goes has also retweeted another Scala developer, Adam Warski, who writes that this post is part of a “disgusting, coordinated, personal attack” (archived) and that it doesn’t support the reaction it’s received:

I have yet to see a single piece of evidence that would justify last-resort actions such as the ones taken by @scalaexchange and @typelevel. Just imagine this being done to you. You (or I) can be next.

I asked this individual to point out specific inaccuracies in the post, and he replied (archived):

No, I don’t know if these are accurate. But I can’t see anything that would justify the kind of actions that have been taken; only suspicions and interpretations.

I am aware of a couple of responses De Goes has made to specific points in the post, including the following, from an AMA (an “ask me anything” thread) on Reddit (archived):

I have no affiliation with the blog, other than with Meredith L. Patterson…

He goes on to write:

At the time, I did not know anything about the blog or its authors (except for Meredith). I was told the group were a bunch of libertarians and anarchists who believed in free speech. Eventually and reluctantly, I became aware of ClarkHat’s unsavory online persona, and I today regret the blog’s association with the conference.

A Reddit user named GPoaS responded by identifying themselves as another Status 451 writer (not Patterson or ClarkHat), offering to validate their identity, and expressing their sense of betrayal:

But damn if this doesn’t feel like knife in the back, bro.

In another subreddit the same user writes the following (archived):

Incidentally, while Clark is primarily responsible for the fundraiser, I was the person originally responsible for the effort.

I’m not sure whether the second part of this statement is true, but it doesn’t contradict the characterization in my original post, where I wrote that the effort was driven by ClarkHat. The statement does seem to contradict De Goes’s claim yesterday that he had no affiliation with anyone at Status 451 but Patterson.

This Reddit user also accuses the LambdaConf 2016 attendee who spoke up about Latimore of being “a plant”:

Her backstory was a shitlib who saw all the evidence of HBD but couldn’t handle it so she quit the industry instead of admitting what she saw. If this isn’t bait I don’t know what is

“HBD” here stands for “human biodiversity”, a term used by the race science movement.

In the AMA De Goes denies the claim (made by Sonia Gupta and I and many others) that Latimore is a misogynist:

It’s a mistake to call Latimer a misogynist (sexist would be more accurate, since he believes in sex-based differences between men and women), but knowing what I know now, I would not invite him today.

He also addresses (archived) a question about the Drupal Confessions account:

The Drupal Confessions “team” (an ad hoc chat room filled with disgruntled Drupal developers) had a shared Twitter account that many posted from. Eventually that become a problem for them because the account started attacking people. Actually, I can’t remember if it was that account or a different one, eventually there were 3-4 different Twitter accounts all posting Drupal drama and increasingly weird things like pictures of Larry with horns and creepy dancing videos.

All of the quotations in my original post are from @druconfessions, the account that De Goes and others have stated in public that he helped to operate, and I’m personally not aware of any of the other accounts he mentions. His account in this comment is at odds with what I’ve heard from people I trust who were directly involved, and he doesn’t say whether he’s responsible for the specific tweets quoted in the post.

Finally, De Goes has also posted a bizarre article (archived) that begins with a claim I don’t really find plausible:

It’s been nearly three years since LambdaConf 2016, possibly the most controversial tech conference in the history of computing.

The article is intended to promote an upcoming video, and he gives the following background:

Early this year, I started publicly acknowledging for the first time that I had made some mistakes in handling the LambdaConf controversy and fallout. I promised folks that I would give the topic more airtime, and that I would publicly and very visibly share what I learned and take full ownership of my contribution to the fallout.

I’m not aware of these “public acknowledgements” from earlier this year, but I will happily include them in this post for context if De Goes can provide links. The article continues:

The story I need to tell is human and emotional, not technical and philosophical.

It must be told with my voice and my face. There can be no wall of analytical text or cryptic technical diagrams—since that would be repeating one of my past mistakes.

This time, you’re going to get the human side of me.

Watch this space for more details on when and how I will share this important story. I promise it will be as soon as I can reasonably make it happen—in the way I believe it needs to happen.

Please do come and listen. No matter where you stand on the original controversy, you will not see this coming.

I can’t speak for the other people he’s targeted, but I’m glad to hear he’s considering an apology, even if this is the strangest apology teaser I’ve ever seen. (Update: De Goes deleted this post without explaining why a few days after publishing it.)

More updates

De Goes recently tweeted the following (archived):

In the end, there are only:

  • Conference organizers who stand up to online bullying

  • Conference organizers who cave to online bullying

The choice to speak or even attend a tech conference should be made with increasingly careful consideration.

And (archived):

2016: We just want to stop this one neoreactionary from talking tech at a tech conference.

2019: Let’s permaban all ordinary attendees who once wore a MAGA hat.

If you didn’t see this coming, you weren’t paying attention.

The MAGA hat part is a reference to Charles Max Wood, a software developer who recently had his registration to a conference revoked. De Goes follows Bob Martin and others in suggesting that the KubeCon organizers revoked Wood’s registration because he once posted a picture of himself wearing a MAGA cap. This isn’t what happened, of course—the Linux Foundation explicitly stated that their decision was based on comments Wood had made on social media and in videos he had published, and these tweets are just one more example of De Goes echoing right-wing conspiracy theories about the persecution of conservatives in the tech industry. Please read this post by Cher Scarlett for more detail about the actions of Wood and John Sonmez that led to the decision that De Goes is criticizing.