Friday, April 1, 2011

What Is The Ultimate Aim In Life?

For long has this thought haunted me - "What do I need from my Life?" "Why am I born? What should I do? Why was I created?". I definitely don't know the answer to these questions. But I want to collect all the thoughts that have been running through my mind and put it here.

Being a software engineer, I sometimes think that - "Is this what I am destined for?". I am sort of ambivalent about it. I don't know whether I like it or not. I just do it. When I entered my company, I was amazed by the culture of the company and the kind of resources I had at my disposal. I enjoyed thoroughly. But now, as time has passed by, I never have the same enthusiasm on things I used to have some months back. I hope that is the same with any profession. Something when better, attracts you for a while, but when you get used to it, the craze on it goes down and you go in search of something else. Attraction can neither be created nor be destroyed. It just gets transformed from one state to another. This cycle continues throughout the life.

But will there even be something which by itself keeps on changing keeping me attracted to it forever?? Or am I too ambitious? Or should I find something in my daily work itself which will keep me involved? I don't know. 

I have always had the feeling that I should not live a so called "normal" life - Eat, Sleep, Earn. Is this why we are born? Even if I don't go too much into philanthropy, I at least want to do something which I will be proud of for being born. Something that the future generations can use. Something that defines and changes the world for goodness forever. I don't know.

Sometimes, when you try to make a fast forward of your life and see where and what you ll be in some years time, you ll find that you end up at the same point where you started. Let me fast forward my life and prove it to you. Now I am an software engineer - age 22. Assuming that I continue this for some amount of time, what would I want to do? - Obviously Earn More Money. Then buy a car?? - age 28. Roam around the world on client sites. Change Company. Do the same thing. Then marriage, kids. I would be what 30-35 years now. Then get a house - age 40. Then what? Higher post. Greater Salary. Management. Same damn thing for up to age 60. Then what? Grand Children. Medical Problems. Death.

How different is this from any "normal" life? At every stage in the above mentioned, I will definitely look back and think, if I had done this, then I would have been like this. What the hell? Never had I appreciated what I am now. We are never living in the present. It is always what we have not done or what are we going to do? I feel it is useless and there is no thrill to lead a life like that. Enmity, Ego, Greed, Hatred - all these are part and parcel of life but they are more for those who don't live in the present. Love is the ultimate thing in life. Live in the present and love everyone. Not to sound like a person who has found every answer in life, I have never believed in the concept of "nirvana" because it means that you are either a coward or you don't appreciated the beauty of His creation. But I at least feel some relief that I have found answers to some real problems which are killing people everyday. The future is uncertain and I don't care about it now. What I am going to do? What will I become? I don't know. But at least I don't care about them now. Screw it!!

I think this is the most random blog I have ever done. But whomsoever reads it, if you have had any of the thoughts in it, I hope you ll understand me or you ll be in the same state of thought as I am in now! For others, Sorry for wasting your time!

Saturday, March 26, 2011

"The Theory of Everything"

Of late, I have been watching a lot of documentaries about Albert Einstein - the eternal genius. I have always had a lot of respect for the guy but not until doing some research and the videos about him it struck realize his greatness. In this blog, I would like to just write what ever comes to my mind about Albert Einstein and speak about the genius of His. So excuse me if the passages are not cursory.


            Albert Einstein, if we think about him, we remember the first picture below.




But how many of us do realize that when Einstein presented his masterpiece the general theory of relativity, he was as young as the one in the second picture.


The year 1905 was one of the greatest years of Albert Einstein and for the whole of mankind. He completely changed the way people looked at the world and purged the Newtonian essence in the universe. The genius of Einstein lied in the fact that he was able to think and perceive that "Time could slow down for Light". Speed of light is the only constant in the universe and it was not time.  Time slows down as your speed increases. Wow, What a genius!! I just get goose-flesh when i even think about this fact even. What a remarkable moment it would have been when this fact struck Einstein's mind!


It is only ironical that he was not given Nobel Price for this discovery of His. I think no one even understood what this great mind thought and that's why he was awarded the prize for the discovery of Photoelectric effect in 1921. 


However, In the documentary, The Unfinished Symphonies, of Einstein, it says after this greatest masterpiece by Him, He was again onto some world changing stuff. What was that - "The Theory of Everything". Einstein's  discoveries had led to the birth of Quantum Theory. Quantum Theory summarized in one word means PROBABILITY. It means everything in this universe is a probability. Nothing is certain. Einstein, being a man of clarity, clearly hated his "Grand Child" as the documentary calls it. For Him,everything in this world has a definite and clear reason to happen and there was nothing which was probabilistic. He hated probability. 


Critics say that Einstein wasted, literally wasted the last 30 years of His life to disprove Quantum Mechanics. When the world had moved on and Quantum widely accepted, Einstein was reluctant to accept the fact. He summarized his view points with the killer sentence - "God does not play dice with the universe". The other end was Niels Bohr saying - "Einstein, stop telling God what to do with his dice".


However, Albert Einstein went to this death bed still pursuing His "Theory of Everything". It would have been great if the theory would have been completed. It would have provided answers for most, if not all, of the questions which seem eternal now in metaphysics. "Everything that has a beginning has an end". We would have known the end of the universe by this theory. 


But, given that the theory was not complete, we would never know for sure now about anything. Anything could happen anytime. I am not so much a philosophical but I feel that this should only be the act of God and no one else to take Einstein to Him, before He could find out the end of what He created. 



Thursday, January 27, 2011

Service Oriented Architecture

Hi Guys,
It's been a while since I have blogged. Without any shame on my face, I am going to say the same truth, "I was busy". There has been a lot of discussion going on in my team about this buzz word SOA - Service Oriented Architecture and I am here to just share my views on it.


According to me, Service Oriented Architecture is an architectural design pattern which you apply while building your application. There is/has been a lot of commotion around about whether SOA is good or bad but my personal view is that it is really fruitful if used controllably (Yeah, It sounds like One of those primary school debates, I understand - "Science - A boon or a bane to mankind", where the judge gives a diplomatic answer). 


Nevertheless, I ll just divulge my views on why it is both a boon and a bane and we can just draw a line as to how to use it effectively. Bringing SOA in the design of your application mainly means that you are conspicuously going to have multiple clients using your services. Only in those cases will I go for an SOA. So when we have multiple clients, we just provide the clients with a particular end point (URL) to hit, with a WSDL associated that specifies the operations we can perform with the end point. 


Now how do you design a Service? Can we multiple services in our application with only some of them being exposed, others being private? (or) Should we have only Services, with end points, those which we are going to expose to the client? 
My opinion is that since a Service is by definition that which is going to be exposed, to the clients as an end point, there should be no concept called Private Services. It is just an overkill to have services for intra-communication in an application. This is where Services will become a bane if not architected properly. Our application will get bloated up with a lot of end points. Lot of end points means a lot of message exchanges within the system which eventually means a lot of unnecessary network traffic. So we need to draw a line here as to when to create a service and when to just use the interface of one module in another.


One more question about SOA is that should we have centralised or a decentralised data - in the context of a service. For Example, If there is a Customer Service, in the case of centralised data, all data associated with a customer will only be present and accessible by the Customer Service and any other service, if it needs customer data, should contact this service. The problem I perceive here is an one point of failure. If the customer service goes down, the application by itself goes down and is screwed. 


Decentralised data, on the other hand means, since a customer data will be used by most of the other services, the customer data will be present as a local copy with all the other services and they do not contact Customer Service for trivial operations(lookup?, update?). The problem here as I perceive is that, as and when the customer data is updated, a message has to be sent to all the services to update their local copy. At any point of time, it is not certain that all the copies of customer data will be in sync.


Now this presents an interesting debate - whether centralised or decentralised data is better. (Obviously the question is only for data that will be used across the application and frequently and not for all the data. For other data, the centralised scheme is the best, because obviously that is OO way). But in this case, my point of view would be to use a decentralised data as my mind, heart and brain weighs that the application itself going down as the primary concern and anything to prevent that would be the ideal solution. But that's just me!! We can argue either ways!!


As such, there are many interesting design issues with SOA and I seriously find it captivating. If you are really interested in knowing more about what I discussed here, and you want to feel the heat, visit http://bill-poole.blogspot.com/. This is one awesome blog about SOA and for discussions. Most of the things in this post of mine are excerpts from that and from our team discussions. 


OK chalo, till I get another heated discussion in our team on some other interesting topic, Adieu!!