It is always a nice surprise to find something that is free and actually useful on the Net :-). Like this one: a fellow Ottawan Karl Sequin wrote and generously made available as free download "Foundations of programming" eBook.
He touches many topics of various levels from high level design concepts (dependency injection) to low level "Back to Basics" - how memory allocation and pointers work. Especially the later is often neglected and overlooked (and consequently misunderstood) by younger developers who started their education with a garbage collected language such as Java or C# and never were exposed to beauty and horrors of C ;-)
The book is using .NET and C# as platform, but the applicability of the chapters goes way beyond the Windows or Microsoft world. After all, Alt.Net has very close relations with Java world.
If you have time, give it a look. Were it not free, I would say it is worth every penny. Now I can only say it is definitely worth the time you spend on it.
Thanks Karl, I hope I'll meet you in person sometimes. The advantage of living in Ottawa is that you have lots of smart people around you :-).