A nice reading http://www.wallstreetprogrammer.com/?p=19