Unpublishable

Quite often my students will come to me and say “I have a really cool idea for an algorithm”. Most of the time, after hearing the student out, I will make suggestions about something similar but different to try.

The only reason I can do this is that, in most cases, I’ve already tried something similar to what the student is proposing — sometimes quite a few years earlier. Rather than make the student go through a month or six of pain, frustration and failure, I draw upon my own past experience to steer the student toward an approach that is much more likely to produce a positive initial result.

None of these experiences upon which I am drawing are publishable. You won’t find them in the literature under my name or under anybody else’s name. These are the research failures, the approaches that at first seem plausible but which prove, after hours of hard work, to be dead ends.

It’s a shame that there is no academic forum for sharing this valuable lore. You don’t get published for reporting things that do not work.

On the other hand, the very fact that you cannot find out these things on your own means that we professors are a valuable part of the process. I don’t know if this is good in the larger sense, but it certainly helps me to feel useful.

Sticky music

The other day I was walking along the street and I passed a shop that was playing one of my favorite songs. I wanted to stop and linger, just to enjoy the rest of the song, but I was on my way to meet some people, and I didn’t want to keep them waiting.

Yet I thought to myself “Why can’t I take the song with me?” I know there is software that can recognize a song from just a few bars, so there is no technical barrier that would prevent, say, a smart phone from “picking up” any music in the vicinity.

Wouldn’t it be nice if you were walking down the street, and whenever you heard a song you like, you could just pick it up and take it with you, so that it continues to play on your own portable music player?

Of course this defeats the goal of the store owners, who are playing that yummy music precisely to entice you to go into their store and linger a while. But somehow I think they would survive. 🙂

True story

True story: I was having dinner at a friend’s house this evening, and a guy we both know called her on the phone with a riddle, specifically for me. He asked “What is a unit?”

“I give up,” I said, “What is a unit?”

“It’s a sweater you make yourself,” he said.

And that was it. He had called her house only so he could tell me that joke.

I thought it was a really funny joke, but my friend, she wasn’t so sure.

“Well,” I said, “at least we know he came up with the joke himself.”

“Why is that?” she asked me.

“Because,” I explained patiently, “If it’s a sweater you make yourself, then it has to be original material.”

The pliable pawn

Taking just a small step today, I’ve changed the behavior of the pawn.

Now when you hit the keys 1…5, rather than making the different parts of the pawn appear and disappear, you just change their shape.

Because there are five keys 1,2,3,4,5, this means that you can create 32 different pawns (since every key multiplies the possibilities by two). None of these 32 pawns look like each other, yet each on is unmistakably a pawn.

Click on the image below to try it for yourself:





 

Of course this is going to get much more interesting when the other five chess pieces are added into the mix.

Generalized fonts: manual design versus machine learning

Building on a comment by Douglas, one approach to automating generalized fonts could be to create them by example via statistical machine learning.

Imagine, when I was walking by those chess stores in Greenwich Village that started this line of thinking, if I had taken the pawn from every chess set, and had fed all those shapes in to a computer program, with the instruction “this is a pawn”. Now imagine I had done the same for all the bishops, etc.

The software would have two kinds of labeling information to work from: (1) These are all pawns, and (2) This group of pieces (knight, bishop, etc.) are all from the same set.

It would be interesting to see whether statistical machine learning could make use of that labeling. Not just to be able to assert, given a new piece, “this is a bishop”, or “these two pieces belong to the same set”, but to make the more interesting assertion: “Here is a chess set that nobody has ever seen before, which is a weighted mix of these other example sets”.

And it would be interesting to compare this automated approach to the old fashioned one of manually analyzing the structural parts of a chess piece (as I have been doing), in order to build new variations.

Each approach would have its advantages. The statistical machine learning approach could potentially get a lot further faster, but it would be unlikely to ever be able to tell us how and why it made its choices. For actual insight, I believe the manual labeling analysis/synthesis approach will win hands down.

Generalized fonts

Before going on with this exploration of “chess fonts”, it might be worth thinking about how this concept of fonts generalizes to other areas of everyday life. In furniture, dishware, utensils, and anywhere else where we find a set of designed objects, there is a kind of “font semantics”.

Within any such set there are traits that clearly distinguish one member of the set from the others — the spoon is different from the knife is different from the fork — yet if the objects are well designed, there is no question that each object belongs within the set.

I’m sure you’ve all had the experience, when putting away dishes or utensils, of needing to put different sets with their own kind — this drawer for the fancy silver, the other drawer for the everyday stuff. Whenever you do this you are actually mentally analyzing somebody’s design of a generalized font.

Even the characters in South Park and The Simpsons are examples of a kind of generalized font design, as are Lego characters and the Na’vi in Avatar. It would be interesting to implement this generalized notion of fonts as a set of transformational filters, which would allow us to, say, start with the Na’vi version of a given person, and from that generate the Simpsons version.

The protean pawn

In order to build different chess set “fonts”, first we need to understand what are the different visual parts of a chess piece.

Today I deconstructed the virtual pawn I had yesterday constructed, and I discovered that the pawn has five distinct such parts. For want of better words, these might be called (moving from bottom to top) the base, skirt, stem, collar and head.

The image below shows the pawn with skirt and collar missing. If you click on the image, you are taken to a Java applet that allows you to remove and replace each of the pawn’s five visual parts.

Variation in chess fonts is going to largely come down to making sure that corresponding parts are varied consistently for every piece. For example, changing the skirt of the pawn should produce a corresponding change in the skirt of the bishop.





 

I also think “The Protean Pawn” would make a hell of a great name for a bar. 🙂

Chess fonts, continued

I’ve decided to put my money where my mouth is, and try to create a space of chess fonts.

As a first step I tried out my new interactive geometry modeler to design one pawn. Below you can see a screen shot of the result.

Now I need to (1) create the other five types of chess piece, and (2) parameterize everything so that an entire family of chess sets can be explored interactively by varying sliders.



Chess fonts

Today I passed by the various shops on Thompson Street in Greenwich Village that sell chess sets. These shops are truly extraordinary. You can get all the variations on Staunton and other traditional chess sets, abstract minimalist, as well as Alice in Wonderland, Civil War, Tolkien, Dinosaurs, or just about any theme you can think of.

I had passed by these shops many times before, but for some reason today my first thought was of my little 3D printer at home, and the possibility of using it to design and print out my own chess set.

This created a chain of thoughts in my head, centering around the fact that once you have a 3D printer, much of design moves from a hardware problem to a software problem. All the major decisions about design are made in a computer simulation, at the end of which you essentially just hit “print”.

And it occurred to me that it would be an interesting exercise to create software to design chess sets, as well as families of chess sets, much as we now design text fonts and families of text fonts. In particular, one could create a software tool for designing chess sets, so that you could do the two opposing things that are important for font design: (1) Allowing for global changes that affect all chess pieces, in which common design decisions are applied to every piece (e.g.: make every piece taller and slimmer, or add weight to the base, or move the narrowest point of the stem higher up), and (2) Allowing for custom changes to any individual piece (e.g.: the knight) that nonetheless remain consistent with the overarching design parameters that categorize your chess set.

Once designing chess sets is moved to software, all of this becomes more practical. Essentially, just as we now have families of text fonts, we could have families of chess fonts.

Where everybody knows your name

I was having lunch yesterday with a friend who works at Google, and he was saying that one of the things he likes about their Google+ product is its requirement that you use your real name.

This is in marked contrast to some other social network products in which you can adopt an alias that disguises your true identity.

These differing policies can lead to very different user behavior patterns. For example, the extreme trolling that goes on in comments at YouTube (ironically also now owned by Google) is quite likely tied to the anonymity of the commenters. I suspect that many of those comments would not be so aggressively nasty (or in some cases, just plain stupid) if the commenter’s identity were known.

In a sense, the sort of smaller scale but more collegial conversations on Google+ are reminiscent of the early days of the internet, when the number of people on-line was relatively small, and there was therefore a kind of mutual trust that is now lacking in the wild west that the internet has become.

When my friend pointed out this property of Google+, I told him that it reminded me of the theme song for “Cheers” written in 1982 by Gary Portnoy and Judy Hart Angelo:

Sometimes you want to go
Where everybody knows your name,
And they’re always glad you came.
You wanna be where you can see,
Our troubles are all the same
You wanna be where everybody knows your name.

So there you have it, the wisdom of social networks reiterating the wisdom of television.

Also, a neat framing of the two sides of freedom: Anonymity provides ultimate freedom of action. Yet in any community where you are anonymous, you can never enjoy the freedom of feeling at home.