the saga of @christianmom18

Over the past few months, I’ve been making a handful of “honeybots”– bots that act as a honeypot for Twitter troll. There are a lot of people on Twitter who search for specific terms and then yell at people who mention them; they go on about topics that range from chemtrails and the flat earth to various alt-right people with cult followings to atheism. A handful of bullies particularly like to search for people who mention them negatively and then retweet those people to their followers, leading a harassment mob to their virtual door.

I’ve been documenting these on a Tumblr blog, and they caught the attention of the Washington Post, among other places. Sarah Nyberg made an advanced, improved honeybot that is even better at catching trolls and wasting their time than mine. It’s been a fun couple weeks for automatically wasting the time of assholes.

One of the groups of people who have been really easy to bait and really plentiful are “internet atheists”. If you’ve spent much time adjacent to the atheist community, you’ve probably run into these– their identity revolves around their atheism; they generally hate religion of all stripes, and they roam the wilds of the web trying to pick fights with people. They tend to have a personal philosophy that revolves around the idea of skepticism, but aren’t very good at embracing its principles themselves– they tend to have “scientific” justifications for all of their personal biases and often express a good deal of transphobia, racism and misogyny.

What these people seem to like more than anything else is to fight their idea of “theists” without actually having to engage in ideas. They want a straw Christian to use as a punching bag. So I made them one.

Enter @christianmom18, AKA “carol”.

Carol is a bit of an improvement on @good_opinions and @opinions_good. She has a lot more basic things to say as “bait”, and I made her reply occasionally with those instead of just with the 17 “argument” phrases– “you are wrong”, “check the bible”, “no”, etc. I also gave her a chance of “correcting” with “*your” anytime someone said “you’re” and vice versa, regardless of whether or not they were using the word correctly. (Another great Sarah idea.) I also set her up to auto-retweet some Bible quotes accounts and the official accounts of both Kellogg’s cereals and the New York Yankees.


I got some help from Sarah and some of my gaming friends to come up with this stuff and had “carol” stick emoji and random punctuation on the end of the phrases so that they didn’t get caught by Twitter as duplicates, and practically immediately started getting bites.

(I actually removed the “going to hell” thing from carol’s vocabulary after this– I realized that was kind of an asshole thing to say, even if the only people who saw it were jerks.)

A lot of these accounts are people who spend a lot of time searching Twitter for terms like “atheists” to find people to dunk on, and they often follow each other, so “carol”‘s posts quickly spread among that network, and people started talking to her.

At length.

carol3 carol4 carol5That’s just the beginning. Richy went on to talk to “her” for about three hours— through several repetitions of her “arguments”.

Some people figured out that she was a troll, but not that she was a bot.


Carol’s maturity was called into question.

carol7She was told she was a bad mother.



She was insulted:


And this is just the beginning. After this, “carol” was quote tweeted by a popular atheist account that seems mostly to spend time dunking on theists, and her followers came in droves.

carol11Check out how smug these people are:


carolsmug1She was ‘splained to pretty much endlessly:


carolsplainAfter about a day of “Atheist Girl”‘s followers talking to carol– a few of them figured out that “she” is a bot, but not many– I started noticing that they were even taking the really obvious bait.


carol13By this point, Twitter’s automated system had shadowbanned “carol”, so her posts weren’t showing up in Twitter search results– all the people talking to her found her via other people’s retweets, quote tweets and conversations. So I got some help from friends to come up with really wacky things to say.

carol15This is just the tip of the iceberg: search Twitter to see all “her” mentions. I also shared her source code, though it’s not free for reuse without permission.

how and why @nerdgarbagebot works

As usual, I’ve made a few new Twitter bots since my last update, but I want to talk a little bit about how a particular one– @nerdgarbagebot— works.

a screenshot of @nerdgarbagepitches

I’ve been talking a lot on Twitter about how simple bots can be to set up. I use Cheap Bots Done Quick and the Tracery visual editor for mine, so I hardly have to look at code when I’m writing them– my screen actually looks like this:

a screenshot of the tracery visual editor

Both of these are free tools that you can use to make your own bot; all you need to do is register a new Twitter account to get started.

The results of nerdgarbagebot are pretty varied and rich, but the code is really simple– it only actually has 13 variables in it:

  • Work titles (“Jurassic Park”, “The Sims”)
  • Creators (“George Lucas”, “Nintendo”)
  • Elements (“mermaids”, “a plot”, “interpersonal drama”)
  • Comparative adjectives (“grittier”, “with swears”, etc)
  • Formats/mediums (“tv show”, “installation art piece”, “webcomic”)
  • Genres (“gothic”, “cyberpunk”)
  • Settings (“on the high seas”, “in a modern high school”)
  • Story types (“coming of age story”, “mystery”)
  • Characters/People (“Yoda”, “Joseph Gordon-Levitt”)
  • Character roles (“mentor”, “president”)
  • Audiences (“tweens”, “atheists”)
  • “Imagine this” intro phrases (“Imagine”, “I need you to picture”)
  • “Fund this” intro phrases (“Crowdfund this”, “Please support my”)

For each tweet, Tracery at random chooses from a list of formulas, which are written like this:

  • It’s a #genre# version of #titles#, with #element#.
  • #imagine# a #format# version of #titles#.
  • #imagine# a #genre# #format# version of #titles#, but with #character# as the #role#.

I’m increasingly realizing that the reason bots like this work really well– compared to ones like @BuzzFiendNews, which I am still struggling with improving– is that even though the format is simple, every phrase is something that the bot’s audience brings their own baggage and associations to, so the tweets tend to be more unique in and of themselves.

BuzzFiend is a lot harder to add variation to, because even though each tweet has different words in it, every tweet using a specific formula tends to be similar to others. A joke about eating humans tends to be pretty similar to other jokes about eating humans, whether those humans happen to be sidekicks or princes.

Thinkpiecebot, nerdgarbagebot and some of my other bots, especially @likeuberbut, manage to capitalize on people’s existing ideas. Thinkpiecebot’s funniness in particular comes from the unexpected combinations that it produces being put into the recognizable headline format, but doing that ended up being complex– I have over 50 formulas in it and nearly as many variables, and I’m constantly updating it so that it keeps up with the zeitgeist.

Nerdgarbagebot is brand new, and I’ll probably have to continue updating it to keep things current, but I’m having a lot of fun with it– I hope you like the results too!

The Official @Thinkpiecebot FAQ

I made @thinkpiecebot a couple weeks ago and it has really taken off; it already has more than twice as many followers as me. I’ve been interviewed about it twice already and have also gotten a lot of questions on Twitter, so I’m putting together the common ones so I don’t have to keep answering them over and over.

What do you use to make your bots?
All my bots except @NoraReedEbooks and @NORBORG_ebooks use Cheap Bots Done Quick, which runs on  Tracery. I set up @NoraReedEbooks using this tutorial; @NORBORG_ebooks was built by @iglvzx; he made a tutorial on setting up your own.

How do they work?
Each bot has a series of formulas that it picks from at random and inserts words from predetermined lists. @Thinkpiecebot actually has two levels of these: the main formulas, such as “Do [GENERATIONAL GROUP] Really Love [RANDOM WORD/PHRASE SELECTED FROM ANY CATEGORY]?”, and a top-level formula that puts a publication prefix in front of one in six tweets.

As of this writing, @thinkpiecebot has main formulas and 25 variables. Some of these variables don’t include very many options: the formula that created the above tweet grabs the verb– “cure”– from a list with only two available options, “cure” and “cause”.

What inspired @thinkpiecebot? I’m a millennial, and I’m incredibly frustrated by articles written by people outside of our demographic attempting to explain us and doing so badly. You can’t throw a proverbial stone in the internet-news-o-sphere without hitting an article talking about how hypersensitive and vain we are. Boomers offer their Dunning-Kruger driven takes on trigger warnings, conveniently ignoring the freely available information on how PTSD triggers and exposure therapy actually work. They ask questions about why we don’t do things that require money, like have big weddings or buy houses, and come up with ridiculous reasons involving how we got too many awards as a kid as reasons instead of realizing that their generation completely ruined the economy. @Thinkpiecebot is a way to call out the predictability of these articles, as well as a lot of other kinds of ridiculous output, and the humor of it is a way to cope with the fact that people keep writing them and keep defining my generation by the trumped-up bullshit in them.

You’re really down on Boomers and capitalism. What’s with that?
Capitalist culture attempts to tie our ideas of self-worth to our economic output, and millennials have largely been forced into emotionally and physically draining dead-end jobs that underpay us, if we’re employed at all.

As a generation, we’re struggling to survive in the world that Boomers managed to completely fuck up, and they’re getting paid to write columns on how degenerate we all are for taking selfies. My whole life, I’ve been seeing the output of my generation shat on by people who can’t even be bothered to understand it.

From these people’s perspective, Twitter was a platform for self-obsessed 20-somethings to talk about what they had for breakfast, but after my generation figured out how to use it for large-scale political activism and to connect people to conversations that never would’ve existed, THEN they’re happy to get accounts to promote their “brand”. They’re happy to roll their eyes at fandoms that are creating enormous quantities of creative material and inspiring new writers and artists to make things for their own satisfaction and to share with their communities. They’ll complain about new gender identities and sexual orientations, never realizing how much of a balm to isolation it can be to have a word to describe how you are and to be able to connect to people who feel the same way.

How did you come up with the material for @thinkpiecebot?
Most of it is words and phrases I came up with while looking at horrible thinkpieces, but I got a lot of help from my Twitter followers. They did particularly invaluable work with helping me phrase some of the issues regarding marginalization and privilege; I wanted to be sure that wasn’t falling into doing “ironic bigotry”, and they helped a lot with coming up with specific phrasings that wouldn’t harm groups who are already being targeted by actual thinkpieces.

Does it run on its own?
I have it set up to post every hour, but sometimes when I add new stuff I have it post a handful of tweets using the new formulas/phrases, or when I’m messing with the code and it comes up with a particularly good sample tweet I will have it post that because it made me laugh.

So you’re still updating it?
I keep thinking of new things to add, so yeah. I’m guessing I will stop eventually, maybe once my cutting satire becomes so popular that everyone stops writing thinkpieces in shame.

I would like to pay you! How do I do that?
I have a Patreon and a PayPal tip jar. Thanks! Your contributions allow me to keep working on new bots and keep improving @thinkpiecebot!

Is @thinkpiecebot open source?
I’ve considered open sourcing my bots, but I am concerned that if I do that, men will do things with them. As soon as someone makes an open source licence that only allows use by women and non-binary folks and forces men to ask my permission to use my code, I’ll probably release it.

Update 5/4/16: I’m now sharing the code of TumblrSimulator for people to view to see how it works, and hydratebot is licenced to be shared if you’re interested.  I share code excerpts with people who ask, but after being updated for nearly a year, @thinkpiecebot is kind of a behemoth; it wouldn’t be very useful as a learning tool, because it’s kind of a kludgey mess on the back end.

Are you serious? Isn’t that… misandry?

Why did you block me?
I share my personal blocklist with my bots so that it’s harder for people to harass me via those accounts. As an outspoken feminist, I’m a regular target for online abuse. I might notice if you tweet @ it asking nicely to be unblocked, but it’s my bot, and I get to choose if I don’t want people to have access to it.

Is this really a bot?/Don’t you at least hand-pick the best ones and schedule them?
Yeah, it is, it just seems more coherent than lots of the bots you’re used to because it’s formula-based, not using Markov chains or other, similar techniques. The hourly tweets– the ones that tweet at :11 after the hour– are totally automatic. I do occasionally do tweet-bursts when I add new content, and I pick which of those tweets go up; I also sometimes tweak the code a bit so that new stuff is more likely to come up. The only tweets I hand-write are the ones where I ask for money.

Where else can I follow @thinkpiecebot?
I recently set up a Tumblr for it; it cross-posts tweets from Twitter over there too.

Why did @thinkpiecebot just tweet a bunch of times in a row?
I sometimes do tweet-bursts when I add new content. It’ll stop in a minute.

Will you add ________ to @thinkpiecebot?
Maybe; I do take suggestions that are tweeted to @NoraReed. However, there are a lot of places I don’t want @thinkpiecebot to go because they end up way too close to just parroting the people the bot is meant to make fun of. I’ve taken things out that make jokes that are too close to punching down and/or being “too real” before– namely “AIDS”– because they just felt like what happens when you play Cards Against Humanity or MadLibs with assholes.

What other work do you do?
I run a both my personal blog at and What Is GamerGate Currently Ruining; I also tweet as @NoraReed and have a bunch of other Twitter bots. (Here’s a full list of my essays, games and other projects.)

Do you take interviews?
Usually yes! If you aren’t paying me– which is fine– I’ll want you to include links to ways your readers can do so, because I’m an artist, and I need money for burritos, which I metabolize into more bots.

what I’ve been up to lately

I’ve been writing here less because I’ve mostly been doing work on Twitter and What Is GamerGate Currently Ruining for the past few months. I started the #RooshIsARapist hashtag, which quickly turned into calling on Amazon to remove his books from their store (more info on Roosh from WIGGCR). I wrote a Twitter essay yesterday on Roosh, GamerGate, Men’s Rights “Activism”, Pick-Up Artists and the relationships between them, male entitlement, and rape culture.

In bot news, I made @wigglebunch, which comes up with great things to call your pet, for Pet Jam.

I also put together a page on here for all of my projects, so you can view them in one place, and I’m putting some of my essays that I write here on Medium as well.

bot idea list

Bots that I think would be cool, but do not yet have the skillz to make (if you want to make one of these feel free to! just credit me in the bot’s Twitter bio or something):

  • a bot that grabs descriptions of videos on pornhub and replaces all the sex-related words with business buzzwords
  • a bot that grabs parts of two sets of quotes, Headline Smasher/Two Headlines style, and mashes them together, attributing them, incorrectly to a third person
  • a bot that grabs a list of 12 related nouns (such as 12 different vegetables, 12 fictional characters, etc– maybe using Wikipedia categories?), assigns each one to a horoscope sign, and posts them on Tumblr, a la the zodiac meme. This would also work with images. Hell, you could probably just grab a dozen images from giphy and end up with something surprisingly coherent at least half the time.

Bots that I totally could make but haven’t yet that I might make someday and which I could absolutely make if someone wanted to pay me to make them:

  • terrible names for bad guys in RPGs
  • a bot version of Orcwanker
  • a Tumblr aesthetic generator
  • a bot that says nice or encouraging things
  • artisinal beer name generator
  • creepy Lush products generator
  • terrible workout tips
  • travel/vacation ideas
  • a (pseudo) Markov bot that grabs tweets from all of my bots and smashes them together
  • a random horoscope generator (maybe for every sign?)
  • a random tarot reading (with or without interpretation)

I’ll add links if I make any of these. You can support me on Patreon to get me to make ’em a lot faster; once I get to the $250 mark I’ll be doing an extra project a month, and that can be an essay or a bot.

Reed’s Law

A long, tedious forum conversation about sexism this week made me invent Reed’s Law: “Any conversation in which a specific type of men’s sexist behavior is discussed will have men come in and perform the sexist behavior that is being discussed.”

It’s a kind of very, very specific application of Lewis’ Law, “Comments on any article about feminism justify feminism.”

Monday Rec: What If

The best thing that the Harry Potter series gave the world, or at least my little internet corner of it, is its fandom, which is an endless font of creativity and love and magic.

I don’t have much new stuff from the past week to recommend, but this alternate universe Harry Potter story (found via Seanan McGuire’s tumblr) lays down groundworks for a world without both Harry and Neville and basically reduced me to a sobbing wreck. Excerpt:

Professor Flitwick had vanished when Dumbledore had. He spent more than a decade snatching up children like he was a Pied Piper, taking whole families to safe spaces, new lives.

Some of the Muggleborn families took their magical children and ran, to Australia and New York and Amsterdam. Flitwick gave them cards for private, honorable tutors in every place they fled to and books on magic for self-study. But others stayed.

Their school was held in the basements of sweet shops and the attics of old Hufflepuff families and bespelled rooms in the backs of public libraries. Flitwick taught Charms; Molly taught Potions, Remus taught Defense Against the Dark Arts, and Sirius taught Transfiguration. Members of the Order cycled in as visiting lecturers. They all taught Silencing Spells and how to make Polyjuice Potion, how to lie, hide, run, and how to pretend to be wizardborn.

When Mr. Goldstein found out that wizarding curriculum did not include an education in mathematics, he was horrified; he had been an accountant with his own firm, before Death Eaters had come for his youngest son, Anthony.

“They never learn how to balance checkbooks?” Mrs. Creevey asked, shocked.

“I’m not sure they learn to add,” said Mr. Goldstein, concerned.

“We learn how to add,” said Mrs. Cohen-Goldstein, who had graduated Gryffindor before marrying Muggle. Her husband looked relieved, but he insisted on joining the teaching staff anyway and introducing the kids to fractions.

The wizarding staff taught the parents and the siblings how to slink through Magical Britain, how to navigate Knockturn and avoid Muggle turns of phrase. The Muggle parents taught the wizards how to drive a car, dress Muggle, how to slip out between the worlds and lose Death Eaters in the bright lights of a supermarket.

The children levitated tea cups, played Exploding Snap and gin rummy, read Diana Wynne Jones and Roald Dahl alongside Beedle the Bard. Watching Muggle children run and whisper with Muggleborn wizards, at-risk halfbloods, and blood traitors, you couldn’t tell them apart.

What is #GamerGate Currently Ruining

So I did an overhaul on whatisgamergatecurrentlyruining and threw a blog on there to keep track of past ruinings. I’m gonna try to keep the summaries of what’s going on to a paragraph or so in length, because there are a ton of people doing long-ass writeups on GG and their tantrums, and sometimes you don’t want to bury yourself in all that shit, you know? But since I’m reading it anyway, I’ll summarize it and give you some more links, if you want ’em. So far I’ve done Calgary Expo and the Hugo Awards, but let me know (here or on Twitter, I turned off comments there because of reasons) if there are other things you want quick summaries of and I’ll throw some more entries together.


BIGOTRY UPDATE: noted racist Vox Day and some of his ilk have decided to attempt to ruin the Hugo Awards and harnessed themselves to GamerGate, and many of the genre’s noted shitheels (Will Shetterly, etc) have been jumping in to talk about how terrible “social justice warriors” are. I’m not gonna link to them all, because they are infuriating and because they’re exercising the same tactic that #GamerGate constantly uses where they flail around with terrible opinions and attempt to waste people’s time and act indignant when they are told that they are not entitled to anyone’s time and attention + sic their awful fans on them for more harassment/threats/etc.

Anyway, the good news is that this has led to hashtag fun over on Twitter. We’ve been coming up with ideas for new Hugo award categories. A bit of them are riffing on the current ridiculous awfulness, but mostly we’re just all making sci-fi jokes. Here are mine!