My friend, my therapist

Dividing the self from the other (the other being the self as fictional character(s))…

There is one person who knows my body as well as, if not not better than, my wife — Abi.

Allowing Abi into my life (or, rather, her stepping into my life without permission (receiving forgiveness)), I have Jenn to thank, and for Jenn, I have Harold to thank, and for Harold, I have my wife to thank, and so on.

Letting Abi have my emotional states to play with, to analyse by plopping me down on a massage table and working on the notes knots in my chest, back and arm muscles has been a bigger challenge than I expected.  I didn’t expect Abi to challenge me the first time I saw her in Harold’s dance studio in May (has it only been a little over five months since I first met her?).

C’est la vie.

I am open to ripping myself apart in order to reach another state of being in moments not yet lived.

Abi expects me and everyone she meets to better themselves.

While working on my back day before yesterday, Abi told me that she feels emotional memories that flash into her thoughts when the knots in her body are worked on.

What did I feel?  I felt pain shooting down my back and out through the big toe of my left foot.

I also felt a new sensation that I’ve spent the past couple of days simmer in my thoughts, not sure what the sensation was, being wrapped or twisted together with familiar sensations that I’ve tried to suppress.

But I no longer want to suppress what I feel, despite a lifetime of being a good whipping boy for my subculture.

The primary sensation was old but new — the realisation that I didn’t start writing in earnest until fifth grade, which I’ve written about before, when my girlfriend of three years, Reneé Dobbs, died when she was ten and when I met my new best friend, Mike McGinty, who looked Puerto Rican but is half-Irish and half-Italian, and could wiggle his ears, with whom I exchanged letters when he moved out-of-town the next year, which led to my starting a penpal relationship with my wife the following year.

I visited a psychologist when I was 22 at the advice of my girlfriend at the time, Sarah Johnson, who was going through a divorce and worried about my life expectancy, sensing, after I slept and lived with her best friend for a short while, that I was deeply troubled and beyond her usual mothering therapy that worked with our friends in college.

The psychologist walked me through my autobiography, asking me to describe my life year-by-year as accurately as possible, saying it might take a few sessions but it would give him a clear picture of what stood out in my soliloquy.

After three or four sessions, he came to two conclusions — the death of Reneé had scarred and perhaps stopped my normal adolescent development, which was complicated by my internal image of a controlling father who had no sympathy for Reneé’s death and thus was blind to my post-adolescent stunted emotional states.

He asked if I agreed.

I admit I did not.  At first.  I was angry at Sarah for forcing me to see the psychologist before she would sleep with me again and I was angry at the psychologist for putting me in a vulnerable emotional bind.

The psychologist said that I would keep internalising my anger just as he observed my father had from my description of him.

He held a couple of sessions with my father to further understand what was going on.

Dad felt like the psychologist was wasting his time trying to analyse Dad — Dad was there for me and that was it.

The psychologist told me that his observation of both my father and me confirmed the typical father-son generation gap problems he had seen in many so-called intellectuals; in his view, I was not unlike many male college students who were struggling with finding their own paths while stuck on the path of pleasing the father figure within them.

He said that I was doubly troubled because I had never resolved my feelings over Reneé’s death due to my father’s disapproval of crying over a dead friend (my father had told me almost immediately after Reneé died that he had a good friend who died about that same age and he got over it pretty quickly because he had seen and heard worse stories of family loss because it was during WWII when many people lost family members, limbs and their livelihood, not to mention whole countries that suffered).

He believed that getting me to talk to Reneé would be good therapy because it had worked on many other patients my age.

I told him I don’t talk to the dead.  Plus, I didn’t like being told what to do, especially if I had heard it’s the same as what other people have done.

He insisted, saying that he wouldn’t have any more therapy sessions with me if I refused.

So I did.

It feels just as silly now recounting an imaginary conversation I had with Reneé, pretending she was sitting on the sofa next to me as it did when I talked with her, crying about how much I missed growing up with her, telling her that I was doing the best I could to go on living without her and was sorry I had disappointed her so many times.

But it didn’t bring her back.

It didn’t make up for all the years that I’d tried to be the boyfriend and girlfriend for both of us, unsure of whether it was “cheating” when I talked with another girl I was interested in, or danced with a girl that Reneé had not liked or not known when she was alive.

Every time I slow danced with a girl and she breathed heavily in my ear, I asked myself if I had permission from Reneé to draw circles on the girl’s back to check if she wanted me to kiss her, which usually was met with circles drawn on my back to say yes.

I knew I couldn’t tell Dad or Mom what I was thinking because I knew they talked with each other.

I couldn’t tell my friends because melancholy people don’t have a lot of cheerful friends, or friends at all, for very long.

As Abi pressed down on knots in my back, pushing pain in my body to the point of passing out, after she rolled me over and buried a thumb in my solar celiac plexus, the dim reminder of these old memories rose up into my consciousness.

While Dad was alive, I was never able to resolve the dispute he had with me about my feelings for Reneé.

Now that he’s dead, can I “get over” Reneé and go on with my life?

Can I explore possibilities that I’ve held away from me because part of me still worries that it would disappoint my imaginary image of Reneé?

I don’t like looking back at old memories repeatedly because it takes up space for central nervous system processing of possibilities for future action.

However, in this case, because of Abi, I’m willing to explore these thoughts because I want to let go.

I want to let go of repressed anger and fear.

I want to let go of expectations that no longer apply to me.

I don’t know if I’ve ever publicly confessed I love a woman after I married my wife.

I loved Brenda (and guess I still do) but didn’t explore a physical relationship with her because our love wasn’t of that kind (in other words, she likes women, not men); we had fun flirting anyway.

I love my wife.

But I also love Abi.

Love is that catch-all word that is too easy to toss out and lather over a blank page like posting a generic slogan that says “Follow your bliss.”

I love Abi because of the small child and old woman in her who look at the world in wonder and wisdom.

I love Abi because I trust her completely, wishing that Janeil was willing to let go and trust her, too.

I love Abi because she has given me hope that I can overcome the fear and anger that were embedded in my body due to conflicting memories of love for Reneé and love for my father.

I love Abi because she wants to make my wife a better person even if I don’t always do (why? As I confessed to both of them the other day, my wife reminds me of my father and when the two of them were together I sometimes went mentally crazy…literally; although now that my father is dead, the stress is less but there’s still a fear factor I have in the presence of my wife, wondering why, as my father would do, my wife jumps on me for what seems like no reason, putting me constantly on guard, feeling like I have to defend my personal thoughts, expenditures, wants and desires that have nothing to do with my wife).

I love Abi so much that I’m hoping she can get back with Stephan, even if that means she figures out how to live with or near him in France and she’s no longer in my life.

No, nix that last one.  I’d be happy for her but I’d miss her deeply.

Today is Halloween and as usual we had no trick-or-treaters which means one thing — more candy for my wife and me!  Woohoo!

Anyway, I’ve put off work on my yard art sculpture because I’ve been meditating on learning to let my body relax and not be in constant, bent-over pain while I’ve mulled over the interaction of feelings and desires — the general testosterone-driven sexual desire versus the specific feelings of love for a person who happens to be a woman.

I’ve never had a woman in my life who was my dance instructor, massage therapist and friend with whom I can be alone holding her in my arms or her driving her elbows into me while mentally working through a bunch of emotions and not let my physical desire get in the way.

I have to thank my years of a type of mental martial arts deflecting the desires of the flesh in order to explore thought patterns generated by actions in the moment, actions that include smelling scents, looking in eyes and measuring body closeness in realtime.

I’ve never loved a woman like Abi before.

I knew it was possible because I know who I am.

I knew it was possible because of the strength of my love for my wife, who is my friend first.

Have I written down everything that went through me as Abi worked on my body?

Maybe.  Maybe not.

She has more work to do, which I have to balance against my wife’s desire to, as she said earlier this evening, “return to our frugal ways,” which means she doesn’t want me spending money on massages and extra dance lessons.

Which means I have to challenge myself to generate more disposable income!

Which means I return to working on the robot and Web comic series about life on Mars that the other love of my life, Jenn, has inspired! [Thanks to Jenn’s husband, Gilley, for his understanding that my love for Jenn is not a threat to their relationship.]

Living the life of my characters

Over the past few days, I’ve puzzled over how to portray the actions of two characters who live on Mars — Shadowgrass and Voodoo Billie — who’ve fallen in love with each other, both for the first time.

I’ve felt how confused they are, how their regularly scheduled lives have been interrupted.

I need space in my thoughts to separate myself from them so I can look at their situation from a bird’s-eye view for a while.

Yet, tomorrow the University of Tennessee plays the University of Alabama in a classic fall battle between traditional powers, the house that Neyland’s built versus the house that Bear Bryant built.

Two words: Go Vols! We true fans are behind you all the way!!!!

Scratching post

So, should I go over to the visual programming side and use S4A, the visual method of programming the Arduino microcontroller?

I guess what I’m saying is wouldn’t be cool if people walking by our house could scan a QR code which took them to a place where they could either download an app and control the yard art sculpture via preprogrammed buttons or have the ability to program the yard art sculpture using visual tools?

Call that last paragraph Yard Art Sculpture 2.0.

 

For now, simply getting the first version programmed and built is a much bigger challenge!

Yard Art Sculpture Update

So, as I muddle through the design in my thoughts, I figure that the yard art sculpture needs both physical animation — moving an appendage of some sort with a thingamabob called a servo — and virtual animation — moving “eyes” and “eyebrows” with LED matrix/matrices.

The brain of the sculpture is an Arduino microcontroller.

I don’t have my cameraphone handy (too lazy to walk 100 feet to the other end of the house to get it) so suffice it to say I’ve combined two circuits, this one with eight LEDs:

CIRC02-3dexploded-445

and this one with a servo:

CIRC04-3dexploded-445

Right now, the servo rotates counterclockwise/clockwise and then the LEDs light from middle pair to outer pair and back, essentially as if the sculpture blinked its eyes and then waved an appendage.

Here’s the Arduino code I used (contains all example code for switching the “eyes” and “eyebrows” later on):

/*     ---------------------------------------------------------
 *     |  Arduino Experimentation Kit Example Code             |
 *     |  CIRC-02 .: 8 LED Fun      :. (Multiple LEDs)         |
 *     |  CIRC-04 .: A Single servo :. revolving servo         |
 *     ---------------------------------------------------------
 *  Combining two sample code sets
 *  Number One:
 *  A few Simple LED animations
 *
 * For more information on this circuit, go to http://tinyurl.com/d2hrud
 *
 */

// Number Two: Sweep
// by BARRAGAN  
// For more information on this circuit, go to http://www.oomlout.com/oom.php/products/ardx/circ-04

#include  

Servo myservo;  // create servo object to control a servo 
                // a maximum of eight servo objects can be created 

int pos = 0;    // variable to store the servo position 

//LED Pin Variables
int ledPins[] = {2,3,4,5,6,7,8,9}; //An array to hold the pin each LED is connected to
                                   //i.e. LED #0 is connected to pin 2, LED #1, 3 and so on
                                   //to address an array use ledPins[0] this would equal 2
                                   //and ledPins[7] would equal 9

/*
 * setup() - this function runs once when you turn your Arduino on
 * We the three control pins to outputs
 */
void setup()
{
  myservo.attach(10);  // attaches the servo on pin 10 to the servo object

  //Set each pin connected to an LED to output mode (pulling high (on) or low (off)
  for(int i = 0; i < 8; i++){         //this is a loop and will repeat eight times
      pinMode(ledPins[i],OUTPUT); //we use this to set each LED pin to output
  }                                   //the code this replaces is below

  /* (commented code will not run)
   * these are the lines replaced by the for loop above they do exactly the
   * same thing the one above just uses less typing
  pinMode(ledPins[0],OUTPUT);
  pinMode(ledPins[1],OUTPUT);
  pinMode(ledPins[2],OUTPUT);
  pinMode(ledPins[3],OUTPUT);
  pinMode(ledPins[4],OUTPUT);
  pinMode(ledPins[5],OUTPUT);
  pinMode(ledPins[6],OUTPUT);
  pinMode(ledPins[7],OUTPUT);
  (end of commented code)*/
}

/*
 * loop() - this function will start after setup finishes and then repeat
 * we call a function called oneAfterAnother(). if you would like a different behaviour
 * uncomment (delete the two slashes) one of the other lines
 */
void loop()                     // run over and over again
{
  //oneAfterAnotherNoLoop();   //this will turn on each LED one by one then turn each off
  //oneAfterAnotherLoop();   //does the same as oneAfterAnotherNoLoop but with 
                             //much less typing
  //oneOnAtATime();          //this will turn one LED on then turn the next one
                             //on turning the 
                             //former off (one LED will look like it is scrolling 
                             //along the line
  inAndOut();              //lights the two middle LEDs then moves them out then back 
                             //in again
}

/*
 * oneAfterAnotherNoLoop() - Will light one LED then delay for delayTime then light
 * the next LED until all LEDs are on it will then turn them off one after another
 *
 * this does it without using a loop which makes for a lot of typing. 
 * oneOnAtATimeLoop() does exactly the same thing with less typing
 */
void oneAfterAnotherNoLoop(){
  int delayTime = 100; //the time (in milliseconds) to pause between LEDs
                       //make smaller for quicker switching and larger for slower
  digitalWrite(ledPins[0], HIGH);  //Turns on LED #0 (connected to pin 2 )
  delay(delayTime);                //waits delayTime milliseconds
  digitalWrite(ledPins[1], HIGH);  //Turns on LED #1 (connected to pin 3 )
  delay(delayTime);                //waits delayTime milliseconds
  digitalWrite(ledPins[2], HIGH);  //Turns on LED #2 (connected to pin 4 )
  delay(delayTime);                //waits delayTime milliseconds
  digitalWrite(ledPins[3], HIGH);  //Turns on LED #3 (connected to pin 5 )
  delay(delayTime);                //waits delayTime milliseconds
  digitalWrite(ledPins[4], HIGH);  //Turns on LED #4 (connected to pin 6 )
  delay(delayTime);                //waits delayTime milliseconds
  digitalWrite(ledPins[5], HIGH);  //Turns on LED #5 (connected to pin 7 )
  delay(delayTime);                //waits delayTime milliseconds
  digitalWrite(ledPins[6], HIGH);  //Turns on LED #6 (connected to pin 8 )
  delay(delayTime);                //waits delayTime milliseconds
  digitalWrite(ledPins[7], HIGH);  //Turns on LED #7 (connected to pin 9 )
  delay(delayTime);                //waits delayTime milliseconds  

//Turns Each LED Off
  digitalWrite(ledPins[7], LOW);  //Turns on LED #0 (connected to pin 2 )
  delay(delayTime);                //waits delayTime milliseconds
  digitalWrite(ledPins[6], LOW);  //Turns on LED #1 (connected to pin 3 )
  delay(delayTime);                //waits delayTime milliseconds
  digitalWrite(ledPins[5], LOW);  //Turns on LED #2 (connected to pin 4 )
  delay(delayTime);                //waits delayTime milliseconds
  digitalWrite(ledPins[4], LOW);  //Turns on LED #3 (connected to pin 5 )
  delay(delayTime);                //waits delayTime milliseconds
  digitalWrite(ledPins[3], LOW);  //Turns on LED #4 (connected to pin 6 )
  delay(delayTime);                //waits delayTime milliseconds
  digitalWrite(ledPins[2], LOW);  //Turns on LED #5 (connected to pin 7 )
  delay(delayTime);                //waits delayTime milliseconds
  digitalWrite(ledPins[1], LOW);  //Turns on LED #6 (connected to pin 8 )
  delay(delayTime);                //waits delayTime milliseconds
  digitalWrite(ledPins[0], LOW);  //Turns on LED #7 (connected to pin 9 )
  delay(delayTime);                //waits delayTime milliseconds  
}

/*
 * oneAfterAnotherLoop() - Will light one LED then delay for delayTime then light
 * the next LED until all LEDs are on it will then turn them off one after another
 *
 * this does it using a loop which makes for a lot less typing. 
 * than oneOnAtATimeNoLoop() does exactly the same thing with less typing
 */
void oneAfterAnotherLoop(){
  int delayTime = 100; //the time (in milliseconds) to pause between LEDs
                       //make smaller for quicker switching and larger for slower

//Turn Each LED on one after another
  for(int i = 0; i <= 7; i++){
    digitalWrite(ledPins[i], HIGH);  //Turns on LED #i each time this runs i
    delay(delayTime);                //gets one added to it so this will repeat 
  }                                  //8 times the first time i will = 0 the final
                                     //time i will equal 7;

//Turn Each LED off one after another
  for(int i = 7; i >= 0; i--){  //same as above but rather than starting at 0 and counting up
                                //we start at seven and count down
    digitalWrite(ledPins[i], LOW);  //Turns off LED #i each time this runs i
    delay(delayTime);                //gets one subtracted from it so this will repeat 
  }                                  //8 times the first time i will = 7 the final
                                     //time it will equal 0

}

/*
 * oneOnAtATime() - Will light one LED then the next turning off all the others
 */
void oneOnAtATime(){
  int delayTime = 100; //the time (in milliseconds) to pause between LEDs
                       //make smaller for quicker switching and larger for slower

  for(int i = 0; i <= 7; i++){
    int offLED = i - 1;  //Calculate which LED was turned on last time through
    if(i == 0) {         //for i = 1 to 7 this is i minus 1 (i.e. if i = 2 we will
      offLED = 7;        //turn on LED 2 and off LED 1)
    }                    //however if i = 0 we don't want to turn of led -1 (doesn't exist)
                         //instead we turn off LED 7, (looping around)
    digitalWrite(ledPins[i], HIGH);     //turn on LED #i
    digitalWrite(ledPins[offLED], LOW); //turn off the LED we turned on last time
    delay(delayTime);
  }
}

/*
 * inAndOut() - This will turn on the two middle LEDs then the next two out
 * making an in and out look
 */
void inAndOut(){
  int delayTime = 100; //the time (in milliseconds) to pause between LEDs
                       //make smaller for quicker switching and larger for slower

  //runs the LEDs out from the middle
  for(int i = 0; i <= 3; i++){
    int offLED = i - 1;  //Calculate which LED was turned on last time through
    if(i == 0) {         //for i = 1 to 7 this is i minus 1 (i.e. if i = 2 we will
      offLED = 3;        //turn on LED 2 and off LED 1)
    }                    //however if i = 0 we don't want to turn of led -1 (doesn't exist)
                         //instead we turn off LED 7, (looping around)
    int onLED1 = 3 - i;       //this is the first LED to go on ie. LED #3 when i = 0 and LED 
                             //#0 when i = 3 
    int onLED2 = 4 + i;       //this is the first LED to go on ie. LED #4 when i = 0 and LED 
                             //#7 when i = 3 
    int offLED1 = 3 - offLED; //turns off the LED we turned on last time
    int offLED2 = 4 + offLED; //turns off the LED we turned on last time

    digitalWrite(ledPins[onLED1], HIGH);
    digitalWrite(ledPins[onLED2], HIGH);    
    digitalWrite(ledPins[offLED1], LOW);    
    digitalWrite(ledPins[offLED2], LOW);        
    delay(delayTime);
  }

  //runs the LEDs into the middle
  for(int i = 3; i >= 0; i--){
    int offLED = i + 1;  //Calculate which LED was turned on last time through
    if(i == 3) {         //for i = 1 to 7 this is i minus 1 (i.e. if i = 2 we will
      offLED = 0;        //turn on LED 2 and off LED 1)
    }                    //however if i = 0 we don't want to turn of led -1 (doesn't exist)
                         //instead we turn off LED 7, (looping around)
    int onLED1 = 3 - i;       //this is the first LED to go on ie. LED #3 when i = 0 and LED 
                             //#0 when i = 3 
    int onLED2 = 4 + i;       //this is the first LED to go on ie. LED #4 when i = 0 and LED 
                             //#7 when i = 3 
    int offLED1 = 3 - offLED; //turns off the LED we turned on last time
    int offLED2 = 4 + offLED; //turns off the LED we turned on last time

    digitalWrite(ledPins[onLED1], HIGH);
    digitalWrite(ledPins[onLED2], HIGH);    
    digitalWrite(ledPins[offLED1], LOW);    
    digitalWrite(ledPins[offLED2], LOW);        
    delay(delayTime);
  }
  for(pos = 0; pos < 180; pos += 1)  // goes from 0 degrees to 180 degrees 
  {                                  // in steps of 1 degree 
    myservo.write(pos);              // tell servo to go to position in variable 'pos' 
    delay(15);                       // waits 15ms for the servo to reach the position 
  } 
  for(pos = 180; pos>=1; pos-=1)     // goes from 180 degrees to 0 degrees 
  {                                
    myservo.write(pos);              // tell servo to go to position in variable 'pos' 
    delay(15);                       // waits 15ms for the servo to reach the position 
  }
}