among other things:
- {} initialize the posix structs
- =default d/ctors where appropriate
- synced argument names between header and cpp
- no c-style casting
- while(true) instead of while(1)
- initialize class members that could previously have gone uninitialized
- no single-line-multi-variable declaration