Thursday, December 18, 2008

Evolving Ambiguous Digits


The above image represents my final Machine Learning project, Evolving Ambiguous Digits. I have just finished writing it now.

Yeah! First semester of Master's finished!

More details are to come (I will likely make a project page). But the above is the output of a neural network as represented by a Restricted Boltzmann Machine, when it is prodded in the direction of different digits. The top row is how the digit evolves if you poke the 'zero' neuron (think of it as poking the 'burnt toast' neuron) and each row down represents the next digit. Poking five works pretty well since it is a five already.

Sunday, December 14, 2008

Blog Entry Ideas

I keep a bunch of text files on my cellphone that contain random ideas I get while on the go, categorized such as 'Books I want to write', 'Funny ideas', 'Directives', 'Improv Ideas', 'To read/watch/play'. One of these files is 'Blog entry ideas', a collection of stuff I wanted to write or rant about but haven't yet. Well, I've had it for a year now, and still haven't written these posts. Possibly because I could never come up with a coherent way to express what I meant, I was too lazy, or I forgot what the hell I was talking about. Instead, let's do it the easy way and let your imagination fill in the blanks. This way, I don't have to write something, and you can imagine exactly what you would want to read about. Except where I've noted, these are completely unedited:


Academia vs industry: you always maximize stockholder value. In aca, that's you! But, you're hired on the presumption that stockholder value corelates [sic] highly with personal value.

An argument against knives

I've been going at it wrong. What is expressable [sic] through mime is viewable by the power of imagination and anything that tries to recreate that will destroy that effect.

Blog name: follow these instructions

Observation: movies like tropic thunder, kiss kiss bang bang and adaptation mock the film conventions of Hollywood initially, but then use all of them very effectively in their final acts. Is this out of homage, or mockery? Is it true that these ridiculous things are, inevitably, the most effective way to tell stories on the large screen? As an audience, are we so entrenched in film language that we can't expect otherwise?

The honour of the grind. Granddad Rahnasto [on my mom's side] once built the foundation of a house by himself. Conversation I had with a guy after the play copenhagen.

Dumb thoughts on clean hydrogen fuel. Where does it come from? Clean?

Numbing in the transfer from actor to audience.

On my approach to objectivity and art, specifically by script-reading. Why do I seek to be objective? Does it matter?

The implicit nature of geometrical shapes

Difference in interactive media between part of the 'plot' and something it is possible for the player to do. Who is responsible for their actions, ie drink driving in GTA or spousal abuse in fable.

Catch 22s and strange loops in godel's incompleteness theorem.

On genuineness and science. On the sliding scale of carefulness whenit comes to truth, where should you be? Not admitting a chance of failure. 'Religious' thinking.

User responsibility:
My viewpoint on things that can be "addictive", such as videogames and drugs, and the roles/responsibilities of users and designers. how my viewpoint has changed recently with my awareness of HCI. Acting like a baby as a user. Also applies to pieces of art that need to be understood. Eg. The knife in "no exit" - the audience is expected to notice it.

Coping with tunnel vision - epiphanies are important

Rationalizing decision time. Monetary. The value of my time and reducing stress

Thursday, November 20, 2008

Improv Math: Military Clock

A few weeks ago, I went to see PROJECTproject, an improv show in the Toronto area. They had just come back from a tour to Western Canada, and one of the things they brought back with them was a structure called Military Clock. I think they said it came from Winnipeg. I'm always on the look for interesting improv structures, and this has a mathematical tilt to it, so that's why I have written it up.

The way it works is:
- split the team up into two groups
- have each group form a circle on either side of the stage
- the people from either circle who are closest to the audience (two of them) are in the scene
- whenever anyone not in the scene feels that it is getting stale, they yell "Clock!" and both circles rotate
- a new scene starts with the two people who are now at the front
- repeat until you feel you're done, or everyone has had a scene

When I saw PROJECTproject do it, they had one circle of three and another circle of four, like below.

Go ahead! Click on the stage to make the clock run! Also, click on the arrows to add or subtract improvisors to each circle.



However, this only "works" for certain numbers of improvisors in the circles. Ideally, you want to be able to run the military clock around without having any repeats, and have every possible pairing of improvisors show up. When I saw it, the improvisors would keep their character for future scenes, so we saw all possible character combinations (7 choose 2).

So what numbers does it work for? It is possible to find these numbers for any troupe size?

To rotate through every possible combination, the size of the circles must be mutually prime.

Can every troupe size be expressed as a sum of two mutually prime numbers? NO. I'm also assuming we can't have circles of size one, since that isn't the spirit of the game.
It works for
5 - 3&2
7 - 3&4 (PROJECTproject)
8 - 3&5
9 - 4&5
10 - 3&7
11 - 5&6

It doesn't work for 6, sadly.

Does it NOT work for any troupe that is larger than 11? I am not sure. But seriously, who has an improv troupe larger than 11? Think of the egos!

Monday, November 03, 2008

Playing your part

One of the problem with video games that have a story component is that the player you represent can behave inconsistently with the "story of the game". Games that do not have a story component, such as most Will Wright-style games, are the exception. An example of this problem is the very detailed story and character development of Grand Theft Auto IV, and yet the cartoonish violence which is actually fun and deviates from the character that the story has built for you. Also, in some levels of the Thief Series, it is sometimes just easier to sprint through an entire level instead of being stealthy, and thus having the entire complement of guard and monster AIs making a racket trying to find you.

Elsewhere, video games have adapted strange conventions to prevent this problem, such as the "silent protagonist" seen in many first-person shooters that avoids the sticky issue by simply shutting up.

One potential cool way to synthesize story and gameplay is to somehow reward or punish the player for acting more or less like their part. I hadn't yet seen this in a game yet, until I was reading the Wikipedia entry for Valve's upcoming game, Left 4 Dead. The Tank, concept art seen below, is one of the playable zombie characters in the game.

Obviously, this character is not meant to just sit still and remain pretty. Strategic thinking also doesn't seem to be suggested by its form. To quote the article:
"Also, the tank has a "Frustration Meter" which means that control will be taken away from a human player if the Tank does not engage the survivors for a certain time."
Cool! There are other varieties of playable infected that have different characteristics, and they don't have this same description. So, the game designers are suggesting a certain "play character" in their design. I can't wait to see what more comes of this.

Suggestion: make the physical appearance and gameplay characteristics change automatically based on the game learning a player's "style".

Note: The most famous silent protagonist is Gordon Freeman, the main character of Valve's Half-Life series. Valve is great.

Sunday, October 26, 2008

How can computers use tacit knowledge?

I'm seven weeks into my Master's, and the clouds are beginning to clear around my research topic. But first, an aside...



In my improv class at Impatient Theatre on Saturday, there was a scene that was described as "incredibly complex". We were playing with the idea of an "analogous scene" that explores and expands the themes of a previous scene in a different situation, with different characters.

The first scene was an old couple going through storage in their basement. As the scene progressed, there was subtle tension between the two, with the woman wanting to bring something up, and the man ignoring her, and instead bringing attention to some old toys. He passed one to her (a plastic Pony) and held one himself (a He-Man). He held the He-Man in front of his face and said "Hey there little Pony!" and so on. They weren't interacting as a couple anymore, but as two little toys. Finally, the Pony said that she wasn't sure if it was working out between her and He-Man, and that maybe they should re-evaluate their relationship. Both the woman and the man froze, the conversation between the toys having become about their relationship. The scene ended.

The second scene was two friends exploring the garage of a house that one of them was house-sitting. Strangely, there were a bunch of sports equipment and other costumes in the garage. The house-sitter started putting on and taking off equipment for football and hockey, etcetera, while the friend starting playing with some Star-Wars costumes. The more equipment the house-sitter had on, the angrier they would be about some issue with the friend (a car getting scratched, poster in their house being thrown out). Meanwhile, the friend thought they were just play-acting scenes from the Star Wars movies. At one point, the friend put a Yoda head on the house-sitter to try to get him out of his angry mode, but the house-sitter took it off, saying it didn't feel natural. Finally, the friend put the Darth Vader costume back on and got really angry about an insignificant housemate issue, attempting to show the house-sitter how he was acting. The house-sitter responded with "Did that happen in the movie?" and the scene ended.

The first scene took about 2 minutes, the second one took 4 minutes. We analyzed both of them for about 5 minutes apiece, and I still find myself thinking about them. When the improvisors were asked why they made certain choices, they couldn't actually verbalize their thinking or reasoning, yet all of them made amazing scenes. It turned out that the improvisors in the second scene had two very different in-the-moment interpretations of one part of the scene, yet they together made something that was interesting to watch from the audience.


In my continuing research about learning by mimicry, I've become interested in the idea of tacit knowledge, knowledge that is defined by its difficulty of communication. Tacit knowledge is usually passed by a learner observing someone else, whether they are explicitly a teacher or not. I assert that interactions that require or use tacit knowledge are more powerful and expressive than those that are not. While my initial motivation to explore this space was miming, a form of physical expression frequently used by people when words are not enough, tacit knowledge exists in the use of any sufficiently complex interaction. I use the metaphor of drafting while riding a bicycle as the way that a user can explore the space of existing tacit knowledge:

1. Advance tentatively
2. Have the space of previous interactions shown in a useful representation
3. Made a choice
4. GoTo 1

A small philosophical problem I have with this is that it seems to suggest that all possible interactions are pre-determined. Well, on a regular basis, the vast majority of interactions are pre-determined. New space can be explored by a different mechanism, but frequently it is built on existing knowledge from different areas that is synthesized, filling in convexities.

I want to focus this down to how tacit knowledge about physical interactions is communicated and processed by users. In particular, I want to focus on newer gestural interfaces, which are currently baffling to people that haven't seen them (I played with one, and it was trial and error). If communicating gestural information is possible, it also means we can move beyond the "list of (x,y) finger points" as the only possible interaction, which is embarassingly limiting given the possibilities afforded.

In the improv scene I wrote about above, the improvisors in the second beat didn't know explicitly what pattern they were following, but they did know it, and they could expand on it. This is a power that is hard to express in existing interfaces. If computers can be made to express tacit knowledge, then I believe we've taken another step to the final goal: making computers worth caring about.

Image above is a hand painting that was made each night for a play I was in this summer, "For a Better World" or "Für eine bessere Welt", for Single Thread Theatre Company. One theme of the play, as I saw it, was the evolution of culture.

Sunday, October 19, 2008

Stuck in Real Time

DSCN0603

At Friday's DGP party, a projector and a webcam was set up. The webcam was aimed at the party, and the projector was aimed at a large white wall, displaying the party. This is all good and cool, and if you aim the webcam so that it sees part of the projection, then you get fun feedback.

DSCN0610

However, the clincher was that the projector displayed what happened on the webcam 2 minutes in the past. This led to the party itself becoming self-aware, where much of the discussion led to what had happened 2 minutes ago. Since the webcam was aimed to produce feedback, then this included what happened 4, 6, 8 minutes ago too.

DSCN0619

As the party continued and my own personal inebriation increased, combined with my recent play-through of Braid, it occurred to me that the projection on the wall represented a barrier between this world and the world from 2 minutes ago. I wanted to cross this barrier, and be in both worlds at once.

Me taking a picture of myself taking a picture:
DSCN0661

I created a sequence of movement of myself in front of the projector that lasted about 2 minutes, and kept repeating it and repeating it. The more I did it, the more I aligned with the past version of myself. As the party kept going on in parallel worlds, I was the only person in every world at once.

Friday, October 03, 2008

Mathematical Recreations - Tetris

So, I was doodling while watching an episode of The Wire, and I came across this curiousity. Let's look at Tetris pieces, from the popular video game Tetris. Another way to define these is the set of arrangements of four squares where you can travel from one square to any other given square by shared sides. Go ahead and try to think of any that are in that set that aren't in the above picture, except by changes in rotation.

Now, since we're doodling, lets see if you can draw all of the Tetris pieces without taking your pen off the paper, and without crossing over or drawing on top of an existing line. Try it. Well, it works for some, and it doesn't for others.


Now why?! It's a little baffling. But, like any mathematical curiousity, it is made simple by breaking things down into constituent parts. The parts of the pieces where the rules are applied directly is at the joints/crossroads, so let's try to categorize them:


[Below here there are spoilers, beware]

Going from left to right:

One: In all of the pieces, there is no joint with only one line coming in, since this wouldn't be able to make a square.

Two: There are many joints with two lines attached to them, but they have to be at corners, not like I've drawn it above. When you're drawing the continuous line, you come in one way and go out another.

Three: If there are three lines attached to a joint, it must mean that it is an endpoint. See what I mean? Since you can't come in to an intersection more than you go out, and vice versa, then that means you need to stop in the intersection. This will be made clearer when we look at four.

Four: Since there is an even number of lines, you can go in twice and go out twice.

Now, let's number the joints in our Tetris shapes:


See? Only the top two shapes (I wish I had names for them) have exactly two endpoints, the points labeled with a 3. All the other pieces have more than two, and if we're trying to draw a continuous line you can't really stop or start more than twice, can you?

Wednesday, October 01, 2008

Implicitly Explicit

For the last 15 years or so, the state of the art in Human-Computer Interaction, and Computer Science as a whole, has been riding the line between the explicit and the implicit. I am trying very hard to understand this.


When we meet a new Thing, we apply very powerful algorithms subconsciously to figure out its behaviour until, finally, it becomes part of Our Understanding. We are highly unaware of how we do this, even if we are told to think it through. The most exciting applications in this area improve the ease of adoption of a new Thing. We give up quickly on Things that fail early, so making sure the first few dates between Us and Them go smoothly is very important. Long term success, termed "expert use" is harder to describe.

How do we define something Good?
Time is an important quantity to Us. Let us use Time to as a metric to evaluate the Good-ness of a Thing.

For what Goals shall we measure the Time?
A Goal should be something easy to measure, that can be done with both the old Thing and the new Thing. Let us compare them to determine the optimal Thing.

This process frustrates Me. 

Jump back up a level.

When a Thing fails for Us a few times in a new way, our interaction paradigm switches from the Implicit to the Explicit. We construct rules and try to inference them. Sometimes this is good, and sometimes this is bad. Most of the time, Explicit reasoning should not be necessary. I am a fan of thinking that when a Thing is able to take over a part of our normal life, it frees more of us up to do more better and interesting activities. However, sometimes switching to Explicit reasoning is important. Feynman made a point, when speaking to physics students, that quantum mechanics is like nothing they have ever thought of before, not particles, not waves, not dice. It is entirely axiomatic.

Explicit understanding takes a very long time, but it helps build Implicit understanding (for some reason I am able to think of multi-dimensional vector spaces). It becomes a part of Us. 

I have started taking classes with Toronto's Impatient Theatre Company, a improvisation group focused on the Harold, a type of longform improvisation comedy. The thesis here is (using unusual words) to organically discover the Pattern of Behaviour present in the suggestion given and the improvisors on stage. Organically, Implicit, means not imposed, Explicit. Why is this only restricted to comedy? 

The best Things do not dissapear, they are consumed by Us. When we discover a Pattern of Behaviour, it quickly becomes interesting cool accepted normal required obligatory and we have moved on. Then, the Pattern of Behaviour may be extended and explored to more Patterns of Behaviour. Abusing a definition here, it is like there is a fractal structure to behaviour.

Is there a non-grey difference between "lots of Implicitness" and "Explicitness"?

How can one consciously empower oneself to use Implicit and Explicit modes? Can a Thing be designed to tell one how?

Can a Thing that

animates
draws
files
schedules
makes other programs

learn your Pattern of Behaviour and continue it for You?

Thursday, September 25, 2008

boodly boodly boodly Boodly (the sound of a power up)

So I've moved to Toronto and started my Master's in Computer Science. I'm living in a basement bachelor apartment only 15 minutes walk from school, surrounded by a variety of multi-cultural restaurants. In my building, The Bahen Centre for Information Technology, I have an office (cubicle, really) in the Dynamic Graphics Project on the fifth floor. I'm starting to scatter my workspace with post-its. Next to my monitor is a picture of the Vitruvian Man. Thanks to having to write a grant proposal, I even have a topic for my Master's research, "Developing Methods for Teaching Computer Interface Gestures by Mimicry"

Grad school looks to be busy, but awesome. I am surrounded by people almost always willing to discuss any topic in immense detail, irrelevant or not. There are a wealth of resources that I can learn from, to the point that you could spend years here without actually accomplishing anything (research). Your Research is really the main point. Everything else (courses, teaching, seminars) are really just a distraction - you're here to contribute to Knowledge. This semester, I'm taking three courses: Ubiquitous Computing, Computational Biology and Machine Learning. I initially didn't want to take Comp. Bio. because it is outside my field, but due to annoying "breadth requirements" for my degree, I have to. However the course looks fascinating.


Classes here don't carry the same format they did in undergrad. The template for every class is to take turns pre-reading some research paper, and then presenting it. By the ending of my classes, I should be an expert at:

1) Reading
2) Understanding
3) Presenting

The above list actually looks pretty important. It does leave room for computational and programming competency, but I think Machine Learning will be enough for that; I wish I had taken more statistics in my undergrad. However, having an applied math background gives me a jump ahead in some other areas.

When not at my desk, I've been out exploring places to eat and drink in Toronto (but not too much). For the first two weeks, I was able to drink a new beer I had never had before, and I was out almost every other night. When not out, I've been chilling in my bachelor pad. Having a bread machine and a BBQ and an oven (didn't have one last year) is awesome. I've also been seeing lots of improv: Impatient and PROJECTproject so far, but there's much more to come.

Monday, September 15, 2008

Crazy Dream

So I'm in Toronto now, yada yada yada all is great and shiny and mucho-fantastic. But that's another post. For now, let's discuss a dream I had last night. I'm lucky to have pretty vivid dreams regularily, but this one was too odd to let go. I tried to send it in to my twitter, which I use much more often than this blog, but I couldn't make it concise enough. Here it is, in a sort of half-grammar:


Dream: Was sentenced to hang for mistakenly kicking and killing someone in soccer. Goodbyes to family and friends; neck-strengthening exercises. Dad said I could borrow car to flee to States. Realized this was ridiculous; became lucid; woke up.