The best books I have read are ones that walk through a project from start to finish. I usually read through the entire book first without any programming. I take notes on the side and highlight key concepts. Then I walk through again and program the entire project. I haven't needed to learn a new programming language or framework in a while, but this method has proved to be fairly effective.
Simply Rails 2 was the last book I read like this 2 years ago. We are now one of Engine Yard's case studies.