Sunday, September 19, 2004

The Local Maxima

Words always fascinate me. So do concepts as well as the link between the two. Once again, I can't resist the temptation to quote another dialog from The Matrix:

Neo: I just have never...
Rama-Kandra: ...heard a program speak of love?
Neo: It's a... human emotion.
Rama-Kandra: No, it is a word. What matters is the connection the word implies. I see that you are in love. Can you tell me what you would give to hold on to that connection?
Neo: Anything.
Rama-Kandra: Then perhaps the reason you're here is not so different from the reason I'm here.

In the last semester at FAST, we had a course on Artificial Intelligence. Though the words "Artificial" and "Intelligence" are themselves so deep and combining them gives an exotic meaning, there were many other exciting ideas within this course.

One of these ideas, introduced to us by the lecturer, Vaqar Khamisani, is that of searching for the Local Maxima. In simple terms, it's like finding a mountain which has the highest peak in the vicinity and climbing that peak. Once you reach there and look around, you might feel that you have reached at the top. But, have you? Isn't there some other mountain higher than this? Would you go on and search for that other mountain or would you become satisfied with what you have?

OK. The mountain example is not so good because everyone knows that The Everest is the highest peak. How about finding the best birthday greeting card in the world? Would you ever try doing that or would you be satisfied with the best birthday greeting card within a shop? Most people will say that they have bought the best card while they actually have found merely a local maxima.

I personally believe that there is nothing wrong with being a local maxima for some time and then one should look for a local maxima somewhere else. But there is no need to be a global maxima - it would require lots and lots of effort and the result won't be equally rewarding. Of course, if you would like to be a global maxima in 3D, why don't add the dimension of time, which after all is the 4th dimension?

Combing back to the present situation, I have found a local maxima in Dependable Computer Systems at Chalmers University of Technology. He is Danko Ilik and he would be really surprised if he reads this :)


To be, or not to be: that is the question:
Whether 'tis nobler in the mind to suffer
The slings and arrows of outrageous fortune,
Or to take arms against a sea of troubles,
And be opposing end them? To die: to sleep;
No more; and by a sleep to say we end
The heart-ache and the thousand natural shocks
That flesh is heir to, 'tis a consummation
Devoutly to be wish'd. To die, to sleep;
To sleep: perchance to dream: ay, there's the rub;
For in that sleep of death what dreams may come
When we have shuffled off this mortal coil,
Must give us pause: there's the respect
That makes calamity of so long life;

(Hamlet by William Shakespeare)

Sunday, September 12, 2004

Dependable Computer Systems

Another average post! It's strange that your thoughts completely depend on your surroundings and your own behavior towards the happenings - in the days of failures and misfortunes, man thinks of higher forms of life and when he gets busy in worldly affairs, the thoughts revolve around petty issues of day to day life!

But sometimes specifics are as important as generalizations. So, on with the specifics!

I am taking three courses this quarter: Cryptography, Fault Tolerant Computer Systems and Functional Programming.

Cryptography is about encryption and decryption as most of you might already be knowing. The course covers classical ciphers as well as modern techniques with some basic concepts in cryptanalysis and the related Mathematical background.

Functional Programming, on the other hand, may be completely new for you. It's very different from programming in structured or object oriented languages. It's a declarative kind of programming where you define what you want to do and not how you want to do it. Those who are familiar with Prolog or SQL will be able to grasp the idea fairly easily because they are used to the environment executing things on their behalf. Still, functional programming is neither like Prolog nor SQL. It's Mathematical in nature where you define a Mathematical function for everything. There are no loops or if-then-else; in fact, there is no concept of a "statement" as such. A function may call another function, as usual. Recursion and set builder notation provide functionality similar to loops and iterators, respectively. The language being taught in this course is Haskell - the best compiler of Haskell is maintained by Chalmers itself!

Fault Tolerance may also seem interesting. Actually, there is only a single idea behind the concept of Fault Tolerance: Redundancy. Just as you can have a spare wheel in a car, you can have a redundant computer in safety critical computer systems. Like many other things, I think the pioneers of the field got inspiration from Nature. However, in design faults, where we don't get any guidance from Mother Nature, the idea of redundancy is useless. This is specially true for software. Such kinds of faults can only be tolerated by "n-versoin programming." The idea is to get the same component/ piece of code made by different vendors/ programmers. There is usually a voting mechanism in such a system. For example, in a 3-version system, 3 functions will perform some computation and provide the result to the voting system. The voting system will match and respond with the answer which is same from at least two of the three functions. If you are skeptical like me, you might have guessed that the voting system may itself fail! Unfortunately, like death, there is no way of preventing 100% failures.

Other than me, there is no one from Pakistan in this course. There are two students from India, two from Bangladesh, five from China, one from Taiwan, one from Macedonia, one from Romania and one from Poland. Amongst all these, Danko Ilik from Macedonia and Liang from China seem to be the best! But that would be a very pre-mature statement.


Ah...so you have done it that way! You are a very clever man!
(Daniel, the TA of Functional Programming course, responding to the explanation of my answer)

Wednesday, September 01, 2004

Avancez!

Yootay-bori is how Göteborg is pronounced in Swedish, or Svenska to be more precise. I reached this port city of Sverige (I mean Sweden) on 22nd of August. The city is very much like Islamabad in many ways - it's lush green hilly area with major activity only in the city center. The weather is quite cold (between 10 to 14 degrees Celsius in these days and it will go below zero in December!) It has been raining with short breaks almost continuously since I came here.

After reaching here, the first shock was to learn that you have to literally search for months in order to find a place to live. Fortunately, a group of Pakistani PhD students showed generosity and I had a shelter for a week. They are a very nice group of people - I shall write about them some time later. With an exhausting effort I have now found an apartment that I am sharing with 2 more Muslim students.

Göteborg isn't a very big city and the small, but well-knit, Pakistani community is very hospitable. The most interesting things is that my university, Chalmers, is like FAST in many ways. Chalmers University of Technology has a very strong alumni - it's 175 years old. The students know who graduated which year and are in close contact with their seniors. Also, like FAST it had been established by a businessman, William Chalmers, to promote science and technology in his country - very similar to what Agha Hassan Abdi did for Pakistan when he laid Foundation for the Advancement of Science and Technology (only that there is a gap of 150 years between the two men).

Another interesting thing is the slogan of the university which is Avancez. It means "to move forward" - very similar to the name of my last company Avanza Solutions. Avanza is a Spanish word that means the same.

Though education is free here, there are considerable living expenses. In addition to that there is a little bit of problem in written communication as they always prefer Swedish in written form. There are many other down sides of coming to this place and though the situation is gradually improving, life is extra ordinarily tough for international students in the initial few days. Problems like having no place to live, not knowing your way around, not being able to read sign boards and written instructions, not being able to find Hallal food to eat and below zero temperature with days as short as 5 hours have literally made people cry.

And remember, there are no jobs when you complete your studies!

You are most welcome if you are still interested in coming to this place because life is about "Avancez" and not about winning or loosing. Remember, stagnation is death.


Me: How many languages can you speak?
The boy: 3. English, Arabic and a little bit of Swedish.
Me: And how many languages does your younger brother speak?
The boy: (after a brief pause) Zero.
(Conversation with a very bright 6 year old Iraqi boy in Gothenburg)