What do you do to move beyond a mental block?

Lots of awesome advice. I wouldn't have thought about assembler language but thinking back, the mainframe assembler class I took in college gave me an awesome background for industrial controls programming. I'd steer clear of 8086 type assembler as the register names and format are pretty confusing.

One other thing not mentioned yet that I sometimes do is just start over. Clean the slate and begin fresh. Maybe after a short break but that isn't even always necessary. This may not always be possible with an established system that you are modifying but even there, you can sometimes backup the old and throw in something new. When I have done this, I have rarely had to go back to the old way.
 
If I get stuck I will first try to explain the system and or problem to a co-worker. That really helps.



If not I'll go into the shop and turn wrenches for a while. A little mundane work helps clear the mind.
 
For me it depends on whether I'm solving a design problem (e.g. UX, requirements, OOD, algorithm) or strictly addressing a stubborn technical issue.

For the former, I give the problem the room it needs. But not so much room that perfectionism comes in. Some of the tricks mentioned above, like 20/20, are aimed at avoiding the trap of perfectionism. Another one I like is test-driven development, which starts with getting something to fail, and then doing the minimum amount of work required to get it to work. It's hard to get stuck in this mode. Red, Green, Refactor!

For the latter, any break is good but if you want a system then you could try the Pomodoro technique. You take a 5 minute break after each "pomodoro", which is 25 minutes of work. It can be helpful when you're wrestling a bear of a technical issue...
 
When there was no one to talk it over with when I was working at home and I got brain shutdown I just asked "Who wants to go to Dairy Queen?"



We all got in the van and while I was enjoying a Blizzard, not thinking about the program at all, the answer would suddenly pop in my head. Going to bed worked to, but then I would wake at 2:00am with the answer and have to get up and get to the computer before I forgot it. And there was no going back to sleep and remembering it in the morning.
 


Thanks you drbitboy.


I have been keeping track of what I do when I get into such situations, which is often; as I mentioned I do a lot of new stuff all the time. I realized that, as described in your link, I focus on what I believe to be the solution and my thinking becomes very short, snaps of thoughts, to a point where I am trying solutions that I do not even understand, I just keep changing things.

What I do now is recognize that I am not going to get it done and stop completely, take a break then research the instruction, IDE, hardware, language or whatever, from its basics; pretty much re-learning it again. That usually helps.


I was working with IBM Rhapsody a couple of days ago and though it is mostly graphical and SYSML, it does have a fair bit of C++ and C. I was passing data between blocks and could not compile it for simulation even though I had access to an example project. I was slapping & and -> without a clue what they were :ROFLMAO: just because they were used in the example.
Then if finally dawned on me (so brilliant of me) that maybe I should learn what they are first. šŸ™ƒ
 
Heh yeah been there, thinking "the solution must be close, maybe I will stumble onto it."

Regarding ->, my experience, going back decades, is that there are no "variables," only pointers to memory; sure, some are in a "dereferenced" form, but everything is based on pointers.
 
look at it, long and hard.


Take a break by looking at a different problem.


Talk to another person, even if it's yourself in a mirror. Bounce ideas off of someone, even if they don't know anything about what's going on, ask their opinion to get your brain out of the corner it's in. even if they just say "Well, why wouldn't X cause this, every time this happens we do Y"... completely unrelated to the real problem, but your brain will now be on a different topic, and when you switch back mentally it can help.


Don't be afraid to wait a day to come back if it's really bad, fresh eyes win the prize.





If you watch people do puzzles, you'll notice that they tend to try the same thing..... A LOT, even though it didn't work the first time.
 

Similar Topics

Hi everyone, I am working with micro850, a proximity sensor (FOTEK, PL-05P) and a 3DOF serial arm robot. I use MC_MoveRelative to control the...
Replies
1
Views
58
So I'm pretty green when it comes to troubleshooting in the field so bear with me. We have a Danfoss valve that opens/closes from an analog output...
Replies
23
Views
953
Hi. This is pretty basic but I'm struggling to find an efficient solution. I have a float value of let say 666.555 that I want to move / split...
Replies
3
Views
207
hi, I got a plc S7-1200 with SEW movitrac **** and i need to program something ridiculous if my application reaches sensor 1 then my SEW has to...
Replies
0
Views
188
Afternoon, I have a DB in TIA Portal V16 that is optimised. I cannot change this. There is an array inside that block which consists of 3000...
Replies
9
Views
1,141
Back
Top Bottom