practice of network programing