Admirable honesty from ./configure: "checking for gettimeofday with POSIX signature... almost"
miniblog.
Related Posts
zsh is generally wonderful, and it's sufficiently like bash/POSIX sh that it works.
However, it uses 1-indexed arrays, whereas bash uses 0-indexed arrays. This totally caught me out.
Bash's list of behaviours that aren't POSIX-compliant is longer than I expected: https://www.gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html
I used fish for a while and liked it, but POSIX-ish shells work with everything. These days I use a heavily customised zsh.
Remarkable, sobering discussion of how hard it is to write bytes to a file robustly: https://danluu.com/deconstruct-files/
APIs are subtle, filesystems have different safety modes, they sometimes discard errors, not everyone complies with POSIX, and sometimes hardware doesn't meet its spec!