Politics and Technology.

Monday, December 22, 2008

The $102 Million Monster On The Raritan

So I received this piece of garbage from McCormick a couple of weeks back and it ticked me off but I ultimately decided that there was enough things going on that ticked me off that I could sit this one out.

What got me about this note are two things: the inexplicable firing of Bob Mulcahy, and the joining of the stadium construction to a jobs program envisioned by the McCormick.

I don't know much about Mulcahy, but with what's going on at the Univeristy, as a tuition payer and a taxpayer, I want to know "what's up with that?" The action has garnered attention and McCormick feabily attempted to address it in a Jedi "these are not the droids you're looking for" kind of way.

As for the stadium construction providing "jobs for hundreds of working people at a challenging time for our state’s job market", when the hell did RU put social work over education? Am I going to foot this bill? I'd rather save that money for my family, pal.

Then I see this little piece of work with McCormick's stamp on it, and I can't hold back any more.


I'll save you the trouble of parsing everything and summarize it like this.

Dear Mr. Obama,

We need money. Please make the check out to Rutgers University or we will raise tuiton.


36 University Presidents, including Richard McCormick

What the hell? It's not enough my tuition dollars and NJ state income tax dollars go towards this White Elephant in Piscataway, but damn it all if McCormick squeezes money from my Federal tax bill for it.

For crying out loud, who the hell is looking over McCormick's shoulder from the RU board of governors?

It's time to slay the $102 Million Monster On The Raritan!

Below is the December 12th message from McCormick (emphasis added by me).

---------- Forwarded message ----------
From: Richard L. McCormick
Date: Fri, Dec 12, 2008 at 4:37 PM
Subject: Athletics and Rutgers Stadium
To: PRESIDENT_ALLSTAFF@rams.rutgers.edu, PRESIDENT_ALLSTUDENTS@rams.rutgers.edu

Members of the Rutgers Community:

Over the past several months, information we have received about the Division of Intercollegiate Athletics has pointed to the need for tighter financial controls and for stronger administrative oversight by the Rutgers Board of Governors and by me. I want to report to you on the progress we are making and on important decisions that have been made this week.

Today was the first meeting of the full Board of Governors since the Athletics Review Committee (ARC) issued its report. The ARC report made strong recommendations for change in the areas of governance, departmental operations, and authority to enter into contracts on behalf of Rutgers. As I made clear in my initial statement on the ARC report, my administration is committed to working in concert with the Board to make the improvements spelled out in the report. Specific actions taken today by the Board expand the duties of the newly titled Senior Vice President and General Counsel, Jonathan Alger, to include service as the university’s chief compliance officer and establish a new process of approval for all salaries above $300,000 – a process that will involve both the president and members of the Board. In addition, my administration will increase the size of the Internal Audit Department over the next several years. I have appointed a committee to review signatory authority on contracts that Rutgers employees enter into on behalf of the university. And we are updating and revising university policy and practices related to sponsorship agreements. (See http://speakup.rutgers.edu/intercollegiate.shtml for information on the ARC report and the steps we are taking.)

Earlier this week, I removed Bob Mulcahy from his position as the Director of Intercollegiate Athletics, effective at the end of this month. I did so with reluctance, because Bob has achieved a great deal in his decade of leadership. The successes of our sports teams on his watch have opened windows onto many other Rutgers programs. Our victories have energized the people of New Jersey and caused them to admire Rutgers. Bob has worked tirelessly and skillfully on behalf of our student athletes, the coaching staff, and the many thousands of Scarlet Knight fans. His achievements can be seen everywhere in the program.

Now it is time to seize the opportunity to build on all that he has accomplished for Rutgers and for the people of New Jersey. I believe, based on recent events, that the time is right for new leadership for our athletics program. We will act quickly, and search nationally, for Bob’s successor. That man or woman will inherit a legacy of accomplishment – both on the field of play and in the classroom. Rutgers will go forward and will continue to show that success in intercollegiate athletics and success in our academic programs are truly complementary.

Finally, I want to report on the decision the Board has made regarding Rutgers Stadium.

Two months ago, I asked University Facilities and the Division of Intercollegiate Athletics to develop options that would continue to place priority on constructing additional seats while reducing the overall cost. I was concerned that the bids we received for the second phase of the project – construction of more than 11,000 end zone seats – were too high and would exceed the $102 million threshold established by the Board. We needed to consider ways to complete the project at a lower cost, especially because private fundraising for the project was moving very slowly.

We evaluated a number of options, and it became clear that some models might have immediate political appeal but would fail economically both in the near and long term. In the end, there was a clear best option that was the right course of action for Rutgers and was financially sound. I recommended, and today the Board approved, continuing the stadium expansion at a cost of $102 million, the project budget the Board approved in January. To stay within that budget, we will have to scale back the scope of the project. The plan approved by the Board puts aside the project’s non-revenue-generating features, including locker rooms and the media room, but moves ahead on the revenue-generating elements, including seats and concessions.

The Board granted the university authority to issue additional debt obligations up to the $102 million limit, which will be financed by revenues generated by the 12,000 new seats and other revenues from the stadium itself. While we are confident that we can cover the debt service on the full $102 million project, we will continue aggressively to pursue private fundraising because every dollar we raise for this purpose will be put toward reducing the debt and helping achieve the expressed goal of moving our athletics program toward greater financial self-sufficiency.

This direction makes economic sense for Rutgers. It is not truly feasible to shut the project down, even for a year, because that would cost us millions of dollars. We need to build – and fill – the seats. Completing the stadium also makes sense for New Jersey. This is a major capital project that will provide jobs for hundreds of working people at a challenging time for our state’s job market. (See http://speakup.rutgers.edu/stadium.shtml for a press release and other information on the stadium expansion.)

Rutgers is committed to a high quality, well-managed, and competitive athletics program to complement our excellence in academics, research, and outreach. The actions we are taking, both in the management of the Division of Intercollegiate Athletics and in the construction and financing of Rutgers Stadium expansion, will serve the university, the state, and our many Rutgers fans and supporters well.

Richard L. McCormick
Rutgers, The State University of New Jersey

Sunday, December 21, 2008

Edna on Mac OS X

While I am warming up to iTunes thanks to my new AppleTV, there are times that I think it is more than what I need to listen to my music collection. Call me old school, but there's a certain elegance to simply browsing a folder and clicking on a song and expecting it to just play without bells and whistles.

While Finder can do this locally on a mac, I want access to my home library of music remotely from work. Using iTunes and Mojo is an option for remotely using my iTunes library, but I somehow feel this combo is going a little overboard. It feels like I'm using a sports car to drive from my garage to my curbside mailbox to pick up the mail.

That's where Edna comes in. Made "back in the day", she's a simple Python script that serves up m3u's of your audio files just as you have them organized in directories and sub-directories. A subsequent hack made it possible to do simple searches on the directory trees (one word searches, apparently). Before it gave up the ghost, I used Edna on my Centos box and forwarded the port through my firewall.

Since my jump to AppleTV, I've come to rely more and more on my iTunes for storing my music. I decided to get Edna working on Mac OS X and point it to my iTunes collection.

So to share this experience with those interested, I have included my steps here. I put together a tarball with all of the necessary files for the reader's convenience. If the reader decides to use my tarball, they should read the readme files and understand how to edit the configuration file for edna, at least. For instance, I believe the conf file in the tarball points to "/Volumes/itunes/music", not "/Users/jason/Music/iTunes".

First I had to get the Edna package and patch it with the search patch.

Then I had to install it with make install ("make" comes with the Xcode package).

Without make from Xcode, run install by hand instead. I had a difficult time getting python to see the "/usr/lib/edna" directory, so I had to soft link the two include files (ezt.py and MP3Info.py). Oddly, as a side note, when I upgraded my Macbook from Tiger to Leopard, and python 2.5 replaced 2.3, these links went away, but edna still worked. When I did a fresh install of Edna on a Leopard box, I still had to make the soft links. Weird.

sudo install edna.py /usr/bin/edna
sudo install -d /usr/lib/edna /usr/lib/edna/templates /usr/lib/edna/resources
sudo install ezt.py /usr/lib/edna
sudo install MP3Info.py /usr/lib/edna
sudo install -m644 templates/* /usr/lib/edna/templates
sudo install -m644 resources/* /usr/lib/edna/resources
cd /usr/lib/python2.5
sudo ln -s /usr/lib/edna/MP3Info.py
sudo ln -s /usr/lib/edna/ezt.py

Then I had to configure the conf file. The conf file in my tarball uses port 8000 to serve out.

sudo cp edna.conf /etc

Test it.

sudo /usr/bin/edna -c /etc/edna.conf
telnet localhost 8000

Then I had to create a service to run it at boot up. Using the Property List Editor, I created a StarupParameters.plist file with the prerequisite entries. I hacked together the startup file using the typical rc.common entries.

sudo mkdir /Library/StartupItems/MyEdnaServer
sudo cp MyEdnaServer StartupParameters.plist /Library/StartupItems/MyEdnaServer

SystemStarter can be used to test functionality. Note: if you are going to roll your own start-up and plist file, be sure to use the same name of your service as the "Description" in your plist file. It turns out that SystemStarter is pretty moody when it comes to descriptions.

sudo SystemStarter start MyEdnaServer
telnet localhost 8000

Using the handy "defaults" command, I then changed the firewall rules to allow connections to this new daemon. You could use the GUI instead, but as it was I did this remotely from work when I realized WHY I was having so much trouble connecting to Edna when it worked well at home that morning. Duh.

sudo defaults write /Library/Preferences/com.apple.sharing.firewall firewall -dict-add 'MyEdnaServer' '<dict><key>editable</key><integer>1</integer><key>enable</key><integer>1</integer><key>port</key><array><string>8000</string></array><key>row</key><integer>100</integer></dict>'

And that was that!