Archive

Author Archive

Buddhism and Emotional Awareness

January 29th, 2009

I ran across part of a very interesting conversation between Paul Ekman and the Dali Lama on Anger and Forgiveness. They discuss whether it is possible to forgive someone for a wrong-doing while still holding them accountable for their actions. It’s an interesting question because in the west we tend to think that if we forgive, we’re letting the perpetrator off the hook so there will be nothing stopping them from repeating the same misdeed without a thought to consequences.

The Dali Lama, and I think most practicing Buddhists, take a different perspective on the matter. I’ll preface this by saying there are at least 23 different documented interpretations under the Buddhist umbrella, but I think Buddhisms in the most general sense the understanding of the emotional impact of one’s thoughts and perspectives on oneself, and the application of this awareness to determine the most pragmatic viewpoint to adopt. In other words, buddhists realize that even if someone deliberately did wrong by you with no remorse, let’s say by lets say emotional abuse, holding on to negative feelings towards him is not productive. The only thing achieved by doing so is that you feel miserable when you’re reminded of the occurrence and usually do everything possible to forget that it happened, even scolding yourself for remembering it when you do. Also, keep in mind that the individual causing you the grief is completely unaffected by this. How can they be punished if you don’t interact with them, or if you do, do you think really think that they wayward evil eye in their direction is really going to affect them for more than an instant? The Buddhist solution, which I whole heartedly agree with, would be to forgive them, try to understand why they might do what they did, and if necessary feel sorry for them, but under no circumstances continue to hate and condemn for their actions. You can condemn the action without condemning the person, as the Dali Lama said.

In that case, where do we stand. You feel relieved and can stand tall with no chip on that shoulder. Every day seems just a little bit brighter. There’s no longer any need to repress any scorn, because you’ve delt with your emotions. The best part: it only took a couple of minutes of looking in the mirror and saying “What they did was terrible, but it’s not worth dwelling on. I forgive them.” Do it for yourself, not for them. After all, you’re the number one person that your attitudes affect, so doesn’t it make sense to optimize them to increase your happiness? I just saved you decades of grief, and thousands in therapy bills! If you’re in a giving mood, here’s a good charity (it’ll make you feel great :) .

Regardless or the details of Karma and rebirth, I see Buddhism as the deeply wise realization of our thoughts and perspective’s impact on our emotional state, in order to move towards inner peace and happiness.

I take this even a step further in my own life. I’ve been experiementing with the radical concept of “don’t condemn anyone for any reason” or even better to convert it to a positive, actionable view “accept and try to understand everyone I meet.” It seems simple at first glance, but after I truly implemented that perspective in every interaction I noticed a huge difference. I was the smart geek type in high school, who didn’t have any friends, so as a defense mechanism I used the “condemn everyone” strategy for a long time. I wasn’t completely miserable, but it’s no shock that I didn’t make many friends. After all, would you be friends with someone who with a look says “you’re a moron unworthy of my time”? The incredible simple act of showing interest and compassion to everyone I meet has transformed me into a social butterfly overnight. Everyone on the planet has negative as well as positive characteristics. It’s your choice which ones you focus on, but it should be a conscious choice. The advantages of seeing the good in people are immeasurable. Of course I don’t mean deluding yourself, there’s no need. It’s all a matter of perspective. If you can’t see the good, that’s only because you’re blinding yourself to it, and that really is willful ignorance. As soon as you open your eyes to the good, you will instantly feel a change in yourself.

Wonderful worlds of happiness and joy will open up with an nearly effortless change in perspective. Try it!

I would love to hear your thoughts about this in the comments. Do you condemn people? Is it every OK to? Do you agree with everything I’ve said, or are there parts you disagree with? Either way, let me know!

Emotions

Stackless

January 12th, 2009

I’ve been reading about Stackless Python for concurrent programming and it sounds flippin’ fantastic. The most famous application, Eve Online,  is very impressive.

There’s a really great tutorial on Stackless Python for those new to concurrent programming but familiar with Python written by Grant Olson. I did find one issue in the digital circuit code example, though.

I tried this with Python 2.5.1 and Python 2.6 to no avail. When I tried half-adder example, the output is incorrect.

A simple inputA(1) should give the output:

Result = 1
Carry = 0

Instead, it gives just:

Carry = 0

Or with debug mode on:

Setting input to 1
AndGate received 1 from <__main__.Switch instance at 0x012A5968>
AndGate's new state => 0
Carry = 0

I modified the EventHandler class’ listen method to the following:

def listen(self):
    while 1:
	    val = self.channel.receive()
	    self.processMessage(val)
	    if isinstance(self,AndGate):
	        debugPrint("AndGate outputs: %s" % self.outputs)
	    for output in self.outputs:
	        if isinstance(self,AndGate):
		    debugPrint("AndGate is outputing to: %s" % output)
	        self.notify(output)

And this is the result:

Setting input to 1
AndGate received 1 from <__main__.Switch instance at 0x012A5968>
AndGate's new state => 0
AndGate outputs: [<__main__.Reporter instance at 0x012A5DC8>, <__main__.Inverter instance at 0x012A5EB8>]
AndGate is outputing to: <__main__.Reporter instance at 0x012A5DC8>
Carry = 0

As you can see, even though the And gate has 2 outputs (a Reporter and an Inverter), it’s only sending a message to the Reporter. Where did the message to the Inverter go?! Oddly enough, adding this to __main__ resolves the problem:

inverter((andGateA, andGateA.state))
inverter((andGateA, andGateA.state))

The output now (debug off) is:

Carry = 0
Result = 0
Result = 1
Result = 1
Result = 1

Now the final values it settles on (carry = 0, result = 1) are correct. It also works in the 3 other possible cases. So, for some reason the output from andGateA is not being sent (or received) properly by the Inverter. Any ideas? I’m stumped as to why. Could it be a bug in stackless? It is still in alpha…

Programming

Welcome!

December 31st, 2008

This is the first entry of a what I hope will be a long and productive blogging career. In anything I do (and I think for most people), taking the first step is always the hardest part, so here it is. The first step. No more endless planning and pondering. Action!

I’ll keep it short because I feel like I should be working on my iPhone application project. Unfortunately, I can’t talk about in detail because of an NDA. I need to sort out with Michael (my “employer”) exactly what that covers, but I will be sharing general iPhone development perls of wisdom I gather along the way. The design is very temporary and will change drastically, but like I said I just wanted to get something out there to get the ball rolling. I want to thank my friends Yu-kai and Jun for inspiring me to join the social media community.

Welcome readers!

Programming