EROFT: Final – #EchoChamber

For my final, I decided to continue iterating on what I did with Meditation 4, the performative twitter #EchoChamber.

I originally created a slide show where I handpicked current trends in the media on twitter, whcih a few days ago (in NYC) included #SeanSpicer, #United, and #Syria. However, I thought it would be more interesting if the performance was linked in real-time to whatever the top trending hashtags were. So, I wrote a script using tweepy to scrape the top 10 twitter trends for NYC and had the program randomly select one to print to the console.

For performance purposes, I wanted to show the hashtags nice and large on a projection. So, I bundled the code into a Flask web app.

Here’s the github repo:

For the actual experimental performance, I asked some friends to assist me. We gathered in Room 50, where the chairs were already set up lecture style and I explained the process:

1. Find a partner, make sure you have their phone number
2. Call the partner and put both of your phones on speaker mode, with the volume turned all the way up.
3. Sit close to one another.
4. When the screen changes, say the first word or phrase that comes to mind and keep repeating that phrase, or alter it as you see fit until the screen changes
5. Repeat until performance ends.

I documented the performance, which can be seen here. As someone who doesn’t frequently document audio performances, I certainly learned a lot. Mostly that the sound quality on the Mark II sucks. I would definitely find someone to do documentation for me, since trying to do both wasn’t very effective.

As far as the live performance, I was very happy with how it went and everyone who participated said they really enjoyed the experience and had a lot of fun. I ended up sitting in front of everyone so I could control my laptop, but it also enabled me to observe the group’s reactions and subtle shifts in energy as the performance went on. They seemed eager to see what would come next and how rapidly their subconscious would respond. They were eager for certain hashtags to repeat, because they already had a chant ready. Seeing the effect that a person had on others was interesting, as some would change what they were saying after hearing a different response from their neighbor.

If I were to do it again, I might go back to curating trending topics (though I think this would also speak to my own bias). The responses to certain topics really showed how recognition reflects an individual’s background and more general trends across the ITP community in terms of interests or knowledge. Also, sports? I didn’t realize how much people use Twitter to talk about sports. Then again, I don’t really use Twitter a whole lot. Another change I thought about making was that one person would start each response, with others repeating that one phrase. I also think the addition of audio equipment, mics and speakers – or a more intimate space – would also make an acoustic difference.

Thanks to Allison, Paula C., Wipawe S., Aaron M., Corbin O., Dana A., JJ E., Jordan F., and Annie G., for helping me realize this wacky performance idea.

19. April 2017 by zoe.bachman.itp
Categories: EROFT | Tags: , | Leave a comment

EROFT: Meditation 4

What does it mean to communicate in a collective sense? I think of our networked selves, the twitter feed as the new greek chorus, collective twitter groups that speak but are seen as singular (ex: “black twitter”).

I scraped several of my classmate’s public twitter feeds, combined them into one document and then used Allison’s markov program that I used in my RWET final to generate a few lines of text.

But…I wanted to do something with this text. I started thinking about interesting collective, electronically-mediated experiences that I’ve had and remembered this Low Anthem concert I went to some years ago that had an incredible bit that involved cell phones. I wondered if I could combine some of the scraped text with this cell phone trick.

I downloaded the gTTS module to have the computer speak the lines (it saves the file to an mp3). Then I got six people to help me try the experiment out, while the mp3 file played off of computer speakers. The overall ambient noise effect was cool, but I think it would be more effective with more participants and maybe more ambient noise. I also wonder if it would be more effective if I spoke the lines rather than the computer.

But…Something about the twitter scraping bothered me – that these were constructs rather than something of the unconscious (though we know many tweets that have been sent off without a thought.) What is a subconscious tweet? How do we elicit one?

What if everyone said (into their phone) the first word or string of words that comes to mind when I show an image or headline? Then it’s just this cacophony of noise but also like, a literal echo chamber.

So proposal for a performance, ECHO CHAMBER:

Everyone takes their cell phones out.

Begin by having people pair off and one person (the “caller”) gets the phone number from the other person (the “callee”). The caller then calls the callee and both put their phones on speaker mode and set them next to each other. Adjust volumes as necessary and play with physical the space between the phones.

Facilitator begins slideshow and people say the first word, phrase, or sentence that comes to mind into their phone.

Repeat until we get sick of the noise in our bubble.

(I wonder what this would be like with all the computers saying the scraped tweets out-loud.)
(Also, I definitely get this 1960s contemporary artist voice when I write out performance instructions.)

11. April 2017 by zoe.bachman.itp
Categories: EROFT | Tags: , , , , | Leave a comment

EROFT: Meditation 3

This week I combined selenium web browsing with scraping and NLP to create a wikipedia prophecy generator, or wiki-omancy. When thinking about “-omancy” possibilities I broke down the typical structure – it involves some user input/action, some randomness, and a parsing of the result to give a prediction.

My original inspiration was the process of going to a wikipedia page to look something specific up and then inevitably browsing through a connected series of links until you land on a page that has no resemblance or relationship to the first article. I can do this shit for ages.

I took some of my code from the first meditation (Selenium) and combined it with code from my second meditation (BeautifulSoup and TextBlob). The program asks the user to input what they’re seeking (in one word). This generates a wikipedia URL, which Selenium brings up and BeautifulSoup scrapes the article contents and stores it in a list.

Now, what I wanted to do was have the page identify all the URLs in the article, select one and go there and repeat the webscraping process. However, I was getting the links with the tags and after wrestling with it for a bit I moved on to plan b (I have those functions commented out in the top part of my code.)

Plan b was to take advantage of the ‘random page’ url that’s on the left nav bar on every wikipedia article page. So, once it goes to the first page based on user input, it generates three random pages and stores their contents as well. Then, the program uses a combination of the stored content with verb lists and some mad-lib style structure to generate a unique prophecy based on the browsing ritual.

Overall, I’m pleased with how it ended up. I would like to debug the article links selection and use that instead of the random article link. I’d also like to do more in the prophecy to get at the patterns and relationships between the random selection, somehow give more meaning to that randomness.

Here’s the code on github:

05. April 2017 by zoe.bachman.itp
Categories: EROFT | Tags: , , , , , | Leave a comment

EROFT: Meditation 2

Invent your own “oracle deck.” Your deck doesn’t have to be a physical object (though it can be). Keeping in mind the formal characteristics of cleromancy discussed in class, consider how digital media can complicate/diminish/augment the parts and processes of a reading. (Some questions to get you started: Who gets to participate? Can a computer program be a “reader”? A “querent”? What can a “card” be? What can a “deck” be?)

I’ve always been fascinated with the Missed Connections section of Craigslist. The idea that we can use an internet as a tool to rectify a situation, to get in touch with that girl on the subway or the guy you met at 2am in the bodega. Actually, a close friend of mine and her fiancé are together because of Craigslist.

My thought was to use BeautifulSoup to scrape the titles from the Craigslist Missed Connections, parse them for noun phrases using TextBlob and let each of these phrases be a “card” in my oracle deck. I was going off the common knowledge that people tend to craft their craigslist postings meticulously and thus each word holds significant meaning – particularly nouns. The program then selects three noun phrases for a reading.

In this case, the querent and the reader are the same person (whoever is using the program), though it would be interesting to take some of these noun phrases and possibly use synonyms to establish meanings (or even just randomly assign them) and have the computer give the reading.

One things that’s interesting is that this “oracle deck” is date and time dependent – depending on when I choose to scrape the website, the deck can shift depending on the noun phrases present.

Here’s the code on GitHub:

– have each noun phrase send a call to google images
– have the program produce a meaning using sourced synonyms
– use ASCII art ( I <3 ASCII art) - Flask app

29. March 2017 by zoe.bachman.itp
Categories: EROFT | Tags: , , , | Leave a comment

EROFT: Meditation 1

I’ll be the first to say that my ritual is rather…boring.

But if there’s anything I learned during my time in anthropology, it’s the things we find the most mundane that tell us the most about our value systems and structures of meaning.

So with that being said, I thought about a ritual I practice everyday with my laptop – that is, the ritual checking of my email and facebook before I do anything else. Pretty much without fail, if I open up an internet browser I first check my email and then I’ll check facebook…and then I might check my email again…and maybe go back to facebook.

Being in grad school, this mostly feels like a procrastination tactic. But I know it’s intended to be a way for me to quickly check in on the state of things before I move on with my day. I feel compelled to quickly check in and see if I missed out on anything and once I feel sated, I move on with my day (or until like, 5 minutes later when I see if I missed anything new).

Of course, part of this is the dopamine from notifications, mentions, etc. I think it also has to do with the constant re-ifiction and re-establishment of our place on earth. To borrow from Althusser, when we are called we come into (political) being. As Wendy Chun would say, “to update is to remain the same.” So every time we receive an email or get a facebook notification we can be reminded of our continued presence. Our materiality. Perhaps our own mortality…

So, I decided to automate this process using a very magical process known as headless or phantom browsing. Using a selenium webdriver, I wrote a python program that opens the browser, logs me into gmail and scrolls, then goes to facebook and scrolls. Then based on a random number it goes between the sites a few more times.

Here’s the code on github.
Here’s a video (pw: itp)

22. March 2017 by zoe.bachman.itp
Categories: EROFT | Tags: , , | Leave a comment

HSF: Final

For our final, Corbin and I continued to build out the world of HEIST. We added several new features and components to enhance our vision of what the game could be in terms of narrative, navigation, and aesthetic.

We added in a phone component that assisted the player in journeying through the space. Each time the user clicks on the phone it prompts them to visit a specific location in the world. The phone guides the user through a linear narrative, beginning in their apartment, going to speak with friends and visiting a protest at the bank.

We also prototyped dialogue in different scenes, such as the protest and a meeting with a neighbor. Ideally, we’d use an interface/plugin such as Twine to organize the narrative and dialogue. For now it’s written out as one large image file so it can be read through.

A few days before our final presentation we had the opportunity to meet with an employee of SOS Brooklyn, David Grant. We spoke with Davoid for several hours, learning both about this history and work of SOS Brooklyn as well as his personal history and relationship to gun violence. Dave does a lot of outreach for SOS Brooklyn and was able to fill us in on various components of the program. We showed him the game and he was very excited about the possibility of collaboration. We discussed working with their youth group, YO SOS and doing workshops where we teach them about game design, working in Unreal and ultimately creating a game together. David talked about how there’s a lack of educational and positive games out there for kids and was interested in using the aesthetics and gameplay of something like Grand Theft Auto but altering the message. We discussed centering the story on a teen who learns about mediation and positive actions through a branching narrative. He would encounter different situations based off of real experiences that youth have had and the user would have the opportunity to choose how to get involved, or not.

We originally were planning on filming David in 360, but decided in the end that we should use this first interview as an opportunity to get to know him and the work he does with SOS Brooklyn better. Rather than including 360 video in the game as we had previously prototyped, we decided instead that it would try to scan people to create a 3D modeled version. In the latest version of the game we prototyped this by using Mixamo and Adobe Fuse.

Corbin and I hope to continue this collaboration with SOS Brooklyn, possibly as an XStory research project.

20. December 2016 by zoe.bachman.itp
Categories: Hacking Story Frameworks | Leave a comment

Learning Machines: Final Project Proposal

I drew so much this weekend, it's a pretty good feeling. —IsabellaTeen girls occupy an interesting place in Western cultural imagination. It’s a fetishized state where women are beginning to see that the rest of society sees them as objects and sexualized creatures. The obvious example is Lolita, but other narratives such as Thirteen and even Clueless and Mean Girls come to mind.

In 1999, Tiqqun published a monograph, ‘Preliminary Materials for a Theory of the Young Girl’ which details how capitalist society is oriented towards the teen girl as ur consumer: ” Tracing consumer society’s colonization of youth and sexuality through the Young-Girl’s “freedom” (in magazine terms) to do whatever she wants with her body, Tiqqun exposes the rapaciously competitive and psychically ruinous landscape of modern love.”

I took Allison Parrish’s class ‘Reading and Writing Electronic Text’ in the spring and got to experiment with writing programs to craft text from multiple corpuses. My final project for that class was a re-visiting of my high school blog, sugaredlemon (still my handle online). I created a next iteration of the blog that was populated with new blog posts, written using six years of my own writing and markov chains. One of the things that I found most interesting was the linguistic peculiarities of both internet-speak of the early aughts, teen girl speak, and my own particular phrases.



How does what exists online about teen girls conform to or break away from a vision we maintain? Is it possible to create a teen-girl’s voice and actions and what does that say about teen culture and visibility? What is the style and aesthetic moment that we’re in that draws inspiration from 90s teenage girls? What power do they hold? What do their words and actions say about our society? How does mess and hormones play with sleek technology? How does confession play a role?

My first idea is to create a fictional teen girl, instantiated through an auto-generated online diary or My ideal would be using the form of the diary, which while sites like Xanga and LiveJournal are relics of a different web though it seems teens still keep pen and paper diaries. Websites for woke teen girls like Rookie actually have a diary section.

My second idea is to make it more relevant by utilizing platforms that are currently popular with the demographic, like Snapchat and Instagram. Would involved more of an image generation, but comments would also be important.

Of course, I can’t go any further without a mention of Tay, Microsoft’s glorious fail of a twitter bot.

Following many others, Tay is a female-gendered AI/bot. What’s interesting for me about Tay is the mystery with which she was developed. Microsoft simply says that she was trained using “public data” and from reading some of her tweets, they were at least using some actual teen speech (“new phone, who dis?”). For more, this Quora article does some detective work plus Microsft released a platform based off of what they used to create Tay to allow others to build chatbots.

What would it mean for it not to be a space of interaction but rather render it as this somewhat fleshed-out online model? Could she be programmed to create certain amazon wish lists? Spotify playlists? Basically, what generative potentials exist beyond text?


EDIT: turns out, shopping bots are a thing and Darius Kazemi made a random Amazon shopper  and Nike Shoe bots are apparently a real problem.


Depending on what direction I take…but most likely TensorFlow in any case.

If I deal with images, I’ll be using Clarifai’s API (particularly image concepts). As well as looking into this MIT research that has come up with some really interesting generative videos/animations.

If I’m dealing with text, diving into natural language processing such as NLTK or Stanford’s Core NLP (though it’s in Java…). Google has some interesting white papers, as does Microsoft.




Finding an automated way of scraping the web/texts (web crawlers?) to create a corpus of visual or textual content

Simplifying, choosing one form of output (Snapchat? Amazon?)

What algorithms to choose


Other random project ideas:

VR and machine learning (Google: deepdream in daydream)

Same as above, but with internet trolls

Generative intimacy images (generate video/images trained on pictures of people holding hands, hugging, kissing, etc.) (teach a robot how to love)


07. November 2016 by zoe.bachman.itp
Categories: Learning Machines | Tags: , , , , | Leave a comment

HSF: Final Project Progress

Switching gears, Corbinti and I have started working together off of his midterm, HEIST. I was particularly drawn to the story that Corbin uncovered – while I’m already very familiar with the evilness that are banks, this particular connection to gun manufacturing is particularly compelling. I think this is mostly due in part to the work Letitia James is doing to call out banks in relation to mass gun shootings.

(1) Frame the problem (WHY)
Banks, such as TD Bank are funding gun manufactures like Smith and Wesson whose products have been used in recent mass gun shootings such as the Orlando Pulse nightclub shooting.

(2) What’s the story / idea
Continuing off of Corbin’s midterm, we are going to continue building out the story/art game. We’re going to include interviews shot with Depth Kit of several stakeholders – policy experts, families affected by gun violence and activists as examples. There will also be an IRL campaign, such as stickers and flyering as a way to bring awareness to this ongoing campaign and the game itself.

(3) Inspiration / References


One of the most interesting uses of game technology, Never Alone was designed by Alaskan elders to pass down their culture. Thin it can be a good reference in education and first-person game design.

(4) Next steps
– Contacting SOS Brooklyn
– Meeting with Letitia Jame’s office
– Writing a storyboard/script
– Coming up with interview questions
– Finding interview participants
– Testing out depth kit
– doing the interview and incorporating them into the game
– Designing a trans-media, street art campaign to coincide with the release of the game (Winter Show)

05. November 2016 by zoe.bachman.itp
Categories: Hacking Story Frameworks | Leave a comment

DIY-VR Midterm: learn HOW TO KISS in VR

HOW TO KISS VR Presentation

31. October 2016 by zoe.bachman.itp
Categories: DIY-VR | Tags: , , , , | Leave a comment

HSF: TechnoloWitch

TechnoloWitch is a twitter-bot that casts spells and generates a new kind of tech language.


Historically, witches have been symbols of female/queer power and a threat to the patriarchy. More recently, occult aesthetics and practices have been undergoing a resurgence and riding (or driving?) the wave of fourth-wave feminism. How can we use the language and aesthetics of spell-casting to generate new discussions, experiences and culture in the tech world?


Technology has long been seen as a form of magic (see: Alfred Gell’s “The Technology of Enchantment and the Enchantment of Technology” (1992)), however the creators of technology start ups and products have more of then not been framed as men. Years of women’s work in computer science and technology were overshadowed by the rise of personal computers in the 80s and 90s, with computers being advertised as a toy for boys. As women were becoming more successful overall in fields like medicine and law, computer science plateaued and then tanked.

There are many initiatives to increase specifically gender diversity in the Tech world. But rather than focusing on bringing people into computer science, we should also consider what can be done to get them to stay.


When asked about why they leave, the most frequent response is that the dominant culture of silicon valley is toxic to women and other gendered beings.

In comes TechnoloWitch.

TechnoloWitch seeks to present an alternative narrative using a technological, social media platform, of what tech culture can be. Using language and humor, the twitter bot crafts spells that people can use to cure their technological woes or to curse those who create trouble. At the moment, were using a mad lib style format to generate text. We then populate the skeletal sentence structure with words randomly chosen from several lists such as: spell names, occult references, verbs ending in -ing, fem-tech hashtags and technology related nouns. These lists themselves are a combination of found JSON files (like Darisuk’s corpora) and constructed arrays.

Since we started the bot we’ve already received several followers, most likely due to the inclusion of hashtags. We plan on continuing to experiment with the text generation element and include the bot in the upcoming Botness conference to be held at ITP on November 4-5

25. October 2016 by zoe.bachman.itp
Categories: Hacking Story Frameworks | Leave a comment

← Older posts