Free sheet music from IMSLP is back!

July 14th, 2008

Woo-hoo! The International Music Score Library Project (IMSLP) announced its reopening, June 29, 2008! They’ve still got about 20% of their scores blocked for download, pending copyright review, but they’re open.

IMSLP was the place to go for public domain classical music scores on the Internet, before Universal Editions sent them a nastygram and they had to shut down. But the open source/creative commons community rallied. They provided moral, legal, volunteer, and financial support, and here we are - good job, folks!

A recap of the dispute: Although IMSLP’s copyright review team enforces the Canadian copyright term of 50 years post-mortem, Universal Editions threatened to hold Feldmahler, the owner, personally liable for international downloads from any parts of the world where copyright terms are 70 years post-mortem (The U.S., due to the Mickey Mouse Protection Act and the EU). Presumably, he would also be held liable for the costs of ascertaining the damages (”We need your server indefinitely.”), and their legal fees as well. (”Quit now or we will ruin you, kid.”)  Thus the shutdown, even when the overwhelming majority of the scores were public domain.

Tap Water? That stuff’ll kill ya!

May 26th, 2008

When offered a glass of water, my mock-disgust reply always used to be, “Never touch the stuff…” It just tasted bad. Then, a few years back, I found that my reoccurring cough and headaches vanished whenever I was hydrated enough. You can only drink so much tea, juice, and milk, so I had to add water into the mix. I started drinking bottled water. Woo-hoo! Where did the bad taste go?

But recently, there has been lots of bad press and activism against bottled water. Ann Arbor outlawed city purchases of bottled water, unless it was their own tap water - just rebottled. Their rationale was to remind consumers that “tap water is as good as bottled water”. Um, no. Cities around the country are also picking up torches and pitchforks.

But now that I know what good water tastes like, I understand why I never liked tap water. It’s the chlorine! So this “Back to tap water!” campaign really annoys me. People, why would you want to drink dilute chlorine solution at a concentration lethal to a goldfish? I’m just sayin’. Goldy was tryin’ to tell you something, floating on top of the aquarium there.

There is agenda-driven politics and the consequent hysterical press, and then there is peer-reviewed science. Although smaller studies were individually ambiguous, when you pool the data, tap water can give you bladder cancer. Same as when they pooled all the data a decade and a half earlier. (In science, nobody ever believes older studies, so they keep repeating research at fifteen-year intervals.) Who would have imagined that continual exposure to chlorine for many decades might not be healthy? *cough, cough*  Notice in the recent study that even beverages made with tap water are safer.  You make them; then they sit for a while, which has the same effect as making water goldfish-safe by letting the chlorine volatiles evaporate.

Check out your own tap water in the Environmental Working Group’s National Tap Water Quality Database. They include data on contaminants not regulated by any agency, and thus not being monitored by other means. (You can even send them a few bucks to keep them at it, if you want.)

The Top 50 Code Bases

December 31st, 2007

Anthony Cangiano had a post I liked that did an estimation of programming language popularity by Amazon Rank of the bestselling corresponding book. OK, everybody that thinks of that as unscientific rather than fun, leave now.

Using Amazon Bestseller Rank is biased toward new, hot languages and languages popular among people just learning programming. This is fine; I appreciated that and took the post on its own terms. You can also get fancy and make up some popularity index based on number of programmers, courses, and vendors like these guys. But recently, I took a high-level look at my own skill set. Inspired by Anthony, I wanted to come up with my hard-knocks, generalist view of the actual code base out there in a fun way, what you might run into to maintain. So, dedicated to the apologetic project manager who introduces your new assignment with, “Remember the aerodynamics library Elmer did in Ada before he retired…”

Presenting: The Top 50 Code Bases, as ranked by the Google hits on the phrase “written in language“. The term language here is ridiculously broad, encompassing any programming, scripting, query, or markup language, and even meta-applications; anything you’re likely to be faced with updating something in, and thus might have to understand. (This is my rationale for including markup languages.) If you might have to fix it, I counted it.

Rank Language Refs (K) Cangiano Rank
1 C++ 1,290 6
2 Perl 1,120 11
3 Python 748 9
4 PHP 667 10
5 C 523 7
6 C#1 381 5
7 ASP 292  
8 HTML 282  
9 Assembly 277  
10 Visual Basic 225 8
11 XML 188  
12 JavaScript 177 1
13 Flash or ActionScript2 162  
14 BASIC 160  
15 SQL 141 4
16 Java 137 2
17 Delphi 117 19
18 FORTRAN 112  
19 Excel 107  
20 SQL Server or Microsoft SQL Server2 101  
21 .NET 97.7  
22 Ruby 94.4 3
23 Access 82.9  
24 Scheme 76 17
25 Visual C++ 70.7  
26 MySQL 67.3  
27 D1 65.2  
28 Tcl 58.0  
29 Pascal 57.1  
30 Oracle or PL/SQL 55.3  
31 COBOL 49.2  
32 AJAX 47.2  
33 LISP3 46.2 20
34 MATLAB 44.0  
35 Ada 36.5  
36 Prolog 34.7  
37 VBScript 33.9  
38 Haskell 33.6 18
39 bash 33.3  
40 Smalltalk 32.7 22
41 CSS 31.5  
42 PostScript 28.2  
43 sh or Bourne shell1,2 22.1  
44 Turbo PASCAL 21.4  
45 Common LISP 20.2  
46 ColdFusion or Cold Fusion 20.1  
47 Erlang 19.6 12
48 Objective-C 18.9 13
49 Lua 18.4 16
50 UML 17.6  

1These were corrected for false positives such as “written in C# minor”.
2Both search terms’ totals were added together.
3Sorry, Paul.

For comparison, I have included Anthony’s rankings, so you can see how his hot languages compare to the spectres who will haunt your nightmares in years to come. I decided that dialects of languages should be ranked separately, since you might only initially be told that a program is in LISP, and that might require you to first identify that Common LISP library calls are present; this is a harder problem than being told initially that it is in Common LISP.

I was surprised at what didn’t make the cut. If you’re wondering if I forgot:

  • awk
  • sed
  • XHTML
  • SOAP
  • XSLT
  • ksh, csh, and their variant names
  • OpenGL
  • Mathematica
  • Forth
  • ALGOL, PL/I and those other 60s hits

and about three dozen other also-rans, um, no.

Don’t take this all too seriously, as when I checked back a week later, there were unlikely changes in some of the totals. Google’s count estimation is very rough, apparently. These numbers were retrieved on December 14, 2007, in all but a few instances.

Tests Passed and Unpassed: A Jascha Heifetz Memorial: Part I

December 10th, 2007

Jascha Heifetz died twenty years ago today. I have sometimes joked that I studied double bass with Jascha Heifetz, but the underlying truth is that the fascinated and endless analyses of his otherworldly effects were the major musical influence in my life. The effects, after much loving consideration, sometimes led to the means, and as these jewels accumulated, people meriting respect said incredible things about my playing, words that far outstripped my limited technical means.

The treasures cast their magic as I travelled to other shores as well. I was accepted as a college piano performance major without ever having had a piano lesson (although I did have most standard violin concerti accompaniments and much of the Grieg Concerto in my fingers at that time) . They have blessed Russian folk music, and recently, choral performances, Dvorak Stabat Mater, Bruckner Mass, Messiah. If they did not transcend my incredibly limited vocal resources, I would have no business in a chorus at all - my voice cannot musically reach up even to middle C.

How does someone without the fluency for 16th note scales end up in All-State Orchestra? Why, since my life path led me away from music as a career, do my talented friends even seek my views when I have not played in an orchestra in decades? The answers await you in the discography of Jascha Heifetz, where you will discover that:

  • Moving music must have an emotional program; a sequence of emotions that might naturally occur in a moving story. Desolate might lead to anguished, which might lead to angry, which might lead to steely resolve.
  • Emotional effects have technical means, and these are consistent enough for you to build a vast library of effects. What does desolate imply in terms of the range of vibrato and dynamics and rubato?
  • You must have every speed and width of vibrato available, as each combination says something else. You should be able to produce a joyous or peaceful or defiant vibrato.
  • Color is more important than convenience when choosing fingerings. Which string’s color do you want?
  • To hold people spellbound, you must not be averse to peaceful moments or silence. Or fury, at the opposite end of the spectrum.
  • Phrasing must be conceived at many scales, shaping notes, phrases, sections, and entire works.
  • You need most all of the sounds your instrument can produce and you need to map them onto emotions. Try out all the sounding points between the bridge and the fingerboard, with all the pressure, bow speed, and articulation combinations.
  • You can make a story out of anything; you can do it with an oom-pah bass line. In fact, I judge college basses on their musicality in those passages specifically.
  • In making up the story, one of the first things that takes shape is the important notes. You should decide which notes are important and what you will do about that, in anything you are learning. Often no one in a section can even project an important note because of the ongoing rush of the notes. There will always be less important notes from which to steal attention for the effect that must be produced, if the note is truly important. Sudden changes are often important notes. The top notes of passagework are often important notes.

But I am glad I studied with his discography, instead of personally with the artist I regard as my musical father. The wisdom I received was transmitted to his students the same way he obtained it, by means of stark tests. More tragically, the eternal challenging and testing he imposed on himself to attain mastery of his art ran out of its banks in a torrent, engulfing his personal life and his friendships. A biographer, Herbert Axelrod, gently responded to Heifetz’s outrage (”Ask the students!”) over his stark reporting of his personal life with a plaintive question, “Which students do you believe you have a personal relationship with?”

“With all of them!”

The interview continues; he “does not care to discuss” his relationship with Erick Friedman. His other famous student, Eugene Fodor?

“I do not want to discuss my personal relationships with these people.”

“But you criticized my “malicious” caption and said you have meaningful relationships with your students…”

In this series, I will look at Jascha Heifetz’s tests. The ones he passed, the ones he failed, the ones he imposed on others to their lasting bitterness, and the ones he imposed on others to their lasting gratitude.

Thank you, Mr. Heifetz. For the great changes you began in my life.