Skip to main content

Software and research: the Institute's Blog

Latest version published on 6 October, 2016.

sword.jpgBy James Malone, European Bioinformatics Institute.

The Software Ontology for Resource Description (SWORD) is a JISC funded project that seeks to develop a vocabulary that will help describe software used by the curation and data preservation community. The description of software is crucial in areas of digital preservation, service integration, text mining, service discovery for users and in describing the provenance of curated data in areas such as bioinformatics, other life sciences, the physical and social sciences and many more. Those working within these communities see the increased need to produce standardised descriptions for preservation of these data.

Ontologies play an important role as a method of formally describing characteristics of digital artefacts. Ontologies allow reusable, modular and explicit descriptions to be engineered, and are used to embody a community consensus. For example, within the bioinformatics community, ontologies are playing a major role in standardising data descriptions and in the curation of biomedical data. Such descriptions enable great exploitation of the vast data resources available.

Software plays a major role in producing, managing and analysing data across sciences, humanities and beyond. By capturing aspects of software provenance, availability (such as online location), algorithms, versions and other characteristics of data, we can better understand the data, ask more detailed questions and obtain more accurate answers. The Software Ontology aims to tackles some of these…

Continue Reading

Latest version published on 30 September, 2016.

So to recap, in Part I we had our questioning hero deciding which programming language to use after joining a new research team, in an environment where others were using Fortran.  So many choices!  One important aspect of the question was longevity of the code, which leads us to a very important point… that of data, and how well a language supports the data formats you need to use.  I thought I’d focus on data today, because this issue keeps cropping up. I answered a question on the subject last week during a panel session at the Software Preservation Workshop and it came up again – only yesterday – at a Dev8D guru session.

It’s not just about picking a language with a secure future: you also need to think about the data formats that the language supports.  There’s a lot to think about.  Which formats are used by your community?  Are those formats supported by the language vendor, an open source project, or by a particular research community.  What about the support itself?  Does it have a sustainable future?

Continue Reading

Latest version published on 3 October, 2016.

Dev8DFeb11.jpgI’m on my way home from my first developer-fest: the Dev8D conference. I don’t have a background in software development, so this was a new experience for me, and I have to admit that I was massively impressed by the unadulterated enthusiasm on display.

The Software Sustainability Institute is mainly staffed by software developers, so it’s not like Dev8D was the first time I’ve engaged in a conversation that involved more abbreviations than actual words. However, this was the first time I’ve had to give a presentation to an undiluted audience of developers. That’s why I started with a slide stating CONFESSION: I felt the need to come out and declare myself as someone who does publicity. To my surprise, I wasn’t hounded out of the building.

Dev8D is a hands-on event. There are challenges to work on, training sessions with experts and some very cool applications. My favourite – definitely my favourite – was the Kinect hacking talk. Microsoft released the Kinect last year as one of the challengers to the Wii’s dominance of the interactive games market. Ben O'Steen talked about hacking the Kinect, getting your hands on the right libraries and then using it for whatever application you wished. And what better application than flying a model helicopter around the University of London student union by flapping your arms around?

It was a very useful event for the Software Sustainability Institute too. I got to plug the Collaborations Workshop, and publicised the…

Continue Reading

Latest version published on 30 September, 2016.

I received this, possibly nepotistic, question from Mahendra Mahey of the DevCSI project. He asks:

“Today is the day that people look to find their perfect match. But what about getting together with developers? Do you have any advice on the best way to meet that perfect developer you’ve always dreamt of?”

Finding the right place to meet developers can indeed prove difficult, and finding the right match for your needs is even more tricky.  Always the matchmaker, perhaps Steve ‘The Cupid’ Crouch can help all of you in this situation!

Coincidentally enough, there is an excellent JISC-funded developer conference on 16-17 February in London that provides a fascinating and unique forum to meet and chat with other developers: Dev8D.  Incorporating elements of an ‘unconference’, it provides many interesting ways to learn about what other developers are doing, to meet and collaborate, and who knows?  Maybe you can find The One. However, time has almost run out to register for Dev8D – you need to sign up by today to secure a place.  You…

Continue Reading

Latest version published on 30 September, 2016.

There I was sitting back reading a copy of ‘What Compiler?’ when I received a particularly tricky AskSteve question…  Ok, ok, Simon nudged me whilst I was reading xkcd and chomping on a sandwich and mentioned we had received a particularly tricky AskSteve question…

“Hi Steve, I’m an ambitious programmer just starting out in a new research team. I want my code to not just work fast, but to last as long as possible and I want others to admire and use my code. Everyone else seems to use Fortran round here, and I’m not sure that’s a good thing. Your wisdom, would as ever, be much appreciated”

Hmm… certainly an interesting and involved question, to which there is, unfortunately, no straightforward answer.  However, all is not lost, I’m up for the challenge!  There are some things you can consider to help narrow your search, and over the coming weeks I’ll be revisiting this question to look at each of these.  As to answering the question…

First off, as a general rule, you should of course select what is right for the application you wish to develop.  Are you developing software to produce scientific results, or some support infrastructure like a web site?  Many languages are good for many different applications, but trying to use

Continue Reading