My notes from my expriments in living my life and observing others. Purpose is to question. Only questions may be valid, but none of my answers may be.
Friday, January 25, 2013
Thoughts on solving a programing problem & building software
Saturday, August 11, 2012
Why "Intuition" is important?
Saturday, July 21, 2012
What a nice thought
Tuesday, February 21, 2012
The Assignment and MIT Sloan Tech Review
Most of the places, the process guys are non engineers who want power over engineers who have brains 100s & 1000s times better than those process guys. To feel superior process guys end up creating constitutions in the name of process improvements that mandate laws to measure times the engineers spend in taking leaks.
Anyway the current thing is not about that. Since previous post was about what is good software, possibly it is nice to know how to build good software.
I had the pleasure to work with one of the most brilliant guys (Sanat Pai Raikar -almost 6 years junior to me). To get him upto speed following was the assignment i gave;
"Please do read the following:
Software Engineering a Practitioners Approach – R.S. Pressman
OOAD with Applications – Grady Booch
Mythical Man Month – Fredrick P. Brooks
Age of Spiritual Machines – Ray Kurzweil (to understand law of accelerating change/ returns, entropy in system etc.)
The quotes at the beginning and end of each of the chapters in the Java Programming Language book – James Gosling and Ken Arnold
All assignments will be done individually first, then revised if necessary with consultation/inputs from Anuroop and Krishna. Then these will be presented to general audience.
Assignments:
1. Software
What is software?
What is good software?
What are the characteristics of good software?
What does it take to build good software?
What are the measures to tell whether software is good or bad?
2. Software Engineering
Overall perspective and Answer the following
What do we mean by software engineering?
Who does software engineering and what are the general roles?
What are the general myths and how can we overcome those myths?
Why should we focus on “engineering aspect”?
3. Software development lifecycle models
What are SDLC models?
Why should we have these models?
What are the different SDLC models and what are their characteristics?
What is the applicability of these models? Or when should each model be applied?
How can we determine which model to be applied?
What are the stages in each of these models?
4. Focus on various stages in SDLC
a. Planning and Project management
b. Requirements Gathering and Analysis
c. Design
d. Implementation
e. Testing
f. Maintenance
5. CMMi Focus
Understand CMMi and its applicability to software development process.
(Read the CMMi spec for this)
"
Incidentally today I was reading an article MIT Sloan Tech Review
http://sloanreview.mit.edu/the-magazine/2012-winter/53208/winning-the-race-with-ever-smarter-machines/
It's always nice to understand the fundamental forces that drive evolution.
Will the exponential growth in computing power continue?
What are the limits of the computing power in terms of problems it can solve?
Think.
Friday, February 10, 2012
Good software & a Good software engineer
2. Who is a good software engineer?
I asked these to a set of guys who had wanted to learn about software project management. The simplicity of the answers is similar to the one about happiness. Thus it also resonates with the idea that the most important/fundamental things are most simple; yet, many of us are unaware of those answers.
If I don't know what good software is; how could I develop good software?
Thursday, January 05, 2012
Thoughts about Happiness
With the twisted definition of attaining happiness through enjoyment/stimulation of sensory organs we have run amok. We don't realize that we would end up needing perpetual stimulation to be in continuous state of happiness when we rely on attaining happiness through stimulation of sensory organs. This is highly impossible.
Hence the only way to be perpetually happy is to have sense of contentment & happiness in the mind.
Tuesday, August 09, 2011
Trend Spotting
The mistake that we make is usually we may find the mega trend or micro trend that is prevailing but fail to notice the other. The events that keep happening are a combination of both these trends. So we get surprised when events happen contrary to the trend that we are observing. If we stitch together all the contrary things - we may find the other trend that we are missing.
May appear like some gyan. Most observations are :-). So feel happy to read, forget or read & think.
Saturday, August 06, 2011
Learning again the computer science & engineering stuff
From the days of my engineering almost 14 years, the computing technology has evolved to a great extent. The fundamental principle of thermodynamics that the entropy of a system keeps increasing leads to ever increasing complexity however much we try. By creating a new way of doing things or finding new thing, we add to intellectual complexity as we have one more item to consider. These new things implicitly lead to more complex systems. For that matter "ignorance is bliss" is a truism. The key to understand is that these new things essentially create new paths and hence add to combinatorial explosion. If these new things completely replaced existing ITEMS (yes, plural), then these reduce the complexity.
I don't think that happens as the technology itself accelerates to the creation of new items.
Why such a long preamble?
Because The thought that we are already in the era of parallel processing at mobile phone level hit me hard. The multicore computing systems would possibly now require almost everybody to be aware of the parallel processing (guys please forget concurrent processing). These will change computation in fundamental ways because till date all computation except in the research areas has been single core. All system software, & application software is geared towards it. The OS concepts that we learnt talked about CPU scheduling for only one processor.
The parallel processing is a whole new learning for me as I need to go back and relearn the concepts of parallel processing. I was always a big fan of very nice multithreading support in Java and loved to create multi-threaded programs. (I remember one incident - our team wrote a multi-threaded data transfer as well as processing application so well that whenever it used to run, it pushed the CPU usage to 100% and that caused crisis saying that we are hogging the CPU time without letting other applications to run - How can that happen on a preemptive multi-tasking system I couldn't fathom :-)). So I love to see what is left to be done yet at the level of applications. This definitely will need extensions to all language libraries with implementations of parallel versions of algorithms to make full use of current day desktop computers.
Similarly the need to process massive quantities of data is leading to the need of everybody to become aware of the concept of distributed computing.
I am headlong in to learning these new things so that I don't become a dinosaur. Yes, I have become pretty good at managing, but without the knowledge of current day evolving trends I would not be able to compete with the best. I always wish to compete and create best results and win.
The idea of looking at these trends which are very powerful and beautiful is exhilarating and refreshing.
Sunday, February 13, 2011
Symbolism - Cobra with opened hood (No I am not brain dead yet :-))
Then, when we were through our dinner, my wife started asking why snakes are considered wise beings? I did not have a definitive answer. Today suddenly a moth fell in to the glass of milk I was drinking and died. It made me look through the symbolic meaning. While looking at that, i read about snakes open hood being used as a symbol of offense by Egyptian pharaohs. in Hindu mythology lord Vishnu sleeps on a bed formed by the curling body of 1000 hooded serpent named Adishesha. Here, snake with open hood is a symbol of security and shelter.
Suddenly it flashed to me that the opened hood of a cobra very gracefully combines both the offensive and defensive natures. It is what the rulers must do and must be like. Punish the wrong doers and protect the pious. It is what the wise people do.
Now I believe I know why snakes and among them the cobra is held in such high regard.
Sunday, January 23, 2011
Living
Saturday, January 08, 2011
Curtains and life
Sunday, December 05, 2010
For whose glory?
Software development every day poses this question to the software builder. The person creating the software trying to to show off his knowledge can create immensely complex piece or think what is needed by the end user and make the software that serves the end user needs.
Monday, September 20, 2010
Random thought: What is the value of a film star
1. Do the people come to the movie to watch the star?
If answer is "it is less than 50% probable", then that star is really not a star. So it is better to check if that star is really worth the money.
Most of the times, people go to watch the movie & rarely a star.
Sunday, September 19, 2010
Arishadvarga and path for evolution beyond
The goal of evolution is to be fully functional with mindfulness. Once I manage the arishadvarga, & learn to be empathetic/loving, I have found what every seeker searches in life.
Insight is good, but practice is what makes a person. Long way to go for me to become a better human being.
Note:
Arishadvarga : 6 categories of enemies on the path of a person's evolution
Ari: Enemy
Varga: Category
Shat: 6
Kama : Desire
Krodha : Anger
Lobha : Greed
Mada : Arrogance
Moha : Attachment
Matsara : Jealousy
Friday, August 27, 2010
Alchemist/Steve Jobs - Achieving Excellence - What are common lessons?
•The story of a boy named Santiago. He starts off as a person who wanted to fulfill the wishes of his parents by becoming a priest. On realization of his yearning to see the world, he gets his father to agree to let him realize his wish to roam around. He becomes shepherd. Then dreams of a treasure in Egypt buried near the pyramids. He goes on the journey to find this treasure. Along this journey finds his true love, finds the teacher, learns about the oneness that manifests itself in multitude of forms, learns about letting go, and learns to listen to his heart. He in the process learns to become one with the universe and yet retain his individuality.
•The central message hence is about making the journey and along the way learning to let go of my fears, doing what gives one the happiness, and learning about the unity behind all diversity. This automatically lets the one to realize oneself.
Steve Jobs:
A person born to unwed mother, an adopted child, a college drop out (wanted to graduate in liberal arts), a person with tremendous sense of opportunity, drive to accomplish things, & finally a person with lots of luck. He is a vegetarian, been to India, believes in Zen Buddhism. His sense of aesthetics and minimalism have been the key driver for many usability improvements. He has founded 3 companies Apple, NeXT, & Pixar. He was thrown out of the company that he founded, & then returned to the same company to create iPod+iTunes, iMac, & iPhone.
Ill treated all most all of people worked with & lived with. Why people work with him?
What makes him tick despite idiosyncrasies?
All the people worth their salt really want to do is leave some legacy behind (other than their genes). It pleases them when somebody recognizes and challenges them to achieve what many think is impossible. Steve is the past master in it.
Life As He describes: http://www.freerepublic.com/focus/chat/1422863/posts
What can we learn:
•The key to reaching the goal is moving towards the goal. It is moving in the right direction, but not how fast I move.
•The essence is in doing the things to realize the dreams rather than gaining knowledge about how to realize the dreams (The Englishman trying to master alchemy by reading, but not doing any experiments). Only action or movement takes me towards realizing my goal. (Steve trying to build a CPU without fan)
•Only when I learn to not let the thought of preserving what I already have hinder me, I will start to make progress in gaining something new. This is also the only way to realize my destiny or make progress. I have to move forward from the place where I am starting to walk. I can’t just desire to be in a new place without letting go of my previous place (Boy deciding to move from Oasis to seek his treasure near the Pyramids or for Steve Jobs - Abandoning Lisa, Getting kicked out of Apple etc., starting Pixar They say creative destruction. It is necessary.)
•Everything has a time and a place. I am so jaded by my preconceived notions that I hesitate to use the book as a pillow, but the boy just does that. So I need to see everything with a fresh perspective and see the utility value (Mac without floppy drives)
•I need to seek help when I don’t understand something. Once the help is there, I still need to make my decision (going to Gypsy and then going to Pyramids in search of treasure).
•In time of loss on the path to achieving a goal it is always important to consider how close I have come to achieving the goal rather than how far I am from the goal. I need to be constantly aware of the purpose I started with.
•Once I am able to unlock the message hidden in most simple things like grain of sand I will be able to comprehend whatever is considered the most complex.
Final lessons:
•We tend to believe life is all about
–Having, To Have – We do, To Do – We Live
•Called the To Have -> Do -> Be paradigm
•If we think a bit, it is about
–Being, For Being – Do X, Having is just a side effect
•Called the Being -> Doing -> Having paradigm
•Be -> Feel the passion & joy inside you.
•Be at peace with what you are & what you do.
•Enjoy what you do -> it seems & becomes effortless to you
•When it is effortless results will flow automatically
Trying to create something exceptional makes you/me/us exceptional
•As a company strive to build something extraordinarily good for the end consumer – Leadership in technology, market, & financial world are just the side effects of this.
•As a software engineer enjoy creating a flawless code (NO, flawless code is not an oxymoron J) or creating something simple, useful, usable, & beautiful. For that person, it will translate to better achievements in all other spheres. So ENJOY doing good work and take PRIDE in it.
•If I look at it from Indian perspective – Achieving perfection in performing one’s Dharma automatically leads to good results in the areas of artha, kama, moksha J.
•APART FROM THAT YOU NEED LUCK / GRACE of GOD – Some people have more of it.
Thursday, May 27, 2010
Lessons about living - Finding the better half - Part III
1. Your future dreams and common interests matter more than the similar background. - I used to be scared of pursuing girls who were from different regions or from different cultural background as I used to think cultural past would mar the future. Now I can certainly say, it is not the common cultural background, but it is the future dreams and common aspirtaions that matter more.
2. At least once in life we encounter one person who comes closest to our ideals. Then even if I don't say anything everything is known, but realizing that I have found that person and making the move is important. There is only one maxima in life's curve, all others are sub optimal solutions. Don't hesitate at that moment.
3. Don't marry if you don't believe that such thing can exist.
4. Once found listen, accommodate, understand, share with honesty, & talk.
Friday, January 15, 2010
Pandit Ravi Shankar & Tiger Woods :-)
Compare the lives of Pandit Ravi Shankar & Tiger woods. Chuckle for yourselves. They are a study in contrast. So think, have fun, & learn the way to lead life.
sincerely,
AG
Saturday, January 09, 2010
Lessons about living - Finding the better half - Part II
1. Being with the person matters & not having the person.
2. Be ready to change / at least modify some behaviors.
3. Usually somehow God makes the paths of people who are supposed to be together cross. At that time we must understand - i used to ignore this. This does not mean i need to chase everybody, but i connect with some people better than others and i know it.
4. Look for happiness & everything else will follow. Don't look for material things and expect happiness to follow. It may happen, but it will always be better to use the principle of putting happiness first.
5. The fear about tomorrow simply evaporates when I am with the right person - yes reality may bite hard, but I don't feel helpless in facing that reality.
6. Mind and heart are two things. Use both. What comes first - no definitive answer. Whatever we choose; should appeal to both - it avoids internal conflict and confusion.
Wish you all a very joyous new year.
Friday, December 25, 2009
The power to choose
Sunday, December 13, 2009
Random thoughts
What makes me feel great is the spirit to fight relentlessly in the right way. Similary there is so much capacity in human heart to be selfless and do what is right. It is there in every human heart - some places more and some places less. Great things can be accomplished only when they make sense to the heart.
I don't know how many of you have watched a Mandarin movie called Hero - even though there may be very symbolic characteriztion, the sword fighting sequences and background music are etheral. The message "Everything under One Sky" is so simple and yet so profound. It talks about the unity of everything without saying as much. Once we realize this truth, I believe we will stop being "self centered" maniacs. Why do we need a sword? To establish peace. If everybody realizes that peace is the normal state, then suddenly there is no need for sword.
Ok, Ok - I understand. Life is unlike less than 2 hours movie, but there is quite a lot we can learn, if we are ready to listen.