TITLE: Programming in Several Guises
AUTHOR: Eugene Wallingford
DATE: April 25, 2008 7:56 AM
DESC:
-----
BODY:
I remember learning in courses on simulation, operating
systems, and networking that, for a given period, the
number of events such as cars arriving at an intersection
or processes arriving at a scheduler is often best modeled
using the
Poisson distribution.
Mostly, I recall being surprised that these events often
occur in clumps, rather than uniformly distributed over
a larger time period. Sometimes, it feels like ideas
work this way... When I encounter an idea once during the
day, I often seem to bump into it again and again. I'm
sure that it's just that my mind is sensitized to the idea
and recognize -- or project -- it more easily, much as
magic books
affect us. In any case, yesterday was such a day.
At 3:30 PM I attended a department seminar on bioinformatics
by a
colleague.
I asked him what sort of questions he and his students could
ask about bacteriophages in a data-rich environment that they
could not ask before. He said that they could now quantify
the notions of similarity and difference between phages in
ways inaccessible to them before and write programs to apply
their metrics. Eventually, he talked about how digital
processing of
large data sets
enforced a more disciplined approach on the approach to problems,
in order to battle complexity. Now, they convert big questions
into a sequence of smaller, well-defined steps that can be
tackled in a clear way. For him as a biologist, this was a
surprising and wonderful phenomenon.
I stayed in the same room for a 5:00 PM class taught by one of
our adjuncts, whose teaching I was to evaluate. He was teaching
a "skills and concepts" course for non-majors, and the day's
topic was databases. They talked about the similarities and
differences between spreadsheets and databases, especially on
how the structural integrity of a database makes it possible
to formulate concise queries that can find useful answers. He
some of the ideas using an Access database, first using a wizard
to query the system and then looking at a raw SQL query. For
many queries, he told them, the wizard does all you need. But
there will times when you want to ask a question the wizard
doesn't support, and then the ability to write your own
select statements in SQL becomes a valuable skill.
After class, I caught upon some paperwork in my office until
7:00 PM, when I attended a panel presentation entitled "Visual
Art, the Big Screen, and Orchestral Performance". (Here is a
poster
for the talk, in PDF.) Three local artists -- illustrator
Gary Kelley,
conductor
Jason Weinberger,
and videographer
Scott Smith
-- shared parts of their recent
multimedia presentation
of Gustav Holst's The Planets and discussed the
creative forces that drove them individually and collectively
to produce the work. I learned that multimedia presentations
of The Planets are relatively common but that this
show differed in significant ways from the usual, not the
least of which was Kelley's creation of thirty new paintings
and monotypes for the show.
(You may recall Smith's name from an
earlier post...
He had a small acting role in the play I did last winter!)
The panel ended with a discussion of how changes in technology
were fundamentally changing how artist work are created and
distributed. Not long ago, Hollywood and other media centers
produced the entertainment that we all consumed, but now it
is possible for folks in the middle of nowhere -- Iowa! --
to create and export their work to a global audience. This
is, of course, nothing new in the age of the Internet and
YouTube, but it is still cause for marvel to artists who
recently lived and worked in a different world.
One of the central themes of the panel was the level of trust
and surrender that this kind of presentation required,
especially of the symphony members and conductor Weinberger.
The timing of the video required the orchestra to hit certain
marks in the music on a dot, and Weinberger, who usually
controls tempo and shapes the sound of the performance, had
to give up control the artwork produced by Kelley and Smith.
The visual artists expressed a willingness to turn the tables
and find a way to cede control to Weinberger in a future
collaboration.
This set me to thinking... The reason that the musicians had
to surrender control was essentially technological. Once a
video is produced, it is set. Performance of the music was
the more malleable medium, as the players could speed up or
slow down in real-time to stay in sync. Ideally, of course,
they would play a steady predefined pace, but that is quite
difficult. But these days, "video" is much more malleable
because it is digital. Why not let the musicians play however
they and the conductor see fit, and adjust the pace of the
video playback to keep in sync with the music? I don't know
if such a digital tool exists already, but if not, what fun
it would be to write! Then in performance, the videographer
could "play" the video by reacting in real-time to the music.
All three of these stories had me thinking the same thing:
"Now there's programming." I know the feeling well the feeling
my biologist colleague expressed, because both of his answers
come down to programming as discipline and medium. When our
adjunct instructor told his non-CS students from all over
campus about the power of knowing a little SQL, I smiled at
the thought of non-programmers writing programs, albeit small
ones, to scratch their own itches. Likewise, the ability to
imagine how the orchestra might turn the tables on the visual
artists in their multimedia collaborations, and then implement
the vision in a working tool, is nothing more or less than
programming.
-----