In a bit of a change from the ordinary, I’m going to talk a little about one of my own SourceForge projects, the SFProjectTools project.
Every day, I look at numerous SourceForge projects, and this involved quite a bit of repetition. Looking up project descriptions, recent releases, contact information, and so on. As a long-time programmer, I strive to automate everything I possibly can, so that I can spend my time on things that matter, rather than on things that a computer can do for me.
As a result, I have a lot of scripts sitting around which perform many of the daily boring tasks for me.
The SFProjectTools project is an attempt to share the parts that may be of use to people other than myself.
There are, at the moment, three main parts to the SFProjectTools code repository. There are GreaseMonkey scripts, there’s a Perl implementation of the SourceForge data access API, and there’s a scripts directory containing things that actually use those Perl libraries.
The GreaseMonkey scripts provide various tweaks to pages on the SourceForge site which are particularly useful to me in my daily tasks, and which you might find useful. If you have your own GreaseMonkey scripts that you use on SourceForge, please contribute them.
WWW::SourceForge is a Perl implementation of the SourceForge data access API. It is distributed both here and on CPAN, and currently gives access to basic data about projects and users. More functionality is planned. I’d like to implement the entire API, of course, but I’d also like to implement the download stats API, which is full of very useful goodness.
The scripts directory, at the moment, contains just one script – event_influence.pl – which purports to measure the influence that a particular event (blog post, tweet, release, etc) had on downloads. It uses the API to count downloads in the N days before and after an event, and tells you what changed. This isn’t terribly scientific, but it gives you a rough idea if what you’re doing is working. I use this script every week to measure whether various promotional activities I did resulted in good things for the project. Of course, downloads aren’t the only measure of project health, but they’re a convenient and easy one to measure.
If you would like to participate in this project, please don’t hesitate to contact me.