12 October 2009

Privileged Moment - Slightly Feeling that I m Making Sense

It is exactly 11.30pm (12-Oct) and just now finished talking to my office buddy. I met him once while giving a presentation on how to write white paper. One of my teammates recently told that this office buddy wanted to talk to me. When I listened my teammate, he told me that "Lakshmi, my friend wants to talk to you and he really likes the way in reinvented myself". He went on to say that "whatever my inner guy says that holds now" and that we call it passion. He has started to find resonance and no doubt he is going to be a rock star - it is exactly the resonance of "inner thing" and "your action". When time comes, I will introduce him through this blog. BTW, he is a great guy and just trying to become greatest working on his daily improvements.

I feel that now I m making little sense to people around me. It is a great feeling and it is my privilege to help people to see through things (i do this by just asking questions. I m equally excited because I feel that this is going to be a turning point in my life. I m going to meet my office buddy tomorrow (13-Oct) at 7.30 pm and we fixed the date/time just few minutes back.

Life turns exciting at anytime. Thank you my dear friends. You add a great deal of value to me.

08 October 2009

Leadership 101 - If you cannot Change, Don't Complain

Many of us often complain that things are not perfect or near-perfect. Being perfect is very difficult and nearly impossible and so is near to perfect. But, we can always try to be perfect. When it comes to others, we will have highest standards and see others' accomplishments as tiny. But when it comes our accomplishment we always see them through lens. This mentality introduces a fake inconvenience and we pass on our negative emotions to the environment. We question, then we complain and finally we fly away without causing any trouble.

But did we think that "flying away" is not a solution. If you fly away thinking that the other side of the river will be good, you will later realize that it is just another bank which is as good as or as bad as this bank. Mere complaining is a sick way of looking things. It is ok to complain as long as you authentically find ways to fix it. The complaining is the tool of people who solve problems and it is not tool to vent out your negativity.

Next time, when we complain, we need to find what are we going to change with our complaints. Then complaints make bigger sense.

06 October 2009

How to become a better developer?

Once I was traveling in a bus and my school friend (who is also a software engineer) asked me how to become a better developer. He was a Java developer and asked me how to be a better Java developer. What are the things that one should learn to become a better Java developer. I answered him that "first be a developer" and then "try to become a better developer". I strongly believe that any person can be a better person only by asking questions. The questions has to be open and push one's own thinking and also others. It is the curiosity and questioning will make us better.

If you have whole a lot of experience and if you just ask closed ended questions, you are quacking like ducks. You can be a better person in saying what a thing does. But you cannot be a person to make something better. It is of no use either to you or anyone around you. First criteria to become a better person is to ask questions that provokes thinking. Once you ask such questions, you will automatically become a better person, better human being, better developer too. Questions matter a lot.

05 October 2009

Where does the Next Business Opportunity - Tourism

While many of educated ones go for starting up a tech start up, there are few things that is currently evolving that has a potential for a fantastic business opportunity in future. India, as a tourist destination is evolving and in a very short future we are going to witness increase in number of foreign tourists. Even the people of our country want to explore places by touring across states. Tourism is evolving as experiential tourism and adventure tourism. The people who tour the country want to know about culture, social, economy by experience (by living with masses in tourist destinations). Another aspect is adventure where people tour places like sea, lake, mountains as adventure. If you are avid traveler and fond of traveling, you may want to think or see traveling from business point of view. It is for sure pays off in future. Doing couple of certifications and investing in allied areas such as food, photography, travel and other adjacency will also help.

04 October 2009

Gods in Bus - How to Live? One hour story

Yesterday, I was traveling from Villupuram to Chennai after meeting my aunt at Villupuram. I boarded the us around 6pm and the journey was as usual. There was a old lady around 85 years also boarded and she came alone. Somehow she got help from a young chap and said that he would her somewhere in Chennai. There was also another Mr Vasudevan who is a priest and spiritual person. The first few hours went as usual.

Everyone in the bus expressed concern about the lady traveling alone. She tackled everyone with some reasons. Mr Vasudevan also interacted with her, being a spiritual person his interaction was much at the higher level and he connected with the old lady pretty fast. It seems like the lady is in some Pandurangan temple and plans to visit Kasi to attain mukthi. Mr. Vasudevan asked her, if you are with Pandurangan, why do you need Kasi? Why do you want to go to Kasi in this old age? You can attain mukthi in your very place. If possible try to chant and offer work in the temple that your body allows. Else keep quiet and just attain mukthi.

The Patti was quite impressed and took it as order from HIM. She said that she would go back to the temple and never come back. She also blessed Mr Vasudevan that he should get married soon. The bus stopped at Tambaram, both of them got down. Mr Vasudevan gave her ten rupees and they parted as if they are true/long friends. During the journey there was some spiritual discourse and bhajans by Mr. Vasudevan and Patti.

But I could see heaven in the bus for an hour. I learned on how to make meaning and be useful to others.

30 September 2009

Problem Solving - Tools are Different, Techniques are Same

It has been a while and restless search to desperately find something, something that is invaluable to me - the experience in solving problems. Without knowing what to do, I have been wandering here and there for a while (close to seven years) only to find that problems can be difficult, the problems can be different, but the solution is common. The solution is to solve them. During my wandering, I found that algorithm of solving problems is same. But the application of algorithm will be different. Let me explain with an example.

In order to explain with a software engineering example, let us take "traveling salesman problem". This algorithm gives near optimal solution to reach nodes of a graph. This is a single algorithm but can be applied in courier distribution, aircraft industry to optimally fly aircraft between destinations and many more. A mathematician cannot say that he cannot solve airline problem if he can solve traveling salesman problem. If this can work for math, can't it work for solution problems?

Yes, it will work perfectly fine for solving problems. If we have experience in solving a single problem, it gives us knowledge to solve many problem and we understand the process of solving problem. When we are trying to solve the problem, it is the approach that gives us solution. The solution is not really the outcome of knowledge you possess but an outcome of the process you follow, the approach you choose and your ability to think through the problem - techniques are same, tools may be different. In order to solve the most difficult problems, first you need solve one problem and the rest is matter of time.

This is one of the priceless lessons that I learned when I wandered like a mad guy. :-)

29 September 2009

OOPS - What is Abstraction?

There is song in a movie in Tamil (Alavanthan) and the song sequence happens in a party. Everyone would crack joke and our hero would share a joke. Here it goes. "A little kid asks his parent. What is the meaning of sex? And their parents explain with a lot of struggle. and try to explain the meaning of sex. Finally the kid just asks, Should I check male or female in the application form". We, the developers, without understanding what is abstraction try to develop application. For a kid it does not make sense to say intricacies of something as it incapable of understanding that something (example, sex). The parents should abstract the idea in a form that is sufficient or needed for the level. And sometimes the details are not required.

Another example of abstraction in real world could be appearance of beach sand. For someone who sits on the beach, the sand will appear course but for someone who is traveling in an aircraft few kilometers above the sea level, the beach itself appears as a thin line. In the real world, the abstraction is quite common and we human being appreciate abstraction quite well.

Let us take another example. How will you tell your find that you are going home? Assuming that your home is in "Nanganallur, Chennai, Tamilnadu, India, Asia" and you are in S"an Jose, California, US, North America". You just say that you are going to India. But when you are in India, you give more specific address.

Yet another example of abstraction is someone taking bath. If someone is taking bath, you hardly worry what he is doing inside. You never try to investigate what someone is doing in bathroom. But the guy who is taking bath, he does it with a lot of details. You shed out details when it is not required. Interestingly, in real world you clearly know when to shed out details.

So abstraction is something that gets built up as you move up the hierarchy and you leave out details intentionally to make the concept more generic. Now again, go back and reread the real world examples. It should make sense. Then correlate with abstraction in object oriented programming.

28 September 2009

Article Publication - Mere Coincidence

It is an important milestone in my life and my career. I m completing five years as author of Linux for You and I am wondering how I still continue to write. I still remember the day I had a discussion about threads with my colleagues and went ahead to write a multi-threaded program in Linux with POSIX threads. Fortunately, my lead was writing articles for LFY and thought I could also write articles. I contacted them and they were prompt to reply that "Introduction to Threads" was already published and asked me whether I can extend it.

I suggested another topic "Synchronizing Threads" which was accepted. The next article was implementing the system call in Linux. The first two articles were written in quick succession and still remember those moments. For all these years, I have written more than 20 articles in many areas - Linux, Network Security, Java, Javascript, Tools and Design Pattern. Later this gave me confidence to speak in conferences that are related to Open Source like LinuxAsia, GNUnify, OSI Tech Days, and Software Testing/Engineering like STEP Auto.

I remember the editors who helped me during this journey - Rahul, Tina, Samartha, Atanu, Sujata and Atul. I made so many prints because of you guys. Thank You. You played a very big role in making me an author :-).

But writing for LFY was mere coincidence but I can say for sure that it ignited me to move towards excellence. It gave me a very big platform to continuously learn and share with others. Overall a period of time, I was able to write something on my own that makes sense and of use to others. You can find all the articles published by me here. It is a wonderful feeling to be part of Open Source community and writing in Asia's best open source magazine. Thank You Linux for You.

Looking forward to collaborate with you.

List of Articles Published in Linux for You (scroll down the page and go to Publications section)

27 September 2009

OOPS - Rules of Overriding?

This is a typical interview question. What are the rules of overriding. Here goes the answer
  1. The method in the subclass should have the same signature as that of the method in super class
  2. The method in subclass should not be more restrictive in the context of access specifiers
  3. The method that overrides the method in super class cannot be through broader exception meaning that it cannot throw the super class of exception thrown by super class.
  4. "final" method cannot be overridden
Leaving out the last condition, as it is obvious, is there a reason for top three conditions. Why does Java (or any object oriented programming language) have this as rule? Is there any logic? BTW, this is not a standard interview question. But a question that provokes thinking. Will post the answer in couple of days (meanwhile if you know the answer, write in comments)

26 September 2009

Big Aspiration - Making Myself An Architect

I have written in the past about my lack of focus. I feel that if I focused more I would have feeling better now. When I sit back and think, I have few reasons to cherish and to feel good but overall I feel that I could have done better. I have come up with a list of things that I should do and planning to correct my approach with a year long immersion and self realization program. Yes, in a year or so, I planning to transform myself as a software architect. The primary purpose of this immersion program is to bring in focus and discipline in my efforts. I need to think properly and realize importance of channelize my efforts.

Hope many of you agree that as we become more experienced the things that are expected of us will grow exponentially. An experienced guy cannot create wow by just putting efforts. Even at a personal level, the satisfaction due to hard work will be for a while but fades out gradually. The satisfaction due to thinking, mapping the results against the decisions due to the thinking and impact created to fellow human beings due to the results will drive us towards excellence. Becoming an architect is the first step and during my journey I will share my thoughts through this blog.

If everything goes good, I will be rolling out a workshop on software design and architecture. I aspire to conduct workshop to change perspectives and remove prejudices that are not needed or hinder healthy thinking process. To stay on course, I have created a page, TinyThoughts and this will be under construction for a year. After a year, TinyThoughts will take shape.

This is another way of taking control or becoming an architect of one's own life. It is great feeling :-)

24 September 2009

Innovation - Simplification and Abstraction

I had a very vague understanding about innovation and trying to get good perspective by reading books, sharing experiences and seeing innovation live. Innovation is all about seeing things differently when your trousers go down :-). In my life, I had a great opportunity to live very closely with a person, who, in my perspective is very innovative. She is my elder sister who always moves through the problems to find solutions. She literally sees things in a different angle and many times she solved my problems. She has a great skill - she can simplify a problem and register the problem/solution at a very abstract level so that it can be applied to a different unrelated problem.

Innovation is about abstraction and simplification. You are working on a problem and it is highly likely that you will come up with a solution. This experience gets registered in your mind. Whenever you encounter a similar problem, you just apply it. You become machine. But on the other hand, the innovation is more about applying your experience and learning to a totally unrelated problem. That is humane. The first step towards innovation is simplification and abstraction. Then comes, the application of acquired knowledge.