Given the overwhelming chaos that is the ADHD mind, I thought I’d try to see if I can create some space to breathe. The idea was to work with one simple constraint: think only one thought at a time. Essentially reduce the asynchronous multi-threaded parallel processing to one single thread. Other than that, there was complete freedom to think and rabbit-hole as much as my mind liked, so long as it was one thought at a time. This by extension also meant suppressing the tendency for overlapping thoughts whereby one thought leads way to another which commences before the first has finished, so instances of this were essentially queued until the first thought had finished.
Ultimately it was a success - a respite from the racing, competing thoughts and overall total cacophony of the mind. I admit I did end up falling asleep, which probably goes some way to show the relaxing effect of the practice and definitely a tool worth keeping in my arsenal for certain nights where sleep is difficult.
Thinking about this from another angle - other than purely a tactic to deal with ADHD - there are marked correlations between the workings of the mind (or at least my mind, probably also other ADHD/Autistic minds) and that of developing multi-threaded and asynchronous software.
See, the jump from basic synchronous, single threaded code to multi-threaded, asynchronous code is just as stark. The latter can far more easily result in numerous bugs and general confusing disorganisation. While the former certainly can incur its fair share of difficulties if not treated carefully, these are in some way mostly limited to what could generally be described as a basic organisation. Conversely, even an experienced developer will frequently have to employ more advanced techniques to write and debug multi-threaded software.
Care must be taken in the writing - lest the debugging be torturous. How does this translate to our thoughts? Sure, we often don’t generate these consciously, so the ‘writing’ is already done (in a sense), however, the generation of a thought immediately leads to an instinct to categorise it (even if that category is something akin to ‘miscellaneous’, ‘uncategorised’, or ‘random’) - to find a place in our mind where it fits, other ideas it connects to, or even to reject it entirely. Similarly, a collaborative project involves similar mechanisms - someone may suggest an idea or write a piece of code, others weigh in, review the code, suggest changes, refactor it entirely. The problem with the conscious mind is that it is the only conscious collaborator. Actually, it’s sort of like collaborating with AI - you can prompt the mind to generate thoughts, respond to them, polish the ideas, or reject them entirely, but the generation itself is mostly out of your hands. Where does that leave us in terms of some sort of takeaway lesson? Well, that depends on how much curating you are doing. Up until now, I realise I haven’t had much of a hand in that - instead, more of an active listener. Too reliant on the generation of ideas bubbling up from the subconscious - perhaps similar to the over reliance on AI which has become endemic lately. You would not appreciate a collaborator which rarely actually helped in the development process beyond utterances of agreement, disagreement, or vague interest. Similarly, perhaps there is value to be had in being a more active collaborator with the mind. A more thorough organisation of thoughts. Everything is a web, everything is connected, yes - but there needs to be some degree of modularity. Perhaps a spin-off experiment would be to explore one ‘mind module’ at a time.
Care must also be taken in the debugging - lest future writing will progressively worsen. This can involve a wide range of techniques definitely worth exploring in terms of thought about experiments. If all fails, however, it always helps to strip right back to basics, even if only to test that each individual thread is working as it should. This is exactly the same as this thought experiment.
One final note, beyond the promise to try out some other thought experiments to help manage my AuDHD mind - computing power is, especially in complex, multi-threaded software, an important consideration. We cannot change the hardware the end user is running, much like we cannot change the hardware of our brain. Attempting to run at high capacity on too many threads is a recipe for disaster. Similarly, a mind like mine, running unchecked for so long - it’s no surprise burnout, stress, and brain fog are so common! It’s important therefore, to find some way to streamline performance.