SMS: Professional linux programming