I was born in 1989 and am an active Windows user since 1993. I've always struggled with Linux, not being able to configure the system the way I would like, snooping through blogs and forums for answers, never actually overcame the barrier.
The books I've seen and read are either completely command line oriented (and don't get me wrong it's awesome to know this stuff when you're working on a server for example) but seems rather impractical to me on a desktop computer that's partially my development environment. The other kind are user manual describing step-by-step the controls of simplest applications like the Calculator, totally useless to me.
What would you recommend for a programmer who needs to learn how to work with Linux but already knows the basics? What materials did you use to learn how to start with Linux?