Runcible Blog

Entering the city with bliss-bestowing hands

Kakuan, a Chinese Zen master in the twelfth century drew the ten ox-herding pictures to describe the phases of Zen training:

  1. Searching for the ox: The ox has never been lost. What need is there to search?
  2. Discovering the footprints: Not yet having entered the gate, nevertheless he has discerned the path.
  3. Perceiving the ox: If he raises his eyebrows by keeping his eyes wide open, he will become aware of the fact that all things are nothing other than himself.
  4. Catching the ox: If he wishes for pure harmony with the ox, he should not fail to whip it.
  5. Herding the ox: Hold the nose-ring tight and do not allow even a doubt.
  6. Riding the ox home: He will not linger even when caught with a trap.
  7. The ox transcended: We only make the ox a temporary subject.
  8. Both ox and self transcended: Mind is clear of limitation.
  9. Reaching the source: One who is not attached to "form" need not be "reformed"
  10. In the world: Inside my gate, a thousand sages do not know me. The beauty of my garden is invisible. Why should one search for the footprints of the patriarchs? I go to the marketplace with my wine bottle and return home with my staff. I visit the wineshop and the market, and everyone I look upon becomes enlightened.
    ten

For more commentary and the actual pictures, see Zen Flesh, Zen Bones and An Introduction to Zen Training.

After completely realizing one's true self (finding/herding the ox), one returns to the world to help all creatures. This stage transcends holiness -- in fact the enlightened person forgets about enlightenment.

At this ultimate stage of enlightenment, nobody, "even one thousand sages", can tell any longer whether he is a fool or a clever man, and whether he is sacred of profane. To such an extent has he lost his own identity, whether he is enlightened or unenlightened, good or bad, male or female. In addition, he has completely deprived himself of his beauty gained at any cost. It does not matter to him at all now, if others call him a lunatic or a traitor. He is, therefore, no longer bound to external laws in his freedom, and no longer arrested by any moral codes in his self-liberation. He is capable of acting freely at will in accordance with his varying opportunities and circumstances without necessarily restricting himself to the "good examples set by his wise predecessors."

Although I would not presume to have even seen the ox's droppings yet, I chose to tattoo the tenth ox herding image on my back as a reminder -- Sentient beings are numberless. I vow to save them all.. I first glimpsed then stepped on the Bodhisattva path a few years ago. They say once you start walking the path, you never leave it.

Now, if someone asks why I got that tattoo, I can repeat what I just wrote. Or, to save time, "I got it because it looks cool and stuff."


Why ask why?

I always wonder why people ask me why I do this or that. The latest question is, "Why do you have a mohawk?" Well, geeze, I don't know why. Does anyone expect a profound answer? "I want to get in touch with my Native American roots." Nah, sorry. There's no profound answer.

More often than not I've found that the question "Why?" is actually meant as a statement -- "I disagree with you. Explain yourself." Other people, I think, reflexively ask "Why?" when they see unusual things or behavior. As a result, I tend to give bogus answers whenever the question arises. I should apologize for being unresponsive to anyone who honestly wants to know why. I've heard so many people ask questions without listening to the answers that I just assume nobody cares.

In defense of "Why?", I find myself constantly asking that question. Everything I do at work -- "Why? What's the point?", when playing music -- "Why play it like that?", when reading the news, etc. Every time I put the camera to my face I ask "Why?". What am I trying to show? Why would I capture this moment? It's a very serious process.

So I shouldn't be hard on people who ask why. After all, doesn't the question point to the ultimate quandary -- "Why am I here?", or "Who am I?". Asking others why they do the things they do leads us one step closer to asking ourselves why we do what we do and one step closer to understanding.

And if "the unexamined life is not worth living", then what more meaningful question exists than "Why?"


more pain

I've never felt that kind of pain on my spine. The needle seemed to hit my nerves at times, though I know that's not the case. As painful as it was, I didn't feel nauseous like I did the first time. But I did bleed quite a bit.

I'm bandaged now to keep from staining everywhere. I can't look at it until tomorrow. Then I'll know whether it was worth so much money and irritation.

I'm going to bed with a burning spine and an ancient piece of art permanently etched into my skin.


disjointed

  • I wouldn't go so far as to call my room a fire trap. After all, the fire won't be trapped -- I will be.
  • Sometimes I don't think. The other day I had sand in my shoes, so what did I do? I dumped the sand on the floor under my desk. Now there's sand all over the place.
  • One bad thing about wearing shorts is that I have to find matching socks. It's harder than you think.
  • It's funny how something trivial like a haircut can affect someone's approachability. I know that whenever I have normal length hair, strangers make eye contact and ask me for directions or the time of day. If I cut my hair, fewer people approach me. Now that I have a pseudo-mohawk, the effect is even greater. The first day at work, some people seemed afraid -- as if I were packing heat. Look out! Others tried not to acknowledge my existence.

    I suppose if there's any point to anything that I do, maybe it's challenging stereotypes. Most people take their body modifications and hair styles to the extreme: they have an image to fill (badass biker, the goth look, punk/hardcore/whatever you call em, etc.). And perhaps they change their personalities to accommodate their physical appearance.

    Personally, I think a sort of nuanced approach is much more interesting. I mean, I don't like punk music at all, I'm definitely not an alpha-male, and I'm about as "straight-edge" as possible (though I'd never ever call myself that). Yet I'm not shy about piercings or tattoos (I'm thinking about getting my next one soon).

    It almost seems that my appearance and my character contradict each other. Or maybe they don't. Maybe that's the point. Subconsciously, I want to make it very difficult for anyone to know me by my appearance. It's like my own personal daily prank on the world. The other day at the recording studio, when the engineer asked if I wanted a drink, Scott said I was a whisky drinker (he knows I don't drink), to which the engineer replied, "Yeah, I figured." I laughed to myself. "I fooled you!"

    Life is more rewarding when you have to spend some time to get to know someone. My guess is that if anyone bothered to look past my scary visage they might be surprised that I'm not exactly one-dimensional. Then they'd be in on my prank. heh.

    Either that or they'd think I'm crazy. What the hell do I care?!

Anyway, now it's late. Here's a quote that I find particularly meaningful. It's the 10th phase/gate of the "10 Ox Herding Pictures" -- metaphors for the phases in Zen training. This quote resonates so much with me that it'll be part of my next tattoo -- a permanent reminder of how to live:

Barefoot and naked of breast, I mingle with the people of the world.
My clothes are ragged and dust-laden, and I am ever blissful.
I use no magic to extend my life;
Now, before me, the dead trees become alive.


Another Reason Why Java Sucks

I found another seemingly trivial task that Java forces the programmer to jump through hoops to accomplish: copying an object. You can't get more basic than that, or so I thought.

Let's say there's a Subscriber class which is a very large bean that holds everything there is to know about a subscriber. In the servlet I was modifying, I wanted to load a Subscriber from the database, make a copy of that subscriber, and change one field, the publication that the subscriber subscribes to. I had to keep the original subscriber, too.

I knew that Object has a clone() method because of my supremely bloated IDE which pops up a list of methods for everything. I figured it would be a simple (for Java anyway) matter of saying:

// get the publication
String pubType = request.getParameter("pubType");
// Static method to load the requested Subscriber.
Subscriber oldSub = Subscriber.loadSubscriber(params go here);
// copy the old one to a new Subscriber (notice the annoying casting involved)
Subscriber newSub = (Subscriber) oldSub.clone();
// set new subscriber's publication.
newSub.setPublication(pubType);

But that's only part of it. The Subscriber class also needs to implement the Cloneable interface and apparently, override the clone() method like so:

public class Subscriber implements Cloneable {
    // a lot of bean code...
    public Object clone() {
        Object obj = null;
        try {
            obj = super.clone();
        } catch (CloneNotSupportedException ex) {
        }
        return obj;
    }
}

(that's another thing about our code; we never do anything with caught exceptions. What's the point of having exceptions if you never even print out the result?)

All I wanted to do was copy an object! Java is so anal about protecting the programmer from himself that the verbosity and required hoop-jumping get in the way most of the time. Why can't there be an easy way to copy an object, and if you need finer control, then use the more complicated method?

Well, Python comes to the rescue again! Here's how you might do it in Python.

import copy

pubType = "Stinky Times"
# You probably wouldn't do something like a JavaBean
# in Python.  Nor would the bean know how to "load itself".
# For the sake of the example, assume that
# Subscriber's constructor takes the required arguments
# to load itself.
oldSub = Subscriber(params go here)

newSub = copy.copy(oldSub)

newSub.setPublication(pubType)

The "Python Way" assumes that you want to do something simple most of the time, so the language is very easy to do most things. Of course, if you want to do fancy things like control how your object is copied or make a "deep copy", you can do that too (override __copy__() in your class and use copy.deepcopy(), respectively).

But the point is that Python doesn't force you to do it the hard way for simple things. In that sense, it's more "scalable" than Java. You can use the basic features for small tasks and gradually use more and more of the language for more complicated projects. You don't have to know about everything all at once.

My boss was defensive when I remarked that the Java way was convoluted and unnecessary. He said, "You have to do it that way because it's the Object-Oriented Paradigm." and trailed off into some lame excuse. The problem isn't object-orientedness -- it's that Java sucks.