Tutorial: Distortion, Saturation, and Wave Shaping in JavaScript | Hacker News Reader