The best advise I ever saw in terms of meeting people (it wasn't direct at me, but it was on a mailing list that I was on) was "if you want to meet and/or date people who are interested in X, you've got to put yourself where people interested in X are." That's true for any given definition of X.
Figure out what your interests are, geek or otherwise. Don't take a cooking class just to meet chicks if you don't want to know how to cook for your own sake. If you are interested in it, though, get out there and do it. Meet people. If you're looking for geeky relationships (friendly or romantic), find your local LUG, or an open source project you're into may have a local users group. If you're into Star Trek or role playing, look for a local fan club or D&D group or LARP. If you're a somewhat religious person, get involved with your church/synagogue/mosque/whatever. (Note: Do NOT do that if you are not genuinely at least somewhat religious.) Personally I'd recommend taking a massage class. Not only is it a very good skill to have, it's a skill that many people appreciate in a person (friendly or romantic) and my understanding is those classes tend to be mostly women, too. :-)
The geekier groups are likely going to be mostly male, but that's OK. You're trying to meet *people*, not *women*. The women come later, because they're people too. :-) (And acting like they're not is a great way to stay single.) Half the time you'll meet someone through someone else that you really like, that you wouldn't have met if you hadn't met the first person first. Friend-of-a-friend is a great way to meet people as well, if you bootstrap yourself first.
If you already have a few friends, see about tagging along with them to things they do. Odds are if they're your friends you have interests in common, which means you probably have *other* interests in common, too. If they're real friends, they'll be supportive of your endeavors.
I'll also add that when people ask me how I learned to dance, my answer is always the same: By being a bad dancer for a long time and not caring, until I got good at it. Socializing is a learned skill. It will take time to learn. Just remember that it's a much "softer" skill than programming, but that doesn't mean it's not as complex or challenging.