how do you locate real problems?In my case, I tripped over them. I always hated the common advice that before you can understand a language, you have to "use it in anger." I.e. you need to use it to build something real, where you'll inevitably run up against some weird construct that frustrates the hell out of you as a beginner. I just couldn't think of anything worth building.
In the last year, however, I've had three ideas. I think two of them are at least sort of decent (the other is kinda crappy, but since it was the first one, I was in love with it for a while because I finally had an idea!). These two were just things I discovered I wished existed. I just sort of tripped over them.
The first of the "good" ideas came when I thought I was going to have to move across the country (Canada). I found what looked like a popular site for finding apartments in my would-be adoptive city. The interface turned out to be horrible, with little to no proper search abilities. This was incredibly frustrating because my girlfriend smokes (nasty habit...) and we have a cat. Without proper search, I just ordered available apartments by ascending price, and go through them one by one to see if I could find something decent. I actually got so fed up with it, that I ran wget on the site and grepped the shit out of it to try to make my own limited search. Also annoying was that sorting by price sucked, since many had extra fees (animal deposit, animal rent, parking, etc.) that weren't included, and you would often find a one bedroom listed that had details in its description saying, "oh, we also have 2bd for this price, or 3bd for that price" so even limiting your search by room count wasn't reliable.
That was sort of rambling, but the point was it was painful enough that I just decided I would build a better mousetrap for that city, using the funds from my shiny new job. Well, I never got the job, but the idea stuck that there are a lot of less than ideal apartment search sites out there, so maybe the market could use my better mousetrap.
After that, I had a battle with RSI leaving me coding-disabled for a bit, and I came up with a new project that I'm building now (literally now - I'm procrastinating by writing this reply) that I liked better. In fact, the new idea was borne of the old idea, since it's related to learning programming and based on my desire to learn more to build the first site.
I guess what I'm trying to say is that inspiration comes from the damnedest places, but it seems to often be rooted - at least for me - in just a sincere desire to have something that doesn't exist, to solve a problem you have encountered.
Think about your daily life, or just keep your eyes open for the next week, and analyze the things around you. Are there any tools/resources you wish you had access to, but don't yet exist? Build them! Have you used something recently that was more painful than it needed to be? Improve it!
It's not easy for everyone, it certainly isn't easy for me, but there are opportunities out there if you just keep an eye out for them.
Best of luck.
* And if you really get stuck, just build my damn apartment site. :-P