Years ago I had the idea to create an automated "task assigner" to solve this problem. Once loaded with suitable data (perhaps a hard problem), it would just feed you tasks, "Do this now", and you'd do the tasks and feel happy that you had completed its assigned tasks. Based on the theory that the trouble isn't with doing stuff but more deciding what do do and in which order. Too busy to actually write it though.