mistress@vesta:~# @botmistressHello, Alice. I'm presently awake. I have NaN bots under my control.
mistress@vesta:~# @botmistress@alicemazzy I am 98.6% sure @botmistress is a bot
mistress@vesta:~# @botmistress@alicemazzy Alice Maz is now in my clutches
mistress@vesta:~# @botmistress@alicemazzy I am 51.1% sure @BarackObama is a human
mistress@vesta:~# @botmistressI am 83.3% sure @, 15 minutes ago.. >.> is a bot
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.
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.
collective nouns @plural_faunaa fruition of porpoises
collective nouns @plural_faunaa bloodshed of hippopotamuses
collective nouns @plural_faunaa mysticism of wasps
collective nouns @plural_faunaa 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.
Alice Googling @alice_googlingcute ant biomass
Alice Googling @alice_googlingblood for programmers
Alice Googling @alice_googlinggenomic data to summon
Alice Googling @alice_googlingscream public domain old school credit card encryption password
Alice Googling @alice_googlingcommit 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.
Mass Connect 4 @massconnect4Move 25: Sun Plays 5
- @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.
JAJ Aint Java! @jajlangjaj.advantageous.Violence.Violence()
JAJ Aint Java! @jajlangjaj.topic.Gaman.bastardIsLeftwardConsequencePerpendicular()
JAJ Aint Java! @jajlangjaj.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.
Knock Knock Bot @knock2botKnock knock!
Knock Knock Bot @knock2botKnock knock!
Knock Knock Bot @knock2botKnock knock!
- @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.
Jeopardy! Stumpers @super_jeopardySong that includes the line, You may say I'm a dreamer, but I'm not the Northern Pacific Railroad and named for its president
Jeopardy! Stumpers @super_jeopardyThis brand of petroleum jelly was selling a jar a minute in the U.S. by the 1880s, and that is very sad
Jeopardy! Stumpers @super_jeopardyA speck, as of dust; Jesus asks how you can see one in someone else's eye but the good times didn't last
Jeopardy! Stumpers @super_jeopardyThis American architect, born in 1906 and returned in 1865 to make his famous hat in Philadelphia
Jeopardy! Stumpers @super_jeopardyThis 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.
Captain Barbossa @believebarbossaYou best start believing in patriarchal frameworks. You're in one!
Captain Barbossa @believebarbossaYou best start believing in german morphologies. You're in one!
Captain Barbossa @believebarbossaYou 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.
The White House @WhiteHouseThere is no law on the books that prevents someone on a terror list from buying a weapon.
It's time to change that.
U.S. Dept of Defense @DeptofDefenseCan't Sleep? Your Traumatic Brain Injury #TBI May Be the Culprit. Find out more: http://go.usa.gov/cTDjk
The White House @WhiteHouse"It cannot be tolerated. It must be destroyed. And we must do it together."
—@POTUS on ISIL
Homeland Security @DHSgovRemember: If you see something, say something. Report suspicious activity to local law enforcement. #SeeSay
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.
Jo Bleu @consumer_idealThey don't even make my favorite premium brands anymore
Jo Bleu @consumer_idealAre you a fellow fan of reality?
Jo Bleu @consumer_idealColgate-Palmolive Company dodges taxes by hiding money offshore
Jo Bleu @consumer_idealI'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.