Some things I've learnt about programming