No offense, but the best way to get programming information, and probably any information is a search engine. After that I would put a book for any SPECIFIC area of knowledge, but a forum like Programmer's Heaven would be much more general.
For conceptual and idea type things, nothing beats the human mind, and this is where Programmer's Heaven (and no doubt any forum) shines. Unfortunately, problems like that aren't too often heard.
I personally LOVE conceptual problems. Most problems I solve, and I'm sure many of the strong repliers out there will agree (to varying degrees) are pretty much doing some quick research for someone. Basically, though many times I pretty much (or completely) know the answer right when I read the question, I still often verify and extend by checking my references. I have something in the vicinity of a gig of programming information. Not IDEs, compilers, and software, but pure information. For many posts, I simply know where to look to get the information they are looking for. Pretty much in those instances I'm little more than a highly accurate, detailed, summarizing, search engine (search engines and AI have a lot in common). I throw in style points, design points, and oftentimes a bunch of extra info for completeness' sake, but essentially I'm doing nothing more than recalling information I know and (usually) verifying it with my main resources (one of which is www.hotbot.com/text/ hehe). Conceptual problems are different though. You could answer them with no knowledge of programming; they are problems that require you're ability to think, not to research (though research helps).
It is aggravating to have people post questions that can easily be answered by a search engine. Unfortunately, I KNOW that nearly every question asked can be answered by a search engine. I know because a search engine pretty much taught me programming. Everything I've learned about programming has come off the internet, has come from experimentation, or has come from deductive reasoning. The only exceptions I can think of are the two books even remotely related to programming that I own. The Complete Reference of Java 1.1 and Inside TCP/IP. The former pretty much taught me more core knowledge of Java, and the latter expanded a pretty good core knowledge of network protocols to more information than I even wanted (I never really cared about how to wire a large network, that level of networking is not really my interest, but I could probably pull it off now). Finally, I verify that I know what I've learned by a very simple method. If I can make it, I know it. For example, for compiler design, I have a little micro-compiler and an interpreter that mimics a TI-83 (an example of having a problem, and programming a solution; I can't stand that Windows calculator, so, I recreated my TI-83 (I didn't have it with me at the time)).
Well, this strayed from my point, though I guess everything I said was strengthening one of my points. Uh, if you'd like to know the point of all this just reread the first two paragraphs.
"Faith alone, won't sustain us anymore."
-Faith Alone, Bad Religion