Software sustainability - guidelines for the selfish scientist