I've tried lots of things but haven't finished any.
bk: 1. It's a good idea to partner with people, but pick projects where you don't depend on your partners to finish. Pick a problem/domain where if everything else failed you could at least push out a minimal version to see if you can get traction.2. For abandoned projects, salvage the scraps - publish the drafts or parts of them, open-source your code (unless it still holds significant value, but don't overestimate the potential value).3. You seem ambitious and not easily discouraged - both valuable characteristics. So keep trying, but be on the lookout for blind spots, and patterns in your failed projects. Distill your strengths and preferences and see how you can apply them best, and work around your weaknesses.4. Make sure you're not someone else's "useful idiot" (and obviously, don't exploit others).5. As others have mentioned here - enjoy your life, seriously! Don't race to the presumed finish line. (Read Philip Greenspun's article on early retirement). You should always strive to pursue something that you find personally meaningful. What's the big picture of what all your efforts are really for? Sitting in a vault of cash by yourself like Scrooge McDuck won't make you happy.6. Unless you want to become an academic or consultant/i-banker, don't worry too much about your GPA, but meet and work with as many people as possible. Make friends and test-drive them for productive pursuits. College (and I guess grad school) are statistically almost the last stops for finding co-founders. Just look at startups you respect, and look up the founders' stories - the vast majority met at the latest at university.