Sunday, July 24, 2005

The Attraction of Virtual Environments

Recently I've been thinking about why computer-generated virtual environments hold such a big attraction to me.

A standard answer I've been giving out in the past few years has been “because I grew up with them.” I started to play computer games since a young age, and they were basically my childhood “toys” that defined much of the colors and joys in those early years. I was especially attracted to a number of graphic adventure games created by Sierra On-lines that focused on puzzle-solving and social interactions with computer characters. My fascination started from, and continues to be the fact that you could speak, interact, make friends with or enemies of those little computer characters living inside the virtual worlds.

This morning I had a new answer. It was also about seeking “freedom”: freedom from burdens, freedom from restrictions, and freedom from the reality. Much of what exists in our day-to-day life is about limitations and restrictions, of things we're either not allowed to do because of rules and regulations, or things we're unable to do due to lack of ability or resource. And yet, a large part of human efforts and endeavors has been to seek out and pursue the possible, or carry out and realize the potentials.

Perhaps that is why virtual environments have become more and more popular, and in some cases, addictive as well --- because it satisfies our imagination or wish to become more, more than what we usually can achieve with our little and insignificant real-world identities. Just by opening up a new game application, we can immediately assume alternative identities or suddenly transform into super-heroes. Computer games have enabled a new form of expression and a new way to explore our inner-selves that was not previously feasible or possible – it's a new type of freedom that we did not and could not have before.

However, is it really freedom? Or just escape from the reality? Or… in some way, there isn't really a distinction between the two? As freedom has always been about breaking, or transcending restrictions?

Saturday, June 18, 2005

On Good and Evil

Good and Evil are the forever topics in history, life, and well, humanity. While discussions usually tend to move towards moral doctrines and judgments, I came to see it more and more as something fundamentally related to the properties of life.

I suppose that I’m a rationalist and naturalist, so I tend to seek natural explanations to everything I observe or experience, which of course, includes the issues of Good and Evil. If one makes an effort to understand what living beings are, one may agree that many forces exist to destroy the delicate state we describe as living. At the molecular level, living beings have rather organized structures that are prone to the destructive effects of radiation, mutation, or simply the second law of thermodynamics (which states that all things tend to become more chaotic over time). On a higher level, organisms are under the constant threats of sickness, predator, resource depletion, and factors that could easily change the state of being alive. At the society level, wars, inadequate social structures, anti-social behaviors, and aggressive foreign societies could also destroy the fabrics of the society and threaten the livelihoods of the people within. In short, it’s not an easy task for living things to stay living. In many ways, the existence of living organisms is indeed a miracle in this universe we are in.

And if we look closer, the concept of Good is often times associated with the living, the reproductive, the creative; while Evil is associated with the dead, the sterile, the destructive. This brings out a point: for living things, Good means to stay alive, and Evil is whatever that threatens the state of being alive.

So naturally, as living beings, we try very hard to side with Good in the fight against Evil. We try to remain alive for as much as we can, for as long as we can, as all other living beings do. In fact, this struggle probably began in Day One when the first proto-life came to exist on this Earth.

So hence the eternal struggle that we shall carry on with us, as we try to fight against all things Evil in the name of Good, for reasons most of the time, most of us do not quite understand why (however, a positive regard to Good just feels natural).

But this “why” isn’t too difficult to understand, and it can be understood without moral or supernatural explanations. Good is simply the essence of being alive, while Evil is otherwise.

Saturday, June 04, 2005

In Search of Global Optimum

Many problems in science could be formulated as the search of global minimum (or maximum, but we only need to talk of one as the two are easily reversible). One such example is the protein folding problem where the goal is to find a 3D protein structure (given a 1D amino acid sequence) that has the lowest free energy. One can imagine such problem as trying to find the deepest valley in some rugged landscape, one spot at a time. Of course, the solution can be found when the size of the landscape is small, but becomes unsolvable when the landscape is vast. When it becomes unpractical to search everywhere for the optimum solution, heuristics that lead to ‘good enough’ solutions are often applied. However, one risks finding a solution that is only optimum locally instead of globally. Various methods that try to prevent the search from trapping in local minima have been devised, making it an active research area. I came to speculate recently, if our life were also like a search in such landscape, with the globally optimal solution as the “niche” best suited for a person. How many of us have actually hit that sweet spot, and how many of us are trapped in local minima? And how, if we may draw parallel from the search problem, can we utilize some heuristics to increase the chance at finding the global optimum solution?

Sunday, May 29, 2005

The Arrogance of Intellect

Yesterday I went to National Chiao Tung University (NCTU) for Ph. D admission oral exam of the computer science (CS) department. By the end of it, I was disappointed, shocked, and had lost my respect for one of the professors.

The oral exam was divided into four 10-minute sections, each of which had a different focus and two professors doing the interview. My first section was on Motivation and Prospective Future Research. The young professors seemed impressed when I talked about my early research experience, my plan to build a massive simulator using peer-to-peer (P2P) computing, and the long-term goal to start up a company. That was the only section in which I felt my value as a person was appreciated.

The next two sections were on Mathematics and Information. I had been weak in math and unfamiliar with algorithm theory. So I had some difficult time answering even basic questions posed by the professors. I would be willing to take the responsibility myself, for not having studied enough the fundamentals in computing theory. However, I was unable to answer mostly because these algorithms or mathematics were unrelated to my present research, so I did not possess a good working knowledge. On the other hand, I was confident that I would be able to answer if they were relevant to my current research. However, one professor in the Mathematics section won my respect when he tried to rephrase several times the questions and provided guiding clues as to test the degree of my understanding as opposed to a simple yes/no of my ability. I could feel that he intended to teach and help a student, as opposed to intimidate or to embarrass.

The final section was on Master Thesis, in which the examinee had 5 minutes to explain his or her master thesis and 5 minutes to answer questions. Having devoted the last 2 years of my life on researching highly scalable virtual environment (VE) systems, published in the affiliated workshop of ACM SIGCOMM (one of the largest conferences in the field), and submitted a paper to IEEE Network Magazine (one of the leading journals in computer science, with an impact factor of 3.871 in 2003), I was confident of doing an interesting presentation to demonstrate my real strength: a project-based learner who has the interest and inclination to do serious and independent research.

However, much of what happened next shocked me, and I was puzzled for the rest of the day. I began the presentation by explaining that I intend to build scalable virtual environment system and defining the problem. But after I mentioned that I used P2P computing (a kind of novel networking method that has given birth to new applications used by millions of simultaneous users), the professors quickly denounced: “that’s absurd!” and “how is that possible?”

They began by saying it was “impossible” to synchronize the topology in such environment (which was in fact possible with proper control), questioning if I had done simulation or not (which I had), and asking why I made certain design decisions (which I had to admit that I probably did not answer well due to my slower response caused by the intimidation). One of the professors was opening and closing his eyes, leaning back and forth, to express his impatience as he listened to my explanations.

Then, as I explained that the topic was chosen because “P2P can potentially be more scalable than client-server architecture”, that professor quickly remarked: “P2P is the least scalable (emphasized by his tone) architecture in building large systems!”

I listened to his remark in shock, while trying to think of a response in panic. As the premise of my work was that P2P can be more scalable than client-server, if his comment was true, the value of my entire research would be invalidated. In fact, that seemed to be what the professors believed when the section ended, and their faces had the expression: “your research is ridiculous and absurd!” Though I had some diagrams in mind that might help to clarify, my time was up, and the professors wanted me out of the room, expressing no interest in listening to any further explanation.

As I walked out, it just came to me how pathetic the professor’s comment was -- not just the rudeness and unfriendliness of criticizing without an effort to understand, but because of the sheer and plain ignorance behind that comment. While P2P was, in the past, associated with a fully-connected architecture, which would not be scalable, during the past few years, research efforts from talented people have focused on building scalable P2P, where each node only connected to limited number of other nodes to avoid overloading any particular node. With the introduction of worldwide file-sharing P2P networks already used by millions of users, the scalability of P2P systems was obviously no longer questionable by any respectable researcher. A blanket statement such as “P2P is the least scalable architecture” only indicates a lack of knowledge and familiarity with recent P2P development and research during at least the past two or three years.

In some sense, what that professor did was not just insulting my intelligence and efforts, but disregarding the reviewers of my previous publication (in ACM SIGCOMM’s affiliated workshop), the authors of other similar publications (which appeared in leading conference such as INFOCOM), and the judgment of IEEE Network’s Editor-in-Chief, who sent the manuscript of my thesis’s work for outside peer review. Had my research idea been so absurd and worthless, it should have been turned down by the many experts who reviewed such works a long time ago.

When the two professors left the room for break, the other professor told me “he is the expert,” in the sense of telling me to get lost and stop wasting my time on dreaming on impossible designs. I could sense that they also questioned how my advisor had allowed me to graduate with such an “undoable” thesis topic.

I tried to contain my puzzlement over his statement, and learn of the name of this “expert professor.” The first thing I did after getting back was to search for this professor’s publications and works, to find out how come after two years of studying the scalability problem in virtual environments and conducting extensive survey on existing literatures in various fields, maintaining contacts with both academic and industrial people, that I have not even heard of this expert professor’s name.

And this was what I found: the “expert professor” had in indeed built a platform that was not well-publicized and on which no real system was built; yet he published not even one paper about this infinitely scalable platform (in the words of the promotional document). He co-authored numerous papers on various topics unrelated to virtual environment, but had not been a first author since 1995, the year he became a full-professor. Among journal articles he published recently, the 2003 JCR impact factors were between 0.2 and 0.5. In other words, he had not been academically active for the past 10 years and had not published in leading journals or conferences.

Probably not a big surprise, his platform used client-server architecture, which my work posed as inherently less scalable than P2P.

I felt humiliated, puzzled, and a bit sad at how things turned out. Certainly this “expert” professor had lost my respect, and the experience also changed my perception of NCTU’s CS department, the most prestigious engineering school in Taiwan, for assigning such professor to conduct important admission interviews. The professor was obviously a learned man, so his ignorance was likely not due to the lack of ability but something else – perhaps arrogance?

Friday, May 06, 2005

The Ultimate Simulator

This will be my first blog. I found this service after reading an article in Fortune magazine describing the war between Google and Bill Gates.

Yesterday I talked with two friends about the possibility to use peer-to-peer (P2P) computing for protein folding simulation. The idea was simple: connect large number of volunteer computers in a P2P fashion, and each node is responsible to model one atom in a protein molecule. As the simulation goes, each node would constantly discover neighboring atoms within a pre-specified radius and would communicate the most recent coordinates with those neighbors within the "interaction sphere".

One friend expressed concern about the potentially large amount of communication required to keep the various nodes synchronized, while the other friend thought the idea was "very interesting."

I, on the other hand, was just pondering on the intriguing possibility: if protein folding were to be simulated in the most parallel fashion, how much more can you get than each atom is simulated by ONE processor? And if such thing does work, wouldn't it be in effect, the ultimate simulator?