I'm not sure which of these factors contributed most to getting out of my bad spot, but in no particular order:
1. Running. (Strength training is good for many other goals, but frankly handling heavy objects isn't safe when you're severely fucked up and can't see straight. I can run even when I'm pretty deep in the hole and it has an almost curative effect.)
2. Making friends.
3. Starting a project I was actually successful at.
4. Learning not to tie my self-worth quite so tightly to my performance. The notion of "human dignity" -- the idea that all people have worth, even the ones who have personal flaws or make mistakes -- is really important.
Get a dog. Change my life. Really. I picked up a 95 pound black lab/dane mix (more lab.. and she's a BIG lab) on the advice of my therapist. Not seeing the therapist anymore.
The dog got me out of the house. Where I met people and other dogs.
I learned sporadically: I fooled around in Scheme and Java when I was a kid, and used MATLAB as a student doing research, and learned the modicum of Unix that everybody in a math department knows, but it didn't really stick. Until recently, when I realized that everything I care about scientifically needs a good programmer to implement it. So I started a learning project and quickly discovered that programming is not hard. I wish someone had told me this a long time ago. Programming is just, in essence, writing extremely clearly.
Test and iterate is obvious.
What's not obvious here is just how early and where: test the idea before you have a project, test on a high-traffic site instead of picking a group of test users to play in a private setting.
Networking can mean two different things and the author's conflating them.
1. You have a connection with a successful professional and so you're closer to promising job opportunities.
2. Your social circle contains a lot of rich people who have the habits and lifestyle typical of the rich, and you absorb a lot of their behavior by osmosis, which helps you succeed.
It's really hard to extend the benefits of the second kind of "networking" to more than a few poor people, and usually they have to be children. (Prep for Prep, college admissions decisions.)
On the other hand, it would be quite possible to develop online institutions to help with the first kind of networking. Create alternative, non-college ways to signal ability, and create ways for employers to connect with those able but isolated people. (I'm working on a project that has applications in that direction.)
I understand that nobody wants to be "brutally" honest. And, being only human, on some level I'd prefer to hear that I'm awesome. But it's more important to know if I'm doing something stupid. So is it better to prompt the advice-giver with my own concerns, like "I'm worried that my inexperience at X is going to be a problem"? How do you get people to be straight with you?
Also note that high schoolers who apply to college are applying to more colleges. Ever since the Common App made it convenient there's an arms race to apply to more schools every year.
I think this is more a matter of transferability. If you're good at one quantitative or technical skill, it's not so hard to learn another, and you can do it pretty quickly. Teaching yourself to become an artist is a bigger gap. I can appreciate design (although I never studied it formally) but I can recognize that it may be more efficient to get someone else to do it for me. The optimal degree of specialization isn't always "none."
To summarize a few of the articles you linked:
Students do better at math in East Asia than in the US because East Asian math teachers know math and American math teachers don't.
My own experience bears this out. I once taught in a program to help public school teachers get certified to teach mathematics. I simply couldn't believe these teachers had college degrees. I was teaching geometry, and none of them could go to the board, draw a circle with a compass and label the center point A. It took them two weeks to learn that the center of a circle is in the middle, not on the circumference -- and, believe me, I tried to explain it. Of course, none of the teachers could add fractions either. These teachers were impressive people -- it's not easy to play parent, social worker, and cop to fifty teenagers at a time -- but they were absolutely uneducated. It seems that education majors aren't taught the rudiments of the subjects they're meant to teach. Teachers wish they knew math and they're grateful to anyone who will teach them -- they were so grateful to me that I was terribly embarrassed. I don't know what's going on in education departments, but it's a real disservice to teachers and students.
I would be interested to know where in the US this was. I was once in a Statistics program in Ohio with a bunch of students who were working towards their Masters in Education, and they were solidly in the middle-lower end of the class but the upper end was taken up by dept. students anyway.