03 December 2008

My Views on Collaboration

At work, I have been given a responsibility of driving a initiative which needs collaboration. The word collaboration is a buzz word which every organization is using. The collaboration seems to be catchy because ten thousand minds together can do wonders rather than ten thought individual minds. Theoretically, it can be proved that it is true however there are difficulties in applying it practically.

In order to be truly collaborative, first thing that you need to knock off is being defense. When something goes wrong, pointing fingers does not help. The moment someone points figures, the entire dynamics of the game shifts and sometimes leads to uncontrollable chaos. Try to not to be defensive.

The second thing that is important is reaching to a consensus. When you truly collaborate with many people, there will be N different views and you cannot simply neglect N-1 views and go with one view abruptly. Also, at the same time, the team needs stop wavering and reach to a conclusion. So the second thing is "reaching to a consensus" democratically and without prolonging the decision making much.

The third thing that is very important or may be we can call the outcome of collaboration. It is understanding among the team members. Somewhere, I heard that fishes teaches their kids ,how to swim, with their eyes. Do you believe it? Is it possible? In fact, the nature is giving us the answer that it is quite possible. Another important thing in collaboration is to identify what your partner/team thinks and address their issues/concerns before they ask you. This third thing is very hardest to achieve and most of us don't even try to do it.

When you put all the three things into use, the possibility of getting disruptive outcome is higher and you can be proud of being collaborative. If you do not do all the three things then it is not collaborating.

01 December 2008

Dedicated space for students

I started this blog with primary motive to help students by mentoring them and fill the gaps by interacting with them. When you interact with young minds, you also feel energized and excited. Later, came up with an idea of starting a dedicated website and I was fortunate enough to get help from my friends who are brighter than me.

We also named the initiative and rolled out a month back. We call it as "Open Gyan" and the website address is http://www.opengyan.com. This is the space dedicated for students focusing on filling the gaps, giving them the deserved exposure. I am going to discontinue the posting related to students as we have Open Gyan.

Please visit Open Gyan.

Focus on state not on Status

I happened to hear one of the best discourses of Swami Paramahamsa Nithyananda where He talks about “Being in the state” and “Being in the status”. He talks about the students seeking a Guru are focused on the status and not paying attention to the state of the Guru. This particular thought can be applied anywhere not necessarily to Guru-Disciple relationship. This is an eye-opener and this differentiates a true Karma Yogi from the rest of the others.


When you focus on the state and have an eye on the state of the master, it leads to inspiration and ultimately leads to status of the master. On a contrary, if you focus on the status, you become blind to see the state of the Guru. This remembers me a great story of a Guru. A student goes to a great Guru. He asks, “How much time will it take for me to become a scholar”. The Guru tells, “fifteen years. Then student asks, “If I double the hard work”. The Guru says, “It will take you thirty years”. The message is pretty clear focus on the state and not the status.


We can apply the same concept to management without changing even changing it a bit. If one wants to become a leader (otherwise CXO), we need to understand that it is not a position but a state. It is state of delivering, state of accountability, state of being responsible for the stakeholders, state of having highest level of integrity, state of accepting and so on. This remembers me the words of great motivation and leadership guru Robin Sharma “Leadership without Title” where he says that anyone can be leader as it is quality. It is not a certificate or a degree. The phrase “Leadership without Title” is another way of putting “Being in the state, not in status”.


We need to work hard to reach the state and prove so many things on the way, pass so many litmus tests. But once you reach the state, then you do not need to prove to anyone that you are capable. The very nature of our state will make us to act right and the state manifests itself in so many possible ways. The state brings you the status, yet we will not focus on the status.



23 November 2008

Dream comes true

It has been a very long wait and the chicken took too much time to hatch. Finally the dream of starting an initiative to help out students seeking exposure in IT. It is three year aspiration and more than four months of thinking, debate and discussion. Finally, it was a happiest moment and one of the fulfilling moments in my life when we launched Open Gyan last night. As of now, we have the web existence and eagerly waiting of physical existence.

Please check out our new website Open Gyan

As of now, Badhri and myself are writing something there. If you are passionate to share your knowledge and if you can write articles in simple English, please do email us.

09 November 2008

GridGain - Yet another short blog on Grid Computing

Sometime back, I wrote a blog on Grid computing. I came across the definition of Grid Computing from Wikipedia and my knowledge on Grid computing is very negligible if not zero. The concept by itself is very interesting. One the reasons why Grid Computing did not find its place with enterprises is due lack of flexibility. I was chatting with my friend Veerabahu on Grid computing. We were talking about JPPF (Java Parallel Processing Framework).

Few days after that my friend sent a message about another Java based Grid Computing framework "Gridgain". I was very much impressed with documentation and tutorials. I am yet to try the software and probably it may take few minutes to complete a simple application that has some task running in a remote machine.

My first impression about GridGain is that it is simple to use.

Though the concept around grid computing was sound, it did not get enough respect due lack of flexibility and the authors of GridGain say that "GridGain" makes Grid computing much easier.

May in a week or so, I will be writing yet another blog on "GridGain" and share my experiences with GridGain.

04 November 2008

Mini Project #3 - Process Tree in Linux

Mini Project #3 - Process Tree in Linux

A process is a program in execution together with a state comprising of open files, environment variables and pending signal. In any operating system, a process is normally created by another process. And the process dies when it calls the system call "exit" explicitly or implicitly. Each process has relationships with other processes in the system. This mini project is to write a simple tool that dumps the process tree - how one process is related to other processes. The output can be text which can be parsed by other tools.

You have come up with the format and information that should be displayed which can be of use to the users of the tool. The information can be like state, total run time, files opened and pending signals. Here the key is the performance and hence implementing this kernel module or system call is recommended. Initially, the focus should be on getting the information not the formatting the data. Later, the output from the kernel module or system call can be read by parsers implemented in Java or other programming languages.

After implementing this mini projects, the team members will get a good understanding on Linux kernel, important data structures and they can continue to learn Linux on their own by just walking through Linux source code. If you are interested, please submit your intent through email.

All the mini-projects hosted here are open and free. Free to learn and free to be modified. This is a attempt to help students community. This mini project and all other mini projects help you understand the respective areas and gives you insight by doing it.

Two best books on Linux Kernel Internals

Linux is one of most popular kernels around and it will continue to be the darling till foreseeable future. Linux is not Unix. Though it has taken the best practices from Unix and it never pulled off in pushing back some of the concepts which were not good. Today, Linux is growing to be one of the best server operating systems, embedded operating systems and also powering super computers. Linux powers watches to super computers and over a period of time, it has become platform independent.

Over a period of time many Linux distributions evolved and many of the distributions are widely deployed. If you find any Linux geeks and find that they will already have a distribution on their own. Interesting the surprise is not so much for people who stop with user space. If Linux user space surprises you and it is good for you to stop there if you have a weak heart. The surprise will be more and excitement will be more when you start see what is inside, leave alone understanding it. When you start smelling the code, you start understanding it.

But for dull guys like me, having a book or two that explains about Linux kernel indeed help a lot. After hovering Internet for Linux kernel books, I found two books. FYI, this happened three years back. The first book that caught my eyes was "Linux Kernel Development" and the second one was "Understanding the Linux Kernel". I preferred to buy Linux Kernel Development simply because it was thin and I thought it would be easy read. I deferred buying the second book. By decision of buying Linux Kernel Development was right. This books teaches the readers about Linux kernel and importantly you do not need to be a kernel developer. If you have fair programming experience and logical reasoning, you will understand almost 95% of the book. The author, Robert Love explanations and commentary was so lucid and one can practically validate the learning by hacking Linux source code. If you are starting to learn Linux, I recommend you to soon come to kernel space and it will be great experience if you start your journey with this great book.

After reading the chapters on Process, scheduling and system calls in Linux kernel development, you will certainly get a burning desire to hack Linux. That is where the second book comes handy. The second book "Understanding the Linux Kernel" is an handbook with numerous pages with lot of details about the implementation and design decisions. You will find a lot of code taken from Linux source code and explained side by side. My recommendation would be read the chapters in the first book and follow it up with the corresponding chapters in the second book. Then first open the source code and validate what authors say. The learning and understanding will be effective if you complete at least one cycle - First book, second book and source code. You understanding will improve when you repeat the cycles number of times.

Be one of the many guys who smells what Linux kernel is, it is lifetime opportunity.

01 November 2008

Understanding the roots of ancient India

India in 20th and 21st century has undergone a lot of modernization. The early part of the last century and later part of 19th century was very crucial period where we lost all the treasures and best practices. We have lost the originality which differentiated our tradition from the rest of the world. The ancient India had great teachers and they imparted education to their disciples. The students were knowledgeable. Due to western influence, the ancient way of education is corrupted and we are so confused. When in India we crave for pizzas and burgers. When we go to foreign countries we want to taste Indian cuisine. We are so confused. This also applies to education, learning arts like music and dance. While in India, we have excellent gurus who can teach us but only when you go abroad, suddenly we get a feeling and want to connect to the roots. There is nothing wrong in it but it is always good know the roots.

I am not against modernization and I am not against change. However when modernization enters in to selfish society, it reaches to hell. On the way to hell, it makes everything as commodity. Once the education was rendered as service and today seeing an interest groups or institution without desire for money is very rare. There is nothing wrong in trying to change this world. Even modernization will bring good things. These days it is very uncommon to see persons rendering social work. Excuse me, if you think visiting old age home is social work, it is not.

According to the current scenario, there should be many number of engineers and many of us sitting in a hide out, imagining our own life and future. We never make conscious decisions to elevate the society and we never try to make knowledge based society. When we create knowledge based society all the current days shortcomings like poverty, terrorism, unemployment and unlawful activities will reduce to zero. So far, we are treating the symptoms rather than the disease. When Edison died, he left this earth making this planet a better place. When Einstein died, he left this planet a better place. There are very few individuals like Edison, Einstein and Gandhi server the mankind. We, like Edison and Gandhi, take freedom in our hands and make this place a better place.

Amidst our personal and professional life, we often forget our social responsibility. May be a Sunday evening to a slum to help first generation students on computers, may be a Friday night chatting with a college students and help him to find his way. These are simple things which won't much of our time. But the wonderful thing is that, these few minutes transforms the life of the person at other end. It is a paradigm shift for him and he is liberated from his complexes. He will stand up with a lot of hope, confidence and dream.

If you have read this far, you might be thinking in similar lines. I am ready to join hands with you and make a knowledge based society. Knowledge is the only thing that grows when you give. Dreaming to build a knowledge based society which is self guiding and self correcting. Once we do that, we will be reclaiming our roots.


31 October 2008

Next Technological Wave - Is it going to be distributed computing?

The late eighties and early nineties were the revolution of Internet which paved way for so many people to communicate with each other. Internet greatly reduced the cost of communication and today there are so many ways of getting in touch with closed ones. Needless to say, Internet has build a platform on which many network application can be deployed - may it be related to business, education, social networking. Now the networks have become more intelligent and sophisticated. They are not mere networks but they are platforms to host services and solutions.

The later part of nineties led to developments of network security, voice and video. Now, the entire network space is innovated enough as far as technology is concerned. Now, from here they is going to be a lot of innovation in using network as platform, network as solutions. For example, Telepresence is not only elegance of network but also innovative solution. It has the capability to bring people closer to each other. Another example is using networking as platform, Web 2.0 have evolved. Because of Web 2.0, there are so many business opportunities like online advertising and affiliate programs today. Truly, we see a lot innovation in providing a solution where networks plays a very critical role.

Few years back, Virtualization as a technology existed but for people who are crazy about technology. Virtualization was not offered as solution of business people. A gradual shift happened due to green technology, cost optimization and advancement in virtualization industry. Slowly, by the end of 2014/2015, Virtualization technology might get saturated.

From my point of view, the next wave and possibly a much bigger way will be seen in distributed, grid computing. When network become a platform and if the cost on infrastructure and services are reduced, there will be more systems connected to Internet. If the more and more systems are connected and roughly 50% of the resources will be idle at any given time. If there are one billion computer users, there will 0.5 billion users idling their resources. But the idle time of systems can be monetized by lending to Micro Computing providers who sell CPU cycles to people who are in need of CPU cycles. Mirco computing providers will be the agents who buy CPU cycles from idle computer users and sell it enterprises. Thought is it a wild imagination, it won't take much time to make it a reality. It is right time to think about a business model around "Grid Computing" as there are lot of opportunities lying there.

So, the next generation technology will Mobile Technology, Distributed/Grid Computing but still Network Technologies will be there. No technology gains momentum until one put up a business plan around the technology and market it. The key to any technology is right business model and right marketing.

30 October 2008

Mini Project #2 - Object Visualization

Mini-Project #2
Java Virtual Machine takes care of garbage collection. An implementation of garbage collector needs to have so many algorithms to reclaim the memory of unreferenced object. An important condition for garbage collection is reachability of objects and the objects have to be live. The objects that are reachable from root objects are said to be live and hence not eligible for garbage collection. The objects that are not reachable from root objects are said to be dead and thus can be garbage collected.

The idea is to implement a object visualization tool for JVM which gives a map of live objects, dead objects and various areas of JVM. One more requirement is to have a strong design that helps to build features at later point of time. If you already know Java, you can implement this tool in six months (and with two hours of work everyday) and if you need to learn Java, may be you need 7 months. But be ready for a strong learning curve. This project can be done group of 2-3 people.

If you are interested to do this mini-project, you can get the full details through email.


28 October 2008

Launching Mini-Projects with Project Specification

Mini Project #1

The latest and past few versions of Java supports "Hot swap". The host swap is nothing but a term usually refers to changing the components of the system without stopping system. Java Virtual Machine also allows to hot swap the loaded classes and the developers can modify the class and request of reload. This is particularly useful for developers when they are working on code. In order to implement this simple tool, we need to use Java Debug Interface.

Now, this requirement is for writing a simple tool using which one can connect to JVM running in a remote machine and load classes from the local machine. If you want to know more details, please do email. (This is an academic project and person who is new to Java can implement this within 3-4 months timeframe. Also, this gives an excellent exposure to many aspects of JVM which will make your understanding of JVM better).