You probably saw the post where I've been linking to all the code I've written. Looking at all these projects has made me very aware of the uncomfortable fact that almost none of them are complete. Here's what happens in my head:
(work on something) -> (doubt: is this going to succeed? if so, continue. else, quit immediately) -> (repeat)
This is somewhat counterproductive. I probably had half of a Snapchat replacement finished at some point, but my internal efficiency filter decided that some other product would have a greater chance at succeeding, and immediately switched all mental resources to the new idea. What about all the work I put into the old idea? Well, the sunk costs fallacy dictates that you shouldn't keep wasting resources if you've already wasted a lot. Just quit, ASAP.
I guess I had to physically see all this code to understand the degree of my self-sabotage. There are no less than five iterations of somewhat-related ideas I had for a messaging app. Combined, they total around 15,000 lines of code, or nearly the length of the original Unix kernel.
Unix, of course, transformed computing and open-source culture irreversibly, and its descendants power the majority of the Internet, as well as the laptop I'm using right now. My code, on the other hand, has consumed several hundred hours of my time and will probably never run on a device other than this laptop.