Pages

Ohloh

If you are open source software user you should definitely check out www.ohloh.net.

Ohloh provides data about:
*Project data – code base, growth team, license, estimated cost
*Developer Information – activity, checker info, comparisons and languages
*Broad Trends – Language use, application use, geographies
*Stack Information – complimentary applications, suggest applications (not yet implemented)

Some key features:
*Ohloh support multiple repositories (CVS, Subversion, and Git) per project.
*If some developers on a project have used different name spellings in the source control system, one can combine these names together using contributor aliases.
*Project popularity is calculated by Ohloh using the Inlinks count from Yahoo Site Explorer at (
https://siteexplorer.search.yahoo.com/)
*The stack-up feature can give better information with respect to the actual software usage. In past, some O/S analyses considered ‘download’ as an indicator of usage of the project
*The project provides the lines of code (LOC) for mark-up and code.
*It also provides the estimated number of resources (not impressive thus not recommended) if the project has to be start from scratch. The estimated project cost can be then calculated for each project, based on the resource salary/compensation. Basically, it uses the traditional COCOMO model to calculate the man hours.

It is just not goals but the plan

As a child, student or professional I was always told to have predefined goals in my life, work or career. If you do not have goals, you never reach ‘there’. You just do not have any direction or motivation to reach your destiny as you don’t know what is your destiny. Its something like you sit in the car and you don’t have any specific place in mind to reach. The result may be that you wander on one street to another and return home. Its like “if you don’t schedule it won’t happen”. This is the good old literature, which we are brainstormed right from our childhood. The point I want to illustrate is it is not just setting the goals that is important but the plan, resources, time, skills and checkpoints to reach the goal. This is what many people do not understand and thus fail to reach their goals. It is easy to set goals but the difficult thing is to have a valid foolproof plan to make them happen. One should have ‘realistic’ goals and a workable pragmatic plan to reach their goal.
For example, if a chain smoker decides one fine day that he will quit smoking all of sudden there is a high probability that his goal will fail after some initial restrain. Another example will be of a novice programmer who decides that he will code an operating system like Microsoft Windows or a Google search engine without having the appropriate knowledge or skill set. The problem with such goals is that they are not “impossible” but there is no proper planning and methodology determined to reach the goal.
Set your goals but make sure you have appropriate knowledge, motivation, skills, returns and resources to fulfill them. Best of luck for your endeavors.

Amit is popular than Deshpande


Just out of my curiosity (I am an internet freak), I searched for ‘Amit’ and ‘Deshpande’ on Google Trends. The number of searches for Amit was significantly higher than Deshpande. It seems that Amit is much famous than Deshpande! Then I observed that there were significant searches for ‘Amit’ in Budapest Hungary (no. 8). This result really kept me thinking. Why should a popular Indian name like ‘Amit’ be searched so frequently in Hungary? Therefore, I performed a normal Google search for Amit to see the results. The first result was of Israel based ‘AMIT’ organization followed by homepages of persons having their name are ‘Amit’ (as expected). But why is Amit so famous search in Hungary? The question remains unanswered.



One more Earth!

Scientist recently discovered a planet where there is trace of water which is the basic requirement for life (at least we believe so). The planet is about 20.5 light years away from the Libra constellation. The planet circles the red dwarf star Gliese 581 in a Goldilocks orbit that sets it temperature between 32 and 104 degrees Fahrenheit.
Scientists have long followed the principle of “follow the water’ for detecting life existence. I define life as a body which is capable to generate energy from any form of matter, sustain itself and of course reproduce. This discovery will certainly be a significant landmark in the quest to find extra terrestrial life, if any.

Successful Meetings

Consider a meeting scenario where attendees are roughly about the same age, there is no hierarchy and it is a unofficial meeting. My experience is that when there is no hierarchy (boss –worker/employee) and every one has a right to argue his/her point until the end; the place normally turns to be a fish market. Here are some rules and ethics that should be followed for successful meetings:
1 There should be a definite agenda with allotted time for each topic
2 The meeting place should be in some suitable facility where there are no external disturbances. Arranging meetings over dinner or lunch is more of a socialization meeting than actual discussion and conclusions (if its just 2-3 people it may acceptable)
3 Every person should have a note pad (laptop - any digital gadget) to note his her action points and important issues discussed
4 I always believe there should be a chairperson who can intervene if the discussion is going out of bounds and becoming more of a personal view than helping the cause discussed.
5 One person should be responsible noting meetings minutes and making them available for all members after meeting.
6 Internet access availability solves some simple problems which may take up valuable meeting time
7 Personal communication between the members should be strictly avoided and some sort of discipline should be maintained
8 If the members are from wide variety of backgrounds and countries, communication in respective local languages should be strictly avoided. The standard language (which is normally English) should be followed.
9 Try to keep it short and frequent than one long meeting where one tends to lose his focus.
10 Meeting place should be preferably centrally located thus minimizing the member complains and initial bias.
11 Schedule a suitable time. Keeping the meeting early morning or late night will certainly be counter productive.
12 If the member do not know each other make sure you arrange for name tags for each participating entity
13 Personally I feel snacks should be avoided ( non alcoholic beverages are fine)
14 Last and the most important point, start and end on time

Open Source Estimation

Open Source software development is an interesting phenomenon where the software development is collaborative and source code is open and available to public. The renowned literature of the ‘Cathedral and Bazaar’ by Eric S. Raymond was published more than 10 years back and still considered a pioneer work in the field of Open Source. Unfortunately, there are no well-defined processes and estimation techniques (models) in the Open Source world like the COCOMO, function points or SLIM models for the classical software development. Its very interesting that even with presence and support from the large organizations like Google, IBM, Oracle and tons of others Open Source world has not come up with any standardization. I agree that there may be well-defined processes and best practices in commercial open source software companies like Red Hat, MySQL and SugarCRM but certainly not a universally accepted standard. One reason may be that Open Source development is very unpredictable and largely depends upon the motivation of a handful of developers who are committed to develop such collaborative software. There are thousands of projects registered on SourceForge and FreshMeat (largest repository of the open source software projects) by a single developer, which never proceed further to development. There are also projects that are currently in the inactive stage.

I guess with boom and wide spread of Open Source today we certainly need some estimation techniques for the required number of developers (effort) and expected size of the community and thus an overview of the complete ecosystem around the software. Such models or processes will certainly help the community for better planning and effective execution of an Open Source project.

OSS Processes


Open Source software development is an interesting phenomenon where the software development is collaborative and source code is open and available to public. The renowned ‘Cathedral and Bazaar’ book by Eric S. Raymond was published more than 10 years back and is still considered a pioneer work in the field of Open Source. Unfortunately, there are no well-defined processes and estimation techniques (models) in the Open Source world like the COCOMO, function points or SLIM models for the classical software development. Its very interesting that even with presence and support from the large organizations like Google, IBM, Oracle and tons of others Open Source world has not come up with any standardization. I agree that there may be well-defined processes and best practices in commercial open source software companies like Red Hat, MySQL and SugarCRM but certainly not a universally accepted standard. One reason may be that Open Source development is very unpredictable and largely depends upon the motivation of a handful of developers who are committed to develop such collaborative software. There are thousands of projects registered on SourceForge and FreshMeat (largest repository of the open source software projects) by a single developer, which never proceed further to development. There are also projects that are currently in the inactive stage. I guess with boom and wide spread of Open Source, we certainly need some estimation techniques for the required number of developers (effort) and expected size of the community and an overview of the complete ecosystem around the software. Such models and processes will certainly help the community for better planning and effective execution of an Open Source projects.

Spend your soft skills

Yesterday I attended the Start-up SIG seminar arranged by the SD Forum at SAP, Palo Alto. Some of the points stated were noteworthy (and very interesting).
1.“Successful” people always respond to your email/message/phone/voice mail/letter/instant message call as soon as possible. Even if they are busy, they will at least send a reply stating they have received the message and will reply to it in detail by some fixed day or time.
2. Nearly 80% of people get their job by reference and more than 70% of these people got the job from the references that were just acquaintances. The point is maximizing your network by reaching out for people and building new relations.
3.Do not just build connection but also try to maintain them.
4.Always try to be helpful. Every favor you do for someone is like giving a loan, which you can expect to get back with “interest”. Always try to spend your connections. By spending I mean introduce two people who you know to each other (become a contact point or enabler of communication in a dense network). Remember that both persons must find value out of the relation. Holding connection can be counter productive.
5.Question yourself continuously Am I learning? Am I progressing? If possible, try to formulate a quantitative metric where you can measure a productivity of your day.
6.It is good to have a wide set of knowledge but it is very important to have depth in a particular topic. Some specialized knowledge will certainly endow the distinguishing grace from the crowd. The specialized knowledge is not necessarily academic, business, IT or financial. It can be of any general topic including travel stories, sport, cell phones etc…
7.Individuals below thirty years make most innovations, as they tend to make mistakes. The motivation here is not to make mistakes but to be creative, open and innovative. The question “why” and “how” should be your right and left hands. The more you question the more you understand, the more you produce. The value of new contact and acquaintances goes on reducing as your age increases. Thus, invest in the soft skills when you are young (and when you make mistakes) and then try to build your “hard” assets.

IT consulting projects

Here are some interesting facts about IT projects …

1. 50% projects are challenged by the customers*
2. 80% projects go over budget*
3. Average time required is 2x where 'x' was the planned/estimated time*

* “Delivering on the Promise of SRM” by John Zepecki, SAP - Palo Alto CA

Never set “mid”term goals

The whole purpose of setting goals to measure one’s success/returns with respect to time. One always has good short-term goal value returns in any investment/input when it’s new, innovative and interesting. Then come the stage between the short term and long term which I refer to as mid term. The point is that never target or measure on mid term goals*. The value of returns versus time is roughly as follows.
Never get bogged down if your goal value decreases after a high short term success. This is a part of cycle and will yield high long term goals with your continued efforts and investment. The point to remember is, never target or set mid term goals.

* Startup SIG: Secrets of Silicon Valley's Master Networkers, Auren Hoffman, RapLeaf, SAP Labs Palo Alto, CA

Choice: Truth or Illusion

After an exhaustive day of work and lectures yesterday I was trying to sleep early yesterday but just could not change my body clock at my will। So I just kept lying on my bed (determined to sleep early so that I can get up early) thinking about my decisions in past। The first which came to my mind was of branch change from electrical engineering to mechanical engineering in after my first year in engineering.
At that time I knew that placement scenario, cut-off marks, profile of students etc... is much better in the mechanical branch than electrical. But at that time I said that "It is my interest in mechanical branch for which I have taken this decision". This is the first decision. Eventually after 4 rigorous years I became a "mechanical" engineer and applied to US universities for my master's. After getting admitted in University of Cincinnati for MS in "mechanical" engineering I started my efforts to again change my department from "mechanical" to industrial engineering. At this point I justified my decision by saying “After working one year in software field it's hard to study core technical mechanical engineering again". But today I think I was lying to myself. It was the good placement scenario in COEP which compelled me to take a branch change in COEP and it’s the same case here with Industrial engineering. So that means I never had interest in any field!!! I just convinced myself by making excuses like "career interest" and ”software experience". So ultimately I started to conclude that my decisions were based on socio-economic conditions and not on my "interest" ... I kept on validating my decisions the whole night. Sometimes I felt that I was correct and sometimes I felt I was wrong..... The battle went on without a result till I felt asleep sometime late in midnight.

Dictionary meaning of Perception

I start my first blog with the dictionary meaning of perception.

*The act or faculty of apprehending by means of the senses or of the mind; cognition; understanding.
*Immediate or intuitive recognition or appreciation, as of moral, psychological, or aesthetic qualities; insight; intuition; discernment: an artist of rare perception.
*The result or product of perceiving, as distinguished from the act of perceiving; percept.
*Law - the taking into possession of rents, crops, profits, etc.
*Psychology - a single unified awareness derived from sensory processes while a stimulus is present.
a) Recognition and interpretation of sensory stimuli based chiefly on memory.
b) The neurological processes by which such recognition and interpretation are effected.
c) Insight, intuition, or knowledge gained by perceiving.
d) The capacity for such insight.