Ask HN: How do you track progress of reading technical books?

9 points by tripplez ↗ HN
You have a (big) technical book that involves, for example, learning a new API/library/programming language/OS/etc.

How do you track the progress of reading the sections and chapters, the programming examples tried, the references and additional articles read related to something from the book?

Maybe I'm a bit anal about that but every time I started reading a technical book after the first 50 or so pages I'm starting to feel overwhelmed with the inability to have a clear log of what was read, when it was read, what examples have been tried out, what was left to be read, etc.

13 comments

[ 3.3 ms ] story [ 49.9 ms ] thread
If it involves learning a new language/framework/API etc, a good idea would be to work out the examples/exercises given in the book, and create a github repo for it. Keep pushing in your code to the repo regularly as you work through the book.

You can also include exercises that you have found elsewhere on the Internet/other books. You can arrange the code according to the sections.

(comment deleted)
The thing is that if you don't remember later what you've read/studied, why make the effort?

Anyway, I also thing «so what?». Even if you think you've forgotten, things do stay in the head, and next time you pick up the subject everything is quicker. Not to mention when learning in one place helps you in others.

Make a directory on your machine for the book, with subdirectories for each chapter. Put the code files for the problems/examples in the proper place and you should have no doubts.

Mark up the book (well, if it's paper) as you go. And the expression "bookmark" did not always involve URLs.

In my case, I am currently working through SICP (mid Chapter 4) and I use a highlighter to mark the key concepts presented in the book. Once I'm done with a chapter, I have a Google spreadsheet where I maintain lists of the concepts explained in each chapter. Every now and then, I sift through those lists at a glance and see all the new knowledge that I have been exposed to.

Also, I am doing all the exercises which are saved in my Dropbox folder. Again, once I am done with a chapter, I post them in my blog. That helps me a lot in keeping a feeling of progress and accomplishment.

(comment deleted)
I use Curious Reef (http://curiousreef.com), which is a learning website that I created. You can create a class based on a book, break it down into smaller lessons, and then add assignments to each lesson. As you progress through the book, post your work, and your progress indicator increases.

For example, I'm working through the Bash Cookbook (http://curiousreef.com/class/bash-scripting/), so I broke each chapter into a lesson and turned it into a class. Even though it's been a while since I've worked on it, I have a log of what I've learned and I know right where to pick up with it. Also, taking a big book and breaking it into smaller chunks makes it less overwhelming and easier to progress.

Awesome site! Well done
Thanks! Let me know if you have any suggestions for the site. It's a project I've been bootstrapping for about a year, and I'm always looking for ways to improve it.
Do I have the ability to create private classes? I might be interested in setting some up with friends, but we wouldn't want to make it public
No, all classes are public right now. Would you want the entire class to be completely hidden from others, or can it be publicly viewable and require an invitation to join and participate?
for me the key has been to develop a surgical/tactical approach to knowledge acquisition. whereas in school it's important to read the textbooks cover to cover, after having established a solid foundation in the fundamentals of computing and language my approach now is to read only exactly what it is i need to read to solve the problem at hand.