Distant Reading

I decided to do some searches on JStor that were more directly related to the final project that I have planned for this class, dealing with the work of John Keats.  Regarding this, I did (or think I did, at least), a simple search for John Keats.  This was after doing a couple of searches just to get used to the system, both of which yielded almost instant results.  My search for John Keats, however, has been on the burner for about 15-20 minutes now and has yet to yield any results, which is confusing to me.  I am still not entirely sure how the DFR works, but my assumption is that I did not place enough constraints on the search and, getting excited and searching for word-count and quadrams as well, I might be taxing the search process more than I intended to.  There is also a chance that my understanding of this is wrong, or that I haven’t even made a real query, so I will keep playing around with it to see what I can return.

I’ll admit, I had heard of distant reading before, but I never really knew what it was, or looked into it too deeply for that matter.  I am torn on the subject, and I look forward to discussing it more in class.  On one hand I have (consistently, I think) some type of ingrained opposition to machines doing work for us, whether logical or not.  I don’t like the detachment.  On the other hand, I love large amounts of data easily interpreted and analyzed without myself having to do a large amount of reading.

An Algorithm for Everything

I was interested in our discussions last week regarding algorithmic composition, and so I wanted to spend some time this week trying to tackle this idea, and other algorithmic systems, a little bit more.  In considering this topic, I wanted to bring to the table an algorithmic system that I recently learned about and, perhaps arbitrarily, have found myself opposed to.

I attended a brief lecture a week and a half ago on different training philosophies behind swimming, as well as their positives and negatives.  The lecturer, Sergei Beliaev, was a sports scientist that had come into his own during the height of the USSR, and therefore had been researching in a time of near unlimited government financial support for sports research.  Unsurprisingly, he believed that the best system for training was his own, SuperSportSystems, or 3s.

The 3s system takes an algorithmic approach to training by gathering information, running it through a program, and spitting out a day, week, and season plan for training to reach specific goals.  .  In order to write this blog post, I created a trial account and went through the paces with one of my own swimmers as an example.  The program starts out by simply asking for the swimmers best event, current best time, goal time, and the size of the pool in which the swimmer trains.  For my swimmer, I have chosen a best event of 100 yard butterfly, best time of 1:01 and goal time of :57

 

Screen Shot 2015-10-28 at 11.41.25 AM

 

Next, the program asks for the big meets of the year, as if to say: where do you want your swimmer to be able to compete at their best?

 

Screen Shot 2015-10-28 at 11.41.44 AM

 

After that, it asks for the usual breakdown of a week of training:

 

Screen Shot 2015-10-28 at 11.45.25 AM

 

And finally, once all of this information has been gathered, it spits out its plans (pictured below is the sample plan for a single day).

 

Screen Shot 2015-10-28 at 11.51.19 AM

 

Now, this is just a single practice for the afternoon session of one week.  Also on this page (not-pictured) are the total yardage amount for the entire season, the yardage amount per day for each week, and workouts for every single practice, already planned and written.  Each set, as you can see, is accompanied by “target times”, or times that the program believes my swimmer would need to be able to reach consistently on that day in order to achieve his goal at the correct time of year.

It is important to point out that this is not just a random website or a random system.  It is used by thousands of coaches and over 15,000 athletes throughout the world, and has also aided in producing a handful of olympians and elite competitors.  Considering these facts, why aren’t all coaches (myself included) buying this program?

I have two major issues with the program, and I believe that they can, in some way, connect to other types of algorithmic processes, such as composition.  My first issue relates to something that occurred just last week.  On Thursday, I had planned a difficult workout.  However, about 30 minutes into the practice it became obvious that the kids were tired, too tired to be able to do what I had planned with quality efforts.  Because of this I decided to abandon what I had planned in favor of something easier to accommodate their physical state.  3s does not accommodate this type of change.

The second issue I have is with the setting of an upward bound on progress.  The training is based on a goal that is set at the beginning of the year by a swimmer and coach, in my example case a :57 for a 100 yard butterfly.  The training is then geared towards achieving that time by the set goal meet, which in my example case is in March.  This does not seem like an issue until you consider that, looking back at the goals that kids gave me at the beginning of the season, my swimmer had planned a goal time for the season of a 1:03 in the 100 yard butterfly (down from a 1:10).  In the first meet of the season he eclipsed this with a 1:01.  I was not training him for a 1:03, but was instead training him just to get stronger and faster, having the goal time as a motivator rather than a focal point of training.  If I had trained him for a 1:03, maybe he would have gone faster, maybe not.  My fear is in limiting potential results by setting a bar.

The issues, I believe, can be simplified by calling them issues of communication.  When I am at a workout, or considering training, I am (philosophically, perhaps) engaged in a dialogue with my swimmers.  I have to be able to interpret the information and make adjustments in real time.  It is for this reason that I don’t plan out every workout for an entire season in one sitting.  There needs to be a level of read and response going on.  An algorithmic training system removes this possibility, and it is this absence that makes me uncomfortable.  It doesn’t take account of different strengths and weaknesses, performance variations, feelings on a specific day or week, health, etc.  I takes numbers an returns numbers.

Thinking of it this way called to memory a quote from a podcast that I had listened to recently (the RadioLab podcast, “Words”):

Take a musician…here is a form of thought that carries you through a definite sequence of phrases, feelings, emotions, changes, and there are no words.  But there is something that we get access to when we gain a full natural language that we can use not only to communicate with other people, but with ourselves.

A composer, then, when composing a piece of music, is also engaged in a dialogue with the listener.  While not using words or language, there is a type of communication that goes on, that aids in the triggering of feelings, emotions, etc.  I am beginning to think that perhaps algorithmic composition, or other types of algorithmic, computational approaches to things such as training or writing, remove this direct dialogue.  And while there can still be the argument that the composer is in fact in dialogue with the program, the composer is still a few steps removed from the human audience with the program acting as interpreter, and this is perhaps where the mark is missed.  It is one of the reasons that the Love Letter Generator makes us laugh instead of swoon.

 

Facade

For awhile now we have been reading various mentions of the interactive drama Facade, though we have yet to get such an in-depth analysis of the game as we do in Expressive Programming.  I was really interested by the explanation of it offered by the book, so I decided that it was time to try the game out for myself and see how well it succeeded at doing that which the book claims it does. Even in just the first few minutes, as evidenced by my multiple times playing through, you can see the amount of variance possible from minor changes in action taken by the actor.

I played through Facade many times.  The first time I didn’t quite understand what I was doing, and therefore had a difficult time interacting with the characters and the environment.  I waited outside the door and listened to Tripp and Grace argue, wondering if / how I could do something to assuage their argument.  Eventually Tripp notices that I am at the door and he opens it.  He is happy to see me, but Grace is yelling at him from the bedroom.  She is uncomfortable with my presence immediately, and her responses show this.

The second time through I realized that I could interact with objects in the world, so when the game started I made the choice to knock on the door and throw off their argument.  Tripp responds by telling Grace that I am there and opening the door.  Grace, now aware that I am there, is not as hostile towards Tripp in the opening exchange and is, therefore, more welcoming towards me.  Rather than spend time criticizing her interior decorating, Tripp instead offers me a beer and their argument over fancy drinks ensues.  In the first time through, this argument unfolded in a similar way, but Grace’s remarks were more hostile and were directed at me.  The conversation also took place after I had insulted her interior decorating, so she was already pissed.

The game, overall, is interesting.  Expressive Processing has a very strong view of the game, and a lot of the discussion of Facade that we have read talks about it as a great model for interactive gameplay, though I found the user-interfacing to be difficult.  I think it is interesting to look at it in contrast to the Sims franchise, also observed in Expressive Processing.  The Sims games, as explained in the book, explain the process by which the game operates in a clear and accessible way, and this is, theoretically, what makes the game enjoyable.  Users are able to manipulate the system in order to achieve the desired results, and the confines of their operations are made clear to them right from the start.

In Facade, you are given very little information about the interfacing process.  You are told that you can move, interact with various objects, and speak to Tripp and Grace.  What you say, how you say it, when you say it, when you do something, what you choose to interact with, are all up to you.  In this way the game is both complicated and straightforward.  Straightforward in the sense that the interaction is very similar to real world interaction, and so choosing what to say, when to say it, how to say it, etc. comes very naturally.  However, the game doesn’t respond as easily as it could, often having the characters ignore the comment and continue on with their dialogue, or functioning sort of as a redirection tactic and leading the characters down a different but still fundamentally similar argument.  In this sense it is frustrating.  It is hard to know if the actions you are taking are having any real effect on Tripp, Grace, their marriage, their feelings toward you as their friend, etc.

I think that what makes a game like the Sims fun for people is that it is a goal and result based game, even if the results are not what are normally found in games.  And while Facade does in fact have an end and specific results and goals, your progress towards these goals is not easily recognizable, and it is easy to become uninterested because of this problem.  So while both games are goal-driven, in the Sims games, the progress can be seen, therefore making the game more interesting and making the interaction with the characters more intriguing.  Facade is, perhaps, too close to a realistic interaction to be as entertaining, at least in my opinion.  Though it is odd to consider two games that are life simulations and chart the difference in entertainment factor as something so simple as real-time result indicators vs. results with no easily discernible indicator.

I am going to continue to play and will hopefully figure out how to screenshot so that I may include a few images and a bit more discussion of the gameplay.

**Edit: I have been able to play a bit more this morning, and managed to successfully get Tripp and Grace to decide to talk about their marriage and see if they can work out their issues.  Unfortunately, this was not done by any skillful or masterful playing of the game or knowledge of the human condition.  It was by sheer insistence.  Anytime they would say something to one another, I would interrupt them and say that I thought they should stay focused on their relationship issues.  Over and over again I said this when they would try to move on, and eventually they stopped arguing and agreed with me.  It is, at its core, very similar to a condition satisfier in a game such as the Sims.  Their “we need to talk about our marriage” bar was low, and I filled it.

What is interesting to me, then, is the limits that games such as this, with free language interaction, have imposed on them.  All the time while playing it seemed as if it would search for certain “buzz” words in my sentences and then respond to it the way it is conditioned to, just as Expressive Processing describes it.  They basically have 5 loaded responses to any certain sentence, and when they get a certain response from me they just unload the response tree they have prepared.  There is very little “learning” going on, instead progression through a tree, similar to how a game such as Fallout would process.  By selecting dialogue from a list, you choose the way people will perceive you and treat you.  The only difference between Facade and Fallout is that in Facade you get to choose what you want to say, giving you the illusion of agency.  Games like Sims or Fallout, where the system of interaction is more easily discernible, ends up being more enjoyable because there is less guessing involved in the same type of output.

Searching for a Better Title

The twitter-bot tutorial was great.  I had no knowledge of what a twitter-bot was until that lesson, as I had never worked with twitter and had never looked into it very far either.  The range of possible uses of the twitter bot are fascinating to me, as you can essentially make them do whatever you would want, as long as you have the coding skills to pull it off.  That was, for me, one of the minor negatives of the workshop.  Despite having gone through the majority of the code academy tutorial and having learned a decent amount of coding, i still found that I did not know near enough to make a bot that would function anywhere near a way that I would want it to.

The possibilities that I found most intriguing about the bot itself were not so much in posting to twitter, but instead its ability to do a significant amount of research for a user with a very small amount of effort necessary.  The search function that can be programmed into a bit, which I attempted to toy with a bit, was extremely intriguing.  It could be a very useful and easy way to immediately search for and collect data on certain topics as they appear in tweets, such as frequency, positive or negative connotation, etc.  I am sure that there are plenty of people out there currently exploring these functions in interesting ways, but on a personal level it would be worthwhile to be able to manipulate and use bots in this way.

Writing in a Foreign Language

I have always found coding to be oddly comforting in the way that it all, in the end, makes sense.  It is such a straightforward means of communicating with a machine.  You are given rules and regulations, how you can tell it this, how you can tell it that, and then you follow the instructions.  It is the communicative equivalent of baking a cake.  I find something appealing in such a logical formulation of ideas.

That being said, I also find interesting the contrasts that coding language has with the english language, or really any writing language on a broader spectrum.  They start from similar motives in that both are arguably goal-driven.  Whether writing a short story, essay, or program, the author has a direct objective in their crafting of the piece.  Whether you want to elicit some level of emotional response or have a simply program that converts binary to hex, there is a purpose behind the creation.

The difference that I believe stood out the greatest to me was that I did not care about how the coding looked or read in the process.  While Python has some features that require a certain level of organization, as well as allow for comments that the author can use to annotate the process, a lot of the time my main focus was taking the least amount of steps to reach my main goal.  As we read for class, a lot of programmers are paid extremely well to try and simplify and streamline code as much as possible.  It is not about the beauty of the writing, but simply about the speed and accuracy of its results.  This is not to say that there isn’t a great appreciation for beautiful code or a brilliant algorithm, but that those types of compliments are not the end game.