April 2016
Intermediate to advanced
170 pages
3h 48m
English
Different computers might run our code under different user accounts, and our application might expect to be able to read a file or write data into a specific directory and hit an unexpected permission error. Even in cases where the user accounts used by our code are all the same (down to the same user ID and group ID), their environment may be different on different hosts. Therefore, an environment variable we assumed to be defined might not be or, even worse, might be set to an incompatible value.
These problems are common when our code runs as a special, unprivileged user, such as nobody. Defensive coding, especially when accessing the environment, and making sure to always fall back to sensible ...