If you want some practical advice:
1. Stop going on HN and Reddit. If you spend a lot of time reading about what other people do, you won't do it. If HN and Reddit helps you progress, spend 30 minutes a day on it.
1a. Start small and simple and build from there. If things are getting too complicated, scale back. Always scale back. It reduces frustration and anxiety as well as builds confidence.
2. Set a schedule. Take you phone calendar and put a block of time to work on X and set a reminder. This primes your brain to have a plan and an expectation.
3. Schedule short time blocks, 30 minutes to an hour. You only have a limited amount of time in a day and trying to do something for long stretches of time will a) take away time to focus on other things you want to do b) will have a diminishing return effect.
4. Establish a routine. Set those blocks in 3 and do it on a schedule. Try and do that task in those time blocks for a couple weeks. The most important thing is the routine. You can increase those time blocks only when you're comfortable meeting that routine.
5. If you miss a day, DON'T WORRY ABOUT IT and just catch the next go around. Things come up in our lives that we don't expect and we either can't do it or don't want to. But don't make yourself feel like a failure if you do. The point is consistency.
6. Finally, TAKE THOSE SMALL VICTORIES! I know its difficult, you'll doubt yourself, but please... take them. When I wrote my first "Hello World" program, I took the time to realize how awesome it was and how simple it was! DO NOT CARE ABOUT THE MILLIONS THAT CAN DO IT TOO!
It will take a long time. But the beauty is, you'll get better at the above steps and be able to execute faster so it doesn't feel long anymore.