MetaFilter wordbot jam? May 10, 2015 12:08 AM   Subscribe

Podcast 103 talked about doing a MetaFilter Twitter wordbot jam thing of some kind and I think that would be super fun.

I would be both OK with limiting it to Twitter and with opening it up and doing stuff on other platforms (or on just webpages or whatever), depending on if people feel like the artistic limitations would help them or not. But this seems like the kind of thing Mefites would be great at!

(The podcast bit about this is at about 37:30 if you're looking for it.)
posted by NoraReed to MetaFilter-Related at 12:08 AM (23 comments total) 10 users marked this as a favorite

I am always down for seeing more bots!

Even though the Twitter API is a Good Citizen in API Land, after trying to explain how posting to Twitter works, I realized it is a significant hurdle, so allowing generative web pages is a good idea.

I also have a weird idea for making an easy Twitter bot facilitator but haven't had the chance to try it out.
posted by ignignokt at 6:02 AM on May 10, 2015 [1 favorite]

I would recommend this resource for making Twitter bots that generate things from Google Docs. I used it to make @likeuberbut, which is kind of why I wanted to do this-- it was fun to make but it'd be more fun to make stuff like that with other people! I'm no coder, so I found this pretty helpful.
posted by NoraReed at 6:43 AM on May 10, 2015 [4 favorites]

As a bonus, deleted posts! Lots of those of late.
Norareed, this is ├╝ber cool idea.
posted by clavdivs at 9:49 AM on May 10, 2015

Yeah! I like wordbots.
posted by moonmilk at 9:55 AM on May 10, 2015


I would be both OK with limiting it to Twitter and with opening it up and doing stuff on other platforms (or on just webpages or whatever)

I'm definitely more for the latter, having thought about it more. Like, I'd love to make a twitter bot and I think it'll be great if part of what comes out of this is a good walkthrough of or tutorials for a newbie to be able to do that, but it doesn't seem like a necessary or super useful constraint given that (a) there are other more newbie-friendly ways to do weird stuff with words and (b) not ever word-bothering project is going to be inclined to tweet-or-shorter output anyway.

I've used a few different toolsets to hack together stuff over the years, am currently finding just plain JavaScript to be a pretty satisfying way to get stuff up and running on a one-off webpage and so could look at breaking down a couple of my existing projects to the very basic skeleton if anybody wants to play with that end of things. I'd love to learn some slightly less hacky approaches to generating and manipulating vocabulary lists themselves in JS, too, I'm still a total neophyte with the language itself.
posted by cortex (staff) at 10:10 AM on May 10, 2015 [2 favorites]

"word-bothering project"! I like that term, and I think I'll steal it for my business cards:

Word Botherer
posted by moonmilk at 10:23 AM on May 10, 2015 [2 favorites]

+1 - I'm definitely in for MeFi WordBotJam.
posted by CrystalDave at 11:02 AM on May 10, 2015

Your ideas are intriguing to me and I wish to subscribe to your newsletter.
posted by double block and bleed at 12:07 PM on May 10, 2015 [1 favorite]

Can anyone recommend good Python libs for this sort of thing? Seem to recall there were several Twitter ones when last I looked.
posted by comealongpole at 1:39 PM on May 10, 2015

Tweepy has gone from being pretty meh to to very solid.
posted by Going To Maine at 1:44 PM on May 10, 2015 [1 favorite]

I am very excited about this idea and eager to participate!
posted by aparrish at 2:08 PM on May 10, 2015 [1 favorite]

Okay neat! What length of time would be useful for all of you? I'm used to seeing 2-week game jams or weekend things.
posted by NoraReed at 6:22 PM on May 11, 2015

A couple of weeks to a month is a typical pace for a Metafilter-wide activity; shorter-term jams are great when you've already got a lot of buy-in and visibility from a healthy core group of participants but since this is much more of an inaugural thing and we'll be hoping to catch folks from a slightly less surgically attentive reads-Metatalk-every-day crowd, something that lasts a little longer and gives folks a chance to not blink and miss it would I think be a good idea.
posted by cortex (staff) at 6:33 AM on May 12, 2015

A thought: Is this more "A wordbot jam, for Mefites", or "A Metafilter-themed wordbot jam"? I'm guessing the former, but the latter also sounds intriguing. Statistical Taterbot, for example.
posted by CrystalDave at 1:09 PM on May 12, 2015

The former, I think, though of course Metafilter themes in your wordbottery are totally fine.
posted by cortex (staff) at 1:13 PM on May 12, 2015

Count me in. The bots I've written (in Ruby) are open source, in case that's helpful for anybody, and I look forward to seeing what other people make!
posted by Songdog at 4:02 AM on May 15, 2015

Hey, Cheap Bots, Done Quick! may be what some of you are looking for. It lets you specify a generative grammar in a really simple way, then does the work of periodically posting for you.

The grammar is basically like Mad Libs. e.g.

"Hey, look at that ##bodypart##, it's ##characteristic##!"

And then you specify what can go in those "blanks":

"bodypart": ["ear", "butt", "uvula", "backhair"],
"characteristic": ["pretty", "weird", "cool", "hairy", "bleeding"]

When the bot runs, it'll randomly select from the elements of the arrays you specify for the "blanks". There's also a handy editor for the grammars.

Some neat bots like @robotrecipes have been built with it.
posted by ignignokt at 7:03 AM on May 31, 2015 [2 favorites]

Oh hmm! That seems like a cool little tool, though with a little bit of fiddling with the online editor it seems like either I'm misunderstanding the ruleset or it doesn't support recursive generative rules. That is, being able to embed a rule inside the vocabulary options of another rule, like e.g.:

Origin sentence:
"##exclamation##! It seems that ##observation##."

And then expansion with other placeholders in the referenced vocab:
"exclamation": ["##verb## my ##bodypart##", "Blast", "for ##famousperson##'s sake"],

And then so on
"verb": ["spank", "shine", "tickle"],
"bodypart": ["ass", "knee", "biceps", "##adjective## ##bodypart##"],
"adjective": ["shiny", "metal", "sterling", "quivering"],

Which isn't a dealbreaker or anything—you can still get more complicated variations with this sort of thing by just having a larger variety of origin sentences that explicitly specify each more detail grammatical variation. Just something that'd give it some more expressive power, if at the cost of more complexity in implementation and use (as you'd have to account for e.g. potential infinite loops through direct or indirect cyclical references in your nested expansions, e.g. the way my "bodypart" definition could in principle expand out a whole ton of adjectives up front).
posted by cortex (staff) at 9:06 AM on May 31, 2015

I think you may be misunderstanding, because I tried it a few hours ago and had no problem getting recursive rules - even rules that include themselves, like "adj": ["hungry", "big", "very #adj#"]
posted by moonmilk at 9:48 AM on May 31, 2015

Oh, excellent. I probably just bodged something up in my experimenting.
posted by cortex (staff) at 11:24 AM on May 31, 2015

Heyyy you can make graphics with that thing.

	"origin": [
		"<svg width=\"400\" height=\"200\">#pattern#</svg>"
	"circlecolor": [
	"rand": [
	"circle": [
		"<circle cx=\"#rand#\" cy=\"#rand#\" r=\"#rand#\" fill=\"#circlecolor#\" fill-opacity=\"0.5\"/>"
	"pattern": [
		"#circle# #pattern#",
		"#circle# #circle#",
		"#circle# #circle# #circle#"

posted by moonmilk at 4:02 PM on May 31, 2015 [2 favorites]

Oh, my. I think you have an L-system right there!
posted by ignignokt at 8:17 PM on May 31, 2015

I really like cheap bots done quick! I made a bot that generates lady products with it.
posted by NoraReed at 10:08 AM on June 6, 2015 [2 favorites]

« Older FanFare MeMails on the Pony Express   |   Deleting Mothers' Day? Newer »

You are not logged in, either login or create an account to post comments