Learning the craft (of programming)
tuxdeluxe.org
tuxdeluxe.org
1. Find good instruction. (Read good code, find a good programmer) 2. Love to practice. (Write code.) 3. Have the beginner's mindset. (Don't get cocky, observe with new eyes.) 4. Have a vision / goal. (You want to be an architect? Graphics guru? AI master?) 5. Push the boundaries. (Code beyond your perceived "abilities".)
A more succint and general version of that quote is by TS Elliot: Talent copies; genius steals!
Anyway good read!
It's clean, discoverable and it does interesting things. Although it might help to first go through a book like Understanding the Linux Kernel: http://oreilly.com/catalog/9780596005658/
As for your suggestion on reading Understanding the Linux Kernel, is it readable even if I haven't taken a course on Operating Systems or something equivalent?
I could be wrong, as I've also never read it cover-to-cover; I always dive into it when I specific questions about how things work. I've never read it from the perspective of how well it teaches OS concepts. But if you're interested, and you think you will remain interested in the future, then there's no harm in getting the book now. As you learn more, you'll be able to understand more.