Re: Personality Splits and Programming
by ELISHEVA (Prior) on Aug 04, 2009 at 19:01 UTC
|
State dependent learning can apply to any state - not just the alcoholic one. In my college "Memory and Cognition" course we read a paper that compared scuba divers learning/recalling under water to scuba divers learning under water and recalling out of water (and vice versa). The context in which we learn something is the easiest context in which to recall it.
I think state has a lot to do with successful programming, but for me, the programming state is internally generated and is something closer to meditation. I think of it more like entering the world of a good book. Or maybe it is like listening to a symphony and feeling its motion and the way the instruments curl around each other. Or better yet, writing a book with plot, story and characters.
When I design a large program, I enter an imaginary universe "peopled" with classes and objects. Each plays their role in the plot and it is my job to give them them the needed skills and personality to do their job. When I study someone else's system, the first thing I try to figure out is who the cast of characters is. I study the database tables, the classes, the way they relate to one another. I try to understand the flow of dialog between them, the range of action, the personality of each part of the program or system.
Sometimes it is hard for me to get into that state. But over the years I have learned to turn that into a reality check on the design. One test I have of a design is: "Can I understand it without being in that state?" If I can't, it is probably too complicated. Then I have to wait until I can work myself back into the world of the problem and rewrite it. It doesn't always happen on cue and I have to go off and focus on other tasks for a bit.
I suspect you will get many different answers on this thread, and maybe you will see a bit of yourself in each of them. But at the end of the day, you will just need to experiment until you find your own way of creating that inner space where you can think clearly and understand your own work.
Best, beth
| [reply] |
Re: Personality Splits and Programming
by TGI (Parson) on Aug 06, 2009 at 09:49 UTC
|
I have found that music can provide a powerful set of cues for altering consciousness.
Back in High School I had a "calculus album" (Absolutely Free, if you care) that I always listened to when doing my calculus. Strains of "Call Any Vegetable" ran through my head as I was acing my AP exam.
Now, I have a few playlists for different coding states. Blissed out hacking gets "Sweetspace", long-haul deathmarches get "Long-Drive Sanity Check". For deep thought and design I listen to a bunch of Leonard Cohen.
SDL is another way to think about priming. Imbibing chemicals to create a brain state can be effective, but comes with a variety of side effects that can be hard to control (and potential legal issues). Some effort will allow you to go much farther in the exploration of altered states than drugs can take you.
Take what you've learned about shifting cognitive state from the use of entheogens, and begin to work on controlled, voluntary shifts of consciousness. Be careful, go slowly and focus on grounding and returning to "normality". A good way to get started is with simple breathing exercises and basic sensory deprivation (sitting in a dark, quiet room). Practice letting your mind race, and calming it.
If you interested in questions of personality fracture and the impacts of drug use, read some Philip K Dick, espicially VALIS and A Scanner Darkly.
You may find any of the many articles about transcranial magnetic stimulation experiments interesting. Especially the bits where savant-like states are induced.
I my experience, keeping a deep-code-zone for 8 or more hours makes returning to normal modes of communication and interaction difficult. It can take me a few hours to readjust to the point where I am fit to have a conversation with. My wife tells me that she avoids me after too much deep work, because I become too analytical, literal and detail focused and have a completely incomprehensible sense of humor. Over time I settle back into more normal patterns.
Anyhow, as you begin to turn your mind in on itself, be aware of the risk of nasty feedback.
| [reply] |
Re: Personality Splits and Programming
by xyzzy (Pilgrim) on Aug 04, 2009 at 19:03 UTC
|
| [reply] |
Re: Personality Splits and Programming
by eyepopslikeamosquito (Archbishop) on Aug 04, 2009 at 21:52 UTC
|
I've noticed a number of Perl hackers take the drug Ritalin, presumably to treat ADHD. As noted here, Ingy even gave a talk at YAPC::Taipei entitled "Kwiki, the Ritalin and Everything". This drug does seem to allow some hackers to hyper concentrate for long periods.
| [reply] |
|
|
This drug does seem to allow some hackers to hyper concentrate for long periods.
I can see how to interpret that phrase such that I don't disagree with it. However, it seems likely that some will interpret it differently and even that eyepopslikeamosquito might have meant it in a way that I strongly disagree with. So I'll take this opportunity to complain about some common misconceptions about ADD/ADHD and medications used to treat it while disputing one interpretation of that sentence.
However, it is likely more accurate to characterize such as the Ritalin preventing distractibility, thus allowing the ADD to cause hyper focus; not that the Ritalin is causing hyper focus.
Back to the topic of this thread, there are different programming tasks where different environments can help or hinder them. There are programming tasks that require such mental focus that mundane noises like music or nearby conversation are distractions that stop me from making progress. There are programming tasks where some background noise is required in order to be able to keep at the task the most successfully. And I've had cases of programming tasks where being slightly buzzed on alcohol was helpful.
When the alcohol helps, it seems to be that it somewhat slows down and somewhat dulls my mind, making it easier to stay focused for longer. Without alcohol, the task is rather boring and unchalenging and thus hard to keep doing. With alcohol, the task becomes just chalenging enough to keep my attention.
Everybody has an optimal level of stimulation. Most people have a very strong preference for achieving this level of stimulation. So some people are constantly needing to go do something extreme. Some people are constantly looking for a nice quiet place. You can even oversimplify this and decide that daredevils lack internal stimulation so have to seek external stimulation while introverts have rich internal stimulation and thus avoid excess external stimulation.
Some programming tasks are quite taxing on my mental abilities and so I have to do them in the most peaceful of settings. At the other extreme are programming tasks that are only taxing of my patience and thus a beer can be helpful. Most programming tasks for me fall between those two extremes and a little background noise provides just enough additional stimulation such that I don't feel the need to go searching for more stimulation and so can stay focused on programming.
I've had a couple of friends tell stories of programming when more than just buzzed and having amazing revelations... only to wake up the next day to utter crap code that makes no sense at all (and doesn't work). I've never tried to program when drunk.
| [reply] |
|
|
Everybody has an optimal level of stimulation. Most people have a very strong preference for achieving this level of stimulation. [...]
Some programming tasks are quite taxing on my mental abilities and so I have to do them in the most peaceful of settings. At the other extreme are programming tasks that are only taxing of my patience and thus a beer can be helpful.
I think this is incomplete.
A point Marvin Minsky has made is that investigation into "intelligence" is a spurious chase as long as you think of it in the singular. The contention is that what we perceive from the outside as "intelligence" is really a huge bucket of completely unrelated mechanisms for totally different tasks, and what we perceive is an emergent property of all of them acting in semi-random configurations on the tidbits we feed them.
Now, if you disagree with that in broad, there's no point reading further. But if you go with it, I think it expands the understanding of the issue here. Your "mental abilities" are no more singular than "intelligence" is. Nothing is ever taxing on your mental abilities; it's taxing on some mental ability, or realistically, on some combination of your mental abilities. The rest of them are just sort of floating around twiddling their thumbs.
That's where distraction comes from; those pieces that aren't being used are still turning over, waiting for something to grab onto. If I don't need my internet connection, I can unplug my router. If I don't need music, I can unplug speakers. Don't need to know the time, unplug the clock. But I can't unplug pieces of my mind. The mind commands the body and it obeys; the mind orders itself and meets resistance.
There are things I've been unable to make progress on without music playing. Sometimes, very loudly. That's not because the music is helping me think; it's because the music is helping me not think, with those mechanisms that aren't involved in what I'm trying to do, but are still searching for input somewhere. I keep them busy so they don't go seeking out stimulation elsewhere and drag me away. It's actually the same problem you solve when you work in silence; eliminating distractions. It's just that in that case, you're eliminating external distractions, while in the other, you're harnessing external distractions to eliminate internal distractions.
I'm a twitchy sort; I have to have things on my desk to fiddle with. There's a pen on my keyboard I get to clicking; a folding knife I'll open and close and twirl. I've had a mini-Slinky that got flung around. I've even got a Ball of Whacks. It claims to be a "creativity tool" and a "creative stimulant". But that's crap. Fiddling with it doesn't lead me to new ideas; it keeps my hands and part of my mind busy, so the rest of me can ignore those bits of me and think.
Heck, it's the same thing you do with kids; you give 'em something harmless (well, as harmless as anything is in the hands of a small destruction machine :) to do to keep them out of your way while you try to do something else. All your mental tools are like little children in that way; if you don't feed them, they'll scream and yell until you do, so if you want to be able to get anything done they need to be either involved in it (and some problem do involve nearly everything you can bring to bear), or otherwise appeased. And indeed, chemically-induced altered states can function the same way as these other distractions, at least for some people.
Well, except most jurisdictions frown on applying them to your kids...
| [reply] |
|
|
|
|
|
|
| [reply] |
|
|
| [reply] [d/l] |
Re: Personality Splits and Programming
by apl (Monsignor) on Aug 09, 2009 at 14:41 UTC
|
Forget alchol; Jolt Cola is my mind-altering substance of choice... | [reply] |