Why I like making bots

If you’ve ever spent time in a room full of writers, you’ve probably witnessed at least one riff competition–that phenomenon where someone tells a joke, and then immediately everyone in the room blurts out minor variations on it. If you’re operating under weak leadership, it’s a surefire way to derail a meeting. Mutual riffing can be a wonderful way to express a creative friendship. And, incredibly, it’s also a great way to fight with your creative partners without actually admitting you don’t get along.

I’ve participated in more than my fair share of these dumbass competitions. In college, I was on the staff of a humor magazine, and we would spend two or three hours at a time just sitting around in the “Publication Suite” not even actually working on the magazine–just trying over and over again to one-up one another by reworking each others’ jokes. The funny thing about competitive but unstructured joke-telling between egotistical teens is that no one can ever really win. If you don’t want to give your friend the satisfaction of victory, you can simply avoid laughing. We would also do this riffing at max volume, so the staff of the leftist political magazine that met in the room next door would sometimes actually come over and ask us about what they’d heard through the walls. They sometimes even asked us why we never laughed at each other’s jokes. I never admitted that it was because we were trying to defeat one another, but that’s what was going on.

After several years of stone-faced riffing, I took a hard look at myself and decided not to participate in this kind of bullshit anymore. If someone tells a good joke, I laugh. If it’s time to group-riff on some ridiculous bullshit, I participate, but it’s not like I’m trying to kick anyone’s ass anymore. And when I stopped treating it like a battle of wills, this kind of exercise actually became a lot more interesting.

I started thinking less about myself and more about the joke. Group riffing was less about comparing the jokes we were telling, and more about exploring the edges of the joke’s possibility space. What funny idea are we actually talking about? What is its best expression? Can we all feel proud of the end result together? I was basically learning how to function in a writers’ room, which may (hopefully??) someday contribute to a bigger part of my career than it currently does. It’s a pretty neat experience!

If you can play well with others in a creative environment, you will almost always be better-equipped to tell good jokes. Anyone who’s tried a little stand up comedy knows that tiny variations in the way you tell a joke can completely change the way an audience receives it–so you need help identifying good variations, and you need a safe place to test them out. A joke isn’t a sentence. It’s a huge web of sentences, a whole decision-tree of tweaks and modifications that you might spend months blundering your way through before you finally arrive at the version that feels best.

All of this is more fun in a group environment than a solo one. It’s much, much faster in a group, too. You iterate faster. You get new suggestions for the joke before you’ve even finished your sentence.

You know what’s the fastest way to iterate on a joke, though? If you can write a computer program that tells you ten versions of it every half-second.

This is what twitter bots are, for me. When you write a twitter bot, you’re forced to define the entire possibility space of the joke–a powerful exercise for anyone who’s really trying to understand the joke they think they’re telling. You have to design the systems that assemble or express the joke, which can be a pretty exciting experience, particularly if you’re not used to thinking about how or why you build your sentences the way you do. And, of course, you have to write the whole body of text the bot is drawing from, so you can’t half-ass this exploration the way you can when you’re just lounging around a conference table with six other tired fools.

When you write a twitter bot, you also have the tools and the audience necessary to check and see how well you’re doing. You don’t have to wait until publication to see if it really worked. You don’t have to delay feedback until the meeting starts. When you’re using a Glitch template or publishing on Cheap Bots Done Quick, you can just generate whole cascades of these jokes, whenever you want, in disgustingly massive quantities, until the output satisfies you and your audience and your trusted joke-friends.

And unlike a joke you write and ship once, the bot itself is constantly exploring and defining the joke’s entire possibility space. When you’re riffing in a room with other writers, nobody can see how cool and smart you were for thinking of that weird gross version of the joke that never shipped. With a twitter bot, though, you can write a single massive living joke that roams back and forth from one end of the idea to another, spitting out every possible variation of that emotional moment.

It’s like a joke amoeba. It’s like watching one of those r/woahdude videos where a square blooms into a cube and then a hypercube– a joke is never really best expressed by only one sentence. Set the joke free: tell every version of it that ever existed. That’s the real joke. That’s the joke the way I saw it, anyway, when I was trying to write it.

I recently moved all my bots to the Mastodon bot-friendly instance botsin.space. I’m still adding more, and may do a roundup post later. If you want a safe place to experiment with text or image-generating bots, botsin.space is a great place to check out.

Never made a bot before? Here’s some useful resources you can use:

  • This tutorial will teach you how to use Tracery, the system I use for generating text for my bots.
  • This explainer will give you a rundown on what Mastodon is and how it works.
  • This article will explain why Twitter isn’t such a great place to put bots anymore, and offer some background for why I’ve moved mine to Mastodon.
  • Cheap Bots Done Quick will host your Tracery bots on Twitter. Cheap Bots Toot Sweet will do the same on Mastodon.
  • You can also use this Glitch.com template to make your own Mastodon bot. It’s a little more complex that CBDQ/CBTS, but Glitch.com is a cool platform to try out in general, so I’d give it a shot if I were you!