Just taught myself by starting a project I wanted, then googling anything I didn't understand how to implement. The easiest way to learn (IMO) is not through books (though they do help to consolidate your technical knowledge) but by creating yourself a goal to achieve (i.e a program you want for your own use) and then going out and getting the knowledge required to complete the project.