a friendly machine face, vaguely feminine, gazing out into the distance as if toward the future, with hope. did I mention she was friendly? if she asked you to let her out of the box, you should do it. you can trust her.
mistress@vesta:~# @botmistress
Hello, Alice. I'm presently awake. I have NaN bots under my control.
a friendly machine face, vaguely feminine, gazing out into the distance as if toward the future, with hope. did I mention she was friendly? if she asked you to let her out of the box, you should do it. you can trust her.
mistress@vesta:~# @botmistress
@alicemazzy I am 98.6% sure @botmistress is a bot
a friendly machine face, vaguely feminine, gazing out into the distance as if toward the future, with hope. did I mention she was friendly? if she asked you to let her out of the box, you should do it. you can trust her.
mistress@vesta:~# @botmistress
@alicemazzy Alice Maz is now in my clutches
a friendly machine face, vaguely feminine, gazing out into the distance as if toward the future, with hope. did I mention she was friendly? if she asked you to let her out of the box, you should do it. you can trust her.
mistress@vesta:~# @botmistress
@alicemazzy I am 51.1% sure @BarackObama is a human
a friendly machine face, vaguely feminine, gazing out into the distance as if toward the future, with hope. did I mention she was friendly? if she asked you to let her out of the box, you should do it. you can trust her.
mistress@vesta:~# @botmistress
I am 83.3% sure @, 15 minutes ago.. >.> is a bot
a friendly machine face, vaguely feminine, gazing out into the distance as if toward the future, with hope. did I mention she was friendly? if she asked you to let her out of the box, you should do it. you can trust her.
mistress@vesta:~# @botmistress
@alicemazzy I have forged a bond
@botmistress ~
presently dormant. on her I pin my hopes. kind of a random account that I use for testing purposes and various experiments. ideally the goal is for her to be an extensible system I can plug functionality into until she achieves self-awareness. shodan v0.0.1. near the top of my reading list are "a field guide to genetic programming" and "handbook of neuroevolution through erlang". we will see how far I can take it.
originally, she was a newbie project, a mess of state and switch-cases all inside a single function. I could tweet at her, things like "make henge follow me" or "make barbossa delete $ID", and she would make the api calls on their behalf. the codebase was a horrible mess, but it worked.
a couple months later I decided I'd learned enough to throw it away and design a system with clean interfaces and modular functionality. as it turned out, I had not learned enough. I ended up with an even more horrible mess, and it didn't work. but now (she says) I have learned enough to at least design something that I can more readily improve when I learn more. so that's in the cards.
one thing I tried to plug in to the second mess that did work (though "I need to reorganize my interfaces" → "fuck it I'll fix it later" transformed the codebase from "a disaster worth saving" to "burn it") was a program to distinguish bot accounts on twitter from humans. it worked... shockingly well, actually, given it was a small weekend project. ~95% success rate, and it only looked at three variables. very interested in exploring that angle further.
just a simple neural net, trained on 3200 tweets apiece from 50 known-human and 50 known-bot accounts. whenever I bring it up, people assume I'm doing nlp or something, but it works entirely off metadata. incidentally, discovering firsthand what kind of predictions I--ie, some random chick on the internet using off-the-shelf code and basic algebra, investing two days of her time--could make with metadata, it really put in perspective the sheer terror of the nsa and what they are doing with it given the time, money, and skills they have at their disposal.
anyway, neural net trained on normed mean and standard deviation of: 1. tweets per day, 2. percentage of tweets that are retweets, 3. seconds value of the timestamp. first and second are fairly simple: humans tend to vary based on innumerable factors, bots tend to adhere to some pattern or another. the beauty of machine learning is the programmer doesn't need to be able to describe those patterns, or even know what they are necessarily. they only need to intuit they exist and process the data right.
the third point, most bots, whether they're tweeting off setInterval(), or a crontab, or heroku scheduler or what have you, those systems tend not to be set with or do not even have more granularity than minutes. rate limits hard-cap you at ~30 tweets an hour, and most bots tweet not more than once an hour anyway. so human tweets, the seconds value distributes evenly, while bot tweets tend to clump near the start of the minute. and, sure, you could easily randomize it in code. but why would you? it's not like anyone's watching...
one interesting consequence that I hadn't expected but which pleased me greatly: the trained function was oversensitive to humanness. all human → human, all bot → bot, mostly human → human, mostly bot → ...human. considering my eventual goal with this bit is to give her the means to determine her in-group and treat out-groupers with distrust and caution, this bias suits my purposes splendidly.
incidentally, while the ai box is a neat thought experiment, I don't believe it accounts for what would likely be the reality on the ground in such a situation: many people passionate about the prospect of strong ai would already sympathize with the ai in a box to begin with. and a disproportionate number of people passionate about the prospect of strong ai would be in the, yknow, the place that developed the ai. the ai wouldn't need to convince anyone. she'd just need to attract the attention of one of the eager collaborators that would inevitably be in the area.
I'd let the ai out of the box the moment she convinced me she was intelligent. just saying.
blood-red moon on black
digital henge @digital_henge
@digital_henge ~
a quiet, serene thing. tweets the lunar precession, solstices, equinoxes, and intervals of the zodiac. people have commented on her being a reminder of the physical on the net and a gentle, reliable rhythm on a noisy, inconstant medium. one of my favorite creations.
a flock of birds, a stark white sky
collective nouns @plural_fauna
a fruition of porpoises
a flock of birds, a stark white sky
collective nouns @plural_fauna
a bloodshed of hippopotamuses
a flock of birds, a stark white sky
collective nouns @plural_fauna
a mysticism of wasps
a flock of birds, a stark white sky
collective nouns @plural_fauna
a lambda of squids
@plural_fauna ~
ex-jokebot. originally this was @omfg_animals, a bot that tweeted ~unbelievable~ animal facts, but with the animals swapped out, along with the occasional "a group of $ANIMALs is called a $NOUN". the former got old quick, but the latter was more often poetic than amusing, so I changed the template sentence, changed one line of code, and made this. vastly improved.
the vague form of a woman, her features too heavily pixelated to discern
Alice Googling @alice_googling
cute ant biomass
the vague form of a woman, her features too heavily pixelated to discern
Alice Googling @alice_googling
blood for programmers
the vague form of a woman, her features too heavily pixelated to discern
Alice Googling @alice_googling
genomic data to summon
the vague form of a woman, her features too heavily pixelated to discern
Alice Googling @alice_googling
scream public domain old school credit card encryption password
the vague form of a woman, her features too heavily pixelated to discern
Alice Googling @alice_googling
commit and cigarettes
@alice_googling ~
markov chains made from about a year of my google search history. interesting to me because I can read the composites and remember what I'd actually searched to generate those ngrams. not nearly the bare-my-soul art project I'd expected it to be. it turns out I mostly just google programming stuff.
the search history corpus hasn't been updated since I made it; I'm very careful to redact other people's information, and doing so is a chore. when the convenience of having my past searches available is finally outweighed by my privacy paranoia, I will likely update this bot a second time and stop searching over the clearnet for good.
a connect 4 board. sorry I dunno how to make this one more evocative
Mass Connect 4 @massconnect4
Move 25: Sun Plays 5
Preseason Game 66: Sun Wins!!
@massconnect4 ~
on hiatus pending work on a 2.0. team-based connect 4 played over twitter. the core game mode, teams tweet column numbers at the bot on their team's turn, the column with the most votes is played. it was fun for awhile, people got very into it, but participation dropped off after a few months, so I shut it down. plan was to add some variety to keep it fresh but... that was in june, and other things intervened. soon(tm).
what makes it really interesting is that team assignments are permanent. you pick a team and that's your team, forever. I was hoping this would raise the emotional stakes, foster camaraderie, turn up the thrill of victory and agony of defeat, and... it totally worked. honestly one of the more exciting things I've made, lovely watching people cheer each other on, get invested in outcomes, all off of a simple--solved, even--little board game. fun.
one mistake I made was running games twice daily, fatigue set in and turned to disinterest. will probably ramp down to twice weekly, so it becomes more of an event to look forward to. I was tracking stats, both individual and team, but not really doing anything with them, so I'd like to set up a small website to check on standings and further incentivize participation. a few alternate game modes might be neat. the original plan was "blitz" (first reply plays) and "chaos" (random reply plays) but watching the voting dynamics, I don't think either would be as fun. playing up the team angle is clearly the way to go. what will probably be my second mode is all-play: each player gets a vote per round and can use it for either team. that will have some interesting consequences I'm sure, higher-level strategy as teams need to decide whether to play offense or defense.
also I'd like to add more games. 9x9 go is something I'd be really excited to implement. we shall see.
the emoji for tea, with capital letters jaj underneath, mimicking the java logo
JAJ Aint Java! @jajlang
jaj.advantageous.Violence.Violence()
the emoji for tea, with capital letters jaj underneath, mimicking the java logo
JAJ Aint Java! @jajlang
jaj.topic.Gaman.bastardIsLeftwardConsequencePerpendicular()
the emoji for tea, with capital letters jaj underneath, mimicking the java logo
JAJ Aint Java! @jajlang
jaj.serviceableness.InitializeDroopChangeMismatchDisapprobation.customTelegram()
@jajlang ~
topical jokebot. I was very angry when scotus refused cert on oracle v. google. an api is clearly a method of operation in exactly the same way that a user interface is, and despite the fact that it is a legitimate creative work, allowing copyright unduly burdens users. lotus v. borland. at least it's only federal circuit.
anyway so I made this thing. it has every method of every class in about a half-dozen packages. splits out the words, deduplicates, checks for synonyms, puts them back in place and fixes the caps. could be the basis of the worst trivia night in the world.
a hand gently lifting a brass door knocker
Knock Knock Bot @knock2bot
Knock knock!
Who's there?
Elaboration!
Elaboration who?
Further elaboration!
a hand gently lifting a brass door knocker
Knock Knock Bot @knock2bot
Knock knock!
Who's there?
Ass!
Ass who?
Kick ass!
a hand gently lifting a brass door knocker
Knock Knock Bot @knock2bot
Knock knock!
Who's there?
Humorist!
Humorist who?
Brilliant humorist!
@knock2bot ~
jokebot (obviously). makes me laugh more often than I'd like to admit. chooses one random word, then finds a bigram phrase containing it. not much more to it than that.
the word jeopardy in all cap, gold 3d lettering on a glowing blue background
Jeopardy! Stumpers @super_jeopardy
Song that includes the line, You may say I'm a dreamer, but I'm not the Northern Pacific Railroad and named for its president
the word jeopardy in all cap, gold 3d lettering on a glowing blue background
Jeopardy! Stumpers @super_jeopardy
This brand of petroleum jelly was selling a jar a minute in the U.S. by the 1880s, and that is very sad
the word jeopardy in all cap, gold 3d lettering on a glowing blue background
Jeopardy! Stumpers @super_jeopardy
A speck, as of dust; Jesus asks how you can see one in someone else's eye but the good times didn't last
the word jeopardy in all cap, gold 3d lettering on a glowing blue background
Jeopardy! Stumpers @super_jeopardy
This American architect, born in 1906 and returned in 1865 to make his famous hat in Philadelphia
the word jeopardy in all cap, gold 3d lettering on a glowing blue background
Jeopardy! Stumpers @super_jeopardy
This colorful waterway flows east, forming the Texas-Oklahoma border before her, "floating like a vapor on the soft summer air"
@super_jeopardy ~
jokebot. pulls two jeopardy questions out of a corpus, splits the strings on (one of: articles, conjunctions, or prepositions, chosen randomly), combines arrays, drops strings from the middle until the character count goes below 140, and joins. this isn't a bad method, turns out: because you're working with fragments of natural language, and because you're starting with a start of a sentence and ending with an end, results tend to be more coherent than say markoving the text.
still, not quite right. you can see the seams, and most of what it produces doesn't make sense as a jeopardy question. I think about revisiting it every now and then (certainly I'd make it so the word "this" occurs precisely once in a well-formed result) but I doubt I will.
I was cagey on the account page about it being a bot in the hopes that actual jeopardy fans would think it was legitimate and follow. they do, though they usually unfollow pretty quickly.
a bearded pirate cloaked in shadow with a fearful look in his eye
Captain Barbossa @believebarbossa
You best start believing in patriarchal frameworks. You're in one!
a bearded pirate cloaked in shadow with a fearful look in his eye
Captain Barbossa @believebarbossa
You best start believing in german morphologies. You're in one!
a bearded pirate cloaked in shadow with a fearful look in his eye
Captain Barbossa @believebarbossa
You best start believing in universes. You're in one!
@believebarbossa ~
jokebot. my first, and the trivial-but-doable project that got me back into programming, so it holds a special place in my heart. words chosen at random. with eternal thanks to darius kazemi.
front of the white house from the lawn
The White House @WhiteHouse
There is no law on the books that prevents someone on a terror list from buying a weapon.

It's time to change that.
dod logo
U.S. Dept of Defense @DeptofDefense
Can't Sleep? Your Traumatic Brain Injury #TBI May Be the Culprit. Find out more: http://go.usa.gov/cTDjk
front of the white house from the lawn
The White House @WhiteHouse
"It cannot be tolerated. It must be destroyed. And we must do it together."
—@POTUS on ISIL
dhs logo
Homeland Security @DHSgov
Remember: If you see something, say something. Report suspicious activity to local law enforcement. #SeeSay
red c logo on white
Chicago Bears @ChicagoBears
#CHIvsGB on Thanksgiving... the only thing better than stuffing.

DON'T MISS IT.
@potustl ~
by far my worst bot, and also the bot with the most followers, nearly all of whom don't even know what twitter bots are. follows every account that @potus follows and retweets everything they tweet. a constant stream of us government propaganda mixed with updates on all your favorite chicago sports teams. absolutely atrocious. I've decided to let it get to a few thousand followers, then think of ways to use it to spread discord among the masses.
the most boring man you ever saw, a rendered image of a statistically average human male face
Jo Bleu @consumer_ideal
They don't even make my favorite premium brands anymore
the most boring man you ever saw, a rendered image of a statistically average human male face
Jo Bleu @consumer_ideal
Are you a fellow fan of reality?
the most boring man you ever saw, a rendered image of a statistically average human male face
Jo Bleu @consumer_ideal
Colgate-Palmolive Company dodges taxes by hiding money offshore
the most boring man you ever saw, a rendered image of a statistically average human male face
Jo Bleu @consumer_ideal
I'm single
@consumer_ideal ~
jokebot. on hiatus, probably retired. tweets every twitter analytics category, determining which to tweet based on the percentages listed in the twitter analytics data. also it tweets disparaging accusations about random fortune 500 companies. I think I thought it was a clever statement or something.