Levine back at the BSO

October 10th, 2010 § Leave a Comment

Last night’s performance of Mahler 2 was fantastic. Levine looked shaky on his feet, using a cane to move slowly from the wings to the front of the orchestra, but the music was everything I’d hoped for. I’m not sure how to put it into words, but by the end my heart was racing – I can’t remember ever having been so moved by a performance.

At the end, Levine made two curtain calls, and as he left the second time, he tossed his cane over his shoulder, eliciting laughter from some of the audience. He walked a little more gingerly, too, perhaps with the relief of having completed the performance.

Alex Ross on Ludovic Morlot

July 4th, 2010 § Leave a Comment

Alex Ross’s take is here. Like Ross, I have a lot of optimism for what Morlot can achieve in Seattle.

Ross describes Schwartz’s tenure in Seattle as ‘uneven’, which I think is a fitting description. It was a recording Schwartz made with the Seattle Symphony that brought me back to classical music, and started me dreaming about life in the Pacific Northwest. I also have recordings of Schwartz leading the orchestra through a blistering rendition of Shostakovich’s tone poem October, and a pretty fair interpretation of Mahler’s Symphony no. 8.

Gerard Schwartz brought a lot to the Seattle Symphony, but his programming during my time in Seattle lacked daring, and his interpretations lacked panache. I still hold Schwartz in high regard as an artist, but bear in mind that his tenure in Seattle seems to have lasted a bit too long.

Ludovic Morlot to succeed Gerard Schwartz

June 30th, 2010 § 1 Comment

The New York Times reports that Ludovic Morlot has been appointed music director of the Seattle Symphony. Morlot has visited the Seattle Symphony in the past to fine reviews. I saw him direct the SSO in Prokofiev’s Symphony no. 1 and the unusual Martinů oboe concerto and thought he was a fine conductor and he easily surpassed Maestro Schwartz in his command of the orchestra.

Morlot, at 36, will no doubt draw comparisons to Alan Gilbert and Gustavo Dudamel as one of the younger conductors appointed to direct a major symphony orchestra (if you’ll pardon my inclusion of Seattle among Los Angeles and New York). The appointment closely follows the announcement of the young Canadian Yannick Nézet-Séguin as “Music Director Designate” with the Philadelphia Orchestra. Can youth help revitalize orchestras across the United States? I hope so, as more and more orchestras pin their hopes on new, relatively unknown talents.

The Seattle Times has its take here.

Sans sourdine

June 20th, 2010 § Leave a Comment

Today is the first rehearsal for the 2010 Mercury Orchestra. On Friday, the Mercury Orchestra was awarded the 2009 American Prize for its performances of Mahler’s 5th Symphony and Strauss’s Don Juan. Our program for 2010 consists of Stravinsky’s Petrushka and Berlioz’s Symphonie Fantastique. I’ve been hoping to have an opportunity to play with the Mercury Orchestra since I made the decision to move to Boston so I’m very excited to join them this season.

Levine’s Health

June 15th, 2010 § Leave a Comment

James Levine has withdrawn from the BSO’s summer series at Tanglewood, according to the Boston Musical Intelligencer. The performance of Mahler’s Symphony No. 2 will be in the able hands of San Francisco Symphony maestro Michael Tilson-Thomas. I am holding out hope that Levine will return healthy in time for the BSO’s planned October performance of the same work.

Tea Party Metaphysics

June 15th, 2010 § Leave a Comment

J.M. Bernstein, a professor of philosophy at the New School, has written a thought-provoking op-ed piece in the New York Times. His thesis, simply stated, is that recent events have demonstrated to many Americans the extent to which they depend upon the government to maintain their lifestyles, thus tearing down their illusions of self-sufficiency. The Tea Party movement, in Bernstein’s opinion, is the outrage of a population seeing its own vulnerability exposed. Bernstein writes:

The implicit bargain that many Americans struck with the state institutions supporting modern life is that they would be politically acceptable only to the degree to which they remained invisible, and that for all intents and purposes each citizen could continue to believe that she was sovereign over her life; she would, of course, pay taxes, use the roads and schools, receive Medicare and Social Security, but only so long as these could be perceived not as radical dependencies, but simply as the conditions for leading an autonomous and self-sufficient life. Recent events have left that bargain in tatters.

I have not decided yet whether I agree with his analysis, but it does neatly tie up some of the contradictory demands made by Tea Partiers (the best examples I can think of are those cited in the article, such as the demand to keep the government’s hands out of health care but also to maintain Medicare benifits).

Balls and Strikes

June 5th, 2010 § Leave a Comment

The New York Times has recently carried a number of articles discussing former Supreme Court Justice David Souter’s commencement address at Harvard. Linda Greenhouse puts Justice Souter’s comments in the context of Plessy v. Ferguson and Brown v. Board of Education. An editorial discusses Souter’s implied critique of Chief Justice John Roberts’s assertion (during his confirmation hearings at the U.S. Senate) that a Supreme Court justice’s job is like that of a baseball umpire calling balls and strikes. The Harvard Gazette has the full text of David Souter’s speech.

What a winner

May 20th, 2010 § Leave a Comment

Dave Reichert: what a winner. The eastern suburbs of Seattle, full of highly-paid high-tech employees, could have elected one of their own. Instead, lured by the promise of lower taxes, they voted for a Bush stooge who paid just enough lip service to environmental causes to edge out Darcy Burner in the election.

Yvonne Loriod

May 19th, 2010 § Leave a Comment

The New York Times is reporting the Yvonne Loriod has passed away. Although perhaps best remembered as the wife of Olivier Messiaen, she was a tremendous artist in her own right. At the Paris Conservatoire, where she met Messiaen, she taught one of my favorite pianists, the incomparable Pierre-Laurent Aimard.

Loriod played the piano for the American premiere of Messiaen’s epic Turangalîla-Symphonie with Leonard Bernstein conducting the Boston Symphony Orchestra, along with Ginette Martenot playing ondes Martenot. She also premiered Pierre Boulez’s Structures, Book 2 along with Boulez himself in 1961.

Pretty Horrible Programming

May 18th, 2010 § Leave a Comment

I’ve recently inherited a smallish web application implemented in PHP (and a little JavaScript here and there), backed by a MySQL instance. The web tells me this stack is called “MAMP” because it’s hosted on a Mac OS X Server. Previously, I’ve written or maintained only a handful of web apps, all based at least in part on Java and hosted on a Tomcat or Jetty server.

Since beginning my MLIS, I’ve heard so much about how the savvy librarians wield PHP. I put aside my skepticism and figured I’d see how PHP has evolved since the last time I’d looked at it about ten years ago. This would be a great opportunity to pick up a real web language and build a website that looked cool and helped people.

Since diving in, I’ve discovered that PHP has grown but not evolved significantly from its humble origins as a little macro language for building websites. The existing code for this application is messy and scattered (the app never progressed beyond a basic prototype), but it’s basically sound. The fault here seems to lie purely in the lack of core language features that characterize mature programming languages.

PHP’s OO functionality provides programmers with classes and interfaces (a good start), but in a language that’s so weakly typed it’s hard to see what benefits interfaces provide. PHP has class constants and private (and protected) fields, but it’s not possible to declare a field both constant and private. That means that you can make assertions about either the scope or the (im)mutability of a field, but not both. For now, I’ve chosen the abstraction leak over having mutable state, but in a larger application I’m not certain how I would be sure that nobody establishes a dependency on a class constant that isn’t intended for public consumption (ie, is subject to change in future versions).

Although PHP allows programmers to declare classes and interfaces, it does not support packages or modules. Instead, programmers must use a system of includes that’s even more primitive than that provided by the standard C preprocessor. Not knowing this, I moved a bunch of SQL statements used to populate data in a page from the script that generated the page (view.php) to a data access object, declared in a file called ViewDao.php.

One of the methods in ViewDao.php returns a simple data container object (think ORM, a representation of a row in a database table as a simple object). We’ll call the container class Individual and declare in an a file called Individual.php. Wanting to separate the viewable pages from the OO backend, I created a directory called ‘classes’ and moved both ViewDao.php and Individual.php into the classes directory. In the filesystem, the directory (classes) and the script (view.php) are siblings. I added the line

include("classes/ViewDao.php");

at the top of view.php and in ViewDao.php, I added the line

include("Individual.php");

Switching over to my browser, I discovered that this approach is a great big ball of fail. The error messages were indecipherable and the failure modes unacceptable, but that’s another story. After putting in some debugging prints, I discovered that view.php was including ViewDao.php correctly, but then when processing the contents of ViewDao.php it could not find Individual.php, since it handled the include from the context of view.php rather than ViewDao.php. However, it would be incorrect to include Individual.php as

include("classes/Individual.php")

since the relative path from a script to the file Individual.php is not constant!

It turns out that the PHP solution to this problem is for every script to register a function that finds and includes the code for any class that’s used, based on the name of the class. If your web app is large enough to include multiple directories containing classes, your class loader needs to be sufficiently intelligent to find and include the right file (again, given only the name of the class). And, this function needs to be registered in every script that loads classes, thereby increasing the amount of idiotic boilerplate making up each PHP file. How to do this? Not surprisingly, it involves includes!

PHP also suffers from having a weak toolchain. I haven’t explored the debugger yet, but my colleague assures me that it’s very slow. Presumably because the language has weak typing and a backwards system of includes, the IDE support for PHP is far weaker than for Java. Neither Eclipse nor NetBeans support automatic code refactoring, finding uses of variables or classes, or code generation (I hate writing my own getters and setters). Given such an inadequate toolchain, it’s not surprising that so much PHP code exemplifies bad coding habits. The language does not encourage developers to write modular, reusable code.

I’ve gotten this far without mentioning another peeve: PHP has evidently only recently come around to supporting prepared statements, meaning that countless PHP scripts construct database queries on the fly using concatenation. Unfortunately, the number of PHP scripts that correctly escape user input is fewer (remember Bobby Tables?).

Since I’ve got a basically working prototype, I don’t think I can justify rewriting the entire application in Java, but I think this will be my last foray into PHP if I can help it. Instead, I’ll simply marvel at the websites (Wikipedia) and the frameworks (Drupal) that use PHP extensively and successfully.

Follow

Get every new post delivered to your Inbox.