Author Archive

unPopularPoe – Twitter Bot

gitHub code is HERE

Basic Design:

Although unPopularPoe falls short compared to Rob Ellis’ chat bot in “Creating at Chat Bot”, Poe has is own little quirks. Poe is a lonely bot, who would rather read his own poems than get involved with popular topics. As you can see by Poe’s twitter posts, he finds topics that are trending and compares them to his wonderful poetry. Remember…don’t be unPoepular!

unPopularPoe is implemented in Python, running off of a Heroku Server. This project ended up being more challenging than I expected, with most of my toils coming from the disconnect between the Tweepy program and Twitter API. Tweepy has yet to update some of their documentation, while the Twitter API is being constantly updated, causing frustrating inconsistencies with syntax. Another issue I ran into was properly traversing through lists where every element was a dictionary or hashmap. unPopularPoe retrieves all of the locations where there is trending information(as a json object) then selects one of those at random; It then retrieves the top ten trends from that random location, and selects a random trend from that list. Then it reads lines from an external file(the raven by Edgar Allan Poe) and states that the poem is so much better than the trending information from the selected location. As a cry for friendship, unPopularPoe follows all of its followers back. As it turns out, there was nothing in the twitter API to select hashtags that were specifically NOT trending, so I had to change my original approach.

Screen Shot 2015-04-30 at 4.54.53 PM

The Code Explained:

Screen Shot 2015-04-29 at 10.49.27 PM

Above we import all of our modules, and authorize sign in to twitter. A config file is imported with this information.Screen Shot 2015-04-29 at 10.49.36 PM

Then we check the credentials and upon passing we see two functions used to convert the unicode json objects to a slightly more readable format.

Screen Shot 2015-04-29 at 10.49.48 PM

This is the update status function, where the trend, location, and text are all passed in as parameters. It takes the input, and formats the text to remove spaces and hashtags so they can be inserted in proper locations. The bottom bit is how the file is read in.Screen Shot 2015-04-29 at 10.49.57 PM

Here is the followAll function, which checks that followers exist then follows all of the followers. This code runs on a random interval between 30 and 45 minutes. unPopularPoe gained 20 followers over night. Who in their right minds would follow this bot?

Screen Shot 2015-04-29 at 10.50.05 PM

This massive chunk is where most of the difficult stuff happens. Here the locations and trends are received, selected, formatted, and put in hashmaps and/or lists.The functions are called at the end, and there is a time.sleep() method which lets the code run on a random interval between 30 and 45 minutes.

That is a basic overview of how the code works, it’s all viewable in a gitHub repository link at the beginning of this post. In addition to this code, the bot is running on a Heroku server, which we saw in class.

I learned quite a lot from this experience and I certainly plan on making more twitter bots in the future. It should be much easier with the knowledge I have gained from this assignment.



Twitter Bot Update

If time permits I would like to attempt to make more than one Twitter bot. An ideal situation would be where I could make a more simple twitter bot using Javascript and Node, and a more complicated bot that would run on a server using Python. My goal for this assignment is to learn more about Javascript and its implementations and improve my knowledge of Python. After some research I found a Twitter library for Python called “tweepy”. Tweepy can be found via GitHub HERE, or if you have a mac and “pip” you can download it from the terminal.

Installing tweepy from the Terminal

Installing tweepy from the Terminal

The documentation on the tweepy website is very easy to follow and nicely laid out. I would definitely recommend using tweepy for anyone who is looking to build a bot based in python.

Tweepy Documentation

Tweepy Documentation

Bot Design:

My plan is to create a bot under the name “notTooPopular”. The bot will scan for hashtags that are specifically NOT trending and retweet posts containing the unpopular hashtags. Will the bot try and make unpopular topics trend by retweeting them? Or is it a bot that doesn’t like the spotlight and chooses to dwell in the unpopular? Who knows, but these are some questions that I’ve been wondering about. Jer Thorp mentions that “ The API can act as a clear connection… or shift modes and meaning as information is requested and relayed. “ This project plays off of this idea by using the twitter API to achieve the antithesis of what Twitter is currently trying to accomplish. The bot would be posting topics that no one is talking about or paying attention to, which is obviously NOT the way Twitter was intended to work. It might interesting to give the bot some kind of “personality” or anthropomorphic feel to it as well, rather than simply being a “machine”. Will the actions of the bot be taken more seriously if the bot has a “personality”? How does interaction change when people think they are responding to a human? The bot will use the Twitter API as a bridge between computer to computer, to create a disconnect between human/computer social interactions.

Early test

Early test

I’m hoping to continue my research on the subject to learn more about both the Javascript and Python implementations of the Twitter bot, as well as running the code from a server.

Twitter Bot Ideas

My goal for this assignment is to make a practical twitter bot. More specifically, a bot that people can use to help themselves/ their companies. I emailed a boss of mine at ClickOn asking how I might be able to use a bot to help the company, she responded saying (basically):

Is there a way to find out who our most influential followers are?

Is there way to find out who the most influential Golf or Pet Twitter accounts are?

We could really benefit from anything that assists us in learning more about our audience & desired audiences.

My friend that works at Droga 5 says they have a system specifically designed for Twitter that they can use to find out what their core audience is talking about. That could be something interesting to look into as well. Very valuable tool. We are always trying to find out what is on people’s minds but it is tricky when you are only shown 5 or so trending topics in the side bar.

Basic Bot Ideas:

“GossipBot” – posts based on reactions of others

“NotSoTrendingBot” – tweet topics that aren’t currently trending, artistic stance or maybe practical in hopes of getting new topics trending

“InfluenceBot” – Who are my biggest inspirations/influences? Who do I tweet the most/ who tweets at me the most?

“Trendbot” – Tweet about all trending topics + some more than the basic 5 suggestions

“Practibot” – Get real/practical data about a group of people/audience. What is being talked about, why, to whom are they talking…etc.

Text Manipulation – The Raven


The Raven – Edgar Allan Poe

Once a dreary, I weak weary,
Over a and volume forgotten –
While nodded, napping, there a of one rapping, at chamber –
“‘Tis visitor,” muttered, at chamber –
Only and more.”

Ah, I it in bleak each dying wrought ghost the I the – I sought borrow
From books of – for lost –
For rare radiant whom angels Lenore here evermore.

And silken, uncertain of purple me filled with terrors felt that to the of heart, stood some entreating at chamber –
Some visitor entrance my door; it and more.”

Presently soul stronger; then longer,
“Sir,” I, Madam, your I the is was and gently came so you tapping, at chamber I was I you” here opened the –
Darkness and more.

Deep that peering, I there fearing,
Doubting, dreams mortal dared dream the was and stillness no the word spoken the word, I and echo back word, –
Merely and more.

Back the turning, my within burning,
Soon I a somewhat than said “surely is at window me then, thereat and mystery –
Let heart still moment this explore; the and more!”

Open I the when, many flirt flutter,
In stepped stately of saintly of the obeisance he; a stopped stayed with of or perched my door upon bust Pallas above chamber –
Perched, sat, nothing this bird my fancy smiling,
By grave stern of countenance wore,
“Though crest shorn shaven, I “art no grim ancient wandering the shore me thy name on Night’s shore!”
Quoth Raven I this fowl hear so its little – relevancy we help that living being
Ever was with bird his door or upon sculptured above chamber such as the sitting on placid spoke one as his in one he outpour.
Nothing then uttered not feather he –
Till scarcely than “Other have before the he leave as hopes flown the said at stillness by so spoken,
“Doubtless,” I, it is only and from unhappy whom Disaster
Followed and faster his one bore the of Hope melancholy bore
Of – the still my fancy smiling,
Straight wheeled cushioned in of and and upon velvet I myself linking
Fancy fancy, what ominous of –
What grim, ghastly, and bird yore
Meant croaking I engaged guessing, no expressing
To fowl fiery now into bosom’s and I divining, my at reclining
On cushion’s lining the gloated whose violet with lamp-light o’er,
She press, nevermore!

Then, the grew perfumed an censer
Swung Seraphim foot-falls on tufted I “thy hath thee by angels hath thee
Respite respite nepenthe, thy of oh this nepenthe forget lost the “Nevermore.”

“Prophet!” I, of – still, bird devil! Tempter or tempest thee ashore,
Desolate all on desert enchanted this by haunted tell truly, implore there is balm Gilead? tell – me, implore!”
Quoth Raven said “thing evil prophet if or that that above – that we adore this with laden within distant shall a maiden the name –
Clasp rare radiant whom angels Lenore.”
Quoth Raven that our in bird fiend!” shrieked, –
“Get back the and Night’s shore!
Leave black as token that thy hath my unbroken! quit bust my thy from my and thy from my the “Nevermore.”

And Raven, flitting, is still sitting
On pallid of just my door;
And eyes all seeming a that dreaming,
And lamp-light him throws shadow the my from that that floating the be –


Andrews-MacBook-Pro-3:SSHW MrPC$ node flesch.js raven.txt
Total Syllables: 1560
Total Words    : 1072
Total Sentences: 61
Flesch Index   : 65.88568265231221

This is case sensitive!

Andrews-MacBook-Pro-3:SSHW MrPC$ node search.js raven.txt raven
Andrews-MacBook-Pro-3:SSHW MrPC$ node search.js raven.txt Raven
Raven of
Raven wandering
Raven “Nevermore.”

Raven still
Raven “Nevermore.”

Raven “Nevermore.”

Raven “Nevermore.”

Raven “Nevermore.”



For this assignment, I chose to analyze Edgar Allan Poe’s “The Raven”. I chose this poem because I was curious to see how the language/writing would look when analyzed and manipulated. I ran the text through the “everyother”, “flesch”, and “search” scripts.

The “every other ” program produced interesting results, an entirely new poem! The interesting thing is, since the chosen text is not pros any form of manipulation could be considered art! So after the txt was manipulated, a whole new work was produced and at points comical.

The next piece of code was the flesch test. This test produced results that you would expect… nothing out of the ordinary there.

Finally the search script, searching for the word Raven. The important thing to note here was that the search word is case sensitive! (talked about in class ‘God vs god’)

I’d be interested to take some of the code examples and modify them to produce more interesting results. I’d like to change the “every other” code to maybe have several functions within that are chosen randomly upon running. Maybe one to give you every other word, one to give you words on either side of periods, etc… you could run text through the program and create poems or interesting works of art. I thought this was interesting and fun, as well as potentially very useful.

notiCRY – Alissa Milano, Emily Locke, Andrew Kaplan

Project Brief and Design Rationale for “notiCRY”

Alissa Milano – Emily Locke – Andrew Kaplan

Project Brief:

We want to create an emotional/social prosthetic that senses when the user is crying or distressed.  Once activated, the device will contact one of the users friends to let them know.
  • Privacy
  • Defy common gender norms, sociological blocks, and assumptions of emotions
  • Peoples ability or inability to ask for help/show vulnerability
  • Digital devices having control over how humans handle their emotions
  • Question how much our devices should be involved in our emotions.
  • Is it healthy? Does it invade our privacy?
  • Question gendered assumptions of emotions/crying
  • Everyone.  
  • People who have trouble asking for help.
  • People who have trouble crying.
Relation to Social Software
  • Breaching social norms and demonstrating other uses for ‘common’ things.
  • Alternate uses and future possibilities for common devices/technology
Design Rationale:
View the code HERE
This project was coded using a scripting language called “Python”. In order to interact with the Arduino board, some steps had to be taken. A protocol called “Firmatta” used by the computer to communicate with the Arduino board had to be flashed to the device memory via the Arduino IDE. Next, a Python library called “BreakfastSerial” had to be installed. BreakfastSerial is built on top of pyFirmatta, thus abstracting away some of the more complex aspects of the Arduino board making it easier to use. The code interacts with a third-party API library called “Twilio” which is used to send text messages to a registered phone. 
We chose to code this way for two reasons;  We are much more proficient programmers in Python, and this is something we would find useful in everyday life. Python is a very powerful language to use, that is extremely easy to write in. Many thanks to the developer “Swift” for coding a Python library for Arduino! Other alternatives that were considered were: “Sendgrid”, “Lithouse”, “Temboo”, “IFTTT”, and using the Arduino IDE with Processing. The method we used was tricky to set up, but very easy to use and implement. 
Physical Design:
The basic schematic is shown below, with a few minor changes. Instead of a button, we use two moisture sensors, when they sense moisture the circuit is completed. This schematic also excludes the LED that is connected to the board. The moment the circuit is completed, a condition is satisfied in the code that begins sending a predefined message to a registered number.
In theory, it would be nice to have a fully wireless device, however the required part was upwards of 100$ which was out of our budget. For now, our board must be connected via serial with a computer to send messages to the phone. The board, and moisture sensors are located within our hat and glasses contraption. Two moisture sensors are located just beneath the eye, if either sensor detects moisture, the circuit is completed and the message is sent. 
We are trying to target all audiences, so we attempted to make our design as androgynous as possible. Time will tell if we were successful!

Google Use Log

10:46am Friday February 13th – Dear diary, I almost had a relapse this morning. I promptly ported my plethora of open Google Chrome tabs to Firefox, only to realize that with every newly opened Firefox window my homepage Google was staring me down face to face. I quickly entered into the search bar, carefully typing the url as to not evoke an unwanted Google search on “bin.gcom” or some other mistyped url. Only moments later did I realize how close I was from utter failure, one little character could make all the difference. A simple period holding all the power within it’s little pixelated blackness. Dear diary, I’m scared. This is my first entry, it will certainly not be the last. Lord help us.

3:14pm Friday February 13th – Dear diary, I can’t bring myself to turn my back on the amazing inspiration contained within my open Youtube tabs. I was finger twitches away from yet again another relapse. An opened Youtube page, lying dormant, one click from being watched. My self control is dwindling and my mental stability is not far behind.

3:17pm Friday February 13 – Dear diary, Bing is terrible. I can hear the colorful ‘Os’ of the Google logo calling my name. Whiispeerrrrrss echo in the halls….The sweet overtones of the network giant have been hard to overcome.

3:18pm Friday February 13 – Dear diary, Bing is still terrible. TO HELL WITH YOU GOOGLE ! ABSTINENCE IS THE ONLY WAY!

3:23pm Friday February13 – Dear diary, I am being taunted. “Get to Google Faster. Switch your default search engine to Google.” is what the beautifully styled blue banner read. I shielded my eyes from the downright fallacy implied by the enticing blue text. Only time will tell if Google’s public projection is terrible prevarication or not. 6 days, 152 hours, 9147 minuets, 548863 seconds…but who’s counting.

3:46pm Friday February 13 – Dear diary,  I sent an email to my mother using no other server than Google’s Gmail. I have failed you.

5:23pm Friday February 13 – Dear diary, I checked my Gmail. I knowingly broke the rules! I COULDN’T HELP IT! *Sheds tear* *Shows remorse*. I’ll be stronger next time! DAMN YOU GOOOGGGLLLEEEEEE!

5:52pm Friday February 13 – Dear diary, I clicked a link not knowing it would bring me to Youtube’s Googley lair. I continued to watch the video. I’m a filthy human.

6:38pm Friday February 13 – Dear diary, all of KhanAcademy videos are hosted through Youtube. I had to watch some. I HAD TO DO IT! IT HAD TO BE DONE! I’ve failed again. This has been my fourth failure of the day.

5:27pm Sunday February 15 – Youtube access.
5:09pm Monday February 15 – Youtube access.
2:34am Tuesday February 17 – Youtube access.
3:56pm Tuesday February 17 – Youtube access.
1:39pm Thursday February 19 – Dear diary, ‘Youtube’ and it’s fiery red logo have bested me again!

Regardless of the comical (or not) quality the above entry possesses,  this exercise has raised some very important and meaningful questions. To name only a select few: How much do we (as a society) depend on the connective service of the internet? What will it mean if the internet becomes run/owned by several large corporations? How will this affect society?/The way we share information? Who owns the information we share?  How does the monopolization of the internet affect the way everyday users interact online? Does that interaction affect our real world social interactions as well? Many of these questions have been touched upon in class discussion and as you could imagine, most of them don’t have clear cut/well defined answers.

The important thing to remember is that we are talking about these topics, thinking about them, and becoming aware. A well informed society holds much more power than an ignorant one. The more naive a society is to the forces working against them, the more susceptible they become to the dangers of power hungry network giants (google). “These days, whether you are online or not, it is easy for people to end up unsure if they are closer together or further apart” – (Turkle, Alone together pg24) Turkle hints upon the idea that unaware users are becoming increasingly more disconnected as the internet grows. This is in part, due to the social shroud big companies like google have created, hiding their internal workings from the general public. These companies are making it very difficult to abstain from everyday use, thus creating an inherent dependency that nearly everyone with internet access is experiencing . “The technology has become like a phantom limb…it’s so much a part of them”-(Turkle, “Alone again” pg26). The danger here is not so much the technology, but the lack of understanding and the ‘blindness’ our society is experiencing. This exercise has helped me step back and realize how much I depend on a service (google). The exercise has raised questions I wouldn’t normally think about, it has helped me become more aware, and has helped me mentally break away from the zombified network based society we have become a part of.

Exercise 3

  “Helping dan get a ‘kick’ out of life” :

For this weeks exercise, I interviewed my suite mate Dan (non-fictional character). He mentioned that he really liked finding cool bass drum sounds for his music, so I created an IFTT recipe to help him find his ‘kick’. Every time a new top post is made in the /r/deephouse subreddit, a Facebook link post is made with Dan’s name tagged in it. So far, the app hasn’t been triggered, but that is most likely due to the reddit comment and post ranking algorithms. The ‘top’ algorithm is designed in such a way that a new top post doesn’t happen every five seconds. So, hopefully when the IFTT recipe is triggered, Dan will have caught his “fattest kick” yet(or at least been inspired by something from the subreddit!). At first, I was skeptical of the app IFTT, I didn’t feel like you could really go that in depth with the recipes. However, under further inspection I became quite interested in the things you could actually use this app for. I haven’t thought up any crucial recipes that I would use in my everyday life yet, but I’ll post if I think of any really interesting ones!



Here’s the transcript from the interview!

How do you use digital technologies to pursue interests/relationships/people?

“I favor personal relations ships over digital ones, I try to stay away from social media as much as possible when regarding relationships, especially with Facebook. I don’t like to over do it.”

How do you feel about the various platforms you use? What are your favorites? Why?

“ I tend to gravitate towards Twitter and Facebook. I like both, but prefer Twitter. Twitter is just a mindless constant feed, that you can just free ball and have fun with. It’s interesting to see what people are up to.”

What are your biggest interests?

“Kick drums! hahaha and music.”

How can the internet help you with your interests?

“The internet makes finding samples for music/kick drums so much easier. Also you can find a bunch of software plugins online for DAW programs like Logic. I also enjoy hearing other peoples samples and getting inspired to create something of my own.”

If you could, how would you use these tools differently?

“I would really like to be able to musically collaborate with someone. By musically collaborate, I mean like…real time, that would be neat.”

(I want to think up some sort of recipe for this ^)

“I got two grams for 40$!” – Social Media Breaching



I choose to bend the rules of the “TXT space”/Relationship between parents and children.

As you can see above, I sent my mother a text saying “Got 2 grams for 40$!”, then “Ignore that, wrong person”. She quickly replied with a text, and a call, which I purposely didn’t answer. She sent another text shortly after that. I waited about 15 minutes and decided to call her and tell her the truth so she didn’t order an assassination. I tried to explain what had just happened, but she was hesitant to believe. She told me she “Just about had a heart attack….Was about to come to Purchase and kick your butt!”. Obviously, she was quite upset about the whole ordeal.

I found this whole experience exiting! For some reason, I felt like I was in trouble even though I knew I was innocent, which I thought was interesting. I was eager to see how my mother would handle the whole ordeal, her performance was as expected. This experiment breached the usual relationship you might have with a parent. Most children don’t share that they have bought an illegal substance to their parents. This was interesting to say the least! I still have some adrenaline running in my system.

Social Breaching: Uncomfortable hair touching

Social breaching experiment focusing on conversation etiquette.


I was given the task of touching peoples hair during social interactions. This breaches the normal social etiquette that happens when two people are engaged in conversation. Most subjects became uncomfortable, fidgety, anxious, backed away, or exhibited some sort of negative physical behavior. The people I was interacting with previously knew me, I’m sure the results would be drastically exaggerated with random subjects. I didn’t engage with random people since this experiment involved touching.


Week 1 Reading: Summary and Discussion Questions

The readings can be found below:


Points touched on in readings/ Brief summary: 

“Here comes everybody” – Clay Shirky:

Collective action, group function and the affect on society, viral growth, social visibility, judgment, public scrutiny, online power, transfer of capabilities formerly only found by professionals to the hands of the public, global publishing cost. These are some of the points Shirky hit on in the first chapter of “Here Comes Everybody”. In the first chapter, Shirky explains how we are all now a large connected entity. The power of the collective now lies in the hands of the public, never further than a click away. The ability to reach out and touch the lives of thousands, offer advice, seek help, and share upon the interests of others are all things that every one of us now has access to thanks to the World Wide Web. Shirky demonstrates that we hold a new power in the palms of our hands, the ability to connect and tap into the minds of many.


“Backspace to the future: The Dislike Club Part 1” – Benjamin Walker:

One night while sitting at home, drinking beers on the couch and browsing twitter, Benjamin Walker decided to create the website “”. He posted a tweet that offering people shell accounts upon request, shortly to find out that the whole idea was going viral. Many people made “tilde” sites and posted things from ASCII art to retro web code. Benjamin wanted people to “Not feel like they were under siege when they were expressing themselves”. Walker goes on to point out that inhabitants of the 21st century have a newfound focus… “The screen in my hand”, which makes it “impossible to get lost” in todays world. Modern social media has created a vicious social media loop, where people are constantly browsing between various social media pages instead of enjoying their real lives. It’s been “15 years of signing up!” and “staring at screens” says Walker in his blog. At the end of the blog, Walker thinks about creating incentives to help people “like the disliking”.


Discussion Questions:

1. How has socialization changed since the assimilation of social media/ the internet into our daily lives?

2. What are the pros and cons of this “new” way of socializing?

3. How do you think modern methods of socializing will affect the youth of the twenty first century?

4. Does social media change how we interact offline? How?

5. How has being connected helped give power to groups?

6. Clay Shirky hinted that the internet could behave as a sort of pseudo army. What do you think?

7. Has the internet created an “I want everything, and I want it now” society? How does this influence social interactions?

8. Do you agree or disagree on the points touched on in the readings? Why or why not?