syscall errors

display `errno` and `strerror(errno)` on syscall failures
What is going on here?