It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter. — Nathaniel Borenstein, http://www.codinghorror.com/blog/2007/05/your-favorite-programming-quote.html