Sunday, November 15, 2009
Monday, October 26, 2009
Multitasking
Developer : Ok, Let me write a program based on your algorithm.
Common guys!!! Multitasking is for Computers!! Not for Humans!!
Monday, October 19, 2009
Flexible Timings!!!
Wednesday, September 9, 2009
Bhagvad Geeta Famous Quotes
Its not very easy to interpret the philosophical meaning of these quote in today's materialistic world still lot of people have commented on this, I have been trying to analyze and understand this from a long time.
Does this mean "Do your deeds and don't worry about the results ?" or "Do your deeds and be detached form results " ? . One of the interpretation says
"
You have a right to perform your prescribed duty, but you are not entitled to the fruits of action। Never consider yourself the cause of the results of your activities, and never be attached to not doing your duty.
"
But How can a person not be worry about results of his/her deeds ? why a person should not be entitled to results ?
Even though I am not a Sanskrit scholar the most perfect version of interpretation I found ( IMHO ) is as follows.
"
Karmanye vadhikaraste
--you have the power to act only
ma phaleshu kadachna
--you do not have the power to influence the result
Karmaphalehtur bhurma te
--therefore you must act without the anticipation of the result
sangostvakarmani
--without succumbing to inaction
"
Please do let me know your thoughts
Tuesday, August 25, 2009
JLogging: An art of Blogging to get a job.
1) Strengths and weakness of a particular person.
2) Backgroud of a particular person
3) Virtually screening each and every employee
Top areas for concern among hiring managers include the following Click here.
And according to this research One in five employers uses social networks in hiring process.
Thats pretty scary , I always that Blogging/Microblogging is just a liesure time activity and kind of personal. I wonder if my employer is reading this blog and trying to find more about me.
So whats the solution , Its something I call JLOGGING. A combination of "jobs and blogging". Its an art of blogging keeping your future/present job or career in mind.
Some tips about Jlogging are.
1) Always write good things about yourself.
2) According to your blogs only weakness you should have is that "you dont have any weakness"
3) Carefully study what job you are applying for and blog related topics
4) Keep track of who visited your blog.
5) Keep bloging only technical materials
6) Be sure to be politically correct in all your blogs.
7) No matter what your views are always be Deplomatic in your blogs.
8) Remember "Blog is not for you , its for others who matter to you"
Act fast , As you read this someone might already be reading your twitter /facebook updates.
Wednesday, August 19, 2009
Tuesday, August 18, 2009
Process Automation
As I am not a Jargon man , lets talk about the process in simple terms.
- Process is a set of related activities
- Each Activity has associated actors and action
- Each Activity has atleast one actor and action
- Questions to be asked here are :
Are the actors human or computer programs ?
Are these actions programatic or manual ?
Does the process once started requires manual intervention for any of its activity ?
If yes how often within the scope of one process completion is manual intervention required ?
Are there any reduandant reverse tasks in entire set of activity ?
I would like to given an example here , in one of my projects we needed test data to perform ourautomated testing, we wanted that data in CSV format so that its easily readable by our test cases.But the data given to us by testing team was in DOC format which we used to convert to CSV format using few computer programs and little bit of manual intervention. OK , so whats the point here.Well, the point is the "testing team" received the same set (probably a little larger set) of data from DB Data set up team in CSV MS Excel format.Now you can see how much of effort was wasted in this conversion and reconversion. Some times, its necessary to transform the data in the format required by a particular team within the project. But the entire process has to be carefully envisaged to save cost and reduce manual intervention
Is the process periodic ? I mean has to be done at a particular time. ?
Does the process requires periodic intervention ?
Can this be hooked up to mail ( smtp )/ Chat / SMS ?
Answering all the above question will help you make a decsion on designing a process automation framework for your project.
I shall be writing a follow up and giving an example on how it can be done.
Thursday, August 13, 2009
Roles!!! People Play!!!
So I thought of funny and not so funny "Roles & Responsibilities in a typical software industry. These are all titles which I have heard from different people at different times.
Software Engineer
Software Developer
Senior Software Eng
Senior Software Dev
Team Lead
Senior Team Lead
Tech Lead
Senior Tech Lead
Development Manager
Senior Development Manager
J2EE ManagagerProject LeaderSenior
Project Leader
Resource Manager
Senior Resource Manager
Knowledge Manager
Member Technical Staff
Software Scientist
Senior Software Scientist
Software Inventor
Software Designer
Java Designer
Senior Software Designer
Techinical Manager
Architecture is one field which has lot of custom designation.Some examples
Application Architect
Java Architect
Senior Java Architect
Dot Net Arcitect
DB Architect
Enterprise Solution Architect
Enterprise Java Architect
Solution Architect
Architecture Manager.
Tecnical Architect
Etc etc
People keep developing some of the funniest designation in hope of personal branding
Friday, July 31, 2009
IT's just life!!


- Waterfall really meant a scenic location with "the water falling down" now its a software development model.
- Java actualy meant coffee now its a programming language.
- Bean was something to eat , now its a data holder.
- Crawling was supposed to be done by babies , now its done by search engines.
- Browsing was meant to be a type of predation, now its done sitting on chair infront of computer
- Surfing was an act of riding down a breaking wave, now its an act of getting back ache and RSI.
- Mail was supposed to be handwritten piece of paper , now its handtypped piece of zeros and ones Greeting card never expired after 30 days !
- Bug was something to kill, now its something to "resolve".
- "Windows" were transparent openings in a wall for wind and light
- "DOORS" were used to screen areas of a building for aesthetic purposes
- ANTs were meant to be social hardworking insects
- SPRING had nothing to do with computers, it really meant a SEASON
I wonder how many words IT industry is going to adapt and change their meaning forever.
Thursday, July 30, 2009
Extreme Programming

Cloud Computing or Glorified Outsourcing

If you are into IT field you might have probably heard this term "cloud computing" several times by now. Its an interesting format and there are lots of definitions and information already available on net on Cloud Computing. The most common ( agreed upon) layers of Cloud Computing are.
SaaS ( Software as a Service )
PaaS ( Platform as a Service )
IaaS ( Infrastructure as a Service )
In my opinion its really "Separation Of Concerns" we are talking about here but at an organizational level. Let me give you an example , if you want to use a particular software for a limited period of time you send a request to people managing the "SaaS" cloud layer of your organization. Licensing issues , installation issues are NOT YOUR CONCERN.You are only concerned with "using" it. Cloud Computing allows companies to outsource their entire IT infrastructure
What do we achieve by this ?
Centralization and Separation of Concern
what really is the benefit here ?
Cost
Now , as soon as We talk about cost we are talking about crossing the geopolitical boundaries. Will it make sense to have your data centers or SaaS support staff in a place where costs are high ?
According to this article "SaaS is predominantly a Business Process Outsourcing trend, Cloud Computing is predominantly an IT operation outsourcing trend. "
As always ,these are just my thoughts and you are free to differ.
Wednesday, July 29, 2009
Microsoft Yahoo and Google

As everyone will be aware by now that Microsoft and Yahoo have struck a deal to jointly work towards bringing down the popularity of Google search engine. Here is what Neil MacDonald, vice president and distinguished analyst at Gartner Group has to say
"I credit Bing for being what tipped the deal finally over the edge," he said. "Microsoft has shown they can actually do something that has a chance of reversing the slide of both Yahoo and Microsoft against Google."
As of now Microsoft and Yahoo are waiting for goverment's approval to go ahead. Assuming that they get the approval , which they will, sooner or later what do you think would be the consequences ? will they really bring down the popularity of Google ? I really dont think so , the reason for this are :
1) It is marriage of convnience
2) Its not towards growth of an organization but towards downfall of other.
3) To bring down Google they need a paradigm shift in organizational attitude.
4) The deal is not for benefit of consumer/share holder but defeat of a common enemy.
5) They are some how the "UnUsual Partners"
PS: Its just my opinion you are free to disagree with me.
BTW its hillarious when some one claims that BING helped them struck a deal.
Monday, July 27, 2009
Business Oppurtunity
As I dont want to reveal the real name of my friend I shall call him MULEMA
Me : Hello!
Mulema : Hey, This is me . Mulema !!! I used to work with you 10 years back.
Me: Hey Mulema , How are you ?
Mulema: Listen! I have a great business oppurtunity for you.
Me: ok ? what business is that ? what do you do ?
Mulema : Its franchise business , I cannot tell you on phone , Can you meet me ?
Me : Sure , but what is the name of business ? what is the product ?
Mulema: well, Its a distribution business , can you meet me ?
Me: But I need to know what do you sell , what exactly do you distribute ?
Mulema: well, can you attend a conference ? can you meet me?
Me: Well, but what is the product ? what is sales turnover ?
Mulema: its a 90/10 business , you can earn more than Warren Buffett and Bill Gates
Me: Ok!! Is it MLM ?
Mulema: Hmm !! Bye!
BANG!!!! Disconnected
MULEMA = Multi Level Marketer!!!
Bollywood and Twitter
Now the latest to join twitter bandwagon are actors and actresses from bollywood. I read in news that priyanka chopra and Gul Panag are into twitter big time and have more than 10 thousand followers. HT had a news article claiming that priyanka chopra has more followers than Mallika Sherawat and other actresses.
Sunday, July 26, 2009
ePoliticians of India

Friday, July 24, 2009
Cloud Camp Unconference Toronto 22 July 2009
On a side note I was pleasently surprised when the registration executive recognized my last name (Mysore) as name of a province in India.
We entered the unconference hall to find out it had not yet started. So we just got ourlseleves cup of coffee ( free if you are interested to know). There were some cakes and chocolate pasteries too.
At around 6.00PM the unconference started!!!
Our host for the evening was Dr Scott Radeztsky, He is an interesting speaker and indeed a subject matter expert. For those who don’t know him : Dr. Scott Radeztsky is the Chief Technologist for Sun's Systems Engineering organization in North and South America. He is one of Sun's 6 Principal Engineers, the author of the Sun Blueprint Book "N1 Grid: Preparing, Architecting and Implementing Service-centric Data Centers", and the Sun representative on the Open Group Board.

We all were asked to comeup with few interesting topics about cloud computing which would be discussed among ourselves in a sepearte room. Each room was going to have atleast one subject matter expert who would be steering the whole discussion (unconference). Well, I must say this was my first unconference and I was pretty much impressed with the whole unconference concept.
Nitin, Umasankar and I decided to attend the first session which was “what is cloud computing”. As stated by Scott on twitter he “enjoyed the first-timers in the "what is cloud computing" session...fundamentally questioning the "fundamentals”.
Yes , that’s what we all did , we questioned the fundamentals. Some of the questions were.
1) what is cloud computing ?
2) How different is it from distributed computing ?
3) Who are all the players in this field ?
4) What are the security and privacy issues in CC ?
5) Does it give unfair advantages to certain big players ?
6) How will it handle the “conflic of interest” if two major players monoplise different layers of cloud computing ?
7) What are the different grey ares between layers ?
8) How can we achieve Operating systems Virtualization or Hypervisor ?
Etc etc.


Please read the blog by Sandy Kemsley to know more about this workshop.
Thursday, July 23, 2009
Current Trends on Cloud
This is one in the series of blogs I have written about Cloud computing , ( my new found interest ). As I wrote in my previous blog I got intreseted in cloud computing after attending the unconference in Toronto Mariott on 22 Of July.
We attended few sessions but were not able to attend the session on current API's because of time clash. Since then I have been trying to follow up and collect as much as information about current trends or current API's in Cloud Computing.
If you wish to browse through current standards in cloud computing you can click here.
As mentioned in my previous blog cloud computing is a concept which many organizations have been following as a form of their best practices. This term might have been formalized a given the name of cloud computing much later. As I read on the WIKI
"
The first academic use of this term appears to be by Prof. Ramnath K. Chellappa (currently at Goizueta Business School, Emory University) who originally defined it as a computing paradigm where the boundaries of computing will be determined by economic rationale rather than technical limits.
"
Well, coming back to current trends , two of the most interesting APIS I found were
1) Mapreduce By Google/Apache ,
2) Hadoop By Apache
I am still in process of reading and understanding them. Since there is more than enough information on internet about them already I dont think its good idea to cut and paste the same information.
In this unconference I learned following things
1) Some of the early players of CC were Craigslist, facebook , flicr etc
2) There were/are Google groups such as "Cloud computing use cases" which has lot of information about CC
3) Discussions about having private island on a public cloud ?
4) Discussions on convergance of private and public clouds ?
5) What do we get ? Cost ? Time ? IT resource optimization ?
6) What are the Issues solved by cloud computing?
Flexible Network
Incremental Cost
7) What are different Ownership issues or License management issues arising due to CC ?
I still have some questions unanswered they are
1) Do we assume infinte access to internet crossing the geopolitical boundaries ?
2) Financial institutions might be bit sensitive to the fact that there data is somewhere else physically what is the solution in this scenario ?
My thoughts on Cloud
As with all other Jargons and Buzzwords people realize only later that they have been doing this for years before it was formalized and a Buzzword was created. Believe me We all have been cloud computing for years without even knowing about it.
I used to work for an organization where we had a software installation and license client kit on each and every workstation. This client kit was controlled from a central location. Any new software required by any employee had to be done through this kit. This I believe in a classic example of Software as A Service layer of Cloud Computing.
Now coming back to Unconference: I unlearned that there are basically 4 Types of cloud
1) Public
2) Private
3) Community
4) Hybrid
More information about these clouds can be found here. These clouds can provide services independently or can converge to provide a more meaning full and custom service.
Although the cloud computing concept can be used in many different aspects but its most commonly used in consolidation of data centers or networks. According to Google
"
As computation continues to move into the cloud, the computing platform of interest no longer resembles a pizza box or a refrigerator, but a warehouse full of computers.
"
Google has just released a white paper on Warehouse scale Computing which is pretty interesting and a must read.
This unconference was really informative and provided more insight on this relatively new topic which ironically we have been doing years ( Just kidding). However I still have a question which remains unanswered till now.
Can the holistic view of Cloud Computing be of a pyramid structure rather than plain horizontal layer ?
What I mean by this is , when we talk about scalability one layer has to be "theoretically" more scalable then the layer above it. Please let me know your thoughts on this.
Cloud Computing : CloudCamp Unconference
Vasudhaiva Kutumbakam that’s what came to my mind when I first read about Cloud Computing which is often described as the “the ultimate form of globalization”. Although, claiming it to the ultimate form might appear to be an over statement but it actually makes sense when you dig down deep into it.
I attended a CloudCamp (un)conference by Open Group yesterday at Marriott yesterday and was able to clear some of my misconceptions about cloud computing. There were experts on cloud computing from different walks of life (industry). For starters ,
CloudCamp is an unconference where early adapters of Cloud Computing technologies exchange ideas. With the rapid change occurring in the industry, we need a place we can meet to share our experiences, challenges and solutions.
That takes me to the frequently asked question “What the Heck is Cloud Computing ?” . Well, there is lot of information on the sweet old internet about it and I wont do a COPY-PASTE of same information here.
In a nulshell Cloud computing can be defined as “centralizing your IT resources into layers to achieve maximum utilization.” You can basically combine following IT resources to give you a holistic view.

Tuesday, July 14, 2009
Enterprise Service Bus Or Enterprise Message Broker
My friend Nitin Shekhar has already written a nice article explaning the core concept and difference between the two you can read it here (
http://nitinshekhar.blogspot.com/2009/07/enterprise-service-bus-vs-message.html
)
I would like to add some more information through this blog.
EMB ( Message Broker )
It is a physical component that handles the communication between applications. Instead of communicating with each other, applications communicate only with the message broker. An application sends a message to the message broker, providing the logical name of the receivers. The message broker looks up applications registered under the logical name and then passes the message to them.
Reponsibilities
• Receive message
• Determine the message recipients and perform the routing
• Handle any interface-level differences ( mapping etc ) mostly one to one.
• Dipatch the message to the recipients
ESB ( Service Bus)
Used to Connect all applications through a logical component. It specializes in transporting messages between applications. Key elements of ESB are:
• A set of agreed-upon message schemas
• A set of common command messages
• A shared infrastructure for sending bus messages to recipients
Responsiblities
• Provides a common set of message formats to the participating applications.
• Transports messages from the sender to the other applications that are connected to the bus.
• Senders tag outgoing messages and pass them to the bus.
• Receivers inspect the incoming messages and discard the messages that are not needed.
Thursday, March 19, 2009
isn't IT a zoo!!!!
The album was inturn inspired by a 1945 book , Animal Farms by George Orwell.
Have you ever thought what kind of animals are present in our day to day work lives.
If not let us discuss them :
Goat : The ScapeGoat
The word "scapegoat" has come to mean a person, often innocent, who is blamed and punished for the sins, crimes, or sufferings of others, generally as a way of distracting attention from the real causes.
http://www.cartoonstock.com/directory/s/scapegoat_gifts.asp
In a typical IT organization there are people who have virtually tagged themselves as scapegoats. Its good to hire a few of scapegoats in your team. These scapegoats can come handy at times when needed. Please note that scapegoats should be used with caution. If the sin or mistake you commited is too small its good to take the blame. Scapegoats should take the blame for large unpardonable crimes commited in your team.
So, are you going to have Goat curry tonight ?
TorToise and Rabbit:
Remember when you joined a company you were told by HR that .."On end of this term your performance will be judged and you might be promoted". Ok, now what this really means is , "we will see how you performed compared to all other people in your team or your company". I think now you get it. As long as you are not as stupid and over confident as rabbit in the story, it really pays to be a rabbit while racing with tortoises.
http://www.cartoonstock.com/directory/a/aesop_s_fable_gifts.asp
So be sure to include lot of tortoises in your team. This will really help when there is performance review. Since performance review is not How good you performed ? But how bad others performed.
Grasshopper and Ants:
http://www.cartoonstock.com/directory/g/grasshopper_bugs.asp
Remember the story where a grasshopper who has spent the warm months singing away while the ants worked to store up food for winter. When winter arrives, the grasshopper finds itself dying of hunger, and upon asking the ant for food is only rebuked for its idleness. If you are a Grasshopper you need lots of ants in your team. You can spend all your time before the project deadline attending all unnecessary personality development, and time management trainings which your organization provides for free. Remember you "all" are a team. When the project fails it wont be blamed on you alone It will be blamed on whole team which consists of ants as well.
There are many more types in animals there . Please wait for the part 2 of this article.....
Thursday, March 12, 2009
Pink Floyd and Me
My cousin who has tremendous knowledge about music, right from Indian classical to rock (heavy metal , psychedelic , classic etc etc) is an expert in tabla and was a famous drummer during his engineering college days. Well he is arguably one of the most knowledgeable musician in my known circle.
Second time, during my engineering days around 1995-1996 one of my friend who was a big fan of the band always used to insist that we include at least one song from the band in our Mad-ads ( a type of stage play). At last we gave up to his demand and included the number "Another brick in the wall" in our college skit. This was a funny skit about students protesting against the tyrant hostel/college management. The song beautifully aligned into the theme of the skit.
Slowly but steadily , I don’t know when, but I had started taking interest in psychedelic rock in general and Pink Floyd in particular.
After completing my BE I came in touch with my cousin again and this time he explained me the real philosophy behind PF songs. He told me one thing which I still remember . He said "each time you listen to a PF song after some time , you will find a different hidden meaning". I am really thankfull to him for throwing some light on the philosophy behind PF songs.
I have heard almost all songs from PF innumerable number of times. There was a time when my brother and I used to listen to "Momentry Lapse of Reason : Sorrow" again and again. At one point of time I was big fan of "The Thin Ice", then it was "Division Bell" album.
IMHO PF is one of the best rock bands ever. Period.
Wednesday, March 11, 2009
Java Menu for Desktop
I built a full fledeged java based tool for doing this. Let me present you a short tutorial demostrating the way in which it can be done
1) Java Program
Develop a swing based normal java program which takes an input file name and depending on the extention of file shows a menu. The menu should be very small in size. The normal swing based program could be like this.
Takes the file name (with path) in the constructor like this
MouseInfo.getPointerInfo().getLocation()
Using this you can display the menu on the location where user has the mouse
Lets assume the exe file name you created for your java program is menubuilder.exe
3) Use Regedit to add the entry.
Regedit is windows tool using which you can see all your registry entries. I would suggest that before
using this tutorial please export all your registry key and backit up somewhere.
Lets assume you want to add custom right click menu to .java extention.
Step 1 ) Open Regedit and expand HKEY_CLASSES_ROOT.
PerceivedType is equal to "text". If yes then note down the default value
(java_auto_file as shown in the figure).
NOTE : If the PercievedType is not text then you would probably have Shell key inside your .java key. In that case jump to step 5
Step 5) Create a subkey called MyMenu inside this Shell key.
Step 7) Set the value of command key to as shown in figure.
Step 9) Just Pray that every thing was done alright ( kidding)
Now when you go to windows explorer and right click on java file you would be able to see the MyMenu as shown in figure and clicking on it would open your favorite menu.
Java to EXE
java program to windows executable. Yes you have a jar format but having an exe file would certianly be much better
than sending a jar file to some one and asking them to run with javaw.
For a long time I searched for a perfect tool which would be able to convert my java program to exe. Most of the tools
were either paid or too clumsy to use. I dint want to install any thing on my comptuer.
Basically I was searching for an open source tool . I found one after searching for some time
It is an Open source tool named Janel. SO what exactly is Janel. Here is the introduction from its website
http://www.redskaper.com/
Janel is a free, Open Source Java native executable and launcher for Windows. Launch your Java application just like other Windows executables. Within the configuration file set the location of the JVM, any of the Java system properties such as classpath, and more. A choice of non-console and console applications is available. The process name is whatever you choose for your .exe file
The site has a very good explanation on how to use Janel to convert your java program to exe. But let me tell you in simple steps
After downloading Janel
Rename JanelWindows.exe to YourJavaProgram.exe.
Rename JanelWindows.lap to YourJavaProgram.lap. ( this is a text file)
Open the YourJavaProgram.lap file in notepad and change the following line
janel.main.class=package.YourJavaProgram
-Djava.class.path=lib\YourJavaProgram.jar
Now just double click on exe file to run your favorite java program.
Tuesday, March 10, 2009
5 Tips before you go to a Washroom
Since you are all alone in a washroom you can definitely give yourself some "food for thought". Its not uncommon for people to get brilliant ideas and solutions (for complex technical problems) in a washroom.
But before you go to a washroom you should consider following essential tips
#Tip 1:
If Coffee is free in your office then make sure you drink large amount of coffee around half an hour before you plan to go to a wash room.
This will not only provide the necessary pressure but also provide you time to think about the list of problems you are going to solve there.
#Tip 2:
Postpone all the meetings which you have around this time , You really need don’t want all those meetings during such an important part of your work.
#Tip 3:
If you have a cell phone make sure you carry it with you to the washroom.
#Tip 4:
If your cell phone doesn’t have good games , please carry a pocket game with you. Believe me it helps!!
#Tip 5:
Last but not the least. Before entering the washroom make sure there is enough paper and the flush works!!!
Ontario Driving License G1 Test
This test although not very difficult but is definetly tricky. I have gone throught many sites and books
but all of them focus more on driving skills , not many of them test your knowledge on number
of points you might get for breaking a rule.
These questions are also asked in G1 test and not knowing answers for these can be tricky.
I had developed a small java program to test my knowledge on this. I am sharing this for helping all others
http://visrow.googlepages.com/g1.jar
Please NOTE:
You need JRE to Run this jar file.
This Test was developed by me just to help me memorize these points. I take no responsibity for this java program or if the rules have
changed now or the points system might have changed.
For more information you could refer to Ministry of transportation web site.
http://www.mto.gov.on.ca
Monday, March 9, 2009
5 Tips before you go for a meeting
Always have a notepad , pen and few blank papers in your office drawer. When called to attend a meeting carry these items with you . Even though this meeting might be absoulutely unimportant, a waste of time, or totally unrelated to your work , you must still carry these things into the meeting to show that you are sincere and you are interested.
Tip #2
When inside a boring meeting room which is full of people, who are blabbering things which even they dont understand, you must try and scribble continuously on your notebook. You could draw some cartoons or make your grocery list in this mean time. Make sure you look up to the speaker once in a while to look interested and concerned. You must keep nodding your head vertically . Once in a while you can nod horizantly too.
Tip #3
When inside a meeting once in a while you should say , "oh sorry I missed that point", the speaker will be more than happy to repeat his statement. This would give you a major advantage over other passive and non interested listeners. Others will think that you are the most keen listener in the room. If your manager is one of the attendees he will be tremendously impressed.
Tip #4
Once in a while try to catch up with the last statement and repeat it in your own words full of jargons and technobabbles. Make sure that it appears as if you are consolidating what the speaker just said so that it makes more sense. This would give you 2 more brownie points. For one , it will make the speaker look stupid who lacks basic communication skills. Secondly it would make you look technically superior to all other attendees. An example for this would be.
Lets assume the speaker (Tom) just said.
"We must have less number of defects"
Try to say the same in your own words.
"So I think what Tom really means here is, Since we are following the iterative model of XP with other agile methodologies in this project ,the ratio of defect versus code developed in this project should not be more compared to the previous project which was entirly based on waterfall model of SDLC."
It requries some amount of practice to do this. I suggest you do your homework and practice it for few hours everyday. You could do while you are in traffic signal while going to work or in your office washroom.
Tip #5
Last but not the least. Try to practice "Catch & Release". When inside a meeting try to catch important jargons and accronyms . You can release these words later in any other totally unrelated meeting where you get chance to speak. Dont bother to search for meaning of these words in dictionary or web. They will probably never be there.
The Jargon Man
this is the meaning of Jargon from dictionary (http://www.merriam-webster.com/dictionary/jargon)
"
confused unintelligible language or a strange, outlandish, or barbarous language or dialect ....."
another explanation from same site
"
obscure and often pretentious language marked by circumlocutions and long words"
Usually jargons are the words or term used by people working in a particular field or industry. Its assumed that people working in the same ( specific) field must be aware of these terminologies.
I guess you might have known by now what exactly a "Jargon" means. Its any of those words which is hard to understand or make sense of , even for any person belonging to the same industry. These words are extermely ( almost impossible) for a layman to understand.
In a nutshell, making sense of a Jargon is :
Extermely difficult for some people.
Almost impossible for rest of the people.
So why do people use jargons afer all ?, lets rest this discussion for a while and try to throw some light on IT ( information technology) field first. IT is relatively a new field compared to other fields such as manufacturing, finance etc. This field is full of meaningless, confusing, nonsensical jargons used by people who are either too intelligent or too dumb. The overuse of jargons in IT fields have reduced the importance of these words and made them "Technobabble". The primary function of technobabble (from wikipedia) is to obscure the truth of a situation by overdressing the words and concepts.Technobabble (a portmanteau of technology and babble) is a form of prose using jargon, buzzwords and highly esoteric language to give an impression of plausibility through mystification, misdirection, and obfuscation (http://en.wikipedia.org/wiki/Technobabble). It field is full of these technobabble. If you are in IT industry you must have heard tons and tons of these words, if not please google for "IT jargon" , there are sites faithfully dedicated to these words.Some of the statments with jargons can be quite funny an example ,
We reduced the bugs after we started using SOAP.
Now lets answer our previous question , why do people really use jargons or technobabbles ?
Here is the answer from wikipedia.
Authors and others who wish to convey a feeling of technical sophistication may write or talk in technobabble. They may use the jargon without considering what it actually means in order to give an impression that they know things that their readers or listeners do not. However, if the jargon is decoded it becomes apparent that the originator does not really understand what has been said or is deliberately being unclear. When used in this way, technobabble is considered pretentious and often unacceptable. If used inappropriately even novice listeners can often detect that nonsense is being spouted forth.
Actually one of the problems blocking SOA adoption in companies was that when the architects and developers start talking in jargon, they lost the business executives and managers in the blur of XML, WSDL, SOAP and UDDI (http://searchsoa.techtarget.com/news/article/0,289142,sid26_gci1191671,00.html).
You will definetly have one or more than one jargon man in your team. The primary aim of this jargon man is to capture the free flowing jargons in the atmosphere and release it on unsuspecting , so-called-ignorant listeners. They do this to show their techical superiorty and hide the lack of knowledge on that particular topic.
Jargon man can be found any where , during meetings , during presentations , during interviews etc. A misconception people have is as they start growing in a particular field their dictionary of filthy, confusing jargons should also grow. So as typicall a lead or a manager would could potential throw more jargons than a tiny developer or a programmer.
Having a jargon man could be very injurious for a team or a customer. Team mates of this jargon man could suffer from inferiorty complex since the manager of this team would promote the jargon man. On the other hand a company might loose buiness by making a customer meet the jargon man since this would leave the customer confused. So if you have a jargon man in your team , the best way to deal with him would be to kick him out till he changes his dictionary.
Friday, March 6, 2009
eDocuments
Moving towards a paperless world
Problem
We have moved to an information and technology age. Most of the transactions in our day to day life are done on the net. There are many transactions which people never imagined could be done on net safely and in secure way. Still there are so many transactions which are done on paper. For example,
1) Certified Documents: These are copy of original documents which are certified by a notary as genuine. To have a document certified, a person should make a photocopy of the original document and take the original and the copy to an authorised person. This authorised person then verifies the document and puts a “seal” or “stamp” on the document.
2) Degrees/ Transcripts: Even in today’s world Schools/Universities continue to issue the degrees transcripts on paper based materials.
3) Other certificates : Every day there are tons of paper/ certificates printed and distributed all across world (in corporate , government organizations , tickets , passes etc)
Solution
There are millions of papers which get printed/photocopied and distributed everyday. eDocuments is a way in which the paper expenditure can be reduced and distribution of documents becomes easy, safe, secure and fast. The key to this solution is public key encryption mechanism. Each and every document issuing agency has a set of public and private key. This key set is issued to them by eDocuments.org in collaboration with governmental and other non governmental authorised agencies. The private key is confidential to the document issuing agency and public key is available to every one using a central website (eDocuments.org). All the documents would be encrypted and can be transferred and be decrypted and viewed only by using public key.
The rule is simple, “Any document which is not encrypted is not valid or true”
Scenarios
Lets take few scenarios to explain how this solution works
1) Scenario 1: Certified Documents
Present Situation
-----------------------------
Gary photocopies a document and takes the original and the photocopies to Sue the Notary. Sue the Notary, validates the documents and puts a seal or stamp on the copy. This seal was given to Sue by “The Law Association”.
Gary takes the certified copy and mails to the organization which requires it. This document reaches the destination in 4 days.
It is a valid document since it has a seal or stamp on it.
Future
---------------
Gary scans the documents and takes soft copy and originals to Sue the Notary. Sue the Notary, validates the documents and encrypts them using his private key. This private key was issued to Sue by “The Law Association” in collaboration with eDocuments.org.
Gary takes the certified copy and emails them to the organization which requires it. This document reaches the destination immediately
It is a valid document since it can be decrypted only by public key of Sue which is available on eDocuments.org website.
2) Scenario 2: Certificates / Transcripts
Present Situation
-----------------------
Gary graduated from the university today. He got a degree certificate, he also got the transcripts of all semester and other school leaving certificates. All these documents carry university seal and logo. Gary has to keep this certificates safely and carry them with him whenever he moves or changes his job.
Future
-----------------
Gary graduated from the university today. He got a degree certificate, he also got the transcripts of all semester and other school leaving certificates. All this documents are given to him on DVD and are encrypted using university private key. It can be decrypted using public key of university which is available on eDocuments.org website. Gary is very happy since he can always keep his documents with him without worrying about wear and tear.
Summary
It is a brand new concept and all the financial details needs to be worked out, revenue can be generated using different ways ranging from , charging for each and every documents , issuing the license of encryption, monthly fees to maintain the public key. The concept of eDocuments is not only environment friendly but could also save money and time of organizations.
Ant and Automation (Part I)
As a disclaimer, I’d like to say that this article is not a 5 minute tutorial on how to use Ant, since www is full of such articles, Apache Ant web site being the best. The sole purpose of this article is to enlighten fellow enthusiasts with the hidden secrets about Ant that I have discovered.
Most of the projects use Ant for automating their build processes. These automation scripts are nothing but sequential processes of checking out from repositories, building, & deploying the project. Some other projects go a step further and combine the unit test process with this to check the integrity and validity of application. Few others configure automated functional tests to be triggered after a successful build and deploy. Some also combine Ant with other tools such as CruiseControl and Maven to achieve what they think is “build nirvana”.
**For beginners:
Maven is …
“.. A software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.”
http://maven.apache.org/
And CruiseControl is..
“Both a continuous integration tool and an extensible framework for creating a custom continuous build process.”
http://cruisecontrol.sourceforge.net/
**
Even though both of these are excellent tools and they deliver what they promise, still a lot of areas in terms of automation are left out which can be explored by inquisitive software automation believers like you and me!
Now let’s discuss some of the features which can revolutionize mundane tasks through automation:
Step 1
----------
Currently, whenever there is build failure most of the systems send an email to a distribution list and depend on the lead/developer to find out the problem and fix it. However there is a scope to automate here:
The automation could be achieved by writing listener/loggers which parse the failure message (from the build logs) to get the list of all the files which failed to compile. Now for each of this file we need to get a repository history and find out the last check in. This would give us the repository ID of the user which is mapped to an email id with the supervisor’s name. The build failure message goes to the intended developer with an expected time of resolution. As soon as that time passes out the build triggers again and if the problems still exist an email goes to the user as well has his/her supervisor.
Step 2
---------
“I was not checking my email”. Haven’t we heard that before? Well, not all of us have access to the emails at all times; neither can we be checking emails all the time. Won’t integrating Ant with SMS facility be an excellent idea?
As we all know most of the telecom service providers have a facility through which emails gets converted to SMSes, for example, if you send an email to 9198xxxxxxx98@airtellkarnataka.com , the mobile number owner will receive it as an SMS. Why not send important build related messages to intended recipients through this free and reliable service?
Step 3
-----
“Ping Pong” is something which can be achieved using Ant or any other automated script. In any enterprise web development environment there are servers which need to be up and running for testing purposes, although all the HA environments have mechanisms in place to keep these servers up to 99.99%. However development environments usually lack these features. An Ant script could come in handy here. The script could be configured to ping the server at regular intervals and wait for the reply, if there is no reply, the script can then notify the concerned party. The script could also be configured to bring up the server automatically!
Step 4
------
Using Ant to achieve Automated Check in. In a typical development project we all checkout code, modify and check it in at on a daily basis. What if each developer has an Ant script on his machine which checks-in the modified code at end of day automatically? This would simplify maintaining processes and standardize daily check ins.
To be continued….
Learn IT from Bollywood
Sholay, 1975.
A crude translation in english would mean “How many people were there ?”.
Its not always about manpower and size of the team. In this particular bollywood blockbuster , just two good people with skill and determination were enough to handle hurdles and difficuties thrown at them compared to more than twenty. In todays slowing economy and competition its absolutely mandatory to maintain small but determined team rather than maintaining large team of unmotivated people. It’s a well known fact that team work plays an important role in success and failure of any project. You might hire the best of resources but if there is no team work the project is not going any where. If we take inspiration from this movie a team in present situtaion should :
Be small but with skilled and determined people.
Have good team work between members.
Have access to tools and resources.
Ye haath muje de de Thakur!!!
Sholay, 1975.
Another one from the same blockbuster movie which means . “Give me your hands” .Although its not necessary to have a Gabbar singh ( villian ) in a project. But we do have a virtual Gabbar singh in our work life. Yes, the competition , the peer pressure, the greed to get ahead and become a manager “could” be a virtual Gabbar. It’s a typical scenario in every software company a yough engineer joins a company, he becomes a team lead in few years and in some time he rises to become a manager, but all the while he forgets to update his technical skills, thinking that its enough to have good managerial skills rather than technical.But what he forgets is the software company is a technology company. Mangers are needed to manage people just because there is a tremedous growth and size of the team gets bigger and bigger. Although it’s a good idea to get some management skills but every one in a software company should be hands on.
Remember : A manager without technical skills is like Thakur without hands in the movie.
He has will , determination and good intentions but he is not capable of performing himself . His “hands” has been cut off by todays “virtual Gabbar singh”. All he can do is rely on his team to complete the project.
Mogambo khush hua .
Mr. India, 1987
Although we might not have Gabbar in our work lives but you will have to agree that we definetly have lots of Mogambos in our day to day lives. If you are software developer you have to consider your lead, your manager your QA and finally your client as Mogambo and try to extract this famous words from them which litrally means “I am Happy!!!”. Well, making them happy means producing good quality and timely work rather than developing PR skills or being friendly with them. Remember that in todays economy its the share holder who is The Greatest Mogambo. Your being friendly with client or manager might not increase the share value of the company but producing good quality work and completing the projects on time by meeting the deadline and keeping them bug free will definetly increase the share value.
Ek macchar aadmi to hizda bana deta hai.
Krantiveer , 1995
Yes, you gussed it right . These “macchars” are nothing but bugs in every software project. Bugs can come at any phase of the project and can have many causes, which inculde lack of requirements, lack of technical skills etc. Although its very diffucult to make any project bug free , it should be taken care that bugs don’t come at later stage of the project. We all software engineers know the importance of unit testing yet when it comes to actual task we espace by giving reasons like lack of time , lack or resources etc. We call consider oursleves to be too good programmer to need unit tests. We rely on QA and integration testers to catch bugs.
This figure is from “Applied Software Measurement”, by Capers Jones, McGraw-Hill 1991, for the time taken to prepare execute and fix defects.
Chota risk aur bada fayada yaane “mauka” !!!!
Maharathi, 2009
This is a dialog from not so well known movie but it makes lots of sense in today competitive software market. The protagonist in the movie says :
A little risk and little benefit is what we call business, whereas
A major risk and a major benefit is what we call lottery but
A little risk and a major benefit is what we call “Oppurtunity”!!!!!
Taking risk is necessary in every phase of life, but in a typical software project there are numerous time where one might have to take risk. Its always a tradeoff between the risk we are going to take and benefit we are going to get out of it. Refactoring the code is one such risk. Refactoring is a very good practice and you will find tons and tons of articles on net in support of it, however a very carefull cost-benefit analysis should be done before taking up any such work. Risk analysis is also very important aspect of software development life cycle. We must ensure that we don’t let go of any Oppurtunity at the same time we don’t take any unnecessary risk which are not going to yield equivalent benefit.
Sardar meine aapka namak khaya hai sardar!!!
Sholay, 1975.
Change is the most powerfull law of nature. You need to keep moving to achieve growth and success. Once we get good oppurtunity we move on to a different organization. I still remember one of the famous Indian enterprenur once said. “Don’t love your company, Love your work”. Although this might be true we still need to have respect and loyality towards the organization we are working in. We have to maintain decipline and not take undue advantages of the facilities provided by the company. Few of my friends used to stay in company till 8.30PM in night everyday. I used to appreciate their dedication till I found out the reason for their late schedule. The reason was , hold your breath, the company used to provide free dinner and free cab dropoff after 8.30PM. Another friend of mine used to work for a company which used to provide telecommute option to all of its employees. Well for starters telecommute means “work for home”. This is really a good option since it saves a lot of travelling time. We can utilize all the time we waste on roads in a good way. This option definetly improves the work-life balance. My friend used to take this option “work from home” every 3 days a week. But only change was “work” was missing from his schedule when he used to be home. This is a balant cheating, its like robbing your organization , their client and other loyal employeers of valuable time and money. Remember , work from home means you have to treat your home as work place and bheave in exactly the same way as you were in office, period.
Another way of robbing time could be spending a lot of time in company cafetia or recreation area of your company. Please remember that these areas are provided so that you can take a break from your work. But some people make this other way round. They start working when they take break from these places.
Mere paas maan hai..
Deevar, 1975
After working loyally and faithfully for almost 3 years in the same company and always proving myself again and again I was amazed when a new person with almost same level of experience as me was named technical architect instead of me. I the only qualification he seemed to have was “onsite experience” of around 2 years. The fact that he was laid off in this “onsite” country due to economic slowdown dint bother any one. It’s a well known fact now that India is one of the best producers of engineers in the world.
Alghough engineers from IITS and MBAS from IIMS have been been hired by best of multinationals since beginning even less known engineering colleges and universities are not far behind.
http://www.rediff.com/money/2007/jul/05eng.htm
Today india and indians have achieved a lot in software industry. More than 20 Indian software companies have achieved the prestigious SEI-CMM level. India also has the highest number of ISO-9000 software organizations. In the U.S alone, more than 80% have ranked India as their first choice, when outsourcing software and IT services. The U.S has also recognized India as an outsourcing superpower. Although I agree that above statements is bound to open “can of worms” and some readers would disagree with me saying that India is chose not because of quality but because of cost. But we all agree that Indian engineers have proved themselves time and again but still the indian management has a mind set of treating “foreign returned” engineers differently compared to local experienced.“Good quality engineer” is product of education, work experience, and opportunities to grow. Engineers in same Corporation should be paid equaly in different countries, period. There are mind set shift necessary when you hire talent. But this will take time till then if your onsite colleague tells you that today he has a flat, a car, and a TV and asks you what do you have . Just tell him .. Mere paas maan hai.. which means I have mother and mother land.

