From here:

Yes, it’s not a common question, but I see this question pop up often enough that it warrants a HOWTO for those who want to know. So, how to get a geek guy – and keep him.

#1: Be a straight female. Now, before you gay and lesbian geeks rush me, calm down. Yes, I know same-sex-oriented geeks exist. They’re scarce. No, don’t write to yell that you’re a gay geek and so are four of your friends and that proves me wrong. You’re rare. Anyway, this post is how to land a straight male geek.

#2: Be direct. Geek guys tend to be in a shell. They are generally defensive and aloof. They aren’t cold in the least; they’re just extremely polite. Geeks tend to live by “do unto others”. A geek guy who doesn’t kiss you is worried about forcing himself. Grab him and plant one. Let him stagger and shake it off, but if he shows signs of recovering too quickly, grab him and plant one again. Subtlety and coyness completely fails with geeks; they’ll be confused and expect that you’re not on Pon Farr or are a nun or something. Where other guys need no provocation, a geek guy has to be brained on the noggin a couple of times, then he’ll get the idea.

#3: Be smart and/or funny. At least don’t hide your smarts. Unlike some other breeds of men, geek guys have no insecurities about their masculinity and so do not feel threatened by a smart, capable female. Show him that you can be a good “teammate” in life – yes, geek guys think that logically and practically. As for funny, consider that geeks are cerebral and introverted – they rarely laugh out loud. Make a geek guy laugh, and you’ll be on his mind for the rest of the day.

#4: Don’t cling. That is to say, geek guys are amazingly low maintenance. You need what attention you need, and of course should make it known. When you’re thinking of doing something just for him, surprising him with small, thoughtful gestures and little favors go a lot farther than constant adoration.

#5: Humor his “shop talk”. If he works as a freelance coder or consultant or has a small start-up, he might not have a lot of people to talk about work with. If so, expect that he’ll dump about ten minutes per day of incomprehensible babble at you. Put on your “I’m listening” face and wait til the stream of talk about his latest programming language pet peeve or hardware frustration or anti-DRM rant passes, then relax. You’re done with it for another day, and geek guys need to share this kind of stuff as a way to explain it to themselves. Keep him in mind that you’re not his debugger, however.

#6: While respecting his work, do try to pry him off his computer or his Star Trek DVDs or his Dungeon-Mastering and get him outside in the fresh air every now and then. If his protests aren’t in the shrieking range, it wasn’t that important; he’ll perk up as soon as you have him off the machine. Bonus points if you prowl town for interesting fun places to drag him to.