http://blog.lassus.se/files/liveprogramming.pdf