Saturday, December 31, 2011

Geez 'm gettin' old



Another calendar year is about to end and the capitalist world commands us to spend money, celebrate and enjoy. In another side some people say that the end of an year reminds us, of our getting old. Well, what does it really mean to say that somebody is getting old? I'm sure, in the popular notion, it has more to deal with calendar days than anything else. This being a real worry for masses is nothing for argument, when taken into account, the fuzz around 'turning 30' and 'naughty forty'. Age is one significant parameter when judging one's physical and mental capabilities, attitude towards different facets of life, maturity, looks and so on. However, it is unfortunate that a person's age is almost entirely measured in calendar days. There's lot more to it. I think we should talk about at least three ages of a person. Here they are in the order of increasing importance.

1. Calendar age

This is the age measured with respect to the rotation of the earth and hence is the most natural form of it. Imagine a person who prefers to spend his life entirely with the nature while only fulfilling his physical needs, without entering into culture (culture is what separates humans from other animals). Then the only parameter that will determine transitions within his life will be his calendar age. However, the moment he decides to enter into the cultural world, lot of other factors that are more important will start to emerge. The more he becomes cultural and human, the more effective these other factors will be. However, with any human being, certain changes in the physique and consequential transitions in psyche are inevitable. After all anybody dies when the calendar age reaches a certain limit. Therefore calendar age too counts though a person does not have any control over it.

2. Physical age

This is another form of age which is ignored by majority. One can challenge the calendar age by keeping his / her body healthy and fit. What requires is a little bit of discipline and dedication. Few years back I got an opportunity to go on a mountain hike  in Norway with a group of Norwegians. After few minutes of hiking in mountains covered by snow I was exhausted and started struggling (this is before I started my regular workouts). An 'old' Norwegian lady in the team who climbed mountains pretty comfortably was offering me a hand often. At that time I was in my twenties and the lady should have been well beyond sixty, but she was younger than me physically.

Unfortunately most Sri Lankans underrate the influence of exercices and healthy food on one's age. Our elders get ill with will thinking that they should be sick by default after reaching a certain calendar age. This negative attitude has resulted in huge crowds in every hospital, creating a sick nation. I think this is one of the common issues in developing countries that keeps a significant part of the population out of capable workforce.

I can stress emphasis on physical age from my own experience. Couple of years back I started doing regular workouts and was intrigued by the transformation it caused in both body and mind. Today I had a hectic schedule at office, but I regained energy to write this blog post after a swim. The fascinating thing about physical age is that we can control most of it.

3. Mental age

This is the most important form of age in my judgement. Even as reaching the sunset of calendar age, a man can be youthful if he owns courage to strive for experimenting new avenues in life. Delight to confront challenge even after hundredth failure is the ultimate youthfulness in my standards. I was fascinated by some characters who dared to dissent from the popular notions and make significant changes in the world at a time they were deemed to be old and incapable. On the other hand, one who accepts what is given to him is a dead person even if he is young in calendar age. If physical age can be controlled to most part, mental age is completely cultural and is entirely controllable.

I think I have provided you with enough arguments and facts to lean towards the conclusion that earth's rotation is not the only parameter (not the most significant parameter even) in determining a person's age. Ok, here we go...The real challenge starts now. How far are you going to harness your ability to control physical age and mental age?

Saturday, November 26, 2011

Hit me one more time




         "Mama I'm in love with a criminal
           and this type of love isn't rational
           it's physical"
                         - Britney Spears -

Singer Amy Winehouse died recently when she was only 27 years old because of her drug addiction. I got to know about her when the song "Rehab" became a popular hit in charts. "You know I'm no good" is another favorite of mine among her few popular songs. Amy was mostly known for her self-destructive acts that ultimately lead to her death. All the "good" people in media ridiculed these acts as stupid behavior. However, the question is that don't these "good" people display similar type of madness when they are not in front of the camera. Is self-destructive behavior limited only to a bunch of lunatics like Amy? Or is it a fundamental desire of every human being? I support the later.

Let's examine a common practice: social drinking. What are the popular claims on the reason for one to drink?
1. People drink to socialize.
2. People drink to get drunk which boosts the thrill of a moment.
3. People drink as a temporary escape from everyday problems.
Anti-alcoholics have easy counter arguments for all these reasons.
1. There are hundred and one better ways to get socialized than drinking.
2. Thrill of getting drunk is a myth created by alcoholics who do not know enjoying an occasion consciously
3.  Temporary escape from problems with alcohol is similar to scratching a wound which only worsens the situation.
All these counter arguments are logical and are true. Let's add further to these.
1. Drinking empties your pocket.
2. Alcohol is not good for health at all
3. One destroys his / her social image with drunk acts
4. You put many lives in risk by drunk driving
Why do many drinkers go way beyond the limit of getting drunk for thrill, leading to hangover? Does it happen due to lack of self control? Or is it intentional?
All the rational answers given to justify drinking are falsified easily. They should be, because all of them are fake. If there is any honest explanation as to why people drink, I think it should be the self-destructive desire of every human being. Alcohol provides a nearly perfect way for one to hurt him / her self.

In his essay "A child is being beaten", Freud explains the connection between pleasure and suffering. Not only that one can make enjoyment through suffering, but also self-inflicted-suffering is a basic fantasy. If you look into this with an open mind I guess you can find enough supportive facts from the society and from your own life.

Nikos Kazantzakis, in his renowned novel "Zorba the Greek" says that one should dance into the very rhythms and moves of his body like no one is looking at him. Osho later adopted this concept to manifest ones inner soul which is followed by a lot of people around the world. They have created bars like "Zorba the Buddha" particularly for these acts. However, the question is that if you are dancing to the rhythms of your own body why do you always need spectators. Apparently this is another form of self-destructiveness because in doing this one ridicules him / her self in front of others. Awakening the inner soul is just a fake answer to hide this. Similar practices can be observed in places like Katharagama (http://en.wikipedia.org/wiki/Kataragama_temple) where people engage in extremely hurtful rituals in the name of religious devotion. Everywhere self-destruction is practiced in public, it is masked with a colorful answer to hide the real (and mostly unknown) reason.

Though self-destruction is a basic human desire, not everyone has the courage to practice it alone to take individual responsibility. These self-destructive cowards have become the target consumers of a new type of market where "opportunities for collective stupidity" being sold. Most of them provide adults to engage in childish acts as a group where the act is tagged as normal. Fake reasons given are "Awake the child within you", "Manifest your suppressed, innocent soul", "Explore your hidden creativity", etc.

Self destructive acts can be thought of as an attempt to find an answer to the fundamental philosophical question of ones existence. By hurting himself, one tries to convince him of his existence. I think self-destruction is one of the purest forms of human emotions. As Britney Spears puts into words in her new song, this is not something that is rational; but it is physical.

Wednesday, November 2, 2011

දන්නා දෙයම නැවත කීම සහ නොදන්නා දෙයක් කීම අතර වෙනස​ - "බකමූනා වීදි බසී" නාට්‍යය ඇසුරින්



"ඔබ මිනිසුන්ට ඔවුන් දන්නා දෙයම නැවත කියන්න​. ඔවුන් ඔබව වීරයකු ලෙස සලකාවි. ඔබ මිනිසුන්ට ඔවුන් නොදන්නා දෙයක් කියන්න​. ඔවුන් ඔබව ද්‍රෝහියකු ලෙස හංවඩු ගසාවි."


කතෘවරයාගේ නම මතකයෙන් ගිලිහී තිබුනත් ඉහත අදහස යනු යළි යළිත් ඉතිහාසය විසින් සනාථ කර ඇති සත්‍යයයකි. මගේ නාට්‍යලෝලී මිතුරකු සමග රාජිත දිසානායකගේ "බකමූනා වීදි බසී" නාට්‍යය නැරඹීමෙන් පසුව ඉහත ප්‍රකාශය මා තුළ නැවත තහවුරු විනි. නාට්‍යය ඇරඹෙන්නේ කිසියම් චරිත කිහිපයක් තමන් පිළිබඳව කරන කෙටි අර්ථකථන වලිනි. හරියටම මතක නැතත් මේවායින් එක් ප්‍රකාශයක් වූයේ "මට කැමති විදියට දේවල් සිද්ධ වෙන්නෙ නැත්නම් මම කරන්නේ සිද්ධ වෙන දේවල් මගේ කැමැත්ත බවට පත් කරගන්න එක​" වැනි දෙයකි. ඉතිරි ප්‍රකාශයන් ද මෙවැනිම ඒවා විය​. ප්‍රේක්‍ෂකයාගේ පැත්තෙන් බලන විට ඉහත චරිත තමන් කවුදැයි නිශ්චිතව දන්නා අතර තමා පිලිබඳ අවංක සහ අත්‍යන්ත සත්‍යයය ප්‍රේක්‍ෂකයාගේ දැනගැනීම පිනිස ප්‍රකාශ කරයි. ඉන්පසුව දිගහැරෙන කථාව ශ්‍රී ලංකා රාජ්‍ය හමුදා විසින් දෙමල සටන්කාමීන් පරාජය කිරීමත් ඉන්පසුව සංවර්ධනයේ නමින් ණය ගැනීම​, විකිණීම සහ සොරකම් කිරීම ක්‍රියාත්මක වීමත් සංකේතාත්මකව දිගහරියි. රාජිත දිසානායකගේ වෙනත් නාට්‍ය මෙන්ම මෙයද ජීව ගුනයෙන් පිරි නාට්‍යයක් වූ අතර ප්‍රේක්‍ෂකාගාරයේ උනුසුම් ප්‍රතිචාර දිනාගැනීමටද සමත් විය​.


නාට්‍යය නැරඹීමට පෙර එය පිළිබඳව ඩබ්ලිව්. ජයසිරි සහ විමලනාත් වීරරත්න විසින් රාවය පුවත්පතට ලියූ විචාර දෙකක් කියවීමි. ඒවාට අනුව මෙය ඉතා හොඳ දේශපාලන නාට්‍යයකි. එහෙත් ගැටලුව වන්නේ නාට්‍යය මගින් පෙන්වන කිසිවක් ප්‍රේක්‍ෂකාගාරයේ සිටින රසිකයාට අලුත් දේවල්ද යන්නයි. ප්‍රේක්‍ෂකයා දන්නා දෙයම රසවත් ලෙස ඔහුට නැවත පැවසීම මගින් යම් වීරත්වයක් ලබාගත හැකි වුවත් ප්‍රේක්‍ෂකයා තුළ සැලකිය යුතු බලපෑමක් එමගින් සිදුවේදැයි සිතාබැලිය යුතුය​. පැරණි නාඩගම් වැනි සම්ප්‍රදායන් තුළද මෙම ලක්‍ෂණය තිබූ අතර එදිනෙදා ජීවිතයේ සාමාන්‍ය මිනිසා පීඩාවට පත් කරන ප්‍රභූන් හාස්‍යජනක ලෙස සාමාන්‍ය මිනිසුන් ඉදිරිපිට රග දැක්වීම එහිදී සිදුවිය​. මෙමගින් පීඩිත මිනිසාට තාවකාලික මානසික සහනයක් ලැබිනි. මගේ අදහසට අනුව මෙවැනි උත්සාහයන් අවසාන වශයෙන් සේවය කරන්නේ පවතින ක්‍රමයටමය​. පවතින ක්‍රමයේ අමානුෂිකත්වයෙන් පීඩාවට පත්වන මිනිසා තුළ ගොඩනැගෙන වෛරී ආතතිය පවතින ක්‍රමයට විරුද්ධ ප්‍රායෝගික අරගලයක් දක්වා වර්ධනය වනතෙක් පැසවන්නට ඉඩ නොතබා මායාමය ඉදිරිපත් කිරීමක් තුළ එය සමහන් කර දැමීම මෙවැනි කෘතිවලින් සිදුවේ.


Krzysztof Kieslowski ගේ "The Double Life of Veronique" චිත්‍රපටය ඉතාමත් සමාන ස්ත්‍රීන් දෙදෙනකුගේ ජීවිතය එකිනෙකට වෙනස් දේශපාලන රෙජිමයන් දෙකක් තුළදී වෙනස් වන ආකාරය පෙන්වයි. එක් රෙජිමයක් නම් එකල පෝලන්තයේ ක්‍රියාත්මක වූ අධිකාරීමය කොමියුනිස්ට් රෙජිමය වන අතර අනෙක වඩාත් නිදහස්කාමී ප්‍රංශ දේශපාලන රෙජිමයයි. මෙහිදී kieslowski ඉහත දේශපාලන රෙජිමයන් දෙකේ ඍජු ක්‍රියාකාරීත්වය පෙන්වීම සඳහා චිත්‍රපටයේ කිසිදු වැදගත් කාලයක් මිඩංගු නොකරයි. එය තත්පර ගනනක දර්ශන එකකට දෙකකට සීමාකර ඇත්තේ ප්‍රේක්‍ෂකයා එය කොහොමටත් දන්නා නිසාය​. අධ්‍යක්‍ෂවරයා චිත්‍රපටයේ වැදගත් කාලය වෙන් කරන්නේ ඉහත රෙජිමයන්වල ක්‍රියාකාරීත්වයට පුද්ගල ආත්මය ප්‍රතිචාර දක්වන්නේ කෙසේදැයි පෙන්වීමටයි. ප්‍රේක්‍ෂකයා නොදන්නා දෙය වන්නේ එයයි. රාජිත දිසානායකගේ නාට්‍යය ආරම්භයේ අදහස් පළකරන චරිත මෙන්ම ප්‍රේක්‍ෂකයාද සිතා සිටින්නේ තමා පිළිබඳ අත්‍යන්ත සත්‍යය තමා දන්නා බවයි. එහෙත් kieslowski වැනි දක්‍ෂ කතෘවරුන් සිදුකරන්නේ ප්‍රේක්‍ෂකයාට තමා පිළිබඳව ඇති මෙම තක්සේරුව අභියෝගයට ලක් කිරීමයි. එය මිත්‍යාවක් බවට ඉගි සැපයීමයි. එක්තරා චිත්‍රපට උළෙලකදී තමාගේ "The White Ribbon" චිත්‍රපටය ධාවනය කිරීමට​ පෙර Michael Haneke ප්‍රේක්‍ෂකයන් අමතා ප්‍රකාශ කරන්නේ "I wish you a disturbing evening" කියාය​. ඔහුගේ නිර්මාන ප්‍රේක්‍ෂකයා සමග සම්මුතියකට නොයන අතර ඔහුගේ / ඇයගේ ආත්මීයත්වය සමග ආතතිමය සම්බන්ධයක් ගොඩනගා ගනී.


කලා කෘතියක් මගින් සමාජයට සිදුකරනු ලබන ධනාත්මක සම්ප්‍රධානය යනු කෘතිය පාදක කොටගෙන බිහිවන කතිකාව නම් එම කතිකාව බිහිකරන්නේ තමා මින් පෙර නොදුටු සහ නොසිතූ විරූ යමක් කෘතියෙහි දැකීමෙන් රසිකයා තුළ ඇතිවන කම්පනයයි. එබඳු කම්පනයක් ඇති නොකරන කෘතීන්, රත්වූ යන්ත්‍රයක් ජලයෙන් සිසිල් කරන්නාක් මෙන් සිය දෛනික ජීවිතයෙන් විඩාපත් වන මිනිසාට මොහොතක සැනසුමක් පමණක් ලබාදෙයි.


උදාහරනයක් ලෙස සරල විනෝදජනක නාට්‍යයක් නැරඹීමට යන රසිකයකු සලකමු. මෙය මාන තුනකින් සලකා බැලිය හැක​. පළමු මානය යනු රසිකයාය​. ඔහු නාට්‍යය නැරඹීම වෙනුවෙන් යම් පිරිවැයක් දරා ඇති අතර එයට සරිලන ලෙස විනෝද විය යුතුමය​. දෙවැනි මානය ඇත්තේ නාට්‍යය තුළයි. සාමාන්‍යයෙන් පවුල තුළ​, කාර්‍යාලය තුළ​, මහේක්‍ෂ දේශපාලනය තුළ සහ ආදර සබඳතා තුළ ආදී වශයෙන් ඇති මිනිස් සබඳතා නෛසර්ගිකවම මුග්ධ (inherently stupid) වන අතර සියල්ලන්ම එය හොඳින් දනී. එහෙත් එය නොදන්නාක් මෙන් දෛනික ජීවිතයේ වතාවත් වල යෙදෙයි. නාට්‍යකරුවා ඉහත සමාජ මුග්ධභාවය (රසිකයා දැනටමත් දන්නා නමුත් නොදන්නවාසේ සිටින මුග්ධභාවය​) නාට්‍යය තුළ රසිකයා වෙත ප්‍රති-ඉදිරිපත් කරයි. එවිට රසිකයා තුළ දෛනික ජීවිතයේ යාන්ත්‍රිකභාවය විසින් ගොඩනගා ඇති ආතතිය හාස්‍යයක් ලෙස පිටව යයි. දැනටමත් දෙපාර්ශ්වයම ජයග්‍රාහකයන් බවට පත් කර ඇති මෙම ගනුදෙනුව තුන්වන මානය මගින් අංග සම්පූර්ණ බවට පත් කෙරෙයි.


තුන්වන මානය නම් රසිකයාටත් නාට්‍යයටත් පරිබාහිරව පවතින රාජ්‍යයයි. රාජ්‍යය යනු බලවතුන් විසින් දුබලයන් පාගා දමමින් ගෙනයන පාලන තන්ත්‍රය සුජාත කරවන ව්‍යුහය වේ. (රාජ්‍යය යනු ආණ්ඩුව නොවන බව පාඨක ඔබ දන්නේ යයි සිතමි. බොහෝ විරුද්ධ පක්‍ෂ ආණ්ඩු විරෝධී වුවත් රාජ්‍යයට පක්‍ෂපාතීය​). රාජ්‍යයට අනුව ඔබ​,
1. කුඩා කාලයේදී හොඳින් ඉගෙනගත යුතුය​.
2. පාසලේදී උගන්වන ඉතිහාසය "නියම ඉතිහාසය​" ලෙස පිළිගෙන ඉන් පරිබාහිර ඉතිහාසයක් ගැන සිතීමෙන් වැලකිය යුතුය​.
3. පාසල් වියේදී දගකාර විය යුතු අතර "නිසි වයස​" පැමිනි විට එම දගකාරකම් නවත්වා විවාහවී යහපත් දරුවන් රටට දායක කළ යුතුය​.
4. ත්‍රස්තවාදීන් නමින් අමුතු සත්ව කොට්ඨාසයක් සිටින බව පිළිගත යුතු අතර ඔවුන් රාජ්‍ය හමුදා විසින් අනුකම්පා විරහිතව මර්දනය කිරීම රටේ මෙන්ම තමාගේද ජයග්‍රහනයක් ලෙස සැලකිය යුතුය​.
5. කාර්‍යාලයේදී මහන්සි වී රට වෙනුවෙන් වැඩ කළ යුතුය​.
6. නෘත්‍යාගාරයේදී (අනිවාර්‍යයෙන්ම​) විනෝද විය යුතුය​.


ඉහත මානයන් තුනේ මුසුවෙහි ප්‍රතිඵල දැන් විමසා බලමු.
1. රසිකයාට තමා තුළ තිබූ බරක් සැහැල්ලු කරගන්නට උපකාර වූ නාට්‍යකරුවා ගැන ලොකු ආදරයක් ඇති වීම​.
2. රසික සමාජය තුළ නාට්‍යකරුවා වීරයකු බවට පත්වීම.
3. රාජ්‍යය විසින් නාට්‍යකරුවාට සම්මාන සහ වෙනත් සිවිල් වටිනාකම් ලබාදීම​.
4. රසිකයා කිසිදු වෙනසකින් තොරව තම යාන්ත්‍රික ජීවිතයට නැවත පිවිසීම​.


මීට සහමුලින්ම වෙනස්ව​, බැරෑරුම් කලා කෘතියක් හෝ නව විද්‍යාත්මක දැනුමක් මගින් සිදු කරන්නේ මිනිසා තමා පිළිබඳව ගොඩනගන මානසික ලෝකය ඉරිතැලීමට ලක් කිරීමයි. එවිට රාජ්‍යය විසින් තම අවශ්‍යතාව පරිදි සකස් කර ඇති මිනිස් සබඳතා ව්‍යුහය යම් අසමතුලිතතාවයකට පත්වී මිනිස් නිර්මානශීලීත්වයට යම් අවකාශයක් විවර වෙයි. මෙම වෙනස යනු කිසිවකු විසින් ආදරයෙන් බාරගන්නා දෙයක් නොවේ. තමාගේ සංගත මානසික ලෝකය චූන් කරන කලාකරුවකු සමග රසිකයා ආදරයෙන් බැඳුනත්, එම මානසික ලෝකය දෙදරවා හරින කලාකරුවකුට හිමිවන්නේ වෛරයයි. අතීතයේ බිහිවූ බොහෝ ශ්‍රේෂ්ඨ විද්‍යාඥයන් සහ කලාකරුවන් ඔවුන්ගේ යුග වලදී සමාජයේ ගර්හාවටත් රාජ්‍යයේ තාඩන පීඩන වලටත් ලක්වීම මේ අනුව වටහාගත හැක​. එහෙත් ඉතිහාසය අපට උගන්වන පරිදි මිනිස් සමාජය ප්‍රගමනය කරා මෙහෙයවූ පහන් එළි බවට පත්වූයේද එම ගර්හිත පුද්ගලයන්මය​.


ලංකාවේ බොහෝ නව පරපුරේ කලාකරුවන් අපට පවසන්නේ "අපි අලුත් දෙයක් කළා. ඇවිත් බලන්න​" කියාය​. බලන්න ගිය විට අලුත් නිර්මානයක් දකින්නට නොලැබෙන අතර පවතින දේවල්වලම ප්‍රති-ඉදිරිපත්කරනයක් මුනගැසේ. පවතින පාලන තන්ත්‍රය පිළිබඳව මිනිසුන් දන්නා නමුත් නොදන්නවාසේ සිටින කාරනාවන් එම මිනිසුන්ටම නැවත ඉදිරිපත් කරන "බකමූනා වීදි බසී" නාට්‍යයද එවැන්නකැයි කීමේ අසාධාරණයක් නොමැත​. පරිගණක භාවිතයේ cut-and-paste තාක්‍ෂණය වර්ධනය වීමෙන් පසු දවසකට සියයක් දෙසියයක් පමණ හමුවන ප්‍රති-ඉදිරිපත්කිරීම් වලින් තවත් එකක් බවට රාජිත දිසානායකගේ අලුත් නාට්‍යය පත්වීම පිළිබඳව කණගාටුව ප්‍රකාශ කරමින් මම ලිපිය අවසන් කරමි.

Sunday, October 23, 2011

The toilet model of life


One thing that fascinates me in modern civilized world is the use of commode toilets. They are radically different from the means people used for toilet in olden days. What happens when a person wants to use a commode toilet? He has a need and sits on the toilet seat, does the thing and presses a button (or pushes a handle)...and the stuff are gone...they disappear into another reality after which he is NOT RESPONSIBLE about it. Nobody can point at something and say that "Hey, look, this is your stuff". However, the case with earlier practices would be so different. If we take, for example, the practice of going into jungle, "it" is there in the same reality after he does it. He sees it, smells it, and may even step on it the next time he walks into the jungle. 

When observing the changes happening in the current days' world with respect to politics, education, technology and human relationships I have been smelling a paradigm shift. Lot of things are changing their shape radically. The change in technology is more prominent. If you ask an analyst he will load you with a lot of facts on the new trends and how you should be dealing with them. However, these are mere facts only. A logical man needs something more than facts. He needs a concrete philosophy through which the new changes can be understood, described and predicted. I have been searching for this philosophy for quite a time, and finally, I discovered it...not in books...not even in the web...but in the toilet. I call this new philosophy, "The Toilet Model of Life".

The tiny toy software
Let's take few examples from modern technology first. In the olden days software came as big packages. The installation was heavy and the users were supposed to go through a significant learning curve before start using them. In order to make a certain window appear, a user had to go to Options menu, select "Advanced" screen and navigate to the "Advanced" tab in it (which some people call the super-duper advanced screen) and check a configuration. New versions came in 2-3 years and had a whole bunch of new features added. Users of these software were specialists in them who knew through years of experience, the recipe needed to get something useful done from them. They were very much dependent on the few software they working with and were emotionally attached to them. Software had to be used with great RESPONSIBILITY and discipline. A long uninstallation procedure had to be followed when the user no longer needed the software. Even after the uninstallation, software usually left lot of traces behind in the system. Briefly said, the software was in the center and the users were in the periphery. However, what we see today are software with very short release cycles (as short as half an hour) that shape the product gradually according to fast changing market needs. Since the world wide web has opened up a super fast channel for software delivery, the users no longer need to wait for months or years for a particular software to show up. There are hundreds of software available to serve a certain need. Therefore the user has acquired the center and the software are pushed into periphery. A typical user consumes at least a few dozen software in a daily basis. Software vendors, therefore, cannot assume an expert user. Their product can be just the 'costume-of-the-day' for the user. In order to tackle these new conditions, the features need to be provided at the finger tips. Any configuration setting should be displayed only at the appropriate instance and the behavior of the software should adapt according to the user. Installation and uninstallation should be quick, light and clean. 

Smart phone software are typical examples for this new domain of software. They are light in size and are easily installed. They come up with only a handful of features that are readily available through simple gestures. Removing them is just a matter of few taps. Even better is that they do not leave any trace behind. Any person having a smart phone can download an app, use it for a while and flush it from the device. No responsibility is left; just like in the commode toilet.

Things get more aligned with the toilet mechanism when it comes to cloud. What the cloud means is that the users no longer need to keep their heavy data in their devices. They are simply irresponsible on how and where they are kept, backed up and so on. They are readily available for them to CONSUME, DISPOSE AND FORGET. The same toilet theory applies when you are the software vendor who delivers cloud based products. Not only that you do not need to get the trouble of being responsible in managing the data, but also you do not have to hold the weight of a subscription to a data hosting service. You pay only when you consume it. CONSUME-DISPOSE-FORGET is in action even in the software vendors' domain.

No more experts
In the past, not only the software users were experts, but also the software producers. They were specialists in certain technologies. A C++ guy, a Java guy and so on. They were emotionally attached to their technology and were ready to go for wars for the protection of them. However, with the current rate of technology mutations, one can hardly become an expert in a technology. By the time somebody acquires expertise in a technology, it becomes obsolete. Therefore the viable model for software producers is to be open minded and be flexible to move between technologies rapidly. Quick learning ability, adaptability and flexibility are becoming the defining qualities of successful professionals. The cadres in this new workforce will not be emotionally attached to any piece of technology like their predecessors. The new model for the producer is LOAD-PRODUCE-UNLOAD-FORGET.

Frienditutes
To show the toilet model in action in the field of modern human relationships is a trivial task. I will take a simple example. Guys usually like to have a lot of good looking female friends. And there are times that a guy really needs to show this to others. However, similar to any other valuable thing in the world, this too doesn't come for free. To have good looking female friends a guy has to pay a certain price because females expect a lot from their male friends. He has to buy them expensive gifts, be a driver at times, keep on spending hours jabbering girly crap with them, etc. Dilbert creator Scott Adams suggested a modern solution for this which is based on the fact that most friend stuff are now happening in Facebook. The concept is named "frienditute" who is either a good looking female in Facebook or anyone who is smart enough to appear like a good looking female in Facebook. If you are a guy, all you need to do is hiring a frienditute for a period when you need to show that you have gorgeous girl friends. They will comment on your messages, write on your FB wall, say nice things about your pictures and so on. They will pretend to be good friends of you during the hired period. No long term costs in keeping relationships with beautiful girls...a simple analogy for CONSUMABLE-DISPOSABLE-FORGETTABLE human relationships which is becoming a norm in the modern world.

China - the rising sun
If there is a paradigm shift happening in the world affecting every facet of human life, shouldn't it be triggered and backed by a political body? It should and, of course it does. In order to identify this we only need to answer an easy question. What is the political regime that will dominate the world both politically and economically after few decades? Undoubtedly, it's the Chinese regime...and the Chinese politics is based on their most popular philosophy: Taoism. What does Taoism say? It asks us to 'live in this moment'; not the moment before, not the moment later. Taoism asks you to do whatever you are doing right now in your fullest potential...and then forget it...do not get emotionally attached to it...do not be responsible because by that time what you are currently engaged will be the past which is insignificant. This is exactly what the Chinese are doing all around the world and that is why they are so much successful. Take a Chinese product and you will see this philosophy in it. It comes for a very low price with almost all the features known for that kind of products. However, it is not attached to a big trade name and you should not talk about the durability of the product. Simple enough, isn't it? Now compare this with the Western world based on Christianity which says "the god is watching everything you do and you are responsible for what you do". This western dominance is now becoming the history with the speed of light. China is the rising sun. 

Let's summarize. When you are the consumer CONSUME-DISPOSE-FORGET. When you are the producer LOAD-PRODUCE-UNLOAD-FORGET. As a final remark I ask my reader to be ready for this new world, both emotionally and intellectually. Do not get surprised if the friend who warmly shares your feelings today will behave like a complete stranger tomorrow.

Saturday, August 27, 2011

Should QA learn programming concepts?



Recently one of the QA engineers in Eurocenter started an interesting discussion on the skills required from a current day QA engineer. The discussion was opened in the linkedIn group of Eurocenter which we call "InsideOut". It is an open group and you can join from: http://alturl.com/qtron
One of the questions raised was whether the QA engineers should learn programming concepts in order to dig into the code written by developers to review the quality. Though this idea was favored by some other colleagues, my opinion was that this is not required and there are lot more valuable areas a modern QA engineer can look into, for improving the quality of a product. Following is my elaboration on this. I directly copied the following part from my comment in the group.


It is agreeable that the industry demands more from QA than doing conventional testing. Major reason behind this demand is that many quality aspects required from a software product are not covered in conventional testing which includes functional testing and traditional non-functional testing like load testing. In native world, for example, memory corruptions might not surface during normal testing. However, they can cause disasters in production environment. This puts the need for a QA engineer to have more insight into the operation of a software application than he observes in the application interface. There are two main avenues in achieving this.
                       1. Code level analysis
                       2. Operation level analysis
The former can be called white box testing and the later, black box testing. The important thing to note here is that peeping into the code or writing supplementary code is not the only way of getting more insight into an application.

Operation level analysis deals with analyzing the operation of a software in the context of a system (operating system for example) where the software is evaluated with respect to the changes it cause on the system, how it is affected by changes in the system and how it performs under various conditions in a system. The good thing about this domain is that many sophisticated tools for doing these started appearing with latest versions of operating systems. Microsoft Application Compatibility Toolkit, for example, can monitor the operation of a software and provide a detailed analysis into security problems, user access control problems, memory problems, etc. One other good example is Microsoft Application Verifier which can detect memory corruptions, memory leaks, low level operating system call failures, I/O overhead, resource allocation problems, improper locks, unsafe parallel access of data, dangerous API calls, etc. These are vital information that help in deciding the quality of software without looking at a single line of code. Being a native developer for few years I still cannot detect most problems revealed by Application verifier by examining code. There are a bunch of other useful tools of this kind that are bundled with the operating system itself. These tools are little known and are not given the attention they deserve. Even when they are used it is done by developers. However, I think QA engineers are the best people to use them to evaluate software.

Even if we think about tools like Sonar they provide a lot of metrics that manifest the quality of software without going into code level. Once we go into the code level there are hell of a lot of peculiarities like design patterns, compiler optimizations, API tweeks, hacks, etc. Since software product is more important than the code I think it will be more productive to analyze the quality of the software itself utilizing modern tools. Having said that I repeat that it's vital for a QA engineer to have knowledge to automate things using simple programming.

Tuesday, July 19, 2011

ද්විත්ව



පෙර වැකිය
ඔබ රාමුවක් තුළ ගල්ගැසුනු සොඳුරු සිතුවමක් බවට පත්විය. මගේ දෑස් නිලංකාර කරන තරමට ඔබ දීප්තිමත්ය. මම ඔබේ සිත්තරාගේ සූක්ෂම පින්සල් පහරවලට හසුනොවූ ලෝකය සොයා, රාමුවෙන් පිට නිදහස් මගෙහි යමි. හමුවන්නන්ගෙන් විමසමි. සිත්තරාද මුනගැසිනි. කිසිවෙක් නොදනිති. ඒ ලොව තවම නොදිටිමි.


* සෑම ඛේදාන්තයක්ම ප්‍රහසනයක් ලෙස පුනරාවර්තනය වෙනවා.
                            - හේගල් -


    බිහිසුනු මැදියම ඔබ සැඟවෙන විට
    වරදාගත්තෙමි එය සිහිනයකට
    සැනෙකින් නැගුනා ඔබ සිතුවමකට
    දැනගමි මා මග ඒ අබියස සිට


    නොබැඳුනි ඔහු නිමැවූ සිතුවම වෙත
    නිවරද ලෙස යමි නිදහස් මාවත
    තෙළිතුඩ නැති ඔහු දැන් මා වෙත ඇත
    එවතුදු සතුටක සේයාවක් නැත


    ඊයෙ සිහිනයයි අද ජීවිතයයි
    හුයක් නොමැති බැඳුමක පැටලී යයි
    මා සිතුවම තුළ බව ඔහු පවසයි
    හැඳිනගනිමි දැන් ඔබ මෙහි මේ යයි


පසු වැකිය
ඔබේ සැඟවයාම යනු ඛේදාන්තය නම් මගේ තීර්ථ ගමන එහි ප්‍රහසනයද?


නිර්මාන උත්තේජනය
Krzysztof Kieslowsky ගේ "The Double Life of Veronica" චිත්‍රපටය

Wednesday, July 6, 2011

ගීත විචාරයක්



කලා කෘතියක් ගැන තියෙන සාමාන්‍ය අදහස තමයි ඒකේ 'නියම' තේරුම දන්නේ කෘතියේ රචකයා කියන එක. රසිකයා උත්සාහ කරන්නේ කෘතිය පරිශීලනය කරලා රචකයා විසින් ගෙන එන්නට අදහස් කල පනිවිඩය තේරුම් ගැනීමටයි. රචකයාට වඩා දැනුවත් පුද්ගලයකු ලෙස විචාරකයා කරන්නේ රචකයාගේ පනිවිඩය තේරුම් ගැනීමට රසිකයාට උදවු කිරීම. ඒත් සමගම මේ පනිවිඩය ගෙන ඒමේදී රචකයා කොතරම් සාර්ථකද යන්න අවලෝකනය කිරීම.


හැබැයි මෑත කාලයේදී මේ ජනප්‍රිය අදහස තදින් අභියෝගයට ලක්වෙලා තියෙනවා. උදාහරනයක් විදියට ෂේක්ස්පියර් වගේ පරණ රචකයන්ගේ කෘතිවලට මනෝවිශ්ලේෂණය වැනි නූතන න්‍යායන් පාවිච්චි කරලා වෙනස්ම අර්ථකථන විචාරකයන් කරලා තියෙනවා. ෂේක්ස්පියර්ගේ කාලයේ මනෝවිශ්ලේෂණය ගැන හිතලාවත් තිබුනේ නැති නිසා මේ අලුත් අර්ථකථන ෂේක්ස්පියර් දැනගෙන හිටි දේවල් කියලා හිතන්න බැහැ. මේ අනුව වඩාත් දියුනු අලුත් අදහස තමයි රචකයා කියන්නේ කෘතියට සම්බන්ධ වන එක් පුද්ගලයකු මිස කෘතියේ අවසාන අර්ථය නිශ්චය කරන්නා නෙවෙයි කියන එක. කෘතිය අවංක නම් (ඒ කියන්නේ රචකයා විසින් තමන්ගේ මතවාද ඔප්පු කරන්න කෘතියේ සිද්ධි සහ චරිත මෙහෙයවලා නැත්නම්) කාලයෙන් කාලයට අලුත් න්‍යායන් වලට අනුව කෘතියක් අලුත්ම ලෙස අර්ථකථනය කල හැකි විය යුතුයි.

මේ අදහස මත ඉඳගෙන ලංකාවේ ජනප්‍රිය වෙලා තිබුන "වසන්තයේ මල් පොකුරු නෙලා" නමැති මහගමසේකර / අමරදේව සංයෝගයෙන් හැදුනු ගීය ගැන විචාරයක් කරන්නයි මම උත්සාහ කරන්නේ. මේ ගීතය ගැන කාලෝ ෆොන්සේකා, සරත් අමුණුගම වගේ අයගේ විචාර මම දැකලා තියෙනවා. මට මතක විදියට ඒ විචාරවල තිබුන පොදු අදහස තමයි මේ ගීය සුන්දරත්වය සහ අනිත්‍යය පිලිබිඹු කරන්නක් කියන එක. අපි ගීතයේ පළමු පේලි කීපය මුලින් අරගෙන බලමු.

        වසන්තයේ මල් පොකුරු නෙලා
        ඔබ මා දෝතට ගෙනෙන තුරා
        මග බලමින් මා සිටියා
        සොඳුරු වසන්තේ ගෙවෙන තුරා

කවියා බලා සිටින්නේ වසන්තයේ සොඳුරු මල් පොකුරු දෝතින් ගෙන ඔහු / ඇය පැමිණෙන තුරුයි. මේ සොඳුරු මල් තමා විසින්ම නෙලාගන්න කවියා උත්සාහ කරන්නේ නැහැ. ඔහු අපට කියන්නේ සුන්දරත්වය යනු අනෙකා විසින් ගෙන එන දෙයක් මිස තමා විසින්ම සාක්ෂාත් කරගත හැක්කක් නොවන බව. හැබැයි වසන්තය නිමාවන තෙක්ම ඔහු / ඇය පැමිණ නැහැ. එසේ නොපැමිණියත් කවියා කියන්නේ වසන්තය සොඳුරු බවයි. ඔහු / ඇය පැමිණෙන තෙක් බලාසිටීම හැර වෙන කිසිවක් වසන්තය පුරාවටම කවියා සිදුකර නැහැ. එහෙම නම් වසන්තය සොඳුරු වූයේ කොහොමද? සුන්දරත්වය / සතුට යනු යමක් ලැබීමද? යමක් ලැබෙන තෙක් බලා සිටීමද?

සැමුවෙල් බෙකටිගේ "ගොඩෝ එනකං" නාට්‍යයේ කථාව වන්නේ ගොඩෝ නමැති පුද්ගලයකු එනතුරු තවත් දෙදෙනෙක් බලා සිටීමයි. නාට්‍යය පුරාවටම ගොඩෝ දැන් ඒවි, දැන් ඒවි කියලා හිතෙන සිද්ධි තිබුනත් නාට්‍යය නිමවන තෙක්ම ගොඩෝ එන්නේ නැහැ. ගොඩෝ ආවොතින් සිද්ධ වෙන මහ ලොකු දේ මොකක්ද කියලා නාට්‍යයේ කියවෙන්නෙත් නැහැ. වැදගත් දේ වන්නේ ගොඩෝ එනතෙක් බලා සිටීමයි. ගොඩෝ දැන් දැන් එයි කියන ප්‍රහර්ෂයයි. අජිත් තිලකසේනගේ කෙටිකතාවක් තියෙනවා "මගේ අරමුන ඈ බේරාගැනීම" කියලා. මෙහිදී කථකයා "ඈ බේරාගැනීම" කියන අරමුන වෙනුවෙන් බොහෝ දේ කරනවා. තමන්ගේ දෑස් පවා අහිමි කරගන්නවා. "ඈ" කියන්නේ කවුද, ඇයව බේරාගන්නේ මොකටද, බේරාගන්නේ මොකකින්ද කියන දේවල් ගැන ඉඟියක්වත් ඔහු අපට සපයන්නේ නැහැ. ඒ වෙනුවට ඔහු තම අරමුන වෙනුවෙන් කරන විකාරසහගත නමුත් ආශ්වාදජනක දේවල් වලින් තමයි කථාව පිරිලා තියෙන්නේ. අවසානය තෙක්ම "ඈ බේරාගැනීමක්" සිදුවන්නේ නැහැ. අවසානයේදී කථකයා අපට කියන්නේ ඔහුට අන් කිසි දෙයක් වැදගත් නොවන බව සහ ඔහුගේ එකම අරමුන ඈ බේරාගැනීම බව.

"ගොඩෝ එනකං" නාට්‍යයේ කිසියම් ජවනිකාවකදී ගොඩෝ ඇත්තටම ආවානං වෙන්න පුළුවන් මොකද්ද? සියල්ලන් සතුටට පත්වන අවසානයක්ද? මම නම් හිතන්නේ ඒකේ අනෙක් පැත්ත සිදුවෙයි කියලා. ගොඩෝගේ පැමිණීම විසින් සිදුකරන්නේ ඔහුගේ පැමිණීම ගැන තවදුරටත් ෆැන්ටසි ගොඩනැගීමට අපට ඇති අවකාශය අවුරා දැමීම. ඊට පස්සේ අපිට සිද්ධ වෙන්නේ "ගොඩෝත් ආවා එහෙනං" කියලා ලොකු හුස්මක් හෙළලා අපේ සාමාන්‍ය වැඩ නැවත පටන් ගන්නයි. සමහරවිට මේ අවසානය "අපෝ, මෙයා එනකන්ද මෙච්චර බලං හිටියේ" වැනි ඉච්ඡා භංගත්වයක් වෙන්නත් පුලුවන්. බෙකටි නාට්‍යය පුරාවටම ගොඩෝව වේදිකාවට කැඳවන්නේ නැත්තේ මේක දන්න නිසා වෙන්න ඕන. ආශාව සම්පූර්ණයෙන් තෘප්ත වීම කියන්නේ භ්‍රාන්තියක්. මොකද එතකොට තමයි ආශාවේ හිස්බව තමුන්ටම අනාවරනය වෙන්නේ. දැන් බලමු මහගමසේකරගේ ගීතයේ මීලඟට වෙන්නේ මොකක්ද කියලා.

        අහස පොළොව ගිනියම් අව්වේ
        ගහකොළ මැළවෙන ගිම්හානේ
        අවසානේ ඔබ ආවා

කවියා මෙතෙක් කල් බලා සිටි ඔහු / ඇය කටුක ගිම්හානයකට පසු ඔහු වෙත පැමිණ තිබේ. හිස් අතින් නොව වසන්තයේ මල් පොකුරුද දෝතින් රැගෙනයි. මෙය "ගොඩෝ" ගේ පැමිණීමක්ද? ආශාව සහමුලින් ඉටුවීමක්ද? ගීතයේ මීළඟ පද දෙක මේ භ්‍රාන්තියෙන් අපව ගලවා ගන්නවා.

        ඔබ අතවූ මල් එකිනෙක පරවී
        සුලඟේ විසිරෙනු මා දුටුවා

අවසානයේ ඔහු / ඇය පැමිණියත් දෝතින් ගෙන එන සුන්දරත්වයේ මල් පොකුරු කවියා බලා සිටියදීම පරවී සුලඟේ විසිරී යනවා. ඒ කියන්නේ කවියාගේ අපේක්ෂාව ඒ අයුරින්ම සාක්ෂාත් වෙන්නේ නැහැ. සැමුවෙල් බෙකටි සහ අජිත් තිලකසේන වගේම මහගමසේකරත් ආශාව තෘප්ත වීමේ නස්පැත්තියෙන් රසිකයාව දක්ෂ ලෙස ගළවා ගන්නවා. දැන් අපට "වසන්තයේ මල් පොකුරු රැගෙන ඔහු / ඇය ආවානම් කොයි තරම් සුන්දරද" කියන අපේක්ෂාව ගිනි පෙලෙල්ලකට පිඹිනවාක් මෙන් නැවත නැවත ජ්වලනය කරමින් පවත්වාගත හැකියි.

ගීතයේ මේ වෙනකොට අපි ඉන්නේ ආශාව ඉටුවෙන්නම වගේ ගිහිල්ලා ලෝක ධර්මතාවයක් නිසා එය මගහැරුනු තැනකයි. ගීතය මෙතැනින් නිම වුනා නම් ඔබට ඇතිවන හැඟීම මොන වගේද? මටනම් ඇතිවෙන්නේ කාංසාවක්. මල් පරවීයාම යනු ලෝක ධර්මතාවයක් යන්න මට දරාගත හැකියි. දරාගත නොහැකි දෙය වන්නේ එම ධර්මතාවයෙන් පිට කිසිවක් නොපවතීය යන්නයි. සමස්තතාවාදී ධර්මයක් ලෙස අනිත්‍යය පිළිගත හැකි වුවත් එයින් වියුක්තව පවතින උත්කර්ෂවත් යමක් මට අවශ්‍යයි. මේක මට විතරක් තිබෙන ප්‍රශ්නයක් නොව සියලු මනුෂ්‍යයන්ට පොදු වූවක් බව සාහිත්‍යය කියවනකොට පැහැදිලි වෙනවා. උදාහරනයක් ලෙස අපි බෞද්ධ සාහිත්‍යය ගනිමු. බුදු දහමේ හරය අනිත්‍ය, දුක්ඛ, අනාත්ම ත්‍රිලක්ෂණය වුවත් බෞද්ධ සාහිත්‍යය තුල මේ ලෝක ධර්මතාවයට පිටින් පවතින්නක් ලෙස බුදුන් වහන්සේගේ ශරීරය සහ පෞරුෂය ඉස්මතු කරනවා. අභිධර්මයේ (මා කියවා ඇති කොටස්වල) පවා බුදුන් වහන්සේගේ පුද්ගල පෞරුෂය උත්කර්ෂයට නගා තිබෙනවා. සසරින් එතෙර වීමට උදවු වන ධර්මයද සසරින් එතෙරවූ පසු කරතියාගෙන නොයන්නැයි බුදුන් වහන්සේ පවසා තිබුනත් බෞද්ධ සාහිත්‍යය තුල ධර්මය තරම්වත් උසස් නොවන බුද්ධ ශරීරය සහ පෞරුෂය කරතබාගෙන යාමට පාඨකයා පොලඹවනවා. මගේ අදහසේ හැටියට නම් ගැඹුරු දහමක් විස්තර කිරීමේදී එයට පිටින් පවතින උත්කර්ෂවත් වස්තුවක් වරනැගීම හරිම වැදගත්. අපේ ගීතයේ අවසාන පද දෙක දැන් අපි කියවමු.

        සුලඟේ විසිරෙන ඒ මල් අතරින්
        ඔබගේ රුව මා දුටුවා

කාලෝ ෆොන්සේකාගේ විචාරයට අනුව පරවී යන මල් අතරින් පෙනෙන ඔහු / ඇය ගේ රුව පිලිබිඹු කරන්නේ රූපයෙහි ඇති අනියත ස්වභාවයයි. හැබැයි මගේ අදහස මීට සහමුලින්ම වෙනස්. මල් පරවී යාම නමැති ධර්මතාවය විසින් ඇතිකරන කාංසාව මගහැරීමට උත්කර්ෂවත් වස්තුවක් ලෙස ඔහු / ඇය ගේ රුව මතුවෙනවා. ඒක කලින් වටහාගත් දහම මගින් පාලනය නොවන, එයින් විනිර්මුක්ත වූ ශුද්ධ වස්තුවක්. මෙහිදී පරව යන මල් විසින් ගීතයට සේවයන් දෙකක් සිදුකරනු ලබනවා. එකක් නම් කවියාගේ ආශාව ඉටු නොවී පවත්වාගැනීමට ආධාර වීමයි. අනෙක තමයි ඔහු / ඇය ගේ රුව ශුද්ධවූ පැවැත්මක් ලෙස මතුකරගැනීමට (contrast) අවශ්‍ය කලු පසුබිම සකසා දීම.

ගීතයේ අවසන් කොටස් දෙකම "මා දුටුවා" ලෙස නිමවීමේත් වැදගත්කමක් තියෙනවා. කවියා අපට කියන්නේ නැහැ "මෙන්න මේක මෙහෙම වුනා" කියලා. ඒ වෙනුවට ඔහු කියන්නේ "මේක මෙහෙම වෙනවා මම දැක්කා" කියලා. ඒ කියන්නේ පරවී යන මල් සහ ඔහු / ඇය ගේ රුව පවතින්නේ කවියාගේ දැක්ම (gaze) තුලයි. දැක්ම කියන්නේ ආශාවේ එක මානයක්. මේ අනුව වසන්තය, ගිම්හානය, ගිනියම් අව්ව, මල් පොකුරු, ඔහු / ඇය යන සියල්ල කවියාගේ ආශාවේ සංඝටක ලෙස හඳුනාගත හැකියි. මේ ගීතය මම වටහාගන්නේ මිනිස් ආශාව පිළිබඳ සියුම් ඉඟි සපයන නිර්මානයක් විදියටයි. මේක මම කැමතිම සිංහල ගීත වලින් එකක්. පද රචනය නිසාම විතරක් නෙවෙයි. අමරදේව මාස්ටර්ගේ දක්ෂ තනු සහ ගායනයත් නිසා.

අවසාන වශයෙන් මෙම ලිපිය තුළ හඳුනාගත් ගීතයේ හැඟවුම් සාරාංශගත කරමු.
1. ආශාව දැල්වීම
2. ආශාව ඉටුවන්නට යනවා මෙන් දිස්වන සුරතාන්ත අවස්ථාව (භ්‍රාන්තියේ අවදානම)
3. ආශාව තෘප්තිමත් නොකොට පවත්වා ගැනීම
4. කාංසාව
5. කාංසාව මගහැරීමට උත්කර්ෂවත් වස්තුවක් පැමිණීම

පසු සටහන්:
1. භ්‍රාන්තිය (Phobia) සහ කාංසාව (Anxiety) යන වචන මෙම ලිපිය තුළ භාවිතා කර ඇත්තේ මනෝවිශ්ලේෂණයේ එම පද භාවිතා වන අරුතින් නොව සාමාන්‍ය ව්‍යවහාරයේ ඇති අර්ථයෙනි. මනෝවිශ්ලේෂණයේ එන අර්ථයෙන් එම පද භාවිතා කිරීමට තරම් මනෝවිශ්ලේෂණය පිළිබඳ දැනීමක් මට නැත.
2. ලිපියේ අදහස් සියල්ල මගේ අදහස් වන අතර භාෂා ශෛලිය (කථන භාෂාවේ සහ ලේඛන භාෂාවේ මුසුවක් ලෙස) ගොඩනගා ගැනීමට දීප්ති කුමාර ගුනරත්නගේ ලිපිවල ආභාසය ඉවහල් විය.

Speech in ICSCA 2011

I presented a paper in "2011 International Conference on Software and Computer Applications". Following is my speech along with corresponding slides.




Good Afternoon! I’m Dileepa from university of Moratuwa, Sri Lanka and I’m going to talk about a framework I developed for automated log file analysis.




First, I’ll explain the background and then the problem identification. After that, I’ll talk about the overview of the solution which is the new framework, and then the design and implementation of it. This section will include an experiment I did as a proof of concept. Finally I will conclude the work.


Software log files are analyzed for many reasons by different professionals. Testers use them to check the conformance of a software to a given functionality. For example, in a system where messages are passed between different processes, a QA engineer can perform a certain action and then check the log to see whether the correct messages are generated. The developers analyze logs mainly for troubleshooting. When something goes wrong in production sites or even when a bug is reported by an outsourced QA firm, the most useful resource available for the developer to troubleshoot is the application log file most of the time. Domain experts also use logs sometimes for troubleshooting and the system admins monitor logs to confirm that everything is working fine in the overall system level.



 Now we see that it’s always a human user who analyzes a log file in a given scenario. However, with the increasing complexity of software systems and the demands for high speed high volume operations this complete manual process has become a near impossibility. First, one needs an expert for log file analysis which inflicts a cost and even with expertise it’s a labor intensive task. More often than not log file analysis is a repetitive and a boring task resulting in human errors. It’s highly likely that when analyzing a certain log for a period of time one can identify recurring patterns. Ideally those patterns should be automated. In most cases it is essential to automate at least a part of the analysis process.



However, automation is not free of challenges. One big problem is that log files have different structures and format. To make things worse, the structure and format change over time. There’s no platform to automate log analysis in a generic way. When automating analysis, one needs to create some rules and put them in a machine readable way. Then, to manage those rules or to reuse them, they need to be kept in a human readable way too. Keeping things both machine and human readable is not an easy task. Because of these challenges, most organizations completely abandon automation and others go for proprietary implementations in general purpose languages. That inflicts a significant cost because every log analysis procedure needs to be implemented from scratch without reuse. When implemented in a general purpose language the rules are not readable particularly for non-developers. If not designed properly to deal with changes with an additional cost, it will be difficult to add new rules later and handle log file format and structure changes. Another significant problem is that proprietary automations come up with fixed reports which cannot be customized.


So there are many facts that stand for the need for a common platform for generic log file analysis. Some level of support already exists. For example, we have xml which is a universal format used everywhere. It’s a good candidate for keeping log information. Many tools are freely available to process xml. However, xml comes with a cost; the spatial cost for meta data. This makes it inappropriate for certain kinds of logs. In addition it is not very human readable. There are many languages available for processing, but they look almost like other general purpose languages. They are not for non-developer. Not every log file is in xml. There are lot of other text formats plus binary formats.

Researchers have done some work on creating formal definitions for log files. They are based on regular expressions and assume a log file consisting of line entries. Therefore these existing definitions do not help with log files with complex structures which is very common. Also they are unable to handle difficult syntax that cannot be resolved with a regular grammar even in line logs. Another flaw is that these definitions do not take any advantage from xml.


What are the expected features from a framework for generic log file analysis? First, it needs to be able to handle the different and changing log file structures and formats. It also needs to come up with a knowledge representation schema which is both human and machine readable. Also it is important to have the ability to convert to and from xml for exploiting the power of existing xml tools. Due to the reasons I mentioned earlier, the new framework must be friendly to non-developers and be capable of generating custom reports.


Ok; this is the high level picture of the solution. Mainly it comprises three modules that lie on top of the new knowledge representation schema. The input to the system is a set of log files and the output is a set of reports. The first module, which is the Interpretation module is supposed to provide a “Unified mechanism for extracting information of interest from both text and binary log files with arbitrary structure and format”. In other words it is the part of the framework that helps one to express the structure and format of his log file and point to the information of interest. Output of this module will be the extracted information expressed in the knowledge representation mechanism. The Processing module is the one that keeps the expert knowledgebase to make inferences from this information. As mentioned here it is supposed to provide an “Easy mechanism to build and maintain a rule base for inferences”. What comes out of this module is a set of conclusions drawn on the information. After that it is a matter of presenting these findings to various stakeholders. This is exactly the responsibility of the next module, the “Presentation” module. It should provide “Flexible means for generating custom reports from inferences”.


One important selection here is the way of representing knowledge. This decision must be made carefully because the rest of the solution depends heavily on that. If there is a single factor that determines the success or failure of the entire solution it should be this. After analyzing the drawbacks of existing knowledge representation schemas and the current day’s requirements I decided to use mind map as the knowledge unit in the framework. Mind mapping is a popular activity used by people to quickly organize day-to-day actions, thoughts, plans and even lecture notes. Research proves that mind maps resemble the organization of knowledge in human brain than sequential text does. Therefore it is a good form for human readability. Because of its factual form it is easy to change and visualize contents of a mind map. On the other hand, computers also can process mind maps easily because they can be represented by tree which is a popular data structure that has been there from the beginning of computer programming. All the power of existing tree algorithms can be exploited when processing them. Since xml too can be mapped to a tree, mind maps are easily convertible to and from xml which opens up the door to utilize existing xml tools in processing. In addition, mind maps can be combined with each other in node level which is a desirable feature in mixing data from different sources.


This diagram shows the architecture of the entire system. Parser, Execution Engine, Meta data and the Data types constitute the new scripting language which I will be explaining later. Text and binary file readers serve for the Interpretation module. The system exposes its functionality via a programming interface which is marked here as the Control Code. In addition to the users of the generated reports, External systems also can interact with the system to use the analyzed data.


The framework includes a new scripting language targeting the three main phases in log file analysis. It is centered on mind maps and offers many convenient operations to handle them easily. All the syntax is configurable which means one can define his own syntax to make it look like a totally new language. One main application of this can be localized syntax. Configs for syntax is kept in a separate file in a per script basis. Since mind maps can grow into very big sizes when used for analyzing huge logs it is desirable to have strong filtering capabilities to bring out a set of nodes of interest at a glance. Our new language comes with advanced filtering capabilities for this. Most of them are similar to filtering features in jQuery. One other interesting feature is the statement chaining. With this one can write a long statement like a story in one line and perform operations in many nodes with a single function call. I’ll demonstrate this in the next slide. Then the new language supports built-in and custom data types, functions like all other languages.


The scripting language is specially designed to promote a programming model which I call the “Horizontal Programming Model”. This is inspired by the pattern of referencing in natural language. In a text written in natural language, each sentence can refer something mentioned in the previous sentence, but not something said many sentences before. This neighbor referencing model results in a human friendly flow of ideas much like a story. Horizontal programming is implemented by statement chaining coupled with filtering. A complete idea is expressed in only one or two lines of code. This small snippet is independent of the rest of the script. If we consider the script as the complete rule base then a snippet can be a single inference rule. This is more favored for a non-developer because it is closer to how an idea is expressed in human language. However, the typical general purpose language programming style which I call the “Vertical Programming Model” is also supported in case someone prefers it. This model is different because it promotes distant memory calls and growth of code in vertical direction. In the example provided in the blue box, the variable “Found” is defined in the 1st line and referred only in the 10th line thereafter. This model is better for expressing advanced logic since not everything can be done using the horizontal model.



This diagram briefs the final solution with respect to the solution overview we saw earlier. We have selected mind maps as the knowledge representation schema and the three modules of the solution are going to offer these mentioned features. All the three modules are driven by the new programming language and a set of complementary tools. It’s important to note that the same unified mechanism is capable of serving for significantly different needs that arise inside these three modules.


This diagram illustrates an example use case for the system. Software applications and monitoring tools generate log files and each log file is interpreted through a script. As a result we get a mind map for each log file containing the data extracted from it. Then another script is used to aggregate these data in a meaningful way into a single mind map. We can call this the data map. Now we apply the rule base on this data map to generate inferences. This may result in an inference mind map which can then be used either by external systems for their use or by the presentation script to generate a set of reports to be used by various stakeholders. Though this is not the only way to use the framework, this scenario covers most actions that are involved in a typical log analysis procedure.




With this we can conclude that “The new framework provides a unified platform for generic log analysis. It enables users to perform different tasks in a homogeneous fashion. In addition it formulates infrastructure for a shared rule base”. The possibility of a shared rule base is important because it gives so much power to organizations and communities dealing with same tools and software to reuse expert knowledge.
 

There are few possible improvements for the framework to make it more useful in the domain. Since some software applications and tools are widely used in software development, the framework can be accompanied with a set of scripts to interpret them so that not everyone has to come up with their own version. One drawback in using the framework’s scripting language for interpreting log files is that the script does not reflect the format and structure of the log file and its mapping to the mind map. Therefore the readability is poor. A solution for this would be developing a new declarative language to map the information of interest in a log file into a mind map and generate the script from the declaration under the hood. I have already done some work on this and have submitted a paper to another conference. Apparently most expert rules are easier put in vague terms than expressing in crisp logic. Therefore it would be a good idea to add the capability to the framework to work with fuzzy rules as well. Although it’s possible in the current implementation to write a script to generate custom reports, the task will be much more intuitive if the report format can be designed in a integrated development environment with a designer. Developing such a designer is one more interesting future improvement.       



That ends the presentation and thanks for listening.

Saturday, June 25, 2011

What Women Want


This is an old and a difficult question. I guess thousands of men hit their heads on stone to find a rational answer to this. Jacques Lacan, a well known french philosopher, says the following story regarding this.

"Let's imagine a person X is sitting alone in a restaurant and a couple enters from the door. X notices the couple. Whom from the couple (man or woman) will X quickly stare at? If X is a man, of course he will stare at the woman. There's no question about it. However, if X is a woman, upon which one do you think her eyes will quickly land on? The man? Not really. She too will check out the woman. But why? Admittedly, and understandably, the woman's object of desire is the man. However, that itself does not drive her gaze. What she is really interested on is the woman whose object of desire is the same man. Who is the woman who wants this guy? Why does she want him? This is what drives a woman's gaze."

Confusing enough? However I think one cannot blame the author because of the inexplicable nature of the subject. I read this in an article written by Lacan some time back and repeated it in my words. In my experience I can say that Lacan was particularly correct here. 
Inspired by many experiences, I created the following story to express my opinion on this. It is described in the form of an experiment.

Go to a guy and offer him a pencil. He might accept it with gratitude or refuse it giving a reason. Pretty simple. Now approach a girl and offer the pencil. Most probably she will refuse it with some reason. Now you have to say this. "Fine, that other girl loves pencils. I'll give it to her then". At this point I can predict the girl's response precisely. "No, No; Don't give it to her. Give it to me."

The story might sound silly, but I suggest you (especially if you are a guy) to put it in parallel to your life experiences and check.
Although I'm not smart enough to come up with a satisfactory answer to the original question, I think this post can be ended with the following useful conclusion.

"A woman wants something only if she knows that another woman also wants it"


අසංතෘප්ත



පුපුරා යන වළාකුලෙක
උතුරා යන ගං මෝයක
දැඩිවී එන රළ පහරක
උසුලා නොහෙනා භීතිය
හැඳින්නේද නිවැරදි ලෙස


වියළී ගිය තුරුපතකට
වැහැරී ගිය දැව කඳකට
විහිඟුම් අරුතක් එක්කොට
සතුට සෙවිය හැක මිහිපිට


මල් කෙමියක රොන් අවුලක
පීදී එන ලිය ගොමුවක
නුරා පිරුනු හැන්දෑවක
සතුට තිබෙන බව කියන්න
සතුට දුටුව බව කියන්න
එපා සතුට මෙහි ගෙනෙන්න