What Is the Best Strategy to Prevent Cheating?

This recent article from the New York Times addresses the challenge of preventing cheating on homework projects and tests. The use of technology to check assignments for plagiarism and to monitor students during exams certainly seems to be growing. However, not all instructors or institutions buy into this approach, with some advocating the less-adversarial approach of instilling an atmosphere of honor and trust.

This is not a simple either/or question, to be sure, but in terms of overall emphasis, do you lean toward fostering an environment of trust or relying on monitoring systems to prevent cheating? Is the honor system realistic, even if it is the preferred strategy?