Thursday, March 26, 2009

On the Importance of Big Questions

I originally wrote this entry on August 31, 2004, and published it on blogs.sun.com.


Engineers are used to solving problems. That's what we're trained to do at school. That's what we are hired to do, and that's what some of us love to do.


Some engineers are also very good at asking the big questions of their time.


Take James Gosling as an example.


I've worked at Sun for more than five years now but I've never had the privilege of meeting him in person or talking to him in any appreciable length of time. So, what I say here is based purely on my own conjectures and black-box views of who he is and what he does. When I came to Sun, James and I occupied second floor offices on the opposite corners of a Cupertino building which now carries an Apple sign. Of course, his office was much, much bigger than mine, perhaps three times the size. Nevertheless, there's something about him that had already fascinated me. He had asked the right and the big question of his time in the world of computing ! ! !


Here's a socket; here's a piece of executable code; how do I read the code off the socket and execute it in my environment?


From that big, but very simple, almost elementary question flowed the necessity of having a virtual machine, a type-safe language and an automatic garbage collection environment. Finally, to make it all appealing to developers, there had to be some basic libraries to work with. Hence, the JDK.


Everyone else rode the wave that Gosling created when he asked his elementary question.


Innovation is about asking that simple but big question that no one else dares or cares to ask.


For example, the simple but big question of economics is "why not only one firm instead of many"? (See the works of Oliver Williamson.)


The simple but big questions of philosophy are "why is there anything when there can be nothing?" or "what is being?"


The simple but big question of physics could be "why does the apple fall to the ground?"


To ask a simple but big question, we need to leave our immediate world in order to unfold the worlds around us.


James left the world of the single-computer computing, took a look at networking and collaborative environments, and asked his big question. He steped out of the world of data communications to take a peek at the world of code communications.


What are the next simple but big questions we need to ask?


Oh . . . one more thing . . . Usually, to ask a simple but big question, we need to be part of a small and dedicated community of people who are focused on the same interests. I'm not sure who James collaborated with but I know he had a team here at Sun, and I know he was well-connected to the academic community outside of Sun and I know he has a favorite garbage collection book, a reference to which he used to post on his internal web site. All of this must have helped him in asking his big question.

Tuesday, March 17, 2009

Dispatch From IEC


This post was originally written on June 29, 04. I'm archiving it here.



What defines good engineering in a networked world? People, is the answer.


This week, I have the honor of visiting Sun Micorystems's India Engineering Center (IEC) where many superb engineers are helping build cool, new Java technologies suited for the networked world.


Engineers here are contributing to the truly global efforts behind Sun's database connectivity, application server (platform and enterprise editions) and its web services developer pack.


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 . . .


Electronic touch


Imagine what will happen if we sit in our rooms all our lives and keep in touch with the rest of the world electronically.


Hubert Dreyfus, attends to that imagined world, in the third part of his book On the Internet.


He notes that, in such an imagined world, "our bodies seem irrelevant and our minds seem to be present wherever our interest takes us."


Some have worried that if we stay in our rooms and only relate to the world and other people through the Net, we'll grow isolated and depressed. Some Stanford researchers have lamented that not enough attention is being paid to this problem. (J. Mark, "Portrait of a newer, lonlier crowd is captured in an Internet survey," The New York Times, Feb. 16, 2000)


So, have we gotten to a stage of ubiquity imagined in these surveys? What's wrong with disemobided presence? If there's a problem, how could our understanding evolve into doing business in a better way? Will thinking about these problems help us better focus our energies on a more productive and a better world scaffolding?