Keep a log of what you did each day
That's very important. It just feels good when you can check off some tasks after every coding session. You will notice your progress, even if the changes can't be noticed from inside the game. So, write to-dos for every little thing that needs to be done! I'm using iDeskapp for that. You can read about its "Tasks" feature here.
you need to sell a full-price game direct to a customer every 45 minutes, or you probably won’t make a career as a full-time indie
I would argue with that. Well, maybe not exactly "argue" - I just want to point out that there are a lot of people who aren't full-time indies and don't have to sell a lot of games. Of course, you probably can't make games in your spare time just for fun in the long run, but I think it's how it begins. You have a job and code something in the evenings - for free. Then it just grows naturally to some sort of commercial activity and the next step is a switch to full-time game developer. But you don't have to sell zillions of copies of your first game.
Anyway, Cliffski's got some really good advices there and I encourage you to read it.