practices for linux system programming