According to the article (and my dictionary), "nerd" was originally used for someone who was book-smart but lacking in social skills, while a "geek" was just socially inept. But the author suggests that the terms have shifted somewhat in recent years, and based on my personal experience, I have to agree.
My spin on the difference between the two is that a nerd is intelligent but boring, and therefore often solitary. A geek, on the other hand, is smart and yet "differently abled" in the social arena. i.e. Geeks have passions, which they share with other geeks. It's just that our areas of interest are not the same as mainstream culture.
Regardless of the subtleties, it's obvious that the guy who wrote the article knows my husband:
At first, a nerd was a geek with better grades. The word described a high-school or college outcast who was persecuted by the jocks, preps, frat boys and sorority sisters. Nerds had their own heroes (Stan Lee of comic book fame), their own vocations (Dungeons & Dragons), their own religion (supplied by George Lucas and “Star Wars”) and their own skill sets (tech support)...
Among adults, the words “geek” and “nerd” exchanged status positions. A nerd was still socially tainted, but geekdom acquired its own cool counterculture. A geek possessed a certain passion for specialized knowledge, but also a high degree of cultural awareness and poise that a nerd lacked.
Today, my husband and 4 of his friends are camped out in our kitchen, playing BattleTech for 8 or 10 hours. My husband is wearing the t-shirt that I gave to him for Christmas: