Actually, "For Dummies" series quality has increased to the level of other "beginning/intro to language X" book.
Now on the topic of "Sams Teach Yourself". I like those books because I can pick up a new language (in a nutshell) pretty fast and advance faster than buying the best introductory books.
I wouldn't buy either series. But I've been borrowing a large number of those from a public library near my house.
For example: I don't know CSS. I borrowed Sams Teach Yourself CSS in 10 minutes. The book is small and thin. I learned the basic intro of CSS in a nicely structured way. It's not enough to be a professional, but it's good enough as a starting point.
I see you have lots of books in that shelf. I'm guilty of having tons of books too. I have tons of .NET books (most of them I got it for free during my internship at Microsoft). I also have several J2EE, Perl, Ruby, PHP and Python books. I'm in the process of selling them for cheap price.
At one time, I got stressed out for having to catch up with these technologies. But lately, I realized that most of the books I have don't give much value. I have GoF Design Pattern book but I rarely use most of the DPs. I probably only use few of them. I have Refactoring book (from Fowler) but yet I failed to see a significant value out of it. These books teach us how to patch C++/Java/C#.
What we're missing is tutorials/books on how to design tools like "ls", "echo", "cat". Tools that are usable and live forever (if engineers forbid them). So since last week, I decided to get back to the root. Start reading old books. Luckily, my university has these old books so I can borrow them with no hassle.
These books are thin, but they teach me more than any software engineering books out there. They do this with less complexity, less noises and to the point.
1) The UNIX Programming Environment (Kernighan)
2) The Practice of Programming (Kernighan)
3) Software Tools (Kernighan)
4) The Elements of Programming Style (a 1978 book)
5) Effective Java (partly because it is work related)
After interning at MS (on the Oslo team), I lose my appetite of doing any .NET (or, to some extend, Microsoft tools) stuff unless if it is work/highly-paid/consulting related. I know I'll have to learn new technologies, but I chose to learn them on the job.
Sorry if some readers think that I'm doing disservice to the IT field. I'm not the guy who decided to buy another J2EE app-server, or yet another CMS/CRM from Microsoft while simple open source software out there work fine.