According to me there are two ways of learning from reading. One way is to read the entire text and also understand it entirely. And the other way is to read an overview first and now on, read only parts of text that are required for accomplishing your tasks.
Both have their pros and cons.
Simple way of learning:
Understand a story. So naturally you understand everything in it. While learning APIs, understand sample program and you will understand every API function within.
The Differential learning steps.
Always accept your mistakes.
Make a strong will that it will not happen again.
And use the problem solving approach to avoid it.
Read the metadata in the text or not?
If you are not doing this you are skimming. It may not make sense sometimes.
The level of abstraction while reading. Making an interpretation too simple or too complicated. I have found always fair abstraction level while in a good mood. While in confusing mood, try to change this level, may not help.
The french, philosophy, Name the things you encounter. Very good philosophy. Make a memory and memory retrieval faster. This basically gives an address to your memory.