Thursday, October 18, 2007

Max Planck Society cancels license agreement with Springer

heise.de reports that the Max Planck Society, a major German research organization with more than 80 institutes, canceled the negotiations for a renewal of a license agreement for online access to SpringerLink with the end of the year. This means that almost 20,000 scientists will not have access to anything published in 1200 journals after the end of the year. (The archive will still be available.)

The reason that the talks failed is that Springer wanted twice the amount the Max Planck Society considered as justifiable, although they say even the justifiable amount was higher than what other publishers charge.

The Max Planck Society is one of the main proponents of the Berlin Declaration on Open Access to Knowledge in the Sciences and Humanities. It is the first major research organization that I'm aware of that breaks free of the stranglehold of the publishing industry. The question is, of course: what will happen next? Do they stay firm and begin to cause a shift towards Open Access journals? Or will Springer go down with the price just enough that the contract will be renewed?

Update: heise.de now reports this story in English as well.

Update 2: Well, they have reached an agreement on January 29, 2008.

Thursday, October 11, 2007

Sending Growl notifications from Python scripts

Working in bioinformatics can be seen as an infinite loop of: think, write a script, run script, analyze data. While I work on a Mac, most of the scripts run on a Linux server, and it would be nice to know when a script is done so that I can look at the data. In order to be notified when a script finishes, I now use Growl (see picture).

I downloaded netgrowl.py and wrote a quick and dirty wrapper package around it:

#!/usr/bin/env python

from netgrowl import *
import sys

def growlNotify(title = "Script Finished", message = ""):

addr = ("10.1.104.26", GROWL_UDP_PORT)
s = socket(AF_INET,SOCK_DGRAM)
#
# p = GrowlRegistrationPacket(application="Network Demo", password="?")
# p.addNotification("Script Finished", enabled=True)
#
# s.sendto(p.payload(), addr)

if not message:
message = sys.argv[0]

p = GrowlNotificationPacket(application="Network Demo",
notification="Script Finished", title=title,
description=message, priority=1,
sticky=True, password="?")
s.sendto(p.payload(),addr)
s.close()

if __name__ == '__main__':
growlNotify()



The registration is hidden in a comment, you only need to do that the very first time. So, in my scripts, I just insert the following right before the end of the script (using a Textmate snippet to save typing).

import growlnotify
growlnotify.growlNotify()

Friday, October 5, 2007

Feed for NAR Database Issue papers

The NAR Database Issue papers are trickling in. I created a Yahoo! Pipe (with an RSS feed) of the advance access papers (filtered out from the full list of articles). Enjoy.