Yea, finding a co-founder can be really hard! The team itself is a very important part of the startup (if not the most important). For instance, there are questions in the YC application form about that and they give it a lot of attention.
So I think it's crucial that your co-founder be someone you know fairly well or at least someone that you may become friends with. Try asking your friends if they have friends who are programmers!