A study in JavaScript and HTML5 Canvas.