Ethics and Technology: Controversies, Questions, and Strategies for Ethical Computing