Tuesday, March 17, 2009

Non-linear Physics & Java

This post was originally written on 6/27/04 ... I'm archiving it here.

Tomorrow, I'll be going to Bangalore, India.

When going on such a long journey, it is important to say a few words about the past.

Some 20 years ago, when I had just started working towards my Ph.D. in computational fluid dynamics with Professor Wolfgang Kollmann, we did most of our computational work in FORTRAN. Algorithms were developed to make it easy for a big machine to chug along in imaginary time in order to simulate turbulent flows. This was a highly non-linear, computational physics problem.

Soon after Java came around, a researcher at MIT built a simulation engine in an applet and called it the "Java Virtual Wind Tunnel". [By the way, TAKE CARE before starting his "wind tunnel" applet. It does need a lot of compute cycles. A Windows XP laptop with a 2GHz+ CPU had the fan running like there's no tomorrow.] The name of "Java Virtual Wind Tunnel" may have been appropriate back then but given what little it does, there's much room for improving it and deserving the name even better.

A bit later, Los Alamos National Laboratories came up with "CartaBlanca, A Pure Java, Component-based, Object-Oriented, Systems Simulation and Prototyping Tool for Non-Linear Physics On Unstructured Grids". This sounds like a mouth-full, and since I have never tried it, I cannot even give a review. The reason I'm bringing it up is that it seems Java has gained a great deal of acceptance and respectability as a language in which one may attempt doing some computational physics.

In fact, when Java came around, my main interest was to see if there was ever going to be such potential. Although my roots were in scientific computing, training in logic at Berkeley had introduced me to new problems, and my first attempt with Java was devoted to seeing whether it was robust enough for solving A*-search in a 2-dimensional motion planning problem. I was pleasantly surprised. It was clear that Java could do really well on servers ! ! !

Unfortunately, my academic web-site that used to carry the 2-D motion-planning applet I wrote was later taken off by the Mathematics Department at UC Berkeley. I was no longer a student there, and by 2000, neither was I associated to the university in any way. I did later go back to get an MBA ('04) at the Haas School of Business. However, that first applet of mine, which was emblazened on some early CD's is forever gone . . . turned to dust . . .

Now that I have mentioned Professor Wolfgang Kollmann's name, I should say a bit more about him. It was a real honor to work with such a great man. He was surprisingly humble, magnanimous and generous for a man of his position and stature. He was also a superb scientist--one of a kind. Here's what the John Hopkins' University Society of Scholars award note says about him: "Recognized as a world leader in the study of turbulence, turbulent combustion, and numerical simulation of turbulent flows, Wolfgang Kollmann has over the past 25 years advanced the state of the art in the solution of important engineering problems associated with complex flows."

I have to say, only very little of this robbed on me while I was working for him . . . but as I have already said, there was much more to Professor Kollmann than the science that he knew and practiced so well. I would be simply happy if I end up with some of the gentleness of his character.

Wolfgang was a great advisor. He and his wonderful wife, Eleanor, must have understood what I was going through in the mid-1980s although I don't recall ever talking to them about my concerns and worries. (Thomas, their son, was only 4-years-old when I started working for Wolfgang. I remember him coming to Wolfgang's office. Now, Thomas must have graduated from Cardiff.)

Back then, i.e. in the mid-1980s, I had just been to the states for a few years, as a foreign student, Lebanon had been invaded and burning to pieces and the Iran-Iraq war was raging. My parents and brothers could see and hear the blast of bombs and shells falling next to our home in Tehran, Iran. Every day, while at graduate school in the U.S., I would enter and leave the university campus wondering how their night had passed. It took some 9 years before I could visit my brothers again. They had grown (I was the oldest), had left the country, with one of them settling in Ankara, Turkey and the other in Wiesbadan, Germany. I guess we were extremely lucky to be still alive. Not only that, my brother Mansour became a very creative city planner and artist in Turkey and now lives in Kalkan, and my other brother, Manoochehr is now a partner in an architecture firm, 54f, that has won the third price in the competition for the European Central Bank.

Both of my borthers ended up carrying on with the artistic branch of the family. [One of our uncles was an amatuer actor, the other a more professional musician. My dad, Nezam, was the director of the design department of an advertising firm he helped found in Tehran in 1960.]

Enough about myself, my family and mentors . . . although I'd like to say much more about Professor Kollmann, my advisor. . . In the midst of all this, he gave me enough freedom to try a few other courses outside the usual rigor of computational fluid dynamics. I took courses in economics, linguistics, mathematics, physiology, political science, zoology, biochemistry, Spanish and painting. That could be the reason why I ended up pursuing the little big questions of life a little further, plunging into journalism, mathematics, philosophy and logic at UC Berkeley.

It was taking a course in computer languages that really got me curious enough to try writing some code in Java on my own. Although my roots are in scientific, parallel and high-performance computing, I ended up working at Java Software, at one point on the GIOP 1.2 implementation in the JDK, and then, more recently designing telecommunication service logic environments. Now, I can look forward to the day that every node managing VoIP calls and negotiating SIP signalling will run a JVM . . .

So, it has been a long and winding road and a wild ride of sorts . . .

No comments: