The World According to Programers

I have been stuck on a problem at work since last Thursday. Some old code that I inherited that used to work with the previous release of our product, stopped working after I port it over to our new product. After some initial inspection, I found out the culprit is a specific class X. I looked into X and how it has been used in the old environment. It was surprisingly simple and elegant.

I asked around, people shook their heads, ¡°The author of class X is no longer with us. You are on your own.¡± Or, ¡°Class X has been deprecated, no one has tested it in the new release. You are not supposed to use it any more. Why don¡¯t you try Y or, better yet, Z?¡± I don¡¯t want to rewrite everything to use Y or Z. I looked at the code some more. It is using ORB, something fundamental to our product line. We haven¡¯t shifted architecture direction that drastically yet. It has to be something simple that I overlooked in the new environment. Only if someone familiar with this part of our product can take a look.

But I kept on hearing ¡°no¡±, everyone who knows it is gone.

Finally a more senior co-worker identified J, ¡°He knows this stuff inside out, I¡¯m sure he could take a look and tell us what we did wrong.¡± For the past few days, I¡¯ve been trying to track down J. Finally today he came by and spent an hour with me.

It was a ¡°Matrix¡±-like experience. He asked me to turn up the trace level, my log files suddenly were filled with hex data. He scrolled through those hex numbers and apparently SEEING all sorts of activities, sitting besides him, I felt like I was looking at the Matrix screen where green letters kept on flying off, but he is seeing ¡°blond¡± and ¡°brunette¡±! He gave me a few pointers to tweak our log output, and finally he said, ¡°¡­looks like the event was received by the transport layer but transport layer is not giving it to the ORB.¡± He lowered his head and thought for a moment, ¡°I wonder what happened to the dispatcher. Let¡¯s try this¡­¡± He asked me to add in one line of code that will start a ¡°dispatcher¡±.

Voila!

It worked.

Everyone was ecstatic! 🙂

The world according to programmers is always controllable. Every problem has an answer. When something doesn¡¯t work, there is always a reason.

Only if our own world behaves the same way¡­

5 thoughts on “The World According to Programers

  1. Hi Jean, I disagree that the programming world is fundamentally different from the ‘real’ world. Often computer systems are controllable because they are not as complicated as real-world systems. As computer systems get more and more complex, more and more effort is required to control them, change them, and fix them.

    In the real world, given infinite resources, we could solve many things. The problem is that there are not enough resources to place controls in place. And I’m sure you wouldn’t like to be controlled in such a way that you operate ‘correctly’.

    Jean’s Reply:
    What i meant was the computer world is very logical. Nothing is irrational. When things breaks down, one could follow logic to figure out where and when it went wrong.
    Can you say the same about all the “breakdowns” in this world? divoces? Murdurs? mass killings? it is certainly not rational. How are you gonna solve that? give out $$$ to everyone? Greed is human nature, i don’t think resource is ever gonna be “enough”. remember the dilema of the game-world maker?
  2. haha, so familiar world.
    ‘dispatcher’ ‘transport layer’
    Emm, I don’t know ORB yet.
    I read trace logs everyday now… always a big bunch to read, trying to see the problem, judge what action is taken although they keep on denying it … Detective life… 😉

    And it is definitely true that everything is controllable, trace-able (?) and what a good feeling! You can check into The spot and it can’t hide.
    Thus prefer oracle than ms sql, oracle is controlable although complicated. ms sql is the opposite. never touch it.

    Jean’s Reply:
    haha, “oracle, good. ms sql, bad.” huh? mfd would love that! 🙂
  3. Hi Jean,

    I think I must be a ‘reductionist’. Yes, some problems seem unsolvable like the list of problems you mentioned. But if you look closely at all these phenomenon they’re made of small components. An army is made of individual soldiers. A soldier is made up of many things including a complex brain. A complex brain is made of cells. A cell is made of smaller components. And so on. You could theoretically catalog all this information in excruciatingly detail, study how it works, and learn to control it.

    Some sciencists try to analyze what makes us tick. Various approaches are being tried. Medicine treats humans as biochemical machines. Geneticists treat humans as products of evolution and cellular reproduction. Neuroscience tries to figure out the structure of the brain.

    I think we’re too complex to figure out anytime soon. There was an article today in the news about scientists who decoded a chimp chromosome. This was big news cause it allows us to see the genetic similarities and differences with our closest relative. One important sentence from the news article went something like “there’s a lot in the sequence that we can’t explain”. But this doesn’t stop us from trying.

    Jean’s Reply:
    🙂 I think you are a Darwinist, who believes everything in this universe can be explained and all problems can be solved by science. Or maybe it is just a modern Western civilized view point.
    I seem to remember the top physicst or mathematicians tend to turn their attention to philosophy or religion in their later years…
    The book i’m reading “Stories of Your Life” has a few short stories based on a similar belief as yours. In the future, our machines will be able to understand and solve all the complex problems. Even though the original machines were created by humans, and the humans set the events in motion. Soon enough, we ceased to understand what the machines had discovered. The machines are able to create more sophisticated machines and so furth. There was an entire new profession in the human race who set out to translate the machines’ findings to human understandable terms… etc. etc.
    Maybe that’s true. But if i as a laywoman can’t understand the solutions that ultimately present by machines, what good are those solutions? Wouldn’t those questions remain mysterious to me? thus un-controllable,by me?
  4. emm, maybe it is like this:
    There is so many things that we can’t control and get out how it works. So when it comes a thing, clear and well-structured, deductive. And you know finaly in some corner you will catch the problem. It feels so good. Even it is complicated enough.
    Easy ones are nice, if there is a full implementation of trace-able mechanism in the back-end and available to everyone. Most cases, it is easy, but you never know what happened behind because it is decided internally.
    Sounds like political transparency…
    And just like the transparency, everything can go wrong no matter how well it is designed. Just like human is unbelievable, so does the machine. Now comes the most painful time, you never know what happened.

    In life, uncertainty is beautiful. If can’t control, let it be and don’t think about it and enjoy.
    But it is nice to have something controllable on machine. Anyway, machine has nothing to do with the random beauty. 🙂

  5. A note to mfd: I’m astonished that you have not disputed the claim that you are a Darwinist. But reading all this back-and-forth has finally given me some insight on those “free will vs. pre-determination” discussions you initiated. It seems parodoxical that we humans want to understand and control on one hand, but on the other hand love the mystery of the uncontrolable. Can we cleanly divide everything into the “machine-like” and controllable elements, and the random ones that we do not want to understand?
    Jean, this is reminding me of “Troy” and “Fall of the Sparrow” argument again, of how the Gods envy the humans for their frailty and mortality. Do we want to be all knowing Gods, or remain ignorant humans? Is there a middle path, or rather, do we want to believe there is a middle path?

    Jean’s Reply:
    I was just thinking how nice it was to have something so controllable. That totally gives me confidence in my job. “Every bug is fixable.”

Comments are closed.