Wednesday, December 9, 2015

Final presentation

Below is the photo I took in class during my final presentation. I have uploaded the tweet that I sent with the sensor on the Arduino along with a photo of the metadata showing the time the photo was taken.
The last photo shows the Arduino working with Twitter,  the "view 1 new tweet" message showing that the tweet successfully connected to Twitter, and the Processing code successfully running to display real time tweets that contain urls of photographs.



Tuesday, December 8, 2015

Final Project

As a photographer, I am interested in how I perceive my world around me and how I can represent what I see to other people. Upon viewing my photographs, people often ask me where or when the image was taken. So, for the final project, I taped a sensor connected to the Arduino to the button of a point and shoot camera so that every time someone takes a picture on the camera a tweet is sent to Twitter notifying myself as well as followers of my Twitter account that someone has taken a photograph. I connected my Twitter account, https://twitter.com/Arduino_Photo, with ThingSpeak so I could easily connect Twitter with the Arduino. A classmate, Mckenzie, who is also working with ThingSpeak and Twitter for this project, shared her Arduino code with me which greatly helped me out. Once the sensor on the Arudino connects with ThingSpeak and sends a tweet I can then view what time the tweet hit Twitter on my Twitter account. I can then use the time information from each tweet, and the metadata of each photo containing the time it was taken, to upload images to a site or a blog so people can see that a picture was taken, and they can then in turn see the photograph that was taken at that exact moment.


#include <SoftwareSerial.h>
#include <SparkFunESP8266WiFi.h>
#include <SPI.h>

// Local Network Settings
//byte mac[] = { 0xD4, 0x28, 0xB2, 0xFF, 0xA0, 0xA1 }; // Must be unique on local network, not

// ThingSpeak Settings
char thingSpeakAddress[] = "api.thingspeak.com";
String thingtweetAPIKey = "key";

const char ssid[] = "KSU Guest";
//const char pssk[] = "";

// Variable Setup
long lastConnectionTime = 0;
boolean lastConnected = false;
int failedCounter = 0;

// Initialize Arduino ESP8266 Client
ESP8266Server server = ESP8266Server(80);
ESP8266Client client;

void setup()
{
  // Start Serial for debugging on the Serial Monitor
  Serial.begin(9600);
 
  // Start the WiFi
  initializeESP8266();
  connectESP8266();
 
  delay(1000);
}

void loop()

  // Print Update Response to Serial Monitor
  if (client.available())
  {
    char c = client.read();
    Serial.print(c);
  }
 
  lastConnected = client.connected();

  double volts = pressureSensor();
  if (volts > 0.01){
    String message = "Another photo.";
    //message += volts;
    //message += " volts.";
    //message += " volts. #arduino #thingspeak";
    updateTwitterStatus(message);
  }
 
  else{
    Serial.println(F("Not sensing anything..."));
  }

  delay(2000);
}

void updateTwitterStatus(String tsData)
{
  if (client.connect(thingSpeakAddress, 80))
  {
    // Create HTTP POST Data
    tsData = "api_key="+thingtweetAPIKey+"&status="+tsData;
           
    client.print("POST /apps/thingtweet/1/statuses/update HTTP/1.1\n");
    client.print("Host: api.thingspeak.com\n");
    client.print("Connection: close\n");
    client.print("Content-Type: application/x-www-form-urlencoded\n");
    client.print("Content-Length: ");
    client.print(tsData.length());
    client.print("\n\n");

    client.print(tsData);
   
    lastConnectionTime = millis();
   
    if (client.connected())
    {
      Serial.println("Connecting to ThingSpeak...");
      Serial.println();
     
      failedCounter = 0;

      Serial.println("Made a post!");
    }
    else
    {
      failedCounter++;
 
      Serial.println("Connection to ThingSpeak failed ("+String(failedCounter, DEC)+")");  
      Serial.println();
    }
   
  }
  else
  {
    failedCounter++;
   
    Serial.println("Connection to ThingSpeak Failed ("+String(failedCounter, DEC)+")");  
    Serial.println();
   
    lastConnectionTime = millis();
  }
}

void initializeESP8266()
{
  int test = esp8266.begin();
  if (test != true)
  {
    Serial.println(F("Error talking to ESP8266."));
    errorLoop(test);
  }
  Serial.println(F("ESP8266 Shield Present"));
}

void connectESP8266()
{
  int retVal = esp8266.getMode();
  if (retVal != ESP8266_MODE_STA){
    retVal = esp8266.setMode(ESP8266_MODE_STA);
    if (retVal < 0)
    {
      Serial.println(F("Error setting mode."));
      errorLoop(retVal);
    }
  }
  Serial.println(F("Mode set to station"));

  retVal = esp8266.status();
  if (retVal <= 0){
    Serial.print(F("Connecting to "));
    Serial.println(ssid);
    retVal = esp8266.connect(ssid);
    if (retVal < 0){
      Serial.println(F("Error connecting"));
      errorLoop(retVal);
    }
  }
}

void errorLoop(int error){
  Serial.print(F("Error: ")); Serial.println(error);
  Serial.println(F("Looping forever."));
  for (;;)
    ;
}

double pressureSensor(){
  // Read the input on analog pin 0:
  int sensorValue = analogRead(A0);
 
  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
  double voltage = sensorValue * (5.0 / 1023.0);
 
  // Print out the value read
  return voltage;
}

I wanted to take the project one step further and make it so that the user could also find and views pictures that are being tweeted in real time on Twitter. So, with Processing, I was able to make a Twitter search for photographs and was able to print the result in the command line of Processing. The viewer will be able to see the username of the people who made the tweet, the time of the tweet, the tweet itself, and a url of the photo they posted. One can then copy and paste the url of the photo into the web browser to view the images. I can run this Processing sketch at the same time as the Arduino sketch in order to create a more depth in the project as well as the viewer experience.

import java.util.Date;


import twitter4j.conf.*;

import processing.serial.*;


import twitter4j.conf.*;
import twitter4j.*;
import twitter4j.auth.*;
import twitter4j.api.*;
import java.util.*;


import twitter4j.api.*;
import twitter4j.util.*;

import twitter4j.*;
import processing.serial.*;
import cc.arduino.*;

// HEY! GET YER OWN KEYS FROM: https://dev.twitter.com/apps/new
static String OAuthConsumerKey    = "";
static String OAuthConsumerSecret = "";
static String AccessToken         = "";
static String AccessTokenSecret   = "";


Twitter myTwitter;
List<Status> tweets;

String  myQueryWord = "photo";
long    previousIdOfTweetContainingQuery = 0;


//===========================================================================
void setup() {
  size(125, 125);
  frameRate(10);
  background(0);
 
 
  loginTwitter();
}

//===========================================================================
void loginTwitter() {

  ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setOAuthConsumerKey(OAuthConsumerKey);
cb.setOAuthConsumerSecret(OAuthConsumerSecret);
cb.setOAuthAccessToken(AccessToken);
cb.setOAuthAccessTokenSecret(AccessTokenSecret);
myTwitter = new TwitterFactory(cb.build()).getInstance();
}


void draw() {

  try {
    println ("Searching.... Current time = " + hour() + ":" + minute() + ":" + second());
    Query query = new Query(myQueryWord);
    // how many results to fetch
    QueryResult result = myTwitter.search(query);

     for(Status mostRecentTweetContainingQuery : result.getTweets())
     {
      long mostRecentTweetContainingQueryId = mostRecentTweetContainingQuery.getId();

      if (previousIdOfTweetContainingQuery == 0) {
        previousIdOfTweetContainingQuery = mostRecentTweetContainingQueryId;
      }
      if (mostRecentTweetContainingQueryId != previousIdOfTweetContainingQuery) {
        // yay! someone has just tweeted our favorite word!
        previousIdOfTweetContainingQuery = mostRecentTweetContainingQueryId;
    //    tellArduinoToDoSomething(); // HERE IT IS!

        // print out the new tweet, for fun.
        String user = mostRecentTweetContainingQuery.getUser().getScreenName();
        String msg = mostRecentTweetContainingQuery.getText();
        Date d = mostRecentTweetContainingQuery.getCreatedAt();
        println("Tweet by " + user + " at " + d + ": " + msg);
      }
    }

    /*
    // Indicentally, you can also list all of the most recent tweets containing that search term. Fun!
    for (int i=0; i< tweetsContainingQuery.size(); i++) {
      Tweet t = (Tweet) tweetsContainingQuery.get(i);
      String user = t.getFromUser();
      String msg = t.getText();
      Date d = t.getCreatedAt();
      println("Tweet by " + user + " at " + d + ": " + msg);
    }
    println("--------------------");
    */
   
   
  }
  catch (TwitterException te) {
    println("Error connecting to Twitter: " + te);
  };


  delay (12000); // REALLY IMPORTANT, PEOPLE. You're limited to 350 requests per hour, or about once per 11 seconds.
}


Overall, I found this project to be quite challenging because I had not worked with the Arduino, or any form of electronics, and programming anything before this project. I did a large amount of Google searching and trial and error in order to find code and insight online, and I got help from classmates as well. I feel my project is interesting and relevant to the art world because it is interactive and enables the viewer to connect with photography through a hands on element, an online Twitter account, and allows the viewer to read and access tweets that contain photographs in real time. Ideally, the project could be placed in a public settings so that a viewer can walk up, examine the project, take a photograph, and then later view the Twitter account as well as the site the images are uploaded to in order to see the photograph they made.

Sunday, December 6, 2015

final progress


I modified my Twitter sketch from previous project to search for the word "photo" in any tweet and made it appear with my camera photo I have associated with my Twitter account I made for this project. I think that playing this sketch next to my Twitter account updating every time a photo is taken will enhance the meaning of my project.


Above is a picture of my setup with the Arduino and WiFi shield, and a basic point and shoot camera.

I changed the delay in the Arduino code and that seemed to fix the problem of it sending too many tweets. I am still having an issue with ThingSpeak not letting me spend the same tweet a couple of times in a row. I'm not sure this is something I can get around, it might just be something with ThingSpeak. Nevertheless, I am successfully sending a tweet to Twitter upon pressing the button to take a photo on my camera.

Wednesday, December 2, 2015

final progress

I have successfully tweeted through ThingSpeak from the Arduino sensor, now I need to test how it works when pressing the button to take a picture on camera.

I first did a test with the pressure sensor and was able to tweets the volts coming from the sensor


I then tested sending a tweet upon pressing the sensor with my modified tweet



I am excited that this is working! Now I would like to see how I can connect the camera with the Arduino.

I made a new Twitter account specifically
for this project so I don't have to make my followers on my private account deal with all of these tweets. It is successfully work now, too.

I have learned that ThingSpeak does not like sending the same tweet multiple times because I tried for an hour sending the same tweet. So, I tried changing the tweet and it seems to be working again.
The only problem I am having now is the sensor on the Arduino sends multiple tweets, around 10, when I only press the sensor once. I hope that once I have the sensor taped down the problem will be resolved.





Tuesday, December 1, 2015

wifi shield and thingspeak

I made a ThingSpeak account in order to try to get the Arduino to interact with Twitter though ThinkSpeak. First, I messed around with ThinkSpeak a bit by setting up TimeControl with my Twitter account to see if I could set up a certain time a customized tweet could be sent to my Twitter account through ThingSpeak. It worked, so then I continued with connecting my Twitter account with ThingTweet. Right now, I am thinking about setting up a senor on the Arduino and having ThingSpeak send a customized tweet either my personal or a new Twitter account whenever the sensor is pressed. I would like to attach the senor to the shutter button of a camera and have the senor send a tweet saying "A picture has just been taken!" or something like that to a Twitter account. I think it would be interesting have the Arduino connect to a camera because I could then connect the metadata of the photo and the information from Twitter together in order to figure out what picture was taken at what exact moment.

I successfully got the wifi shield to connect to my computer, but was not successful with trying to connect the senor with code to ThingSpeak in order to send a tweet to my Twitter account.



Sunday, November 29, 2015

arduino practice

To practice more with leds and the Arduino and have faded in and our red and green leds.


I hope experimenting with leds will help me with connecting leds with Twitter.
I think it would be interesting to have different colored leds light up every time "Happy Holidays" or a similar phrase is used on Twitter. I could also make the Arduino send a tweet to twitter every time something changes on a sensor attached to the Arduino.

I am also researching ThingSpeak with Twitter in order to use ThingSpeak to work with Twitter for this project.

Saturday, November 28, 2015

final project tests

Over the last couple of days I have been trying to figure out how to get an led on the Arduino to blink when a specific hashtag is used on Twitter. I have also been trying to get an led to light up when I send a tweet to Twitter. I have not been successful so far, but I know for sure for my final project I want to connect Twitter and the leds on the Arduino for my final project.

Monday, November 23, 2015

final progress

I have been researching and experimenting with trying to get the Arduino rgb led to light up a certain color when a specific hashtag is presented in Processing. I am not familiar with any of the Arduino coding so I do not know where to start with coding myself, so I have been trying to find code to help me online and reading so I could possibly figure something out. This is challenging for me because I have no prior knowledge of electronics and this kind of coding.

Tuesday, November 17, 2015

send a tweet with Processing

I am experimenting with Twitter and Arduino, and I recently was able to send a tweet from Processing to my own Twitter account. I plan on exploring Twitter with Processing and Arduino more. I want to be able to search Twitter and have an led blink whenever a certain user sends a tweet, and possibly have Processing send a tweet to my account notifying my followers when the user tweeted.


import twitter4j.conf.*;
import twitter4j.*;
import twitter4j.auth.*;
import twitter4j.api.*;
import java.util.*;

Twitter twitter;

void setup()
{
    size(800,600);

    ConfigurationBuilder cb = new ConfigurationBuilder();
    cb.setOAuthConsumerKey("");
    cb.setOAuthConsumerSecret("");
    cb.setOAuthAccessToken("");
    cb.setOAuthAccessTokenSecret("");

    TwitterFactory tf = new TwitterFactory(cb.build());

    twitter = tf.getInstance();
}

void draw()
{

}

void tweet()
{
    try
    {
        Status status = twitter.updateStatus("This is a tweet sent from Processing!");
        System.out.println("Status updated to [" + status.getText() + "].");
    }
    catch (TwitterException te)
    {
        System.out.println("Error: "+ te.getMessage());
    }
}

void keyPressed()
{
    tweet();
}

Sunday, November 15, 2015

final project progress

I have not worked with electronics or Arduino before, so since we received the Arduino I have been doing the tutorials and other simple projects I have found online in order to get a feel for the Arduino and gain a better understanding of electronics and coding. I have been thinking about what I want to do for my final project, and while I do not have a finalized idea yet I am finding out what I like and find interesting about the Arduino. I like the rgb led I found in the kit and I have been testing out what I can do with it, as well as with the green and red leds as well.



Above I have the code and video of a simple project with the rgb led. If you click on a color in the processing sketch the color you click on should appear from the led. I found that the led had some struggle reaching certain colors, but I did find it very interesting that I could change the color upon click. I tested the code with other pictures of my own and had similar results.
Now that I know how the Arduino and Processing can work with the rgb led and other leds I am thinking about how I can work further to come up with a final project idea.

Wednesday, November 4, 2015

final project ideas

Have Arduino trigger a camera to take an image every minute or when something happens on a sensor or the server
  • Send a tweet whenever a sensor on the Arduino detects a change in something
    • movement
    • light (shadows)
    • temperature
    • send Tweet to printer
  • Update the location of the Arduino to a site
    • Tweet location
    • print location on a printer
  • Possibly something with the Arduino finding images, Arduino tweets location then a site finds images from the location with a Google search, then puts them on a site
  • Arduino triggers a camera to take a picture from it's location

Edit 11/8:

Send a tweet when something hits or passes a senor on the Arduino
Send a tweet on a set interval ex. every hour

Sunday, October 25, 2015

Twitter Baseball



I have successfully mapped tweets to be associated with a smiley or frowny face depending on what the emotion of the tweet it is with is, as well as changed the color to associate with the emotion (blue is happy, red is sad). The first image is the tweets appearing then disappearing, the bottom image displays the tweets piling up over time.

 The text of the tweet is important to me because I feel that reading peoples emotions is interesting and relevant to the project. The visuals, such as the color of the text and the addition of the happy and sad face, add to the artistic value of the project because they help the viewer understand what tweets are happy or sad. It has been interesting for me to be able to see the blue and red text to readily see what emotions the tweets are conveying.


 //import libraries
import twitter4j.conf.*;
import twitter4j.*;
import twitter4j.auth.*;
import twitter4j.api.*;
import java.util.*;

Twitter twitter;
//search twitter for hastag or words
String searchString = "royals lose";
List<Status> tweets;

String searchString2 = "royals win";
List<Status> tweets2;

//tweets
int currentTweet2;

int currentTweet;

//images
PImage img;
PImage img2;


void setup()

{
    //size and background of sketch
    size(2000,1000);
    background(#838383);
    smooth(0);
     //keys from apps.twitter
    ConfigurationBuilder cb = new ConfigurationBuilder();
    cb.setOAuthConsumerKey("key");
    cb.setOAuthConsumerSecret("key");
    cb.setOAuthAccessToken("key");
    cb.setOAuthAccessTokenSecret("key");
  
     //get tweets
    TwitterFactory tf = new TwitterFactory(cb.build());

    twitter = tf.getInstance();
  
    getNewTweets();
  
    currentTweet = 0;

    thread("refreshTweets");
  
 
 
}


void draw()

{
    //load images
    img = loadImage("frownyface.png");
    img2 = loadImage("smileyface1.png");
    //background color and size of tweet
    fill(#838383);
    //make tweets not pile up
    //rect(0, 0, width, height);


    currentTweet = currentTweet + 1;
  
    //dictate size of tweet
    if (currentTweet >= tweets.size())
    {
        currentTweet = 0;
    }
  
    //tweet status 1
    Status status = tweets.get(currentTweet);
   
    //fill(255,165,0); //orange font color
    fill(255,0,0); //red font color
    textSize(random(14,30));
    //make image appear with tweet
    float k = random(width-100);
    float l = random(height-100);
    //image to be placed with tweet
    image(img, k, l);
    //placement of tweet
    text(status.getText(), k, l);

  

    //delay tweets appear
    delay(3000);
  
    //tweet 2
    Status status2 = tweets2.get(currentTweet);
 
    currentTweet2 = currentTweet2 + 1;
    if (currentTweet2 >= tweets2.size())
    {
      currentTweet2 = 1;
    }

    //blue font color
    fill(#1B2FF7); //color and size of second tweet
    textSize(random(14,30));
    //placement of second tweet
    float k2 = random(width-100);
    float l2 = random(height-100);
    //image to be placed with second tweet
    image(img2, k2, l2);
    text(status2.getText(), k2, l2);
  
    //delay of tweets
   delay(1000);


}

//retrieve tweets

void getNewTweets()

{

  try
  {
    //try to get tweets
    Query query = new Query(searchString);
  
    Query query2 = new Query(searchString2);
  
    //search
    QueryResult result = twitter.search(query);
  
    QueryResult result2 = twitter.search(query2);
  
    //get
    tweets = result.getTweets();
  
    tweets2 = result2.getTweets();
}

catch (TwitterException te)

  {
    //can't get tweets case
    System.out.println("Failed to search tweets: " + te.getMessage());
    System.exit(-1);
   }

}

void refreshTweets()
{
    while (true)
    {
      //getting tweets
        getNewTweets();

        //println("Updated Tweets");

        delay(300);
    }
}




I have also been working on making tweets containing the phrase "world series" in them appear around a baseball.


I modified the "world series" search by changing the visual to more clearly state what is being searched. I made the text in the shape of a baseball to enhance the text with the visual. I changed the image to a World Series image because it helps the viewer understand that the text is about the World Series opposed to solely baseball in general.

 //import libraries
import twitter4j.conf.*;
import twitter4j.*;
import twitter4j.auth.*;
import twitter4j.api.*;
import java.util.*;

Twitter twitter;

//search twitter for hastag or words
String searchString = "world series";
List<Status> tweets;



//tweets
int currentTweet;

//images
PImage img3;

float r = 300;
float r2 = 100;

void setup()

{
    size(2000,1000);
    //load images
    imageMode(CENTER);
    img3 = loadImage("worldseries.png");
    background(255, 255, 255);
    textAlign(CENTER);
    smooth(0);
     //keys from apps.twitter
    ConfigurationBuilder cb = new ConfigurationBuilder();
    cb.setOAuthConsumerKey("key");
    cb.setOAuthConsumerSecret("key");
    cb.setOAuthAccessToken("key");
    cb.setOAuthAccessTokenSecret("key");
  
     //get tweets
    TwitterFactory tf = new TwitterFactory(cb.build());

    twitter = tf.getInstance();
  
    getNewTweets();
  
    currentTweet = 0;

    thread("refreshTweets");
  
  
 
}

//retreive tweets

void getNewTweets()

{

  try
  {
    //try to get tweets here
    Query query = new Query(searchString);
    //search
    QueryResult result = twitter.search(query);
    //get
    tweets = result.getTweets();
}

catch (TwitterException te)

  {
    //can't get tweets case
    System.out.println("Failed to search tweets: " + te.getMessage());
    System.exit(-1);
   }
}

void refreshTweets()
{
    while (true)
    {
      //getting tweets
        getNewTweets();
        //println("Updated Tweets");
        delay(300);
    }
}

void draw()

{
    //background color and size of tweet
    fill(255, 255, 255);
    //make tweets not pile up
    rect(0, 0, width, height);
  
    currentTweet = currentTweet + 1;
  
    //dictate size of tweet
    if (currentTweet >= tweets.size())
    {
        currentTweet = 0;
    }
  
    //tweet status 1
    Status status = tweets.get(currentTweet);
   
    //fill(255,165,0); //orange font color
    fill(255,0,0); //red font color
    textSize(random(18,30));
    image(img3,1000, 500);

  
    //delay tweets appear
    delay(5000);
  
    translate(width/2, height/2);
    noFill();
    noStroke();
    ellipse(0,0,r*2,r*2);
  
      // We must keep track of our position along the curve
  float arclength = 0;

  // For every box
  for (int i = 0; i < status.getText().length(); i++)
  {
    // Instead of a constant width, we check the width of each character.
    char currentChar = status.getText().charAt(i);
    float w = textWidth(currentChar);

    // Each box is centered so we move half the width
    arclength += w/2;
    // Angle in radians is the arclength divided by the radius
    // Starting on the left side of the circle by adding PI
    float theta = PI + arclength / r;  

    pushMatrix();
    // Polar to cartesian coordinate conversion
    translate(r*cos(theta), r*sin(theta));
    // Rotate the box
    rotate(theta+PI/2); // rotation is offset by 90 degrees
    // Display the character
    fill(0);
    text(currentChar,0,0);
    popMatrix();
    // Move halfway again
    arclength += w/2;
  }
  
}

Monday, October 19, 2015

project 3 progress





My project now displays two different tweets in two different colors. I am currently working on trying to get one to float down from the top and another to appear randomly. I am also thinking about the possibility of adding more tweets to add different colors. I hope to connect the tweets to emotions, and have them appear differently and in different colors in order to tell a story of the emotions coming from Twitter. I like how the tweets do not disappear, it adds to the visualization and makes the viewer think about the tweets being presented to them. I am working with how long to display each tweet because it is important to me that the viewer can quickly read each tweet to get a better understanding of the project.

Thursday, October 15, 2015

fifth reading response



"Coding The Infome: Writing Abstract Reality"

The beginning of this article made me consider how writing and learning computer languages is almost the same as learning a foreign language. It takes about the same amount of time and yearning to learn a foreign language as it does to learn new computer languages. Computer languages are similar to all speaking languages as well because they bring people together and are essential to computer with one another. I found it interesting that the article compared coding and the coding environment to an organism, it made me even further consider how similar the languages are. I also found Jevbratt's commentary on abstract reality interesting because it is something I am interested in expressing in my own work, and I enjoyed reading about how she creates new realities in her own work. I liked how Jevbratt created her own software in order to make work that she wanted; that she took imitative and extended her work by taking it in to her own hands to collect and create data. I enjoyed reading about various project by Jevbratt, they all gave me a better understanding of how artists use real life data to make real time visualizations and art. I liked experiencing the data and forming my own conclusions based on the visuals the data made. Her projects made me consider just how much one can do with networks and data to make internet art.

Monday, October 12, 2015

project 3 progress



After multiple Google searches and a lot of trial and error, I was finally successful in retrieving tweets from Twitter and making them randomly appear in Processing.

Now I am brainstorming ways to make the Tweets appear more visually appealing, as well as trying to get multiple searches appear at once. I would like to make different tweets appear different colors. Possibly tweets about different teams different colors, or one team but tweets containing different emotions (mad would be red, happy would be white, etc.) different colors.

Wednesday, October 7, 2015

project 3 ideas


  • Twitter search of how frequently the baseball teams are tweeted in the month of October, or the duration of this project
  • Instagram search of how many people post pictures of the K State campus
  • Weather search of how many days it gets over a certain degree in Kansas this time of year

Monday, October 5, 2015

processing practice


PImage img;
float offset = 0;
float easing = 0.05;
 
void setup() {
  size(640, 360);
  img = loadImage("http://i.imgur.com/VG1jmqn.jpg");

 
}

void draw() {
  image(img, 0, 0);
  float dx = (mouseX-img.width/2) - offset;
  offset += dx * easing;
  tint(255, 127);
  image(img, offset, 0);
    
    }


   

void setup()
{
 
  size(600,600);
  background(0,255,0);

  for (int i=0; i<600; i+=10) //rectangles
  rect(i, 100, i+100,600);
 
  for(int i=0; i<600; i+=100) //left to right lines
    line(i, 100, i+100,600);
   
  for(int i=0; i<600; i+=100) //right to left lines
    line(i, 0, i-100,500);
   
  
   for (int i=0; i<600; i+=10) //bottom lines
   rect(i, 500, i+50,600);
  
   for(int i=0; i<600; i+=100) //left to right lines
    line(i, 100, i+100,600);


}

Wednesday, September 30, 2015

project 2 - shark goes to the club













I chose Vine because it is a social media platform I had not used before. Throughout my project I learned that Vine users post on Vine to start a conversation with other user in order to obtain a comment, or response Vine based on their Vines. My goal for the project was to create a Vine that goes against the rules of Vine, promote Shark in order to get other users response, and see if I could get more views, comments, or get the videos reported. As of the due date of this project the videos have not been taken down, I have not received any more comments, but I have received more views because of the comments I have made on other Vines.