Read and Retain

  I was talking with my friend Josh the other day about how easily we forget things. We both have a problem with reading books: we tend to forget most of the material. When reading for fun, this isn't a big deal, although it can be embarassing. (I read Ender's Game twice without realizing it.) When reading a business or technical book, it can become problematic. What's the point of reading the book if you don't put it into practice?
  This morning, I was again thinking about how to best retain what I read, when I 'heard' the word retain in a different context in my head. Bear with me now as I attempt to compare self-improvement with iPhone application design.
  When you build an iPhone application, you store lots of 'stuff' in memory: images, web content, other information, etc. Often that same stuff will be used in different places inside the same application. For example, in a game, you might want to display the high score on the game screen itself and on another summary screen that could include a list of high scores, so you design the application so that both screens have access to the section of memory that stores the high score. When you do this on the iPhone, you also need to tell each screen to retain that section of memory. The reason for doing this is that as soon as the iPhone doesn't think that memory is being used, whatever was stored there is erased and made available for storing something else.
  Did you catch that? Unless your application specifically retains a section of memory, whatever was stored there will be lost forever.
  Back to reading. When you read something important, you need to do something with that knowlegde quickly or it will be lost. This is why the best students are the ones that take notes in class and when they read. It's not necessarily that the notes are beneficial later (although they often are), it's that the act of taking notes engages the brain in a way that casues it to retain the knowledge.
  Taking notes is a good step, but an even better solution is to attempt to use the knowlegde for something real. The best way to learn a new programming language is by writing a real program in that language. If you're reading a book on time management, put the strategies to practice immediately as you are reading the book. The more you use the knowledge, the more of it you retain.
  A few years ago, I read Getting Things Done. It's a great book, and it's helped me a little, but not very much. I'm practically as disorganized as I ever was. Why? Because I read that book a few chapters at a time either in bed or in a comfortable chair. I read it the same way I read a novel. I picked up some decent tips, but I've forgotten most of the material. I've decided to read it again, only this time I'm going to play along as I read. I want to retain and use all of the knowledge in that book, so I'm going to try to put it into practice immediately. I hope it sticks this time.
  What about you? How do you retain what you read?