Stackoverflow.com

There is a good article on the principles driving the development of stackoverflow.com, a site where programmers get help with their coding problems on ReadWriteWeb.

I was particularly struck by the design points where Spolsky highlights the frustration created wrong answers and obsolete results.

I can remember when I was able to circumnavigate the web through a search engine for the topic of history of photography. It was that small. I could see everything there was to see about history of photography online in a week, a week of drudgery wading through duplicate results page after duplicate results page, until I had made sure I had seen everything about my topic. Although filled with a fair amount of junk and duplicates, I was still able to find a single web page if it contained sufficiently unique keywords, until about a year before Google emerged, I had relied on AltaVista to take me back to a web page in one go, when I could not remember where I had found a code solution on some obscure personal page, for example. Then the search engines began to fail me, and single pages I had found before became nearly impossible to find, but eventually, search engine technology improved and with Google, you could find that one blog page with the coding. That was one the solution to the problem of finding things.

Spolsky is right to observe the problem now is that search is failing to distinguish between correct and incorrect answers; between current and obsolete answers to technical questions.

When I first started programming using Microsoft Visual C++ (I was just a dabbler), I had a question about how to render bitmap graphics. I turned to the library of articles and code intended to help developers. I was happy when search quickly turned up an article on how to introduce bitmaps into your application. After an hour or two of reading, it slowly dawned on me the author was not talking about what I was familiar with, Microsoft Foundation Class applications. I was seeing unfamiliar code and unfamiliar techniques. I glanced up at the date. The article was from the mid 1990s. It was about coding C under Windows before MFC was introduced. The first, supposedly most relevant, documents search had brought up from MSDN was completely obsolete and about coding without an application framework. I had wasted hours reading the wrong articles.

Stackoverflow.com is an example of a great site. It is well designed, the developers learned the lessons of the last fifteen years of web technology and applied them. It is clean, beautifully presented and well organized site. I have to admit they did right what I failed to do with phphelp.com, which started by envisioning many of the same goals. They had to courage to go ahead with "soft security," collaborative editing, and content surfacing and valuing through a user voting system. Of course, with the volume of content and edits, such tools are necessary. What two humans could watch and police such a flow of content while doing their day job? User contributed and curated content is the only rational answer.

(By the way, it would probably be better to describe their principles as being informed by behavioral economics or an evolutionary branch of the field, than anthropology or social psychology, I feel the way people use voting systems to surface content, how "soft" social engineering strategies are employed on wikis, etc. to be close to the phenomena studied by behavioral economics, not just financial choices.)

Labels: , , , , , ,

Snowball, the Dancing Bird

A video of a dancing bird has become the latest YouTube sensation. Some people thought the bird's performance was faked, but for me, it is not surprising, given the sophisticated ability birds demonstrate for manipulating pitch and rhythm in their songs, that a bird shows the ability to keep time with music. Neuroscientists, including John Iversen of the Neurosciences Institute, have studied the dancing bird and confirm it is capable of extracting a beat from sound.



What impressed me most about Snowball's performance is when he lifts his leg and gives it a little shake before bringing it down. As the investigators mention, it may be prompted by the pace being too fast to put his foot all the way down in time with the faster beat, but it piques my curiosity further. It appears Snowball is dividing the beat when he waves his foot, into two or three little waves, which if I am seeing it correctly, suggests birds are capable of division of the beat and perceiving and manipulating a metrical framework. This is simply astonishing were it be to true, but perhaps not unexpected given the sophistication of bird vocalization and communication. It is one thing for a bird to keep time with a beat and an entirely different for a bird to exhibit division of the beat.

When people sing (or compose a melody to sing) the tones are not of arbitrary duration. No one could sing a song consisting of a series of tones of arbitrary duration measured to fractions of a second. Could you imagine signing a melody: A 1000ms, F 1500ms, E 500ms, D 1000ms, A 1000ms? The human mind is not well suited for measuring duration in milliseconds on an ordinary basis (we can leave out extraordinary abilities some humans may possess or develop). What if someone asked you to pick up the pace to sign faster? Each duration would have to be recalculated down to the millisecond, in your head. For this reason, music is organized by relative measures of duration.

In reality, when people sing or play music, they use simple division of the beat to measure duration. This is usually achieved through the division of a steady beat by whole fractions, usually simple divisors, like two or three. The most basic division of the beat is by two. When a tone of shorter duration than the beat is required, the melody will use a tone one half of the beat, or one quarter or one eighth and so on, down to the ability of humans to resolve divisions of time. The other main division of the beat observed in music is by three. So for every beat you have the possibility of three tones, six tones, twelve tones and so on. The human ability for perceiving and manipulation this time structure is sophisticated. Musicians can anticipate the division of future beats, playing notes that persist across multiple divisions of the beat or create "holes" or silences for certain beats, playing with the listeners expectations (this is called syncopation). I have to wonder if the small movements he makes dividing the beat follow any ornamentation of percussion or melody in the song. In the background, another bird can be seen bobbing his head to the beat, in a clear parallel to human "head banging."

Although I would have to watch a lot more video to be sure, what I have seen suggests he may be dividing the beat and deserves further investigation. I would not be surprised to find that birds do erect a sense of metrical time in sound and can mentally divide the beat and even anticipate it, perhaps even perceive syncopation. It is fascinating to watch Snowball lose and pick up the beat again.

I did watch a couple of video clips. At about 2:00 into the following video he lifts his foot and waves time to the beat, but does not divide it.
(http://www.youtube.com/watch?v=N7IZmRnAo6s)


In the following video, notice how he keeps the beat when Stevie Nicks sings "ooh, ooh" on the beat? This suggests he has an expectation of the beat even when the beat is not marked by a percussive instrument. At about 1:05 he may have divided the beat with a wave. He does lose the beat more frequently when based only on Nick's vocals or less percussive sections. At 2:31 he appears to divide the beat with a wave again. And at 2:56. I'm not sure if he's just losing the beat or dividing it...but this is a seriously important question about the intelligence of birds. At 4:43 also.
(http://www.youtube.com/watch?v=GYMBIGTteWA&feature=channel)

(Note: The time required for a complete cycle of A above middle C is 2.27 milliseconds and a sixteenth note at a metronomic pace of 60 clicks per second is 250 milliseconds, according to Wikipedia http://en.wikipedia.org/wiki/Millisecond 2009)

Labels: , , , , , , , , , , ,

Creative Photography: Subversive Detail and Conceptual Contrast

Subversive content in photographs. No, I do not mean politically subversive, but details in the image that subvert or comment on the image's subject. For example, you may be attempting a very serious image of an important landmark, let's say the Iwo Jima memorial in Arlington, Virginia, but in the foreground are parked a string of dump trucks or perhaps a string of circus vans. The presence of such contradictory details undermines the meaning and mood of the image. Of course, it can also be used by the photographer in a controlled manner to create commentary.

Here is an excellent example where subversive content is used to enhance the image. The graffiti in the background becomes a compositional element leading the eye to the hugging couple frame right and the joyous dancing figure of the iPod advertisement directly behind them communicates what the photographer "mind reads" or imagines is their inner feelings.

Hugs (San Francisco Streets 2007, godfrey digiorgi 2007)

(It reminds me of a late image by André Kertész from the 1970s of a couple I saw published in a photo magazine in the late 1970s, which if I recall, he made from his window).

Reflections in windows have famously been used as a way to introduce subversive content into images.

The important thing to keep in mind is the idea is not to introduce a lot of clutter or trash detail into your image, but to let the extraneous detail become a commentary. It has to mean something. You need to ensure the image forms and idea not just a composition (although sometimes a certain composition has such a powerful affect on the viewer that is sufficient to constitute an great image).

A good example of this by the same photographer. This image is powerful merely for it sense of captured movement and how the woman, coat, dog and background material "divide the frame," which is simply a term of art for how the three dimensional objects in the image divide the flat two dimensional area of the image into sections in an interesting way. Dividing the frame is an important concept in any two dimensional visual art.

Woman and Dog (San Francisco Streets 2007, godfrey digiorgi 2007)

Photographers also use contrast...not not contrast in exposure terms...but contrast in terms of visual language. For example, this image creates a feeling of loneliness by isolating the human figures as impersonal silhouettes in a large space inhabited by shafts of luminous light but contrasts the aloneness by presenting a group of people, not just one person. By this he contrasts loneliness and togetherness in the same image.

Across The Light (Tate Modern, London 2005, godfrey digiorgi)


By the way, I do not have to mention Godfrey is an excellent photographer who understands these important principles of authorship in photography. I found examples of both visual ideas discussed in this entry quickly on his site. He obviously understands that to make good photographs, to make photographs that are significant artifacts for consideration by society, the images must say something, not just be well exposed and composed, that the photographer must establish and manipulate a visual vocabulary. His best images have something to say and the few that fall flat are the ones that fail to establish and communicate an idea. A photograph without the presence of the author is nothing more than a documentary image (those have value as well, but that is not what I am discussing here...I certainly appreciate vernacular and documentary images).

Even if the photographer did not intend a specific message the images communicate one. There is a quote, I cannot recall exactly, but it was regarding hypocrisy and concluded the mind cannot know itself completely at once, which applies.

Labels: , , , , , , , ,