I kind realized that a while ago, but it is difficult for nerd like me to leave computer and go meet people... what's to talk about? "I just found this snippet it's kinda fun!" ? :(
Go out and talk with other nerds. The easiest way to network in our industry is to open Meetup.com and look for JavaScript, C++, whatever events to discuss technology with like-minded nerds. And where there are nerds, there are nerds that work for other companies that might be interested in hiring more nerds.
Difficulty meeting people is a major impediment to hiring anyone who will be part of a team. I don't know any jobs that don't require teamwork and human interaction.
You've gotten over many difficult things in life. This difficulty may require different skills to overcome, but you're probably capable of it. You'll probably find it rewarding.
In my experience, working as part of a team requires different social skills than marketing oneself and networking; I'm decent at the former and hopeless at the latter. Employers who only consider social butterflies will be potentially missing out on lots of talented candidates.
Then it might be time to explore some other hobbies. There are non-computer related things do that don't require you to be in shape and that includes actually getting in shape! Fly an RC helicopter, start hiking, volunteer at the soup kitchen. No one is going to care about some snippet of code but that's your fault for being so 1-dimensional
If all you have for work and pleasure involves sitting at a computer then you are cutting out a large part of being alive. Plus you are risking your health. You typecast yourself as a nerd but that does not mean you must handcuff yourself to a computer desk.
I'm going to suggest indoor* wall climbing as a hobby. Lots of nerds like it because its actually very analytic. Doing a particular climb often requires analyzing where the hand/foot holds are and figuring out the best way to use them. If you've ever done any work in AI, you run into problems where you its hard to tell if you have a bug in your code or if your learning algorithm isn't very good. Its the same with climbing: is my method bad or am I just doing it wrong?
Edit: one other benefit, if you find a wall you can just go during its open hours and meet people after you get there. In my experience, people will see you struggle with something and swing by to give you a quick tip ("try putting your feet a bit higher", "try using your left hand over here", etc...)
*Indoor because its less intimidating and the walls often have custom made climbs for various skill levels.