Software Versioning with SemVer

When releasing software, either directly to end-users or as a library, it is convention to supply a version number. As there is no universal standard which defines version numbers, so it is not always clear how to calculate the number for a particular release. One approach is to use Semantic Versioning, also known as SemVer, which is used by a number of high profile codes including the Ruby programming language.

What is Software Engineering?

Of course there are so many answers to that question from the simplistic to the outrageously formal. In this post I will give an answer that outlines SESCs view and concentrates on being pragmatic.

A Definition

This is not a hard and fast, text book definition its just one we can work with for now. Software Engineering is:

The use of processes and associated tools to write good quality software that produces excellent scientific results

European Exascale Software Initiative - thoughts on software engineering for exascale software development

This short paper brings together some thoughts on the software engineering needs of ExaScale software development. The work was part of the efforts of Working Group 4.6 (Scientific Software Engineering) of EESI - the European ExaScale Software Initiative. EESI is a Support Action co-funded by the European Commission.

Collaborative Document Review System for Community Engagement

This report describes the design and implementation of a web-based collaborative document review and editing system used to support community driven proposals. The application was written in Python using the Django Web Framework which allowed for rapid development and deployment.

Authors: LS Chin

Reference: SEG Note, SEG-N-013 (March 2011)