I find the most valuable part of this article the link at the bottom pertaining to questions cofounders should mull over before entering the venture together (For ease: http://onstartups.com/home/tabid/3339/bid/99/Important-Questions-Startup-Co-Founders-Should-Ask-Each-Other.aspx). I have had a struggle finding cofounders that complement my style, skills, and ideas. (Any coders out there that want to talk, hah?). One thing I find missing from this list is that if you can't address these issues, or fore go these questions citing the fact that they will be addressed when the time comes (because coding is more fun) then you should rethink your partnership all together. I find it much more important to ensure that anyone I am involved with is available for open and comfortable communication about all areas of the business.
If you don't already have a good co-founder, perhaps you are not yet ready to start a company. Try joining an existing startup instead. If it succeeds, that's great, but either way you've learned more about startups and hopefully met some people who would make good co-founders.
If the startup fails then you'll have been working with other passionate people who are likely to be willing to give it another try. Perfect for cofounders.
There are online cofounder finder services available such as http://www.buildv1.com/ but I have yet to hear of any succesful partnership coming out of them. Best to stick with people you know in the real world it would seem.
It seems the best option is to find some one you've worked with already, mainly fellow students, coworkers and open source contributers. If none of the above work for you try going to conferences and other events. Personnaly I have found barcamp to be a great event. Anyone attending will be motivated and passionate. You'll also get to see everyone present on something. If someone is presenting on the same topic in which you want to create a startup then approach them. Chances are your on the same wavelength and you can discuss your ideas together.
Also the presentations give you a great idea of if a potential cofounder will be good at pitching to investors and give you an oppertunity to present about your own startup idea!
The most insightful statement IMO: "If you're going into business with somebody that you've never actually worked on a project with, I'd recommend starting on something a little easier and smaller before creating the next Google."
I've often wondered what the difference is between working on an open source project on the side and working on a startup. The differences seem to be in expectation and in emphasis (what users want rather than simply scratching a personal itch). Now it starts to appear that there is a continuum between the two. Perhaps an open-source project is a good way to find co-founders.
This dilemma has plagued me for a whole summer! I've devoured books about Apple, Google, HP & Co. to learn stories of how founders met. Honestly, I learnt more from doing that (reading about previous founders for inspiration), than this article, but to be fair this article breaks down the four categories very simply. The great founders, and their meetup stories, all fall into one of the four categories. So it is wise to read both the article, and the stories of how our forefathers did it.