Going thorough some of the Selected Best Nodes, I came across:

curious to know which personality sphere I fit in, and I tell you, the writer made justice at classifying the monks the way he did, I read it but I keep to myself the personality type that I thought could best describe me because I am still evolving to a Legion of Personalities since I am relatively new to Perl or maybe I am still lost and morphing to one side of these personalities.

That led me to the Coding while drunk node, where I saw personalities tones come again at play, down a different scale, many of my friends are drunk or smoked when it is exams and they claim it helps with their studies and mental alertness, I used to wonder why and how this mechanism work until somebody has given the term "state-dependent learning", it striked a strong chord of sense, I tried my shots at (SDL) "hey, no disillusionment with LSD is involved" when I was learning Classical Guitars, I tell you I failed, I screwed big time because of me wanting to reach a rock-star substance-uptake indulgence (because it has a positive-correlation with innovation, or so they say), could not balance my back let alone my strumming fingers and my eyes swirled and I was wondering if Mozart had ever had some strong (and ever lasting) uptake of some pure, natural and extinct substance, that is not present today in the industralized societies, when he was a 5 year old to jump-start a composing career, however, I elected to be sober and intoxication-free forever.

Alcohol lowers certain personality thresholds, these might be associated with some sort of "transparency" at certain thought processes(like coding logic) or "distortions" (like the beer-googles and the lowered inhibitions), some vulnerable loony can become temporarily schizophrenic "not as strict as one though :)" and Dr. Jekyll or Mr.Hyde can reign in with each one being great at what they do and being strongly independent from the other one (one personality side does the programming and when the other side comes to front, you can not understand what hieroglyphs you wrote), or become Smeagle-like with one side weaker and submissive and the other one evil and plotting (this is out of the context here).

Now I am wondering again that maybe sometime an invention is marketed (or sold under the wing of night in back-streets for geeky-aspirants like me) in form of a pill or a nano-particle that delivers strong stuff to the brain area where programming is involved, just to help when you get stuck at some logic and to lower the side-effects of involvement with tanking up on Alcohol or Clouding the room on some smoked-substance to get at that "state-dependent-learning" where euphoria, hangovers, black-outs, hallucinations are not interfering implication to your code-writing abilities and efficiency with speed and agility is the outcome and so Mr.Hyde can know what Dr.Jekyll wrote and Smeagle can lead the fellows of the ring without his malicious counterpart and I can be a Perl Programmer without a chainsaw.

Excellence is an Endeavor of Persistence. Chance Favors a Prepared Mind

Replies are listed 'Best First'.
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

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.


    TGI says moo

Re: Personality Splits and Programming
by xyzzy (Pilgrim) on Aug 04, 2009 at 19:03 UTC
    Now I am wondering again that maybe sometime an invention is marketed ... that delivers strong stuff to the brain area where programming is involved,

    Bawls. Get some.


    Everything is true." "Even false things?" "Even false things are true" "How can that be?" "I dunno man, I didn't do it."
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.

      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.

      - tye        

        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...

      Ritalin and related ADD/ADHD drugs are mild (compared to illicit doses) amphetamines, so they will act like a stimulant. I have stayed up all night hammering out code under the influence of cannabis and Adderall (20mg XR). The only problem is since the drug is designed to treat people with an (arguably) real disorder, if you don't have ADD/ADHD it will just make you hyper, twitchy, and able to think about 23 things at once, which could be a good thing if you need to multi-task but if you're looking to concentrate on one specific problem then you might not get as much done as you hoped.


      Everything is true." "Even false things?" "Even false things are true" "How can that be?" "I dunno man, I didn't do it."
        Ritalin isn't really mild in reality even when compared to other illicit dosage, the argument is, if someone has ADHD, it would be mild because it has some disorder that takes in its effect for it to work on but if someone (otherwise healthy)uses it to hyperfocus andthat mild affect turns out into many ugly manifestations, noisy irregular heart beats, dilated pupils, random blood pressure changes to just quote few. So it can be a double-dagger, its abuse is rampant too. I think for my case, I would settle to a mug of green tea and a dim room for a while, sort of flushing out the clogged thinking reservoirs when hammering a code and then go and resume hammering it, I heard there is this herb or shrub called Ghat, it makes them focus like 12 hours straight, but I am a chicken to try these...unleashing my imagination through natural routes can make me remember what I have been doing after having done with it instead of waking up from the state I got in and not being able to understand the code I wrote, now that is somewhat embarassing....

        I want to see what other monks think and what they do in order to get in the mood when writing some code, these clues can be rewarding to us all, right?

        Excellence is an Endeavor of Persistence. Chance Favors a Prepared Mind
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...