Tag Archives: programming

Open Science Coding

Portsmouth ICG alumnus David Parkinson recently wrote:

One of these days I’m going to show my python code to someone who actually programs in python for a living. They’re going to laugh. Laugh and laugh and laugh… and laugh. And then cry.

David’s not the first scientist I know who’s said this, for example, I heard almost the same thing from Cameron Neylon last year when he was presenting to my final-year Web Research group.  Cameron (who’s an advocate of Open Science) was demonstrating how he’d hacked up a bit of python to show the growth of Open Access publishing, but at the same time apologising that he’s originally a Bio-Chemist so the code does a job, but doesn’t necessarily do it as well or as ‘beautifully’ or efficiently as it perhaps might.

These are both examples of sharing code after its development.  There are big advantages to publishing experimental code such as this during its development:

  1. It encourages peer review of the experimental process earlier in the project which may reduce the potential for errors due code not doing what is intended.
  2. It provides third party developers with the opportunity to be involved in research by actively contributing to the code by improving it, even if they are not specialists in the subject being studied, their specialism in software development adds orthogonal value.
  3. It provides subject specialists with opportunity to see how their code has been improved so they can learn from this and write improved code themselves next time, possibly seeing new solutions and experiment-options as a result.

Historically (however) it’s common that experimental code is published either:

  1. after papers are written and results are published, or
  2. never (even if there are good intentions to do so, time and funding dry up and the code dies alone).  There may also be historic reasons why it’s not possible to publish code: often research organisations have little experience with Free Software so IPR fears can inhibit the potential openness of any project, but, the more open projects there are, the more opportunity there is for understanding to grow, fear to wane, and open science to blossom.

So, in the near term, developing non-critical code openly may be the best way forward.  If researchers can get in the habit of developing tools, utilities and other small projects openly then that may be the first step to encouraging all scientists to think and solve problems as part of a global ad-hoc developer collective.

Eventum Extension for MediaWiki

I couldn’t find a MediaWiki extension for Eventum when I needed one, so this evening I knocked one up.

It’s fairly basic, very unoptimised, and probably far from perfect, but it works for me, and someone might use it as the basis for something better. It uses PHPs MySQL library to open a connection to a database and execute a query, the results are then avilable to MediaWiki (but perhaps sadly don’t become part of the version controlled content).

To use it in a page add <eventum bug="123"/> where 123 is the number of the bug you’d like to query.

Output is formatted through an eventum template which you’ll have to create, the parameters of that template from 1-5 are, in this basic example, summary, created date, closed date, status title, and status color. e.g. {{eventum|An example summary|1st Nov 2008|2nd Nov 2009|Closed|#00FF00}}

Continue reading Eventum Extension for MediaWiki