The PNU project: a learning exercise to reimplement UNIX command-line tools in Python, forming a portable utilities collection