> First of all I love Marginalia, thanks for finishing _that_ project. :)
> Project scope seems to be key. I often get into things with 'lofty' goals but I should be more realistic about what I want to get from them. That requires a bit of thinking and self-reflection which, I think, I might be skipping.
Dunno, I think lofty goals are fine, but you need a clear idea why you want to accomplish them.
Like if the reason you're learning some technology is because you want to learn it, and you find midway through that you don't want to learn it, then one of you must be wrong. Either you want to or you don't. It's fine to change your mind, you should be upfront about yourself about that. If it turns out you don't want to learn the thing, then you're wasting your time pushing yourself.
It's also good to have some clue how to get there.
When I built my search engine, I started by making a fairly simple prototype that consisted of a few components that each took a few weeks to get working. Having that made iterating on the design much easier. There's just no way I'd gotten where I am now if I didn't start where I did.
> Acknowledging that not everything is glamorous is also another big part of it. When you just start something it's all new and shiny, but the bulk of the work is the unglamorous oiling of the gears and small improvements. I should internalize this fact.
A lot of it may also be ensuring that you are doing the right things. I sometimes fall into the trap of just sort of tweaking things and not really making much of a difference.
I've found it helpful to get some distance away from a project and to just think about it for a while instead of forcing myself to work directly at it every day. I often come back with a huge amount of ideas that I no doubt would have never come up with if I was closer to the project.