— cjohnson games


How Bots See Art

Back in 2015, several months before releasing Expand I returned back to working a regular day job. As I’d previously been teaching at university this return meant that I was now programming full time for someone else, something I hadn’t done before. One of the downsides with programming jobs is that after work you feel less inclined to work on your own personal programming projects. This is a good thing. After sitting inside all day, it’s probably a good idea to get out and do something else.

Even so I feel inclined to still make stuff so I started playing around with Twitter bots. I started by making the Who’s That Poke’mon bot based on the Poke’mon TV show. Then I made three bots that would take a daily quote and display it in ASL, Auslan and Braille. One night I made a small bot called Powerball Bot that would randomly pick lottery numbers before the US lotteries. It’s kind of amusing to think that it’ll eventually pick a winning set of numbers.

Recently I made a new bot called How Bots See Art. It takes images of pieces from the Metropolitan Museum of Art in New York and describes them using Microsoft’s Computer Vision services. It’s produced some amusing results.

I’ll probably continue to make a few more bots in the future. I really love how for such a small amount of work they can produce rather neat results.

Imagine Raising the Complexity of TV

Recently I’ve been reading Television and the Quality of Life by Robert Kubey and Mihaly Csikszentmihalyi. This book has gotten me thinking about television and the impact it has our lives. The book presents many points about how television is used as a means of escapism and relaxation. The complexity of the messages in most TV programs require very little concentration to comprehend and hence the experience of viewing television becomes very passive. Television producers are known to cater their programs to the lowest denominator in order to maximise potential viewers and as a result maximise profits and ‘success’. This leads to a lot of people consuming media of low complexity, with television being consumed at such high amounts, this is a very concerning issue.

The book notes several factors in people that tend to lead to heavy viewing:

  • Loneliness
  • Availability of Free time
  • Emotional Difficulties
  • Youth
  • Low Income
  • Lack of Education

Now let’s do a little thought experiment. Imagine if the intention of the television producers changed. Imagine if instead they aimed to improve the complexity of their shows just by one notch. If they slowly raised the bar of the complexity of what was being shown in order to bring up the lowest denominator. Think about the effect it would have on the people who fit into the heavy viewers of television which consists of many young people. It would likely result in less television being watched as it would require more concentration and people cannot concentrate at their peaks all of the time. This itself is actually not a bad thing as the book also mentions how lighter viewers tend to enjoy television more. The roll on effects to the lives of TV consumers would be great. They’d most likely lead fuller lives and happier lives as they tackle the world with higher complexity.

Time Lapse Photography – Side Project

I’ve just added another small project to my Portfolio. This project is just something small I came up with while tinkering away with OpenCV. The program I have created is called TimeLapse. It is a small program that takes pictures using a webcam and then strings these pictures together to form a video. The user can define the number of pictures that they want taken and the interval at which these pictures are taken. The result is a video of Time Lapse photography.

Time Lapse Photography over Tokyo

The source code has been provided under the GPL so feel free to enjoy the freedoms that this license brings. You can download the source code here.

PIRC Spelling Bot – Side Project

Throughout the semester I’ve been playing around with extending the functionality of Java by using the additional open source libraries. This started off when I was looking to improve the GUI on our TimeTrack group project which you can check out via my portfolio. After stumbling upon SwingX and Substance which I used to improve our graphical interface, I continued to look for more libraries. Some of the more notable ones I found were PIRC Bot, an IRC based library for Bot creation, GraphViz, a library that plugs into the C library which is used to generate graphs and Jazzy, a spell checking library. I decided to put some of these to work. I used GraphViz for an AI assignment and I decided to use PIRC Bot, and Jazzy for a custom created Spelling Bot.

Today I am happy to say that I’ve finished creating this Spelling Bot. You can download the source code here. This spelling bot has a few nifty features including:

  • Spelling suggestions offered to users that misspell words in a channels that the bot has joined
  • Predefined(Aspell) and Custom Dictionaries
  • Following orders from a master such as adding custom words, joining and leaving channel

So be sure to put your those poor spellers to the test with this bot! I’m sure that you probably know a few.