We could write nearly perfect software but we choose not to