Of-course, select() is not better then nanosleep() - it sleeps in
the system's clock resolution.
But it can also multiplex network connections (ha!) - so we can have
timers combined in a network server or a GUI program (X is a network
protocol, after all), using a single select-based loop...