Category Archives: Uncategorized

John Choi

03 Mar 2015

Short Description:
Tweets tweets, Yoda style.  (I am Yoda. => Yoda, I am.)
(This is the secondary project.)

Link:
This bot is called @YodaLifeIs and its URL is https://twitter.com/yodalifeis.

Description:
This was my secondary project, so admittedly, I dashed to get this done.  I basically used Temboo and Processing to collect random tweets and then process them to emulate the backwards-sentence Yoda style of speaking (for example, the sentence “You are brave” would get processed to “Brave, you are.”)  However, both due to my inexperience in Twitter as well as my rush to get this done, I foolishly forgot to follow the “don’t @message people” rule.  (I saw the bot working, assumed all was good, and let it run.  I didn’t realize the way @messages worked until I saw some replies.)  Once I discovered this at the 95th tweet, I immediately killed the bot.  Fortunately, despite this malady, the response has been seemingly positive.

One auto processed tweet was particularly funny, both to me and the recipient:

Here is the response from supbugs: Capture  

I’d like to make a specific comparison to one of the examples described in Michael Cook’s Brief History of the Future of Twitter Bots, @RedScareBot.  RedScareBot has been called an “a**hole,” complete with a suspended account.  I think the primary reason why YodaLifeIs received positive reception (so far), whereas RedScareBot did not, is simply due to the subject matter.  People generally think of Yoda as a benevolent, wise, and overall good force in the world.  McCarthyism and the Red Scare, however, has been historically extremely biased, mean, and hypocritical, not to mention that it was one of the main reasons why the Cold War was so cold. In any case, the biggest lesson I’ve learned with this project is to be more careful when dealing with social media, especially with automated systems.  While YodaLifeIs was a harmless exploration of the internet, I understand a lot of damage can be done, even unwittingly, when playing around with these kind of things.

Here are some more tweets from YodaLifeIs:

And finally a screenshot:
yodalife

jackkoo

03 Mar 2015

A automated reenactment of the Best Flame War Ever. The bot will post the original posts in the same day/hour/min as the original posts. It will reset every 2 months. (they argued with each other for over a month).

bestFlameWarEver

http://jackkoo.com/fw.php

(this is my smaller assignment)

In the year of 2004, there was a fued between leegattenby, King of Bards and Squire Rexz

Leegattenby wanted to know how armor works: OK, not to sound like a total n00b, how exactly does AC work? I have only played for about a year, so there are some intricacies of the game that I havent worked out yet.

In which Squire Rex responds: Let’s see, leegattenby knows who Brael is but dunno what AC is nor how it works? Dude, do you know Bart Simpson?
So do you really know who’s Brael or you just BSing about who or what you know?

Anyways, this escalated into a a fued involving stories about their fearless time in the military, and how the have killed people and are not afraid of doing it. The last post involved an invitation to a grudge match:

“First, I need to know your location and probably an email or another point of contact. I do not want to bore anyone else about our endless banterings. I live in alaska, but I do frequent the lower 48 states. We would need to sign a mutual waiver of liability and set a place to fight. The best places are tough man contests or bars that do ring fights. We would have to contact them to set up a grudge match fight. I have did this before and it is no big deal. There are some boxing clubs that would host a grudge, but that depends on the area.”

In 2007, Eddo Stern creates a art tribute to the epic flame war titled “Best Flame War Ever” It was an audio performance of the whole Flame War.

In 2015, A student from CMU, Jack, decided that it is not enough to just have a recording of the conversations. The Flame War must live on in eternity!

Jack made a web page which reenacts the entire event starting every 4th of every even-numbered month. The website will automatically post the original posts with the exact same intervals with matching minutes and hours.

 

OOC: I tried getting feedback by posting this on two gaming forums as well as showing it to a lot of people whom I knew shared the fascination with this particular flame war. The professor from college who showed me the Eddo Stern piece replied “thats awesum!”, while a few of my friends liked it but questioned why I had time to make this.

The post was shut down in 1hr 30mins because an admin literally said

“I judge this thread unworthy !
Sorry dude, it is just not thaaat interesting ” ( I don’t think he knew how funny the flame war was)

but in that time I got four other replies.

This is my favorite:

tl

Others were dismissive

” I read the topic and only found the usual internet. Disappointed…”

or complaining about the fact that I was self advertising.

http://www.teamliquid.net/forum/closed-threads/479325-made-automated-reenactment-of-really-old-flame-war

I also posted this on the original forum of the flame war but I haven’t gotten any replies from them.

http://everquest.allakhazam.com/forum.html?forum=1&mid=142529732760437484

Eddo Stern “Best Flame War Ever”

The original flame war:

http://everquest.allakhazam.com/db/classes.html?class=5&mid=1086379030136692755

Bryce Summers

03 Mar 2015

Tweetable Summary

Dwarf bots discuss differing perspectives on randomly selected subjects as to highlight how the same ideas can be perceived in differing ways among individuals.

Link

I have not yet made the dwarf bots, so I have no link.

Discussion

In our discussion of twitter bots, I have only heard of singular bots publishing information on the internet, so I thought that it would be more interesting to create robots that talk to each other and interact much like actual twitter users.

I then thought that each bot should have a explicit personality, so I thought about the seven dwarfes, where each dwarf has a singular emotion that sums up their personality.

I have noticed that many people I meet have different views on that same subject and I wonder if I can have bots that express both happiness and sadness, wonderment and dullness, etc towards the same idea or information, then they might be able to start up a discussion of accepting multiple views in human conversation.

Questions that I will have to answer at at a later date.

  • Your evaluation of its results, including: Did your bot ever surprise you, or make you laugh? Discuss any surprising posts it generated which you felt were particularly successful.
  • Did you (already) receive any interesting reactions to your bot? Did anyone follow your bot? Did your bot make any posts that others have shared? Discuss your audience, if your bot reached one.
  • If you use a publishing channel other than Twitter, please discuss why you chose that channel.

Michael Cook Category

I think my bot will fall under the “Watcher” Category.

Screenshots

TODO : Add Screenshots.

Bryce Summers

03 Mar 2015

The Bryce Graphical Language

Linked List Visualization using the Bryce Graphical Language

Linked List Visualization using the Bryce Graphical Language

What is a Graph?

Please see: https://en.wikipedia.org/wiki/Graph_theory if you are not aware of the mathematical usage of the term “Graph”.

Embedding / Internet Deployment

My project is hypothetically embedable, since it was written with the Google Windowing Toolkit, which outputs javascript. I have not yet endeavored to perform said embedding. In the future, I am planning on releasing the project on the internet.

Tweetable Summary

The Bryce Graphical Language visualizes the execution of programs through directed graphs and visualizes directed graphs through code.

Discussion of Project

Several Years ago I first decided that I wanted to create a program to visualize code. I started out programming a virtual machine based computer game that I called Code Breaker. At that time I was most interested in the logic of control flow and thought it would be a fun game to allow the user to inject code dynamically into the program to literally increase their score by optimizing the number of calls to the score++ variable. Here is an image from Code Breaker.

A Code Breaker Screenshot that highlights the terminal making a function call.

A Code Breaker Screenshot that highlights the terminal making a function call.

Code Breaker Screenshot that shows the user dynamically injecting some code into the execution.

Code Breaker Screenshot that shows the user dynamically injecting some code into the execution.

When I cam to college, I looked for people to work on the project with me, but found that all of my peers (and myself) were rather busy taking our Freshman classes. I therefore put the project on hold.

Since then, I have become interested in information visualization tools that are useful to students and could possibly alleviate some of the pain they experience as part of the educational process. A couple of summer ago I created a tool entitled Summers CAMP that is meant to replace paper for computations in an introductory Linear Algebra Class. Here is a screen shot from Summers CAMP.

Screenshot of the Summers CAMP program.

Screenshot of the Summers CAMP program.

Please see : http://www.funtheemental.com/summers-camp for more information.

After my great learning experience making Summer CAMPI got the urge to make two other projects in the same vein. I wanted to make a useful tool for visualizing the execution of code and I also wanted to make a tool that would be useful to graph theorists. I decided to use this information visualization project as an opportunity to make both projects. I am proud to say that I have finished the core of the project in time for the Critique, but it is by no means done. There is a lot of design work to be done, a user interface to develop, and many examples to be written. I also invented a new Computer programming language entiteled The Bryce Graphical Language that is interpreted by the Bryce Graphical Language Virtual Machine. I will also need to investigate options for improving the Bryce Graphical Language NBody Simulation / Directed Graph Visualizer.

At the moment the project does not differentiate the different types of nodes. It will likely be hard for students and intellectually curious individuals to interpret the program correctly without the implementation of differentiation based on color and font style. The Java rendering is quite slow, I may want to see if it runs better on good old fashion desktop computers.

Sketches

Please see: https://ems.andrew.cmu.edu/2015/brycesummers/02/08/24-infovis-sketch-i-e-imperativeb/ for an initial design sketch of my language

Here is design sketch for more current iteration.

Design Sketch for the Bryce Graphical Language

Design Sketch for the Bryce Graphical Language

Why did I Design a New Language?

  1. Designing computer languages is very fun.
  2. By designing my own language, I have absolute control over the syntax. This means that I can incrementally add syntax that I know how to parse and run in the virtual machine. In other words, designing my own language makes the development of the virtual machine easier.
  3. I am able to provide explicit syntax for linking nodes in a graph. This syntax will be useful to graph theorists who may wish to use my program. Normal computer languages do not need a semantic linking of nodes, because computations rely on variable names and values rather than in graph theory where the nodes are themselves a value and a name of sorts.
  4. By not claiming to interpret an existing language, I do not need to be responsible for accurately interpreting a mainstream language that may have syntax that I have overlooked or may undergo revisions.
  5. If I based my interpreter off of a mainstream language, which I may enable in the future, then my project will have to face the grand challenge of having a user copy and paste their correct java/c/python/etc… code into the Bryce Graphical Language interpreter and have it run flawlessly. In other words, my program will have to correctly parse the precise semantic meanings of the language’s specification.

Insights

How about we go back to the first image used to start this blog post. An insight I have found when running a program that uses a linked list to push and pop values, is that the state of a computer program is much more complicated that I imagined. When thinking through programs and conceptual models in my head, I often do not appreciate just how much information is connected.

Linked List Visualization using the Bryce Graphical Language

 

In the next image, I have visualized the execution of a naive program that computes the Fibonacci numbers straight from the recurrence. Interacting with the program and stepping through it gives the user an appreciation of just how much inefficient work is done do compute something so seemingly trivial. Warning: Never implement the Fibonacci numbers in this manner. Please see: http://www.geeksforgeeks.org/program-for-nth-fibonacci-number/

Naive Fibonnacci. Mid execution. Stepping through this program helps one to appreciate just how inefficient it is.

Naive Fibonnacci. Mid execution. Stepping through this program helps one to appreciate just how inefficient it is.

Video

Source Code on Github:

https://github.com/Bryce-Summers/BryceGraphicalLanguage/

jackkoo

03 Mar 2015

Visualizations of the audio and replay files from finals of the WCS 2014 Starcraft Tournament. This is intended to be a celebratory piece of starcraft e-sport, rather than a technical analysis.

Here is the rendering process (note the audio gap due to applause at the end of video)

Please view the full size version:

 

The yellow is an audio visualization of the sound clip I pulled off youtube from the official broadcast. The rest of the info was extracted from the replay file from the WCS website. The red and blue blurs are where the players’ camera are focused on relative to the minimap. The text lines are actions that have been taken during those times, matched with the seconds. There is however sometimes problems with the audio and the data files syncing in time, but its usually not over 10 seconds. I annotated the images with some interesting aspects and/or comments about the game.

The reason why I made this clip is due to celebrate the passion and emotions that occur in starcraft. There have been other visualizations of sc2 replays, however they have all been technical. There was a moment in time when I watched day 9’s video about his sc2 life. Before that moment I did not think about esport as something so emotional, since I viewed games as entertainment. After hearing his life story about what drove him to be a professional, I gained another perspective on starcraft. Which is that people really really really care about the game, and extreeeeemely pasionate about it. (It has 3.5 million views btw)

It was important to include the audio which included all the cheering and feelings of the audience and caster. The commands are made so that they only apear if they have been clicked on multiple times within a second. (SC2 players have an APM of 300, meaning that they perform 300 actions every minute.) If a single second has an extremely high amount of commands, such as some of the annotated baneling moments, they are actually visible via rendering / stacking.

The reason I chose spheres rather than a linear bar graph was that I wanted to move away from analysis, and focus more on the feeling of the game. Showing moments when players panic and increase their APM, or showing the mood of the audience and casters from the audio clip. The red and blur blurs show the progress of tension as they overlap views with one latter on in the game.sc22

 

Here is the video of the game I visualized:

 

Github (Audio files are not included.)