• OK, it's on.
  • Please note that many, many Email Addresses used for spam, are not accepted at registration. Select a respectable Free email.
  • Done now. Domine miserere nobis.

The I-will-finish-this-no-matter-what trap

BurnedOut

Well-Known Member
Local time
Today 1:51 PM
Joined
Apr 19, 2016
Messages
689
-->
I don't know how many people relate but I will share it anyway.

I have a really bad habit of not knowing when to drop things when I think that I am between 'almost getting it done' and 'cannot tolerate this being unsolved'. Today is a good example of this. I am making this post because publicly announced commitments are scientifically more likely to be kept. I am promising to myself that I will drop things when they are not in priority.

Anyway, the title says it all. Today, I spent an entire day trying to code a feature in my favourite text editor emacs. I recently got to know its language and I am tinkering with it and today it went beyond limits because I was obsessively trying to fix the problem (which I fixed but at a high cost) . For programmers reading this, this is basically implementing a vscode-style shell/repl popup which is major-mode sensitive (major mode is the dominant programming mode such as python-mode or perl-mode, etc)

I got my exams coming up very soon and I don't know if I am indulging in weird escapism or pure obsession. Today really made me concerned.

I would like to know how you guys deal with sticklers in your heads.
 

EndogenousRebel

We're all trying our best. Aren't we?
Local time
Today 3:21 AM
Joined
Jun 13, 2019
Messages
437
-->
Location
Narnia
I wish that I had sticklers in my head. I've worked very hard to build my habits of work. When I do get caught up in something it is always fleeting, and these days I'm afraid to start anything because it'll forever be in my to-do list.

The only sticklers I have in my head these days keep me sane.
 

scorpiomover

The little professor
Local time
Today 9:21 AM
Joined
May 3, 2011
Messages
1,938
-->
I don't know how many people relate but I will share it anyway.

I have a really bad habit of not knowing when to drop things when I think that I am between 'almost getting it done' and 'cannot tolerate this being unsolved'. Today is a good example of this. I am making this post because publicly announced commitments are scientifically more likely to be kept. I am promising to myself that I will drop things when they are not in priority.

Anyway, the title says it all. Today, I spent an entire day trying to code a feature in my favourite text editor emacs. I recently got to know its language and I am tinkering with it and today it went beyond limits because I was obsessively trying to fix the problem (which I fixed but at a high cost) . For programmers reading this, this is basically implementing a vscode-style shell/repl popup which is major-mode sensitive (major mode is the dominant programming mode such as python-mode or perl-mode, etc)

I got my exams coming up very soon and I don't know if I am indulging in weird escapism or pure obsession. Today really made me concerned.

I would like to know how you guys deal with sticklers in your heads.
Used to have that problem a lot.

But then I got into some projects where that stopped being a problem. That is what inspired this thread:

An xxNP development process - INTP Forum

Nowadays, I'm more likely to ask: Do I really want to spend 2 weeks trying to code a feature that I only need to do one thing, that I can do in 2 hours by copying and pasting? Copying & pasting is laborious and boring. But I save myself 2 weeks when I could be doing things that make me happy and improve my overall life much more than just coding.

I suggest that before any task, you ask yourself "Is the juice worth the squeeze?" and set yourself timers to remind yourself to re-ask the question "Is the remaining juice worth the extra squeezing?", say, every 15 minutes, so you don't waste 14 hours doing something, when you could have really gained a lot more from those 14 hours.

I discovered that versioning really helped there. Before I was using versioning, I would code and code until the code broke. So I ended up with nothing. I always felt under pressure to achieve at least SOMETHING, because I usually ended up with nothing.

Since I've been versioning, I've discovered that I don't want to mess with my old versions, because they're actually worth something. So now, I keep remembering how much I've achieved already with my old versions. So I no longer feel the need to keep tinkering, because I have achieved so much already in all my previous versions.
 

BurnedOut

Well-Known Member
Local time
Today 1:51 PM
Joined
Apr 19, 2016
Messages
689
-->
I discovered that versioning really helped there. Before I was using versioning, I would code and code until the code broke. So I ended up with nothing. I always felt under pressure to achieve at least SOMETHING, because I usually ended up with nothing.

Since I've been versioning, I've discovered that I don't want to mess with my old versions, because they're actually worth something. So now, I keep remembering how much I've achieved already with my old versions. So I no longer feel the need to keep tinkering, because I have achieved so much already in all my previous versions.
How does this help you? I am not able to grasp the idea?
 

scorpiomover

The little professor
Local time
Today 9:21 AM
Joined
May 3, 2011
Messages
1,938
-->
I discovered that versioning really helped there. Before I was using versioning, I would code and code until the code broke. So I ended up with nothing. I always felt under pressure to achieve at least SOMETHING, because I usually ended up with nothing.

Since I've been versioning, I've discovered that I don't want to mess with my old versions, because they're actually worth something. So now, I keep remembering how much I've achieved already with my old versions. So I no longer feel the need to keep tinkering, because I have achieved so much already in all my previous versions.
How does this help you? I am not able to grasp the idea?
The results are most clearly shown by repeated empirical observations of your experiences.

Take 2 projects, e.g. writing a novel. Try with making versions. Try without.

Your 4th draft in, you realise that you need the bits that you wrote in version 1, that you didn't have in versions 2 and 3. But you don't have them, and without version 1, versions 2, 3 and 4 are useless. You've got nothing for your efforts.

Or, versions 1,2 and 3 were great. You mess up version 4, and it's just a mess that you would take months to sort out. You'd go back to version 3 and start from there, and it would only take you a week to finish. But you don't have the previous versions. So you either try to fix version 4 and take months, or you redo version 4 from scratch and still take months to do what only would have taken a week if you'd had versioning.

But that's just theory.

You only really understand, when you've had so many of those experiences and suffered enough pain and wasted time, that you know the benefits first-hand, and you are motivated by the desire to not have to suffer like that again, when you don't have to.
 

Niclmaki

Disturber of the Peace
Local time
Today 4:21 AM
Joined
Oct 21, 2012
Messages
538
-->
Location
Canada
I must say, I feel like the complete opposite problem. I describe myself as an 80% kind of guy, because that’s about how far I’ll take a project.

The only way I get something “done” is if I envision / reason the completion at like 120% of what’s required. Sometimes it is not so easy though.

eg. If I want to finish all the dishes I will never finish cleaning them all in the sink / putting them away. I’ll leave a few of something because it feels “as good as done”. But then if I reason that if I emptied all the leftovers out in the fridge / got cups and dishes in use and added them, the sink would be completely full again, I can manage to finish them all.
 

BurnedOut

Well-Known Member
Local time
Today 1:51 PM
Joined
Apr 19, 2016
Messages
689
-->
@scorpiomover So, your theory's underlying assumption is that your successive ideas will more or less follow the same pattern and hence fallback versions are useful because they reflect slightly different variants of the same idea. In my coding experience, I have not relied much on git to snapshot versions because I usually tend to drastically change everything in the later versions. While using snapshots is a good thing, it is only useful if you are following a steady stream of ideas. But A for efficiency and time-saving. I cannot dispute you on that.

@Niclmaki Did not get your point.
 

scorpiomover

The little professor
Local time
Today 9:21 AM
Joined
May 3, 2011
Messages
1,938
-->
@scorpiomover So, your theory's underlying assumption is that your successive ideas will more or less follow the same pattern and hence fallback versions are useful because they reflect slightly different variants of the same idea. In my coding experience, I have not relied much on git to snapshot versions because I usually tend to drastically change everything in the later versions. While using snapshots is a good thing, it is only useful if you are following a steady stream of ideas. But A for efficiency and time-saving. I cannot dispute you on that.

@Niclmaki Did not get your point.
1) I used to do the same. But then I've changed 50 different things in the code. Even with a 98% success rate, at least 1 of them will not work completely. But I don't know which of the 50 things is a problem, and thus am unable to diagnose what is the problem with any of those 50 things. Testing which of them is going wrong will require 50 diferent tests.

Doesn't compile. Then doesn't work. takes ages to work out the problems. Those fixes make more problems. The project just goes on and on.

2) Alternatively, save a new version, then change ONE thing, then test it and debug it till it's solid (it works reliably). Then repeat 50 times.

Takes 3 times as long to develop. But it's ALL solid. ALL of it.

Moreover, whatever you were trying to accomplish is probably there by version 10. If it's a work project, our boss will probably tell you to stop at version 10, because he already has all that he wants. If it's a home project, you've done it by stage 10. The rest is optional extras.
 

BurnedOut

Well-Known Member
Local time
Today 1:51 PM
Joined
Apr 19, 2016
Messages
689
-->
Takes 3 times as long to develop. But it's ALL solid. ALL of it.
I get it. Reading this reminded of the times where I had to painfully debug a program and then throw it away because it become a hassle. Ironically, the program worked better without the enhancements before. Thanks for the useful tip.
 
Top Bottom