Practices of Advanced Programming in the UNIX Environment