X Close

Research Software Development

Home

Reliability, readability, and efficiency in scientific software

Menu

Archive for the 'Uncategorized' Category

Seminar: Dr James Smith on Open Development

James P J Hetherington22 April 2013

As part of the “Research Programming in Practice” seminar series, Dr James Smith of the Open Data Institute will be giving a seminar entitled:

Running around naked: how open development helps me be a better programmer.

At the Open Data Institute, we build all our technology in the open. This may seem terrifying, but it’s probably one of the most powerful things we do. By using open tools and practices, we communicate better as a team, engage with our community, avoid cutting corners, and at the end of the day, produce better results.

This talk will show you the open tools and techniques you can apply to do the same. I’ll share how we use git and Github to manage parallel development; how behaviour driven development helps us make sure we build the right thing; and how automation helps us to pull it all together once it’s ready.

The seminar will take place on Tuesday 30th April at 11am in Room 309 in the UCL Roberts Building.

Call for Projects

James P J Hetherington22 April 2013

UCL Research Software Development makes a termly call for free software development effort in line with UCL’s research priorities. The third such call for has now opened. Proposals should be completed according to the submission guidance and emailed to rc-softdev@ucl.ac.uk. Supported projects will be provided with 50% FTE for three months in the quarter following the call. Key staff from submitting groups should be available in the weeks following submission for discussions. Proposals will be reviewed by our academic governing bodies according to published selection criteria. Resubmission of proposals which have previously been submitted is welcomed.

The timeline for the current call is:

19/04/2013 Call opens.
09/05/2013 Call closes
23/05/2013 Shortlisting
20/06/2013 Final selection

In addition to this termly free call, research teams preparing grants involving software development should consider bringing in the team as collaborators through grant-funded software development effort, costing programming effort from our developers into the grant – we can provide fractional or full time effort as needed, throughout the project or at critical intervals.

We look forward to receiving your proposals, and to working with you to build and maintain great research software,

UCL Research Software Development Recommends GitHub

James P J Hetherington12 April 2013

We are pleased to announce the launch of a pilot service in Research Software Development Infrastructure. This will make available to those UCL researchers who create their own research software the tools they need to do so in a sustainable, professional manner.

The GitHub collabocats, from http://octodex.github.com/, used by permission.

The GitHub collabocats, from http://octodex.github.com/, used by permission.

Part of this service access to GitHub’s source code management service. This is provided as a ‘free at the point of use’ service to UCL researchers and their nominated collaborators. GitHub are the leading providers of cloud source code management and collaboration tools, including great support for version control, issue tracking, and code review, as well as the ability to manage software documentation and websites linked to the source code. GitHub repositories can be interacted with via git or subversion, or via their dedicated GUI clients. We recommend use of GitHub as a third party service to provide, in GitHub’s hosted cloud, management of software being developed and maintained by UCL researchers.

GitHub provision for non-profit research is free. Our service means costs for non-qualifying researchers will be covered by UCL’s Research IT Services Department . Please follow our signup instructions, if you want to have a go.

Although researchers should contact us to avoid paying fees for private repositories, open source repositories carry no cost on GitHub, and UCL research groups should feel free to go ahead and set up public repositories themselves. Do let us know about your open source repository, at rc-softdev@ucl.ac.uk, so that we can follow your great work!

This service is an open beta, and UCL’s adoption of GitHub will be reviewed following this beta phase by the UCL Research Software Development academic governance bodies. In the event of transition to a different provider following this beta period, all research groups involved in this beta phase can be assured of extensive support in moving to any replacement. Researchers who use the beta service will be invited to provide feedback as to the quality and appropriateness of the tools provided, to ensure that we are able to develop and provide services that are responsive to the needs of UCL researchers.

During the beta period, our ability to provide support, training and advice for your use of GitHub will be limited by our availability, and supplied on a best efforts basis. Nevertheless, please get in touch with us at rc-softdev@ucl.ac.uk and let us know about your needs. We aspire to provide more comprehensive local training and support as the service matures.

GitHub’s service is cloud-based, and worldwide. This may not be appropriate for some research groups, for example, those with legal obligations to reserve code within particular jurisdictions. Groups worried about this should get in touch. We will, where time and costs permit, be able to develop bespoke solutions for source code management for projects with specific requirements. We will also in due course be providing advice regarding risks associated with the service as we develop the pilot.

We hope to provide further research software development infrastructure, such as support for continuous automated multi-platform testing of code, as we develop our services.

Dr James Hetherington,

Team Leader,

UCL Research Software Development

 

Seminar Series Mailing List

James P J Hetherington11 December 2012

Here’s a quick reminder, that there’s a mailing list which we use to organise our Research Programming in Practice seminar series and coordinate the researcher-developer community here in UCL. You can join this list by visiting https://www.mailinglists.ucl.ac.uk/mailman/listinfo/research-programming.

Recruiting Research Software Developers

James P J Hetherington26 October 2012

We are recruiting two research software developers! Perhaps you could be one of them.

In this role, you will design, extend, refactor, and maintain scientific software across all subject areas. You will modify legacy software to run on state-of-the-art high performance computing infrastructure, provide expert software engineering consulting services to world-leading research teams, and work with researchers to build software to meet new research challenges.

You have created and maintained software to address advanced research problems in one or more fields. You can rapidly assimilate understanding of new scientific questions, and quickly connect research needs to software requirements. You are committed to software development best practices, and know how to adapt these to research contexts. You are expert in one or more languages and platforms used for scientific computing, and are keen to expand your knowledge.

For full details, see the advert.

Introducing the new UCL Research Software Development Team

James P J Hetherington3 October 2012

Research is increasingly digital. Experimentation and theory have been joined by the third and fourth paradigms of science – numerical simulation and information-intensive research. These new approaches are both built on a common foundation – computer software.

Yet despite this increasing reliance on software in research, software created in research institutions often exhibits a number of characteristic flaws. Computational research tools are often fragile, generally not sustainable or usable beyond the lifetime of a given project, and frequently hard for other researchers to read and understand. Institutions miss out on opportunities to increase the impact of their research by producing robust software deliverables that could be used and cited by their peers.

Computational work must mirror the committed attitude of the best experimentalists, who care about precise, professional, repeatable, meticulous work. Software engineering professionals are trained in best practices, and follow a disciplined approach to the design, construction, testing and maintenance of software systems. Attempts to leverage these skills within academia by employing contract programmers, however, typically fail, due to otherwise talented programmers lacking sufficient research experience and a necessary appreciation of the significant cultural differences between business and academia.

Universities, therefore, need to provide a capacity for research software development, serviced by experts who combine professional software development skills with the ability to rapidly and deeply assimilate academic literature and address in software design, construction and maintenance the requirements of research at the frontiers of knowledge.

University College London is leading this charge with the creation of a Research Software Development Team, and I am delighted to be the founding leader of this team. Our goal is to work with researchers who create code across college to enhance UCL’s capacity to produce the highest quality scientific software, from the simplest scripts managing scientific data to complex simulations running on state of the art computational platforms.

The team is part of the Research IT Services Department within UCL Information Services Division (ISD).  We will work closely with departmental colleagues in Research Computing Platform Services and Research Data Services to facilitate researchers’ use of UCL’s extensive and growing capabilities for computation and information management.

Our work will include:

  • Active, sustained development and maintenance of UCL-authored scientific software in collaboration with researchers.
  • Advice and consultation on software engineering and software architectural considerations for computationally based research, including support for grant applications.
  • Targeted development support facilitating deployment of UCL-developed scientific software to both UCL-owned and e-Infrastructure South Centre for Innovation (CfI) high-performance computational resources.
  • Consultation and training on best practice for research software development.
  • Provision of shared infrastructure for software development such as version control, issue tracking and continuous integration.

As we recruit the remainder of the new team and prepare to launch these services, we will be seeking to engage with researchers to discuss their software development activities, to ensure our services are targeted to most closely match the needs of the UCL research community. We will be reaching out to, and welcome approaches from, research groups across college, to learn about existing software development practices and understand the needs of research groups who maintain and develop software.

Dr James Hetherington,
Team Leader,
Research Software Development
Research Computing and Facilitating Services
University College London

3rd October 2012