Sinister UX: How to Recognize and Avoid Dark UX Patterns