http://azamsharp.com/Posts/184_How_do_I_learn_new_technology_.aspx