I don't do what I should, I don't do what's good or right, I just do what I feel for. And really, most of the time, I don't care if I go down in the shitter.
So what the fuck is my problem?
I'd say you've identified the problem... I don't know you, so you could just be being hard on yoursefl, but... if you really want to change, just a couple things to it: hard work and unflagging honesty. Useful tools include taking notes, writing goals (concrete, measurable, achieveable goals) and setting strict timelines for them, talking to people regularly about them, and not ever accepting any excuses from yourself, nor seeking any scapegoats in the outside world. This doesn't mean beating yourself up over things -- everyone makes mistakes FREQUENTLY. But you have to develop a mindset of, everything I'm not doing to actively achieve my good and honest goals (including criticizing myself unconstructively, complaining to friends about my problems, despairing that the world isn't what I wish it was, giving up, taking benders without earning them first, etc) is wasted time. You'll soon be counting that time, every second, as it flies, flies away, so enjoy what you deserve, make a mentality of wanting only what you deserve, so you can enjoy it to its fullest, criticize yourself before others (but again, only in ways that are useful -- telling yourself you're an asshole does nothing. telling yourself what you DID that was wrong, and apologizing to the people who deserve it, is progress), and soon, well, you'll GET what you deserve.
and of course i don't mean to say that i'm there yet either -- so know that you have plenty of partners to share Hell with -- but that it's not about comparison, it's just about trying to do the best that you possibly can, without
lies, lies are probably the main thing. "unintentional" lies always, always count.