Get involved in some open source projects and start contributing.
Doing that has taught me more than any book has.
Get involved in some open source projects and start contributing.
Doing that has taught me more than any book has.
Since you bring up a good point though, what would be useful open source projects to contribute to if you're specifically interested in exploring deeper issues?
For myself, I remember learning about networking (and especially coding the network layer in C) and also a bit about crypto by tinkering with World of Warcraft unofficial open source servers two years ago. Wish I had the chance to contribute something back before real life took over again.
I feel that learning in general is an iterative alternation between theory and practice. At the end of the day if you get both sides of that coin, you're doing fine.
A lot of projects on the "Get Involved" page or whatever, have a list of "prerequisite' knowledge. Don't let this intimidate you, often playing with the source is a much better way to learn about the subject than trying to research that topic, feel you understand it, then looking at the source.