You can use html5 canvas for that effect.
You should be able to read it, otherwise use http://js2coffee.org/#coffee2js for a translation to JS. However that generates some funky loops and array stuff.
The key function is
makeAHole, which has an optional alpha value to make semi-transparent holes.