Explain why compilers can overwrite running executables.

Chapter 18, exercise 1.
Explain link resolution problem.

Chapter 18, exercise 2.
Implement the `realpath(3)` library function.

Chapter 18, exercise 3.
Implement the getcwd(3) library function.
Show stats of the types of files of a directory using nftw(3).

Chapter 18, exercise 7.
Implement the nftw(3) library function.

Chapter 18, exercise 8.
Add benchmark program of chdir(2) vs fchdir(2).

Chapter 18, exercise 9.
Merge branch 'chap18'
Monitor file events on a directory subtree.

Chapter 19, exercise 1.
Implement alarm(2) on top of setitimer(2).

Chapter 23, exercise 1.
Demonstrate effect of passing NULL to timer_create(2).