Tuesday, July 01, 2008
Microsoft without Gates or Gates without Microsoft
A) Can foresee future of world
B) Thinking always how to improve future technology that makes people life easier.
C) Constant quest for knowledge
is rare and nearly impossible.
Bill Gates is one of the kind people of our generation. Everybody hated him, when he was trying to capture world by windows operating system, he was labeled as monopolist (that was true, hey nobody is perfect!!!), and even US antitrust law nearly tumbled him from top. But even the judge presumably used Windows-Word to type the judgment, he made windows available all the places, every corner of world.Nobody could reach at his height for near future.
Almost all techno geeks were against him, complaining about buggy windows, less taste products, cunning business mind, arrogant, aggressive, greedy and not too intuitive products etc.
All are went silence when he announced that, he is going to concentrate more on philanthropy and donated 99% of his wealth to his (and his wife) charity.(so it is his wealth made angry of others first not products...just kidding..thats was almost history ;-0). I believe because of the extraordinary forward thinking power of him, he can quickly sense that something needs to done for humanity, otherwise humanity will not survive, mainly Sahara African nations and other parts of Asia. Even his kids would inherent only some portion of his wealth. Because he perhaps thinks his kids already inherent $50 billion worth of brain.
Even though, he officially retired from day by day job from Microsoft, in my opinion, he can’t stay away from Microsoft for long. Now he wants to be non executive chairman of Microsoft, want to visit Microsoft for presentation ceremonies, want to attend internet future conferences. These all are indications that he would back to at least officially consultant based job at Microsoft again.
Monday, June 30, 2008
WALL-E
This is Robot love story, movie starts from unlivable earth, because of over pollution, frequent dust storms and mountain of trash, where lone robot trash collector WALL-E (with his friend cockroach), just doing his job to convert all wastes into some deposable form for 700 years. All humans were evacuated from earth to space because of unlivable condition 700 years ago by various space ships.
One of the space ship called Axim, sends a probe mission (like the one NASA send to Mars) to earth, that robot is EVE (but Wall-E calls her EVA), the mission is to find life in earth.Wall-E helped her to find a life, a tiny plant inside shoe. As soon as, EVA finds it and store it inside chamber, she becomes kind of coma (actually as per program, robot’s main system goes sleep mode after the mission completes).He chased her up to Axim and fun starts from there.
This movie can be enjoyed by grown ups also ,i did !. My 4 and half years old started talking about this movie a month ago. He was not even blinking his eyes from start to end, he just enjoyed with involvement.
Sunday, June 29, 2008
Struts 2 - Unit Testing
Friday, June 27, 2008
Searching logic in illogical world
Logic 1: Fix immediately whatever issues concerns you most (in context of lawmakers, it is whatever issues concerns to people of a country)
US congress passed a bill to save monkeys on last Tuesday "unlawful for any person to import, export, transport, sell, receive, acquire or purchase in interstate or foreign commerce any live animal of any prohibited wildlife species." Source: Chicago Tribune
This is really important to tackle this issue now, because people now really enjoying with Midwest flood, high energy cost, foreclosures, credit crunch and worried about monkeys, dracula, snakes etc.
Logic 2: Don’t talk too much about future, plan for it and take action for todays
McCain announced that he is willing to give $300 Million (I don’t know from his pocket or tax money) to any one, who invents a super-duper battery to power up our cars. He didn’t mention it is for individual, team of people or a company. Is it for only cars? then what about flights, power generators, rocket engine, trains. If McCain and others (senators) works now and take action against US oil corps about not using all available leased oil resources, oil would have came down at least by 50% within 1 month.
Logic 3: Don’t be a coat, be a skin
In business environment, particularly service oriented organization, be a skin with customers. Attach firmly with customers, help them to grow so our business also grow with them. Last week there was a rumor that HSBC is going to buy UBS for $80 Billion, an Indian outsource company stock nose dived. It is just a rumor, what will happen if it really happens, simple matter is HSBC may cut that outsource company as vendor since they are not attached with core UBS business, they just supplied human heads. This service oriented sector is the main source of India's future growth, if they don't know how to glue with business, there is no point of talking about growth, success etc. This is not a rocket science, just read some IBM white papers; there they clearly mention how to support other business and business based consultancy.
Logic 4: Whats gonna to work, team work!!!
“All Indians are our brothers and sister….” this is the oath we took from school days on every Monday in front of Indian flag. This was to eliminate the difference between us, and promote team work and to decrease ego between us. I don’t know our brain was designed to forget everything we learned from school, college, career. Anyways we hate teams, we love cricket, that to, Sachin’s one man play, nothing else. Other sports we loved are not team sports such as chess, carom, formula one and tennis. Last 2 decades, India is ruled by team of political parties, one party ruling was gone long time ago. This is good for some extend, but it is bad when we try to resolve major issues, like the one now Indo-US nuclear deal. This is really important and we don’t know how to trade off between parties and ego is the main source for disagreements. Finally the next election is around the corner, we(people) are just watching this circus again and again.
To be cont.d...
Monday, June 23, 2008
Heat on Outsourcing
After 6-8 years, outsourcing IT industry losing steam for the first time, this company’s stock price and value started plummeting. Why is that? This should not happen? Is there something fundamental wrong?
1. Big mistake with human resource: The main asset of outsourcing company is brain. Unfortunately, nobody can make brain “out of the box”. It is naturally embedded with each human. So human is the main asset of outsourcing companies. How soon a programmer/engineer grasping new design/code and how soon he/she converting into meaningful document and how soon he/she transfer the knowledge to their peers and how soon they can deliver a work is the fundamental success of an IT outsourcing company. They all are young smart brainier professional, but as soon as these professional crossed ocean, out of their main work location for on site projects, their touch with HR would be reduced, literally no HR policy. No body cares about them, several HR violations; nobody asks some basic humanity needs; they are out of sync with their company. As a result, they try to jump in to other companies, de-motivated and always looking for other opportunities.
2. Business or domain knowledge: Growth is the main ingredient for business success but at the same time, domain knowledge is the main catalyst for sustainable business success. Lot of time outsourcing companies wants to capture market, they make lot of moves, didn’t allow people to be in same domain and allow them to become master of that domain. The excuse would be, hire a lateral domain knowledge candidate for that position, but reality is, that lateral candidate would take lot of time to adjust with culture to provide some value, by the time competitor take all business.
3. Politics: Workplace politics is okay, as long as all politics are for positive purpose. But with in outsourcing companies, politics range from state, language, color, region, religion, direction, social status, history, geography etc. None of these are positives, all are negatives and unbearable and highly unprofessional.
Wednesday, June 18, 2008
Quit (7th time) Smoking
A) new workplace, no smoking buddies
B) i have a solid plan
C) this is my father's day resolution to my kids
D) i announced it thru blog so everybody knows it,now i have a morale obligation to follow what i preach :-)
Previous times, i was not following solid plans, i didn't use "stop smoking aids" completely and once in a while, i smoked one or two puffs or a cigarette here and there. Most of the times, i quit because of external forces but this time "some force" triggering from internally.
Last 96 hours or so, i felt like my sugar level dropped completely, dizziness, forgot to press correct floor number in elevator, food tastes bad and blah...blah...blah. i couldn't even blog, getting sleep at 8.00PM. But now all are back to normal, i can type blog and not sleepy. One feeling though, how come all are inside home/office, all the time without going out for a fresh air. Is it normal or only i'm thinking that way?
Saturday, June 14, 2008
Yahoo,Microsoft and Google
Google's strength is cloud computing and Yahoo doesn't has one neither do Microsoft. I think Microsoft without cloud computing is biggest drawback moving forward. So without improving Microsoft's cloud computing capabilities, acquiring other big company will ends up in disaster. If Microsoft strategy is to just kill Yahoo products, so that they can become the only one competitor for Google, will not get support from public, media and technicians.
Wednesday, June 11, 2008
World War II – USSR Snipers
Snipers required special coaching and lot of practice, more than that, it was less expensive to hire somebody and give him training to make him as deadly weapon, rather than building a cutting edge military weapon which required scientists, technical and man power etc. The strategy was, snipers were placed everywhere at Moscow suburbs and their aim was to kill whoever driving military war tank, top commanders, and whoever wears top military stars, German military power collapsed sooner without people to drive German modern war tanks and commanding the force. This was excellent strategy, because Germans advanced so much deep into USSR, German can’t replace somebody with those who got killed by snipers.
Stalin knew very well that he had the power of snipers and let Germans advance deep into USSR territory and he also waited for weather to assist him. The bad part was, his selfishness, at any cost he wants to save Moscow and he didn’t care much about outside Moscow people. They all got killed after tortured. I was amazed that all of this torture and killing were documented and we saved for this long, so that we can see now after so many years to understand the value of human life and peace.
Sunday, June 08, 2008
Stereotypes - Architecture point of view
As per architecture point of view, stereotypes and assumptions are really important to understand/build a new system but with in human systems based on stereotypes and assumptions "forcing" is wrong. My opinion is, a little stereotype, common sense and general knowledge is really required to understand a stranger and to build a good relationship or persuade others. The 3 combination of stereotype, common sense and general knowledge are success weapon to deal with most diversified cultures like india.
For example, couple of weeks ago my wife with couple of other housewives planned to contact a get together. One is from east india, other one is from west india(we haven't meet them earlier). My wife came from prominently beef eating state based on that she suggested a beef dish. She lacked to apply stereotype, common sense and general knowledge here, because i knew western india states banned beef slaughtering , and most of them are sensitive to hindu culture in which eating beef is sin and a simple stereotype that their last name belongs to veg. only community. I was upset with her and i felt some uneasy when we went there for dinner ofcourse with pure veg. dishes.
Friday, June 06, 2008
Survived in new workplace for 15 days
I started with a bank for contract to hire position, i liked this “contract to hire” concept because it very balanced act for us and company before both of us committing anything. Since it is a hiring position, added this is bank, i went through extensive security, background, credit, reference checking plus all kind of testing. This is important because all these process went through for 2 weeks before they asked me to start work, so patience is really important. I liked this also, so my manager knows my financial data and credit balance, did i bankrupt before, my credit score etc.
Day 1: Hiring manager welcomes me and took me to my desk, what a surprise for me? All the equipment was ready, even my laptop booted and ready for login, and all stationary items are in place at my desk. I never ever experienced this “welcomed”. He explained me all the details like documents to setup email, login info, etc. I just setup everything and i accepted his first meeting request that was, welcome lunch at Flattop Grill. So i had a very good time with my team members, they all interviewed me so i had some introduction with them.
Day 2: I thought since it is bank i have to wear very formal and polished shoes. But what a surprise again, i can see tech geeks walking around with jeans and T-Shirts. I think this is “kinda of” incubator so no formal dress required.
Day 3: My first assignment is to design and develop a module. But i faced a challenge from my laptop; it was loaded with, you name it all was there in laptop. So i have decided to clean up laptop first before starting my work.
Day 4: After cleaned up, started work it was very easy for me to finish it within 2 days.
Day 5: My first code with design document checked in source control.
Day 6: My manager showed up my desk with a laundry list of code review comments, again i tumbled; he did an excellent job to capture all technical details and helped me to change code as per comments.
Day 7: We decided to review code with my team. I got other assignment at same time.
Day 8: Code review went fine, they want to use same thing for their module also. I felt very happy that i introduced a new concept here.
Day 9: Busy with new assignment, hard part was to understand banking terms and domain knowledge.
Day 10: Started designing for new assignment and checked with manager, he asked me to start coding.
Day 11, 12, 13, 14, and 15: Happened to attend a road map meeting. Completed new assignments and code checked in source code. Felt very satisfied and feeling a new rock ’n roll started for me. Time to take couple of beers.
Wednesday, June 04, 2008
KidZui - Web Browser for kids
Tuesday, June 03, 2008
HISTORY IN MAKING...
Optimism Vs Cautiously Optimism
But later on I realized that these two are equally same meaning but the main differentiator is time to take a decision. If an investor is “cautiously optimist” means they are not willing to take any decision soon, such as invest on one company’s stock, they are analyzing the situation very carefully and closely, exploring various options etc. Where optimism means we tend to take decision on the feet, we think that this is the right time to invest, don’t delay, go for it and seize the opportunity.
It is very hard to change the context between optimism and cautiously optimism in terms of thinking. It is all depends on how our “decision making skills” shaped up during the course of our life time. One of the hardest thing is our life is decision making, when to make decision, how to make, can I make decision based on my instinct or need an experienced people’s advice etc.
In business scenario, making decision is really tough. For example, latest fall of Wachovia and Bear Sterns. Both of these companies were very optimistic about sub prime market, they didn’t exercise cautiously optimism rather they want to make decisions on the feet. What happened now? The later made JP Morgan Chase rich by giving Manhattan skyscraper/ and their employees, clients for almost free.
Here is one good article about decision making http://edis.ifas.ufl.edu/he691. What I’m thinking about decision making are,
- We should not jump into conclusion based on newspaper articles, news clips and videos. Sometimes media’s would influence or test our decision making abilities.
- No decision is a bad decision – take a decision and move on whenever required.
- Family value and their inputs are the most influential factor of making decisions – I would say 90% of our decisions based on what is good for our family.
- Once you made a decision, stick with it - if it is reversible (in my mind, other than career decisions all are reversible) do it quickly, if not, continue with that, until you feel happy about it or search for happiness from it.
Saturday, May 31, 2008
the Millennials a.k.a Generation Y
This new generation is called Generation Y, they born between 1979 to 2002. They enjoyed most of digital advancement from birth. Here are some interesting facts about the Millennials.
97% own a computer
94% own a cell phone
76% use Instant Messaging.
15% of IM users are logged on 24 hours a day/7 days a week
34% use websites as their primary source of news
28% author a blog and 44% read blogs
49% download music using peer-to-peer file sharing
75% of college students have a Facebook account
60% own some type of portable music and/or video device such as an iPod.
Source : Wikipedia.com
As a Generation X , we have to adjust with this new Millennials, in order to comfortably work with or manage them. As a late Generation X like me, we have a added advantage that our spouse may be part of Generation Y, so naturally we have some knowledge of Generation Y's thought process and their advanced digital feeling. Here are some tips I collected from various articles and talk shows.
1. Generation Y loves to do multi tasking. This is very greatest advantage of Generation Y, we can ask any help at any time, they will listen and provide answers or some pointers. They won't say "I'm busy come after sometime". This is because they are exposed to online chat and they try to chat with 3 different people at same time talking with somebody over phone from their early teen age.
2. Networking is the greatest capability of Generation Y. They try to get in touch with their kinder garden friends to college mates. We can really utilize this from Generation Y. If we want some help with our backache or something, ask a Generation Y, with in minutes you will get email id, chat id and mobile number from their contact list, who is Physiotherapist from his/her school days.
3. Generation Y are most work-life balance aware people. They will not work for 60 hours per week, which was defined by baby boomers and we X'ers followed it. Generation Y try to complete the task early, by applying new technology or tools(or even getting some help from friends). Naturally they want to spend lot of time with their friends and parents.
4. The natural tendency of Generation Y'er is to move job very frequently. Kind of "they want to join the company which was founded by their friend(s) a month ago". This is very important if we try to manage them, we will not get job done by threatening/commading them or putting more pressure on them. If we provide a good structure of work and create a friendly environment, they will complete work early with high quality. Otherwise, they try to update resume over mobile phone and send it to their network and find a job within 20-30 mins.
5. One disadvantage of Y'er is try to move upward in company ladder very fast. They want 6 months to move from trainee to coder, 6 more months from coder to sr. engineer and other 6 months to sr. engineer to director and within 1 years they want to become VP, and 3 more years to CEO. Which is very wrong by all the principle we set within organizations. They want to move upward very soon because they getting bore on one position, so we can try to accommodate their interests by allowing them to move within internal teams.
Friday, May 30, 2008
National Spelling Bee 2008
Wednesday, May 28, 2008
BrowserPlus - Yahoo's new adventure
Here is link to Google's Andriod screen shots, really cool
http://news.cnet.com/Screenshots-Googles-Android-comes-to-life/2300-1046_3-6240422.html?tag=nefd.lede
Tuesday, May 27, 2008
Decrator Pattern
The classic example of decorator pattern is Java I/O package. We used to create a powerful reader by chaining file reader and buffered reader. So file reader got decorated by buffer reader at run time with out extending it.
BufferedReader buff = new BufferedReader(new FileReader("something.txt"));
Again back to our traditional Car example. Assume, Car came out of factory and it is ready for drive but not quite ready for fully operational. Because now Car directly going to a dealer and he/she needs to add their own accessories and some more accessories depends on customer choice. If we think about an object model here, we can clearly understand the decorator.
So Car manufacture has to create an interface ( assume an abstract class ) to satisfy both dealer specific accessories as well as customer specific ones, with out changing or extending car.Now dealer implementing all accessories by extending manufacture interface (abstract). Now dealer decided to create one more abstract class by extending manufacture interface, to give more choice to customers for highly customize the car.
//Manufacture abstract class
public abstract class Accessories {
public void addMoonRoof();
public void fixNumberPlate();
}
//Dealer concrete class
public class DealerAccessories extends Accessories {
public void addMoonRoof() { //add a basic moon roof }
public void fixNumberPlate(); { //fix number plate }
}
//Dealer abstract class for high customization
//allowing customer to choose what moon roof they want, panoramic, 3D etc
public abstract class AccessoriesDecorator extends Accessories {
public abstract void addMoonRoof();
public void fixNumberPlate(); { //fix number plate }
}
//Panoramic view moon roof
public class Panoramic extends AccessoriesDecorator {
public void addMoonRoof() { //add a panoramic moon roof }
public void fixNumberPlate(); { //fix number plate }
}
Now we have all in place, just we want to add it in car. Assume, car has one method called add Accessories(Accessories), here we can add any thing Panoramic or basic Dealer Accessories.
Saturday, May 24, 2008
Travel week 1
- Distance from Naperville - 70 Miles (~ 1.30 hours to reach there )
- Keep map or navigation system handy, there are several construction going on in and around I-80 and some exits are closed.
- No shops are available, so take sufficient amount of water bottles, food and other necessary items.
- $6.00 for entrance fees.
- There are lot of recreational activities and other beaches are there, plan to spend at least a day to see all.
Ram
Meha
Chicago skyline from West beach
Friday, May 23, 2008
Tips to save gas.
Monday, May 19, 2008
100th Post.
My first inspiration is Mr Sukumar Rajagopal, who is current Chief Knowledge Officer(CKO) and VP of Cognizant, I met him on early 2005 at our client's place, and he introduced the blog and explained it, showed his blog. That day onwards, I read his posts as well as his friend's posts, that really changed me to write more. I recommend his blog unequivocally. Thanks to Mr Sibu B Kutty, who is co-authored some posts in Sukumar's blog. He is the only one noticed first that I started writing blog and encouraged me to write more.
My second inspiration is my wife, yes almost 2 years ago she also started a blog as "home-stay-mom-hobby". Her blog is huge success (number of hits well passed over 240k in last 2 years) , I can see positive changes from her after blogging. I can clearly categorize her as BB(Before Blog) and AB(After Blog). I never knew that she was this dedicated, determined about something before blog. She never quit blogging after our 2nd kid born 6 months ago.
I will continue writing as much as I can.
Sunday, May 18, 2008
Oil Talk
Why OPEC don't want to increase oil production? Oil is under earth like water, why they don't want to cash in all free resource now? Now price is peak and if they pump all available resource now, they can make lot of cash. If OPEC agreed to increase production by lets say 3,000,000 barrels per day, I don't think price would go down $50 per barrel, because of high demand. This is good analysis to answer all these questions. Saudis don't want to push themselves or other OPEC members to increase oil production because they had bad experience of increased oil production and price fell almost 50% during 1990s.
But now situation is different and they simply missing the opportunity of cash in. What will happen if oil price goes high day by day, US try to explore more drilling and use alternative energy to satisfy their needs. India and China people would think twice to drive car because of high oil price and particularly India already has massive public transport in place, hence demand would go down. OPEC will miss the golden opportunity of selling their oil at high price, that is freely available now. Here is chart from http://education.yahoo.com/reference/factbook/countrycompare/oil/1a.html
if we see oil consumption of these 3 countries is almost 27 million barrels per day and there is lot of chances that US would cut down import because untapped resources in Alaska, all they need to do is persuade green concerned people.
Thursday, May 15, 2008
Factory Pattern (Contd.)
To achieve the above problem statement, first thing we do is convert CarBuilder class to an abstract class, we no longer use simple parametrize create car factory, we need something robust, multiple factories depends on countries.
Lets think about country based factories like India, US, Japan and so on. So definitely we need a IndiaCarFactory, USCarFactory, JapanCarFactory. Now what we have as a common with in these factories, one thing is assemble,sendToPaint,delivery so does it make sense if we implement all these methods in super class and let sub class implement createCar method and let sub class decide which car object to instantiate depends on country. That's our factory model. Here is real implementation.
public abstract class CarBuilder {
public void assemble(Car car) {
//a concrete shared assemble implementation goes here.
}
public void sendToPaint(Car car) {
//a concrete shared send to paint implementation goes here.
}
public void delivery(Car car) {
//a concrete shared delivery implementation goes here.
}
//this is going to differ based on country
abstract Car createCar(String name);
public void buildCar(String name)
{
Car car = this.createCar(name);
assemble(car);
sendToPaint(car);
delivery(car);
}
}
Here is factory implementation.
public class IndiaCarFactory extends CarBuilder {
Car createCar(String name) {
Car car = null;
if(name.equals("ford") {car = new IndiaFord(); }
if(name.equals("honda") { car = new IndiaHonda(); }
if(name.equals("chev") { car = new IndiaChev(); }
if(name.equals("toyota") { car = new IndiaToyota(); }
return car;
}
}
The same can be implement in USCarFactory and JapanCarFactory etc. So when we want to these from caller, all we need to do is
CarBuilder builder = new IndiaCarFactory();
builder.buildCar("honda");
that's it, now we have a car builder from India factory for Honda.
Factory Pattern
Factory Pattern
The definition of factory pattern in simple "encapsulate object creation" and from Gang of 4 "Define an interface for creating an object but let subclass to decide which class to instantiate".
Here is one example, we have a concrete CarBuilder class implementation and a method buildCar as follows, this class has other important methods to build a car also.
public class CarBuilder {
public void buildCar(String name) {
Car car = null;
if(name.equals("ford") { car = new Ford(); }
if(name.equals("honda") { car = new Honda(); }
if(name.equals("chev") { car = new Chev(); }
assemble(car);
sendToPaint(car);
delivery(car);
}
}
Okay, all are fine, our class is ready to support 3 types car creation and supporting methods. After some days, now we want to add Toyota into this mix, so we need to add one more condition in buildCar method, and after some time we need to add 3 more types and adding 3 more if conditions in code, looks bad as well as we are leading to ambiguous class. So now we have to remove all if conditions to some class like utility class and pass name from here to get correct class implementation. Removing all if condition from here to other class is a simple factory pattern, that is, encapsulate object creation.
public class SimpleCarFactory {
public static Car createCar(Sting name) {
Car car = null;
if(name.equals("ford") {car = new Ford(); }
if(name.equals("honda") { car = new Honda(); }
if(name.equals("chev") { car = new Chev(); }
if(name.equals("toyota") { car = new Toyota(); }
return car;
}
}
createCar method declared static so we can call this method without instantiate SimpleCarFactory class. We haven't really into real factory pattern yet. This is just a starting point.
Tuesday, May 13, 2008
Thomas Malthus theory
Thomas Malthus is an economist lived in early 19th century, wrote six editions of An Essay on the Principle of Population, mainly to focus on population growth that leads to lower wages and finally to prolong poverty. His view was very pessimistic but that leads or accelerated to Britain passed Census Act 1800, to keep check population growth for every 10 years. Now all countries has the similar law. His first edition was published on 1798 and second edition on 1830, almost 32 years after mainly to answer his first edition's criticism from noble economists.
The core of his pessimistic view as follows.
"The way in which, these effects are produced seems to be this. We will suppose the means of subsistence in any country just equal to the easy support of its inhabitants. The constant effort towards population... increases the number of people before the means of subsistence are increased. The food therefore which before supported seven millions must now be divided among seven millions and a half or eight millions. The poor consequently must live much worse, and many of them be reduced to severe distress. The number of labourers also being above the proportion of the work in the market, the price of labour must tend toward a decrease, while the price of provisions would at the same time tend to rise. The labourer therefore must work harder to earn the same as he did before. During this season of distress, the discouragements to marriage, and the difficulty of rearing a family are so great that population is at a stand. In the mean time the cheapness of labour, the plenty of labourers, and the necessity of an increased industry amongst them, encourage cultivators to employ more labour upon their land, to turn up fresh soil, and to manure and improve more completely what is already in tillage, till ultimately the means of subsistence become in the same proportion to the population as at the period from which we set out. The situation of the labourer being then again tolerably comfortable, the restraints to population are in some degree loosened, and the same retrograde and progressive movements with respect to happiness are repeated."
To give mathematical view of his theory, population growth will increase at geometric rate (1,2,4,8,16....) where food growth increase at arithmetic(1,2,3,4,5...) .
But we can completely reject his views now since our food increase is outpaced population increase and his views are mainly focused on early 19th century state. Now with this advanced technology and green revolution we can feed all human as well as coming generation. His views are targeted at one segment of people, that is, poor people. Somehow he hated them or fear that they might steal his( or his grandchildren) share of pie in future.
Sunday, May 11, 2008
Job Search 101.
Brush up fundamentals
I have decided to spent at least 2-3 months to search a good job for me with my expectations. Before starting job search, we have to brush up all fundamentals, coding exercise and puzzles etc., even though you are a 10-15 years experienced professionals, most of the companies want to test your academic level knowledge, very fundamental computer language knowledge and then your project related questions. I found one good book, Programming Interviews Exposed, this is really good book and it covered all basic data structures, algorithms and commonly asked puzzles. One more book I bought to prepare job search is Puzzles for Programmers and Pros I wouldn't recommend this book, it is nice to have. Since I took Java 2 certification in 2003, those books helped me to brush up Java fundamentals. For design patterns I used Design Patterns: Elements of Reusable Object-Oriented Software (a.k.a) Gang of Four, I can say that almost every software professional must have read this book multiple times. I found some difficulties to understand some patterns so I read Head First Design Patterns also.
Start Attending Interviews.
Once we finished all reading and have confidence, now start applying jobs and start attend interviews. Most of the companies first do a telephonic screen before asking you to come for face to face interview. We have to make sure to talk with low pitch and reply as much as short answers, because the interviewer may judge you as aggressive if you speak in high pitch and as talker if you talk most of the time, because the body language totally missed here. One web site even recommended that consider telephonic interview as face to face, so wear formal dress with suit before attending telephonic interview, but I didn't buy-in that idea. Low pitch and short answer are most important. I found some difficulties, when some interviewer asked me to write a code over phone because I have to write code in paper and explain at same time in phone. But after one or two try I'm okay.
Face to face interviews
This is most important one and face to face decides whether you are going to get an offer or not. As a candidate, our main thing is capitalize the environment and not to get nervous or stress. Most of the interviewers assist you get settle down first by asking some easy questions and later on some complex things and coding exercise. Based on my experience, some interviewers get rough and tough on you, that could be to test your character or they don't know how to contact an interview. Any ways, face to face would be most important one and basic is not to get nervous and calmly you have to explain what ever you know, how you solved an issue, your project experience etc.
My Experience
I attended 5 or 6 telephonic interviews and 2 face to faces. I got an offer with my 2nd face to face last week. I just followed what ever I explained here, stay positive is the most important thing to find a job.
Saturday, May 10, 2008
The investor vs. The speculator
"The CPI(M), which supports the ruling UPA coalition from outside, had charged the government with making a “wrong diagnosis” of the causes behind price rise and said the steps announced to control inflation would in fact stifle the high growth rate. It demanded a ban on futures trading in 25 commodities, alleging that allowing multinational companies to get into speculative trading in food grains had “resulted in price rise.”
Based on Karat statement, speculation is the main reason of price rise and as usual he blamed multinational companies. Sir, first you need to understand the difference between an investor and a speculator. I urge you to change 1947 mentality of labeling an investor as speculator. An investor is who do all basic research and home work before buy anything and a speculator is one emotionally attached and buy anything they want without doing any home work and based on price movements. These markets are now controlled by investors. If an investors thinks that market is infest by speculators, then price would automatically come down. Great example would be this decade's dot com burst. A good investor always sells when speculator comes into the play. As of now, commodities trading in India or oil future trading is not infested by speculators. It is just reflecting real state of price.
Here is Channa price for last one year contract from Multi Commodity Exchange of India(MCX) . See how our investors bring down price from peak of little over 3000 to 2400 with in last 2 months. Either it could be speculator infested effect or supply increase and demand subside, either way it is reflecting current real price.

Source :http://www.geojit.com/commodities/CommCharts.asp?index=3&Symbol=CHANA&ExpDate=2008.05.20&Exchng=MCX&SPeriod=-12&ChartType=1
Thursday, May 08, 2008
Bad Move by Indian Government.
Inflation now is a global phenomena. We can't blame anybody for this, we have to adjust ourselves to live with that. This price hike going to continue until Iraq oil flows into main market or US drilling some more in Alaska (I think Alaska will not happen because of US election year and more global warming concerned people in US) What will happen if we suspend oil future trading, now price determination would be in hands of OPEC who is both price fixer as well as producer. In that scenario, how come we trust them that they are playing a fair role of fixing price, definitely they can set what ever price they want, no question asked. In order to avoid that only we found this future trading for a stable price determination. Why we need currency future,suspend that also and let each country fix their own money value like communist China. No democracy.
Sunday, May 04, 2008
Microsoft's gamble.
Saturday, May 03, 2008
Mint. Free Online Money Management.
How to see simplicity from a complex system?
Friday, May 02, 2008
How to see simplicity from a complex system?
I want to write something about how to derive a simple workable solution from a complex system. A System can be anything, for example, Eiffel tower, what we are seeing now is a complex tons and ton of steel structure and it is very complex to build. But some human like us built it from scratch, they assembled simple steel structures to build this complex architecture. This is very basic, a multiple simple systems forms a complex system. If we see it correctly, we can make lot of simples from a complex. So nothing in this world is complex.
Why some systems make us think that it is complex, because the way it was present to us is wrong or we are jump into conclusion very fast about a system. If we see a system as it's whole integrity. it is, yes definitely it is complex. All we need to do is see the system as parts and find a simple pattern hidden in the complex system. If we understand the simple pattern that makes the complex system, we are well off and we can resolve any system.
Tuesday, April 29, 2008
Hats Off to Indian Space Research Organization (ISRO)
The following is from Space.com
"An Indian rocket lifts off successfully with two domestic and eight foreign satellites from Satish Dhawan Space Centre in Sriharikota, India.
The Polar Satellite Launch Vehicle launched without its usual six strap-on boosters and carried its heaviest payload yet in this configuration — roughly 1,800 pounds (823 kilograms). The rocket had previously carried a maximum of four satellites into space within a single launch, according to Indian Space Research Organization (IRSO).
Once the rocket reached an altitude of almost 400 miles up (637 kilometers), it released its main payload of the Indian CARTOSAT-2A satellite into orbit. The Indian Mini Satellite (IMS-1) followed 45 seconds later. Lastly, the eight nano satellites built by Canada, Japan, Denmark, Germany, and the Netherlands separated in sequence"
Hats off to ISRO engineers and scientists to make this happen.
Saturday, April 26, 2008
Inversion Of Control and Dependecy Injection.
Wednesday, April 23, 2008
2008 - Not good so far. But how to beat it?
Sunday, April 20, 2008
Back to work.
Saturday, April 05, 2008
Back to Home.
First time in my recent visits since 2004, I'm seeing some negative changes in India, which is not good. There is some loss of capitalist version of India, Reliance Petrol(Gas) station closed its stores all across India since it couldn't afford to competition with state run petrol stations. This time we are missing flashy and attractive gas stations on road. In and around my home town and South Kerala, a lot of infrastructure development works are on hold or no improvement at all. People are crazy about food and other essential items price. As per government report inflation rate now holds all time high of 7%. But there should be always a peeks and valleys in all aspects of progressive developments.
Apart of this, People doesn't change at all, same affection, same kindness, same politeness all are same as before.
Tuesday, April 01, 2008
Unified Modeling Language - Sequence Diagrams
The simple definition of sequence diagram is, explore the logic of complex function and how many objects required and how they interacts with each other to satisfy an use case. Not all use case required a sequence diagram, we can identify complex or most critical ones to be the candidate for sequence diagram.
Lets take a simple use case "add a product in shopping cart".
1. User enter user name and password in login screen.
2. System validates user and let user in the main page.
3. User select a product from product menu.
4. System adds the product into user's shopping cart.
5. User clicks checkout link.
6. System displays checkout page.
Based on above simple use case, we can draw a simple sequence like this
User -> Login - > main page -> Product catalog -> check out
Now we need to convert this simple sequence into objects
aLogin -> aProductCatalog -> aCheckOut -> aBusinessService
After second iteration, we identified that we need a business service to get products from a data base. After second iteration we have to put some more stress on aBusinessService, how it is going to get data, which pattern we are going to use to get data, how we are going to transfer the data etc.
aLogin - > aProductCatalog -> aCheckOut -> aLookUp -> aProductDTO -> aProductDAO
Ok. Now we have some decent sequence, lookup service going to get DAO reference and return to aProductCatalog and aProductCatalog executes getProducts method on aProductDAO, in return aProductDTO as value object. We have a good explained sequence here at high level.
DAO = Data Access Objects
DTO = Data transfer Objects
So we are moving towards Sun's J2EE design pattern here, hence it is good add a business delegate in front of aLookUp. Like wise, we can improve our design and apply design pattern after each iteration until we satisfy our design.
Here is excellent UML and applying design patterns book by Craig Larmen
Monday, March 31, 2008
Weekend Movie.
What a great performance by Will Smith and what an interesting movie to watch. From start to end, this movie was never boring. Especially art direction and Will Smith's performance is a big plus for this movie. This movie is an adoption of 1954 novel of same name. It was very interesting to see timesquare and main New York streets without traffic and people. The director planned very well for Will Smith's solo scenes with "Sam" which is unavoidable, so that we never felt dragging on any scenes. The story is very simple, a virus outbreak causes billions of people dead and make some monster, only less than one percent of world population survive without becoming monster because they have the natural immune against this deadly virus. Will Smith played US army doctor role, trying to resolve this crisis by his own with "Dark Seekers". Very interesting movie to watch.
Sunday, March 30, 2008
Chennai Cricket Test.
UML - Use Case.
Thursday, March 27, 2008
Wasting of Powers.
Tuesday, March 25, 2008
Struts 2 Vs Struts 1
Action Class :
In Struts2 action class implements an Action interface, but in Struts1 it was extends an Action class. This is a major difference and Struts2 action classes are POJO(Plain Old Java Object) hence testing is easy, no need to write HTTP mock objects to test action classes.
Thread Modeling :
Struts1 action classes are singleton, one instance per container, all request were handled by this one instance. ThreadSafe mechanism has to take care while developing Struts1 action class. In Struts2, action classes are not singleton, as many instance can created and there is no performance penalty and garbage collection overhead.
Servlet Dependency :
Sturts2 action classes are not servlet API dependent, because HTTPServletResponse and HTTPServletRequest objects will not be passed to execute methods directly.
ActionForm Input :
Struts1 action forms are extended from action form base class and action form inputs can't access by other JavaBeans. But in Struts2, action form inputs can be accessed from taglibs.
ValueStacks :
Struts1 uses standard JSP mechanism to bind objects into page views. But Struts2 uses valuestack technology to bind objects into page, hence taglibs can directly access objects without coupling page view (needed more understanding).
Control of Action Execution :
Struts1 supports separate request processor for each module, all are sharing same life cycle. Struts 2 supports creating different life cycles on a per Action basis via Interceptor Stacks.
The following are additions of Struts2
- instant support of AJAX,
- integration with Spring dependency injection,
- Configuration based profiling
- Debugging
Source :
http://struts.apache.org/2.0.11.1/index.html
Sunday, March 23, 2008
IPL and ICL - Do we need this?
But now the creation of Indian Premier League(IPL) and Indian Cricket League(ICL) are overdose to already addicted Indian cricket fans. Because now itself the way we are watching cricket and spending time towards to cricket is more than enough.
This is utter copy of US based NBA or NFL franchise model. The money involves for this franchise from private party is huge and this money can spend for our infrastructure development or build some factories to give job opportunities for needy people. No body wants to spend money for non-profit business, but building factory or infrastructure development projects are now huge profit busiess in India. Why we are spending money towards already developed area?
Google - Win or Lose Wirless Spectrum.
From Google's Official Blog...
"This afternoon the Federal Communications Commission announced the results of its 700 MHz spectrum auction. While the Commission's anti-collusion rules prevent us from saying much at this point, one thing is clear: although Google didn't pick up any spectrum licenses, the auction produced a major victory for American consumers.We congratulate the winners and look forward to a more open wireless world. As a result of the auction, consumers whose devices use the C-block of spectrum soon will be able to use any wireless device they wish, and download to their devices any applications and content they wish. Consumers soon should begin enjoying new, Internet-like freedom to get the most out of their mobile phones and other wireless devices.We'll have more to say about the auction in the near future. Stay tuned."
As per Eric Zeman from information week, Google's intention was not to win any license since there main business is ad. But Google wins what they want from this auction, that is, open access to any devices and applications. Since Verizon forced to spend 4.75 Billion by Google, so Verizon didn't win for open access to devices. Google is "happy loser" and American consumers are ultimate winners. Now all set for Google's Andriod to use these open access spectrum for some good features.
Unified Modeling Language(UML) - Class Diagrams.
UML is not a strict language, in other words, there is no compiler out there to check our code against standards. A rough sketch can do the purpose. UML is useful on both forward and reverse engineering. The main component of UML is class diagrams, there is almost none design document without class diagrams. In class diagrams, the following notations and relationships are really important. This class diagrams are going to be a blue print for long time, hence this notations are important to communicate because we don't know whether designer who developed this diagram going to be with company or not.
1. Associations
In Class diagrams, if a class associate with other class, the a solid line with a arrow, from source to target. A perfect example would be, Customer and Order class. Order class must give a customer id, who created order. Since we can identify an unique customer id from order, Order class has an association with Customer class, that same with customer class also, from customer class we can find orders by the customers.
2. Compositions
A class can have other class's reference in it. This is useful when we want to utilize other class's methods without inheritance. Decorator pattern is mainly based on compositions.
3. Generalization
This is for grouping similar classes, to add these similar methods in a super class and all other classes are derived(inheritance) from it. This is nothing but super class and sub class notation in UML.
4. Aggregation
Aggregation and association are interchangeable. There is no major difference between them. A car has an engine, then car (whole) has a aggregation relationship with engine (part). To make our life simple, we can use association notation instead of aggregation. Most of the UML gurus discourage us to use aggregation notation in class diagram. We can just use association for top level design and composition and aggregation can be used in detailed design.
5. Realization
Realization is relationship between an interface and implements class. The interface specifies behaviours and a class implements that behaviour then the class realize relationship with interface.
6. Dependency
Dependency relationship as name implies, if one class change, other class's state changes then these two classes are dependency relationship. MVC pattern can be good example of dependency relationship.
The other important elements from class diagrams are multiplicity (upper bound..lower bound), Stereotype, visibilities and properties.
Wednesday, March 19, 2008
BPEL - Manipulating with XML.
XPath is standard way of manipulating XML data in BPEL. More advanced manipulation can be done using Java,XLST and XQuery. XPath is a simple language to navigate XML document to find a information from XML. But XPath is painful to do complex manipulation hence most of the complex logic can be done in Java or XQuery.
Following is from http://www.w3schools.com/
Here is a simple XPath Query example
/BookStore/book[1] - Selects the first book from BookStore element.
/BookStore/book[last()] - Selects the last book from BookStore element..
/BookStore/book[last()-1] - Selects the last but one book from BookStore element..
It is not necessary to remember all systex and commands, since now almost all IDEs has plugins to develop BPEL logic and complex logic can be done in Java as custom code.
BPEL - Anatomy.
- PartnerLink - Reference to the services partcipants in the process flow and their ports/roles.
- Variables - List of messages exchanged between the BPEL process and each of the partcipanting web service.
- Flow Logic - The core of the business logic goes hers. The most used commands are receive,invoke,assign,pick,wait,throw,terminate,flow,sequence,switch,Scope,fault handlers.
- Falut Handlers - Catch and handle faults
- Compensation Logic - Undo logic.
A BPEL process file can directly comparable with Java class, PartnerLink is import statement, Variables is class variable, Flow Logic is methods, Fault Handler is nothing but exception handling.
The above guide can found in here.
From Generative AI to Agentic AI: 2 Weeks of Building MyNewsAI.io
From Generative to Agentic AI: 2 Weeks Building MyNewsAI.io Over the last two weeks, I set out to evolve MyNewsAI...
-
Already Microsoft getting heat from Google, that Google is capturing all critical functionalities from Microsoft office suite and developed ...
-
When I was young, i used to listen old stories from grandmother and a cousin of my grandfather. Most of the stories are from their flashback...
-
When I start thinking about future, my mind exploding without control, particularly current events and state of our economy. There is no d...