I like the ethos behind this post; I've been struggling to finish projects for years, I get desmotivated, jump into another thing, don't finish it, come back after months now lost again, advance a little bit, drop it after a weekend, repeat, etc.
I will try to use the framework presented here but I'm not sure exactly how to apply it, for example the project I've been meaning to finish is what I call a very dumb compiler (parse a very simple language and emit x86_64 assembly code but without any optimizations, the most naive thing that will work).
It's hard to think how to reduce this problem to something I could do over a weekend; I have to do a lot of research, thinking and trial and error because I'm not an expert in writing parsers or anything like that.
I feel like this might only work in certain occasions.
There used to be a compilers course by Alex Aiken available online which I've found very helpful in getting started. But apparently they've limited access since. https://online.stanford.edu/courses/soe-ycscs1-compilers Maybe you can find a mirror of a previous version somewhere.
I think a compiler is a nice project because you can start with a very small language, then keep growing it and learn something along the way. Not a one-weekend project, though.
I have had this feeling a lot with my project. One thing that might work is break down the compiler itself into smaller projects. If you cant solve it all in a weekend try solving just a part of it and then calling that the project. Then move on to the next part. In the end up are building up to it without overwhelming yourself.
I will try to use the framework presented here but I'm not sure exactly how to apply it, for example the project I've been meaning to finish is what I call a very dumb compiler (parse a very simple language and emit x86_64 assembly code but without any optimizations, the most naive thing that will work).
It's hard to think how to reduce this problem to something I could do over a weekend; I have to do a lot of research, thinking and trial and error because I'm not an expert in writing parsers or anything like that.
I feel like this might only work in certain occasions.