[1] - https://stackoverflow.com/questions/16360620/find-out-whethe...
[2] - http://duartes.org/gustavo/blog/post/anatomy-of-a-program-in...