26 December 2008

Will this be "yet another year"?

Every year is passing by and the churn is the same. Personally, this year was fulfilling both professional and personal front. During the last part of the year, I was discussing an idea with my friend Rajkumar about starting a website to share knowledge. Finally, we, together with yet another friend Badhrinath, started a website OpenGyan targeting college students.

Assume that there is a wonderful person this world. Everyday he credits few thousand bucks (86400 bucks) a day but he takes the balance when he credits 86400 bucks the next day. In other words, he just refills to make to sum to 86400 bucks. What will you do? Won't you make sure that you fully utilize the entire money and make it zero bucks. In fact, all of us, irrespective whether it is holidays, weekends, festival and illness are receiving 86400 bucks but most of us do not utilize it fully. If you have not figured it yet, the answer is "number of seconds in a day". We often waste our time in unnecessary things.

So the first thing, I would like to do is "Not to waste time" and "Having sense of URGENCY". In Hindu mythology there is king who does his funeral everyday. When you have that, everything will fall in its place and the world will unfold new opportunities.

Being a human being, I would like to do many things such as reading/understanding few Unix/Linux books cover to cover, do some serious blogging on technology, make some meaning in my life (and others' life), just shed 30 kilos of my fat, read at least 2 autobiographies, 10 new books and so on. Unlike the other new year, I eagerly look forward for 2009 to see myself transformed.

25 December 2008

Cloud Computing - Redefining Internet (Part 1)

Cloud, often used synonymously for network is getting a traction. Cloud computing is a buzz word today and the technology is quite progressing in terms of deployment and communities are getting together to build technology and also suitable business model around cloud computing. Few days back, I happen to visit a youtube video quite accidentally and started to dig about cloud computing. In the next series of posts, I am planning to log my understanding about cloud computing from different perspectives - technology, bottlenecks, examples, related technologies, enterprise cloud, infrastructure and business model. Though my knowledge on cloud computing is very limited and experience is no more than just few days. However, I would like to post my understanding both from a layman's and software engineer perspective. If you want to explore further, kindly go through links and materials given in references section.
Cloud refers to network. It is a convention to represent network as cloud. Cloud Computing is a technology which enables the delivery of computing resources over Internet. Before discussing further on Cloud computing, let us quickly see few examples.

Example 1: Google Docs
How does Google Docs work? I am honest to say, "I do not know". Google provides software over Internet to its customers and the users of the software are not required to bother about how it works, where the files are stored, who manages it, what format it is stored. Also, you don't need install a piece of software in your laptop. It works across world and also in Moon. You can read your documents whereever you have internet. Isn't it?

Example 2: Web Hosting
Let us assume that you are hosting a website. In order to host a website, you need web server, storage (hard disk and databases), IP address, Domain name. You go to a web hosting provider and buy a package that fits your purse. The web hosting provider just gives a web user interface to manage your account such as host files/services. For you and your users it is still a website. However, your hosting provider may choose to run the servers/software on totally different physical systems but yet he is able to give you the flexibility of running in a single system. You are happy with your provider and so is he.

Example 3: Online bookstore
Assume that you are starting up a company like Amazon and you want an infrastructure to run your business. And you also know that building your own infrastructure is going to cost you more. You feel that you want to customize your business based on demographics which requires quite a churn in the infrastructure. You need to spend big bucks for IT infrastructure.

In the case of first example, you can see a lot of flexibility to the users in providing software as service. The users prefer software being provided as service. The first example need to necessarily be "Cloud Computing". It is just software that is being given to you over network. If you look at the example 2, you can call it "Cloud Computing" if you have all hardware/software being provided by Web hosting provider. In the third example, you want an infrastruture as service or computing as service. When you go for "Cloud Computing", your computing happens on Internet and the benefit for you is "Peace of Mind". If your core strengths are online publishing or running a bookstore, you can just do it. You don't need to have a big IT force. The "Cloud Computing" folks will take care of building networks, equipping your network with devices, install servers and software with accepted service level agreements.

So, in short, "Cloud Computing" is delivering computing over Internet/network without needing to know about anything about resources.


21 December 2008

Law of creativity evolution

I have been in an illusion that all geniuses in the world such as Einstein, Edison, Leonardo da Vince, Michelangelo and Darwin are only creative thinkers. Their hard work in producing the masterpiece is huge and their masterpiece is so massive and elegant that the quality of invention is sufficient to over weigh the hard word. Recently, I got an opportunity to start knowing about creativity reading a book of Michael Michalko where he talks about the how ideas can be generated, what are steps and takes through them progressively.

One of the thought that impressed me and I quite agree because of my similar thought in my subconscious was "Law of Darwinian Evolution applies to creativity". The nature ensures that it creates millions of species and combining many genes and it leave those species there. It is up to the species to survive against the time. The nature provides level playing ground and the concept of "Survival of the Fittest" is quite a powerful idea and the truth. The nature never deviates from the truth even by a negligible margin.

In similar way, the creative thinkers were able to play the role of nature by just creating so innumerable ideas. And finally, let the ideas to float and pick the right ones. To be precise, the right ideas manifest to their eyes. This is how most of the inventions are made.

Based on the above statements, I would like draw some inferences that will be useful to me and keep me focused. Creative Thinking is not feasible without hard work. Hard work is the basis and common attributes of all creative thinkers. If someone is able to generate creative idea, it just happens once as a mere coincidence. If you want to be consistent in producing creative idea, get the basic right which is work hard. This is evident from the fact that there were 3500 note books scribbled by Edison during his lifetime. So, work hard.

18 December 2008

Creativity - Yet another journey

A couple of months back, I bought a book "Cracking Creativity" and forgot about the book. Recently, when I was searching for some other book, I found this book and thought I should give it a read. It happens consistently that I never complete a book (except Freedom by OSHO) and I do not have any sort of complex of not reading the books completely.

I read first few paragraphs and found that I should read the book. My intention is not become creative but to know who creative people like Einstein, Edison, Michelangelo, Leonardo da Vinci and so many others saw the problem differently. There was absolute comparison between creativity and human evolution. The author conveys that the many speicies exist today due to "trial and error" approach of the nature. The nature creates many species and only very few survive many years. This applies very much to creativity. One generates different perspective and many solutions solving the problem. Then the "trial and rule" comes into play. The nature or system picks up one solution over a period of time and that becomes widely accepted solution (probably a best solution). So this ability to see a problem in different dimensions will by itself bring a variety of solutions to the table.

I strongly recommend this book to someone who wants to see the world differently and think differently. By the way, I just read few pages of book. Wait for sometime for chapterwise review.

14 December 2008

One more sweet killer whale - HCI

Until the recent past, I have been thinking that user interfaces are just an important part and face of software. I saw certain web applications in the web, the so called killer applications, which were one of the very few applications that stand out. The concept of usability is not new. However, looking at the current technological position such as Web 2.0, penetration of mobile and intensity of mobile penetration into the lives of people and the entire Internet becoming a platform for building killer network applications will certainly make yet another area to be hot. A lot of research groups will be formed (and already lot of people are involved) and many companies were built around the area which is "Interface Interaction".

Over the last 10-15 years, the Internet have become part of everyone's life. Internet has come to a state of non-denial and irresistible. But most of the web applications that are built in a very old way. Even today, one can find applications with sucking user interfaces and in many applications the user interfaces have become junkyard. Twenty years, it was fine to be like a junkyard. Today, the people have access to many killer applications in the web and it is reasonable for them to expect user interfaces on par with those killer apps.

Secondly, many companies that focused on user interface and product development with much emphasis on look/feel and performance are called as "most innovative company". Even in this tough economic slowdown/recession, many companies themselves as innovative. Let us not dig deeper whether they are truly innovative. But everyone wants to call themselves innovation. User interface is an area which is constantly undergoing disruptive technologies changes.

There is very few area that undergoes tremendous changes - Interaction design, Human computer interaction. A lot meaningful research are being conducted, communities are formed and conferences are held. It may take a year or two to see a high traction being witnessing a lot of innovations. But this area has a very big candidate for many disruptive innovations. Keep a watch and if you have 30 minutes a week, spend on HCI/Interaction design and this should make you the next CTO (lol).

04 December 2008

Get to action buddy

Many people say that they have potential and they can do anything in this world. While it may be true that they have potential and it may also be true that they can do anything in this world, but all the more important is to learn from one’s mistake and learn from the mistakes of others. Unless one does something relevant to ones potential, it cannot be known for sure what is ones true potential. The potential alone will not be helpful or sufficient to be a super star. It is the ability to mobilize the potential to results is all the more important. When you mobilize the potential to results, you get the experience and wisdom.

For example, when you store water in a dam it has the potential to feed many villages and many acres of land. But in reality, only when the dam is opened the actual feeding to villages and lands start. The potential is important and kinetic is all the more important. This is exactly why people from top notch institutions are hired as CEO even though they have the potential of becoming a CEO. It is necessary that you need to have potential to become CEO but it is not sufficient to become CEO. You need MORE.

The potential is one of the chemical in a reaction. When you make potential to react with your action, you get experience, wisdom, growth and many. I am sure, you have the potential. Get to action. See you at the top.

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).

27 October 2008

Is mediocre thinking sufficient in turbulent times?

This article is written by me, to me and for me. You find it useful, I am speechless. Your comments are welcome.

Recently, I happen to come across the website of Jim Collins and read his biography. I was very much impressed by the words "student and teacher". I found this striking similarity with all highly accomplished gurus. They always say "they are student" and their thoughts did not come from surface level. The thought of being a student is deep rooted into their subconscious, blood and cell. Once you want to be a determined and faithful student then nature (includes time) will give you strength to face the challenges and ultimately overcome the challenges like a cheetah. Every tough time has two sides. One side is real tough side and another side is opportunity. We get fear by seeing the single side of the coin and fail to appreciate the opportunity. Often, we tend to forget that the "tough side" is the gatekeeper. But this gatekeeper is honest, friendly, impartial and helpful. But for us, he seems to be a ugly, tough (really tough) and bad guy. He is there to give chances to deserving candidates who are patient, die hard fans of hard work, persistent and great attitude. But because of our very nature of neglecting the doors of opportunity, we tend to get away from the "tough side" as quickly as possible.

In fact I m not the first person to say this and I have read few books and all the great authors are expressing the same. So many of us are afraid of pain. If you ask an athlete he will tell you how good the pain is. The pain due to hard work has to be celebrated. The pain due to experience has to be rejoiced. The pain due to extra mile has to appreciated. Because, you are working, you are living and you are trying to leave a legacy when you depart from here. And leaving a legacy is a great thing and this world will celebrate thanking you.

Didn't Gandhi have tough time? Didn't Nelson Mandela have tough time? Didn't Martin Luther King have tough time? Every human being is engineered for success but success through failures. The man is not only-success machine and he is quite different from real machine, much more capable. The difference between an ordinary guy and great guy is fighting. Not giving an inch, not fearing about the failures, not worrying about the little pain. We are in tough time and may be toughest in our lifetime. I have few questions and probably some answers why I enjoy this tough time. These are only my point of view and as you know, the perspective vary. Having said that, I am ready change the stance if it sounds logical and reasonable. So your comments are valuable and welcome.

Why should I leave a legacy?
There is an interesting study where leadership gurus and management folks are learning insects those born, mature, spawn and die in single day. These insects were able to "do and die" in just one day. These insects are now leaving a legacy and we human beings are learning from them the management concepts. So we when leave, we should leave a legacy at least for our close ones. Leaving legacy is all about living fully and enjoying every bit of your life. By enjoying, I do not mean "Western type" enjoy. I am talking about spiritual joy of complete surrender and learn from the time with lot of faith. Then automatically, because of our innate nature we will get into cycles of living fully.

How can I make myself strong in human qualities, technically related to my work and leadership qualities?
The tough times, is a great master and he is a dictator. He never likes the word "No", and "Impossible". When you completely surrender and follow it faithfully, the great master will teach you human qualities, technical competency and leadership skills without any tuition fees. He will be your guru but a tough guru. He teaches giving you lot of pain. Over a period of time, the pain manifests itself as stamina and mingles with you and becomes your nature. So, it is complete surrender and faith gives us everything needed for the rest of your life (and also pays for your future generation). But he will not send you paycheck of million dollars ;-)

How can find a strategy to come out successfully?
The strategy is simple yet powerful. Complete surrender with faith.

What is in store for us?
This is one of the silly (probably most silly) questions. When you surrender, the expectations vanishes. When you expect, it becomes your goal not passion, it becomes part of your life not way of your life. This is something like seeing God in you rather than going to temple to visit God. Just rethink twice and convince yourself. But, my guru tells me out of his experience that the outcome cannot be quantified. He just used the word "abundance".

How can I increase my mileage?
BTW, you are not a machine like Honda City. But, you have to remember that you are going to work hard and try so many things. If you be obedient student, the nature will be loyal master and Mother Nature will teach you everything. Peace is assured. If you are looking for an improvement in your mileage, then be assured, you will have tremendous mileage.


Students Corner - Projects for You

My thought on improving knowledge is to learn and share. By learning one gets theoretical and practical knowledge. This is the first level of knowledge. But this knowledge might not give enough insights and deeper understanding of the subject. Only when we share and discuss with like minded people, my brain stretches itself for a deeper understanding. This is one of the reasons why I share write articles and speak at conferences. In that way, I am purely selfish.

I m so much excited to talk with students, work with them and help them to build their career. In this section, I am planning to roll out few mini-projects. These mini-projects are nothing big. They are pretty much easier to do and these projects will help you to understand a specific area such as Computer Networks, Operating Systems, Network Security, Java, Algorithms and etc. Since the tools/projects are simple, it can easily be done forming a small group with your friends (and of course I shall help you through email). Remember simple things leads to extraordinary things.

If you are interested in taking of any of the projects, please do write to me (My Email).

26 October 2008

Virtualization - Cost effective and Environment friendly

In the last few years, the hardware industry and its technological advancements are on par with software technologies. To be precise and honest, the hardware industry in fact outperformed the software industry by introducing so many features. In the past, particularly the processor manufacturers were focussed on increasing the clock frequency of the processors. The clock frequency saturation forced the processor designer to focus on other aspects to increase the processing power. The processor vendors used variety of other techniques such as hyper-threading to improve upon the processing power.

The recent day computers/hardware devices have more processing power and the hard truth is that less than 50% percent of the hardware resources are used on an average basis. In a normal day, the hardware irrespective of whether it is a desktop system, servers or servers in data center, all the resources are under utilized.

The pace of hardware advancement also forces organizations to spend considerable money on upgradation. But the worst part in upgrading is it that it soon becomes outdated within few months after the upgrade. The organizations spend hefty sum on upgrades. Particularly, the hardware upgradation may not be considered as investment but as running cost to maintain the existing services. By and large, there is no ROI for the upgrade. Also, after the upgrade there is greater possibility of throwing the old and outdated hardware. Having a lot of physical resources directly affects the manageability such as security and regularly maintaining the resources.

The next problem and most important one is energy. There has been consistent appeal from the entire humanity of conserving power. Not only that it leads to depletion of energy but also increases the operating cost. The fuel and energy prices are increasing day by day and the organizations are looking out opportunities to reduce cost on energy. The conservation of energy has twin advantages. First it reduces the operating cost and secondly it leads to Green revolution. But the more the hardware, the more it consumes power directly affecting the operating cost. Secondly, because of the large number of physical hardware, a lot of heat is generated and which once again increases the energy demand (spend time and effort to improve infrastructure for quick heat dissipation). The over consumption of energy is recurrent problem. To summarize, there are three main issues - low resource utilization, higher maintenance cost and higher energy consumption.

Considering all the above facts, Virtualization as a technology offers a lot edge. Virtualization is software abstraction layer allowing us to run multiple virtual operating systems in parallel. With virtualization one can run multiple virtual machines simultaneously and thus improving the resource utilization of physical resources. Since these virtual machine run on single physical server, it leads to energy conservation. Also, it reduces the hardware upgradation cost to a larger extent.

Apart from the main advantages, being a software layer, virtualization offers lot of features which increases the productivity. The entire virtual machine is stored as single file leading to easy archival. An important feature that must be mentioned is "Isolation". Each virtual machine is isolated (sandbox) and even the virtual machines running on the same machine need to communication through virtual network. This particular feature boosts the security of the virtual machines.

Virtualization is used in many areas such as storage virtualization, server virtualization, virtualizing application and also in software development lifecycle. Based on the research by Gartner, the virtualization market is expected to grow exponentially and there will be lot of organization showing interest for adopting virtualization.

Hope this article would have given an overview about virtualization. In the upcoming articles, we will discuss more on various virtualization products.

Please do share your feedback/comments.

Design Pattern - Introduction

If you are a software developer, your responsibilities include design, implementation and unit testing the software. Once the software released, the whole bunch of new issues suddenly creeps into your code and then on you will be running after each bug and trying to chase it down to death. In most of the cases, the bug wins and the developers lose. Sometimes, I used to think that there is an egoistic clash between bugs and developers both of them willing to fight till the last breadth. Irrespective of the honest effort, the bugs manifest in multiple forms - usability, functionality, performance, scalability and so many jargons. With current time to market pressures, the software community is pro-actively by changing the software development models - Agile, Iterative, Test Driven Development. These software development models give a framework to tackle the changes in requirements. These days it has become unwritten law to change the requirements, quite often. Even though, we have software development models that offer flexibility, doing the fundamental right will give you a lot more flexibility. Design Pattern is one such tool that helps by providing conceptual solution to common problems and thus decreasing the software development time. 

Design patterns are solutions to common problems. It is not a software tool, framework or library. Design Patterns are simple and effective ideas for common/repeated problems.  Since it is a concept, it can be reused anywhere in software design. The concept of design pattern must have be adopted by software development community taking an inspiration from architecture of buildings or civil engineering. The fundamental concepts and theories of building various types of buildings such as houses, roads, flyovers, auditoriums, cinema halls, communities and etc are same. For example, there are blueprints available to make various types of buildings based on the land terrain, climatic conditions and so many factors. But given a set of requirements, any experienced architect or civil engineer will be able to give you the plan for the building and when followed with fundamental concepts, the building will be made. So, the developers in software community also thought in similar lines and came out with classical ways of solving design problems. Hence, Design Patterns are solutions of common problem.

Like a blueprint, Design Patterns are template for complex problems. Once again going back to the example, the architect or civil engineer will know how to build buildings and what needs to be done. In similar way, Design Patterns are just ideas/concepts. They are not specific to a platform, programming language or an operating system. Design Patterns might have been used atleast millions of times by software developers and the concepts, principles are time tested. Hence most of the Design Patterns states which problem that it is trying to solve and of course the solution. In order to make things clear, apart from the intent and associated text, the design patterns are explained with the help of UML class diagrams.

Design Pattern makes our life easier. Say for example, someone comes to you and asks for "Can you tell the place where people go from one city to another, purchasing tickets. They will also wait on a platform for the vehicle containing a series of boogies pulled by an engine powered by electricity or diesel?" Won't you run from him?. The job would be much easier the person asks for the way to railway station. In software development, without design patterns, the developers need to beat around the bush to express what is there in their mind and Design Patterns makes communication fast, crisp and clear. So, Design Patterns are communication tool.

Having discussed about the design patterns, the rest of the article discusses various types of design patterns. Based on the applicability, the design patterns can be categorized into three main types. They are

1. Creational Patterns which primarily deal with how the objects are created and how to create objects based on a specific situation. The examples of creational patterns are Singleton, Factory, Prototype.


2. Behavioral Patterns identifies common communication patterns between objects and offers flexibility in performing the communication. The examples are State, Strategy, Observer, Chain of Responsibility.


3. Structural Patterns deals with realization of relationships among objects. Decorator, Adapter and Flyweight patterns are examples of structural patterns.

In this blog, we saw the basics of design pattern and its types. In upcoming blogs we shall see about specific design pattern with real world examples, class diagrams and how to apply these concepts into software development.

Summary:
1. Design Patterns are solution to common and repeated problems
2. Design Patterns are not library, API or framework or source code
3. Design Patterns help developers to communicate fast and to the point.
4. Creational, Structural and Behavioral are three types of Design Patterns

25 October 2008

Fail Faster, Succeed Sooner - Financial Crisis

The recent stardom of "Financial Crisis" made to see certain things which I never saw. I had to remind myself that I am a technical guy (but my natural interest in into business). In order to quench my thirst, I decided to read articles that are primarily focussed on business. The credits should go numerous business leaders who write passionately on a daily basis and the faults are mine. BTW, I just now started to think about "ABCD" of business and that is my exposure.
In this article, I am not going to analyze why there is financial crisis and who is responsible for that. I do not have the deep understanding on the financial crisis and without that deep understanding my views not worth to be shared. However, I hear people saying US recession is here round the corner. In case, if US go into a deeper recession, certainly it is going to affect the entire world. The concept of "Decoupling", "India growth story" are simply bluffs and often tactics used by Media for their revenues.

Being a software guy, I would like to bring out an analogy of this crisis to a catastrophic defect in the software. One needs to happier to identify the defect. Only if you find a defect, there are chances to fix. Looking at the financial crisis, many of the large banks are gone without traces and probably we can name the streets, localities and cities in memory of those great banks. I said, great banks but not perfect. Perfection is not possible, perfection is not reality. We need to understand it. These banks might not have understood the risk or taken the risk for granted thinking that it won't affect them. Interestingly and painfully, the situation took a "U" turn. It was like a man standing on a railway line when a train was speeding towards him at 400 MPH. Even if you want to move, you will be finished before you complete your thinking.

During 2000/2001, we had a dotcom burst and myself is a victim of that. It was certainly a slowdown but in dotcom. However, the current crisis is financial sector - includes banks who gives loans for individuals, venture capitalist who fund new projects and banks who give loan to start a business. Because of that, there will be no major new investment thus hindering growth. Growth is the elixir but one needs to have it on a continuously. When growth ceases, the businesses ceases. Once this crisis is over, all the entire world will be a equal playing ground for everyone. If you are a big organization and if you have not regarded small players, it is "OK" now. But after the financial crisis, it will not be "OK". This crisis is a crisis. It is one way of looking at it. Another perspective is to see this as tutor who asked you hefty fee. It must be learning of a century or two. If you just have few years of experience it does not really count. After the crisis, you will be having 120 years of experience and your competition which starts today will be having 100 years of experience. No great difference.

This is right time to be cautious and cautious of not stopping investing - may it be your stocks, your assets, your people, their competencies, looking out other businesses to expand your portfolio, talking to your customers to change business models, talking calculated risks, acquiring small and intelligent players who add values with you, bring in discipline in your strategy, acquiring new talent. We need to just do whatever is needed to grow in steady strides and not like a wild bull. The world now has to be faster in accepting the crisis. The CEOs, policy makers, business leaders and academia needs to jump in and say "The financial world is in Intensive Care Unit". We need to make sure that we "fail faster" so that we will succeed sooner.

Unless we stop telling that we are in slowdown and start telling the ground situation, it is going to be greater and longer pain for organizations, companies and people. It is natural law that good times are longer and bad times are shorter. Because of the theory of relativity (man waiting for a lady and man sitting on a frying pan), our perception visualizes this turmoil as recession of the century and it is going to take months to recover. When we had luxury for so many years, we need to be in tougher times too. When you swim against the tide, your stamina will increase. When you are in tougher times and when you commit serious mistakes, you think better, think like think tank.

So, the message from the crisis is quite clear. "Fail Faster and Succeed Sooner". See you at the other side of crisis - Harmony. If you read this blog by October 2009, this is outdated as you are in good and sweet times.


23 October 2008

On a personal voyage - To Davos

Somewhere I read, "Keep trying, only way how one can fail is failing to try". This thought had sowed seeds for my learning. So far in my life, I had so many failures than successes. My successes was not always bring me good fortune and they brought me satisfaction. My failures gave me confidence to try things and it is ok to fail. I had so many big dreams since my childhood - playing cricket with my friends, building a cinema theater, running a cow farm business, doing agriculture, reading all Linux kernel books, one day becoming maintainer of Linux kernel, completing all the five CCIEs and what not. Even though I was able to achieve little, my dreams held me to achieve, made me capable of reaching to a place where I stand. So far, I saw myself as a one of the guys and doing little "Extra".

But, when I close my eyes and reflect, I got a feeling that I got complacent and gave a gentle pat on myself for every minute of my hardship. I m one of the guys as one of my friends pointed out "self-pity" guy. I feel that I need to change and my eyes now started to fall on business - learning it, understanding it and creating successful business. My intuition tells me, if I pursue this thought alone, I will end up as one of the great learners. The nature will provide my opportunities to test my learning and I am sure that it will be rewarding.

This particular attraction towards business came to me couple of years back and I was too late to spot that. May be, I should have left it thinking that it was too early. But now, I have a strong urge to understand business, learn business, acquire business leadership skills, creating strategy for my organization. But I m not too much focussed on the time I should be doing it. Because of the lesson learned from an ancient old story. When an intelligent boy asked his master how long would it take for him to learn the entire Veda, the master said "10" years. The boy then asked, if I put double the effort. Then the master said "20" years. Fixing the eyes on a distant object lead to blindness in carrying out the work needed to reach there. So, the point is, I will continue to dream impractically but think and do practically.

My view of climbing up is the experience while climbing. It is so thrilling, so much rewarding and equally good as at the top. When I have my experience fulfilling, there is a meaning in reaching at the top. Reaching at the top only to see that there are so many things under your view is totally waste. While you climb a Himalayas, you can be serene my looking at the nature, my looking at rivers and exquisite decoration by Mother Nature. It does not make sense to close all the senses while climbing a hill. So, for me enjoying the climb is worthier than climb. Then, the climb will a assured by-product as the climb is born out of happiness and not because of the churn.

Anyways, I have decided to continue to buy books and stack them in my bed room and those books will certainly have a different label which is "Business". So, one day I may meet you in Davos. My personal voyage to Davos has started. Catch you in Davos :-)


19 October 2008

My Inspiration

Who is my inspiration?
Who shall I consider world class reference point?
Who leads life being an example to others and yet thinks he has more to contribute to the country/humanity?
Who has relentless passion towards his vision and that vision being a noble cause?



Considering a person as role model and getting inspired is not done in a day. If you do it in a day, then probably you need to happy to say that you are "FAN" and not "DISCIPLE". The concept of taking someone as role model happens not in conscious mind but rather in sub-conscious mind. I tried to ask questions to bring out how one can take someone as inspiration. Though these questions make some logical sense, a role model is beyond these questions and beyond brain. A sequence of incidents or inputs fed to the brain and then travels to sub-conscious mind. From the sub-conscious mind, the role model enters directly to the heart, to the blood and to the cell.

We are having an opportunity to live with an excellent human being, a highly accomplished scientist, a great visionary, a most humble person, a patriotic son of Mother India, a life long teacher and what not.

Having born and brought up in down south village, this person achieved his dream and created a vision for the entire nation and young generation. He is role model to millions and millions of kids and youths - Dr. APJ Abdul Kalam.

You can find his website dedicated to nation building here


Publications

I remember that I wrote something very long during my final semester and that was way back in 2001 and after that I literally did not write anything other than typing some Java code. My writing was poor (and even now it is) but I feel that I have improved marginally and the credit goes to Linux for You. I had an opportunity to write for Linux for You and as usual, this is one of the activities I used to do regularly. Please find the list of articles published in LFY.


1. Synchronising Threads (Dec 2004)
2. System Calls - Invocation and Implementation (Mar 2005)
3. Design Patterns (Jun 2005)
4. Object Creation and Garbage Collection in Java (Aug 2005)
5. Introduction to Linux Processes (Sep 2005)
6. Java Stack Frames (Sep 2005)
7. Logging Using Log4J (Oct 2005)
8. Loading, Linking and Initialisation in Java (Nov 2005)
9. Linux Processes - Part 2 (Dec 2005)
10. Security - Know the Lingo (Mar 2006)
11. SNORTing Out Network Intrusion (Jul 2006)
12. Linux Scheduling - Part 1 (Jul 2006)
13. Linux Scheduling - Part 2 (Aug 2006)
14. Linux Scheduling - Part 3 (Sep 2006)
15. XML Data Binding with Castor XML - Part 1 (Sep 2006)
16. XML Data Binding with Castor XML - Part 2 (Oct 2006)
17. JVMTI - Part 1 (Nov 2006)
19. JVMTI - Part 2 (Dec 2006)
20. Interrupts in Linux (Jan 2007)
21. Profiling with Netbeans - Part 1 (May 2007)

You can find PDF copies of all the above articles here. Hope you find it useful.

Contact

Of late, I find it satisfying and enriching experience to talk to the students. I feel that my learning is vast my interacting with the students. I strongly believe that knowledge was given to be shared and by doing that both the giver and receiver learn a lot.

If you feel that I can add value to your education, please feel free to contact me through my email. As Gandhiji said, the villages are backbones of India and I too feel the same. The great people who live in villages and small towns of Tamilnadu deserve more attention. My first preference is to add value to first generation learners. Having said that, I am also open to talk to students who are in cities. Soon, we will be rolling out this as an initiative across Tamilnadu.

On either case, please do drop an email.

About Me

Lifelong student and always want to "Work In Progress".

Ceasing to learn is to ceasing to breathe - Anonymous.

Want to be lifelong student and share my knowledge with others. When I find time, I scribble a lot in my blog to express my thoughts and get my views validated. I can easily get inspired and I feel that I learned a lot by interacting with others.

Help, Help and More Help (Wanted)
While i continuously learn, i feel that it is very important for a human being to share his knowledge with others and i am more inclined to help out students community. I have given lectures on Linux, Network security, programming and software engineering to students. In case, if you feel that i can be of help to you, please drop me an email at grabyourfreedom@gmail.com

I m also maintaining a simple homepage to archive the events of my life which can be accessed through the following link.

Freedom

In case, if you feel that we will create mutual value, kindly sign in to any of the following subscriptions (i ll be even (more) happier if you share this with your friends in case if you find it useful).

Subscribe to this blog





Email RSS Feed Twitter


View Lakshmi Narayanan Narasimhan's profile on LinkedIn


Your Friend,
Lakshmi Narayanan N
Life Long Student

18 October 2008

Freedom always comes with a cost

I was hoping to write on what it takes to live in Freedom. We need to understand the word "Freedom" analyzing its meaning. Until I read the book "Freedom" by OSHO, my vision on the word was a blurred one. I knew "Freedom" as liberation from something. For example, India got the freedom from British. This is the only meaning of the word I knew until I read the book. But OSHO, in his book, is explaining another perspective. He makes the meaning complete. Few of us may also know "freedom" to speech, "freedom" to write, "freedom to choose our own lives" and so on. Once again, many of do not understand that the meaning of "Freedom" (first and second) is always interconnected. "Freedom" is not complete if we do not exercise the freedom in both forms. I feel "freedom from" is the basic form of freedom and "freedom for" is an elevated form. While the "freedom from" is basic, non-slave, human form. "Freedom for" is visionary and humanity form. When we say we want freedom, we need to understand the hidden and real meaning. Freedom is self centric. It starts as a self centric process but it has to conclude for a bigger cause.

For the past few days, I am following articles in Dinamalar by one and only Dr Kalam. He is one of the very people who understand "Freedom". In India, we have freedom to speak, write and do. This is the basic form. But leveraging the basic form, Dr. Kalam is trying to transform India. He is aware that he has freedom to do so many things. But he uses all those freedom for vision - transforming India. Dr. Kalam is living example for applying freedom and achieving vision. He uses his freedom in both ways "freedom from" and "freedom for". "Freedom from" is freeing oneself from something which is childish. But "freedom for" is something magnificient and responsible. The people who exercise freedom in both forms have become role models to the world.

I would like to explain how freedom is broken by human. Some years back, there was an article by Mr Narayanamurthy, then CEO of Infosys. He was pointing out how the freedom was exploited. We are fred from salvary but we are exploiting the "free from slavary". This freedom is like coconut given to dog. He doesn't know what to do with the coconut but just roll on the floor.

When the "freedom" is given or when you are liberated from something, we have to understand that there is no supervisior and our wellness is in our hands. Now we cannot go and complain the people who ruled us. We got freedom and it is our responsibility to shape up and elevate our lives. We need to take care our needs and fulfil our ambitions. When we understand freedom in both forms, we will take only ten days (or ten hours) to become a transformed country.

The cost of the freedom is to exercise "freedom for" and be responsible.


Freedom to express, act and elevate

I am very happy to be part of the wonderful world at the current time where there is a revolution in information technology. Web 2.0 as a technology has helped countless people to connect with their closed ones and friends. The collaborative applications like blogs, CMS and social networking sites have made this world a global village and anyone from a corner of this world can communicate with the other one in no time. There are so many human beings using these platforms to render the service to others by just expressing their thoughts. For expressing the thoughts, blogs are ultimate tool. It is like a personal diary and if you are open, there will be a growth in your very being. 

I strongly believe that the thoughts make human. The quality of thoughts decides the quality of the action and the action projects itself as habits and then as the character. If one can fine tune the thought process and think in a right way, the life will be more enriching and as OSHO says, each one will understand the death is like a your wardrobe. You move from one life to another life. If you are one of the gives who do not believe in rebirths, the way you think decides where you will be. The thoughts we quite often think becomes an obsession that go to subconscious mind and manifest itself as actions. When your thoughts are negative, you obsessed with it and you start loving to be a criminal and start doing crimes. If you want to be a bird, the same thought goes to your subconscious and eventually you become a bird. Simple logic, yet many people do not appreciate it.

Having read few books and trying to reflect the ideas, I sincerely feel that I can transform myself by following and experience my life. By experiencing, one will be able to appreciate the simple things in life and understand that these simple things are life. There are so many big concepts and they are big because of their simplicity. It is us who make life complicated by egos, thoughts and hatred. In the current scenario, the world needs peace. The world cannot be in peace unless each components have peace. By components, I mean countries, states, city, localities, streets, houses, family members, ourself, organs and thoughts. If you see, the source of violence is our mind and thoughts. By carefully reviewing the thoughts, we can change this place and transform. Planet Earth can be made God's Heaven.

Any transformation starts with fundamental things. The transformation is a sequence of action which is done passionately, gracefully and with full enthusiasm. For transformation, the man is the primary object however if one seeks transformation, the focus should not be on the transformation. The focus or rather thoughts should be on experiencing which sometimes called as awareness. If a flower has to blossom, each parts of the plant has a big role to play. The plant never focuses on blossoming neither the bud. Because, the plant plays it part and the the bud reaches to a point which it was never before. And this is the transformation. Similarly, in order for us to blossom our thoughts has a big role to play. If we do not fix the thoughts and fix everything surrounding the thoughts, it is like treating symtoms, it is like treating the disease. But preventing the disease is a great thing than treating the disease.

How one can fix the thoughts using blogs? First of all, you cannot fix the thoughts. You cannot command your mind to think this and think that. But if we have the awareness, the sixth sense and apply it correctly one can differentiate thoughts and give importance to the ones that deserves attention and deserves nurturing. Once the thoughts are nurturing the actions are corrected, habits will be health leading to a good character. Through blogs, one can express ones thoughts and get it reviewed by like minded folks. The blog or a group of blogs form a commune which forms a self guiding and self correcting platform leading to harmony.

If we use the platforms and collaborate, we will win friends and naturally this forms a basis for two streets, two states, two countries and the entire world to become a single big commune. That is when the peace will be ever lasting one. It may look simple on verbatim and hard to follow. But it is worth giving a try (or may be million tries until it succeeds). Come and join, I will be waiting for you.

Have a Great Day.