# HTML / JavaScript, <strike>156</strike> 123 (143 - 20) <!-- language: lang-html --> <body bgcolor=0 onload="t=c.getContext('2d');t.fillStyle='#07d';setInterval('n=Math.random()*4e4;t.fillRect(n%270,n/150,1,1)',1)"><canvas id=c> Testable version in [JSFiddle](http://jsfiddle.net/ooflorent/d26k7/). Preview: ![raindrop][1] Annotated version: <!-- language: lang-html --> <body bgcolor="#000"> <canvas id="c"></canvas> <script> onload = function() { // Retrieve the rendering context t=c.getContext('2d'); // Set rain color t.fillStyle='#07d'; // Render whenever it is possible setInterval(function() { // Generate a number between 0 and 40,000 // 40,000 ~= 270 * 150 n=Math.random()*4e4; // Draw a raindrop. // Since x and y are not rounded, the raindrop looks blurry! t.fillRect(n%270,n/150,1,1) }, 1); }; </script> </body> [1]: https://i.sstatic.net/NCSz5.gif