Wednesday, July 23, 2008

Oil Price – where are we heading?

August contract expired as of yesterday, New York crude future trade started for September contract from today onwards. Officially summer travel season ends on September and we are moving towards low demand months of oil consumption. Oil price slides to $127 (and today $124), that is, almost 20% drop from peak, that means, a prolong bull run have been ended. The main factor of oil drop is President Bush’s executive order of lifting ban on offshore drilling, which was approved by most of the US people.

I personally liked Al Gore’s 10 year, 3 trillion dollar investment to transform all energy need from oil to electricity. His views from Sunday’s “Meet the press” really good, but caveat is, he want to do it aggressively and on one go, no baby steps. He is not willing to join any future government position and doesn’t want to advice future president also. I think he want to convenience US business people to make his plan become reality.

There are several talks and brainstorms about future energy needs. This all take years to achieve. But my opinion is, we can’t see a substantial oil price drop and inflation would shoot up year by year for infinite time line.

My dad usually say, “Make more money, spend less, save more, accumulate money in saving account or under mattress”, I was always against to it. New school thought is “Make more money, spend high, invest more in stocks, bonds, mutual funds”. The old school thought is now obsolete. The money in saving account yields 0.5% growth rate per year, which is well below current inflation rate. In order to beat inflation, at least we have to make 5%-15% growth depends on where you live, 5% for developed nation and 15% for developing nation.

When ever I start discussing with my friends about stocks and investments, they always replied with negative tone. Most of them are thinking that stock investment is same as Las Vegas casino, which is not true always, but sometimes yes, when you are not prepared to face the market. One thing I learned from stock investment is, we have to work hard to find out which company to invest, market trends and follow-up with our portfolio at least 8 hours per week.

Greedy: Greediness is first enemy of investments, we can’t expect, invest $100 to grow $1000 within 1 month. On average S & P index yields return on investment of 10-15% per year.

Emotions and sentimental: There is no emotions and sentimental when we try to invest and make some money. Logic and reasoning are the best for investments. Unless there is a nuclear war between US and Russia/or China, we are all safe and sound. A good investor never presses panic button rather he/she buys when others sells out of panic and sells when others are buys.

Collaboration: Regularly communicate with other investors, and learn from others. But i think based on our interest we have to select stocks by ourselves. Make mistakes and learn from mistake.

Learn about new investment options such as ETF, FOREX, Commodity future trading.

Categorize investment style as “aggressive”, “moderator” or “conservative” and based on that we can start invest. In my opinion, normally a good investor starts young age 21-30 would consider themselves as aggressive and 31-45 moderate and above 45 conservative. Based on that we can allocate our funds to various investment options. Aggressive is 100% on stocks. Conservative is 30% on stocks, and 40% on mutual funds and remaining would be in govt. funds.

Resource: There are millions of sites, guide, TV shows and resource for investment, learn them. Before getting into market, you have to be master of investment strategies.

http://www.mymoney.gov/ - The best and unbiased information about stock investments and mutual funds.
http://www.sec.gov/investor.shtml - Security and Exchange commission for accurate and detailed information.
http://www.marketwatch.com/ - Wall Street Journal network, all news and commentary and latest market information.
CNBC TV Show – Mad Money by Jim Cramer and http://www.thestreet.com/investing-a-z/index.html

Wednesday, July 16, 2008

iBatis, Hibernate, and JPA

Excellent JavaWorld article from Infosys architects(Nitin, Ananya, Mahalakshmi and Sangeetha). I have not come across, this much detailed comparison of object-relational mapping (ORM) technologies, in my recent memory.

But my take on this topic is we can use standard java database connectivity (JDBC) to create, update, read, delete (CURD) operation. The idea of using ORM is to decouple database layer from business logic, so that we can easily migrate to new database. I don’t think most companies are often changing database, other than start-ups, all companies are using standard one-time buy database software such as Oracle, DB2. This article really helps to sharpen ORM knowledge.

I compared software database role with football kicker role, yes, if we see kicker’s game time is very less like less than 5 mins but every 4th play depends on kickers, which means, 25% of play was executed by kickers. Kicker is the one setting next play position by punt and helping teams to win with last minute field goal. Kicker’s role may be limited but value is huge.

Based on my kicker analogy, my opinion is, we need a dedicated team for PL/SQL programming and write as much as store procedures and call those from standard JDBC for any external facing /enterprise applications, of course this approach also has some drawback, but better than all others, and internal applications can use ORM tools.

iBatis is great and more control over SQL than Hibernate. I think iBatis is providing a balanced approach of standard JDBC and ORM. We can directly plug-in SQL into XML file from PL/SQL developers or PL/SQL developer can work with XML files directly. This is definitely an added advantage over other ORM technologies. It provides good support for both iterative database changes as well as separating SQLs from Java code.

Hibernate very effective when we design Java object model first and based on that relational database model. Java object model drives database design is something new thought process and we are not there yet. Hibernate can’t handle a small mismatch between relational and object design. But it provides all robust supports for database layer such as auto SQL, transaction, which are completely missed in iBatis.

Monday, July 14, 2008

Without Smoking – 1 month

One month without smoking is not a big success, but this time not even a single cig, not even a single buff. I think i crossed all physical/mental craving of smoking, still have to fight a long way to go. But last times, i slipped within a week with a single cig, and later on one and so on until i completely back to full form within 3-4 months.

First we have to understand the real facts of smoking addition, why we are smoking and what are the factors triggering smoking. Once we understand the facts, we can easily avoid the smoking craves and stay as non-smoker.

Feeling refresh after a smoke – Coffee is also giving the same refreshment, Tip: buy StarBucks tall coffee and sip it very slowly, 2 sip at a time for 1-2 hours.

Decreased concentration – No scientific study concludes that smoking is giving extra boost for new idea/solution or increase concentration but smokers does. The fact is, the time we walk to smoking place and staring at something and smoking and thinking at same time is the key and sudden increase of nicotine level feels that we are concentrating more until next cycle. Tip: same can be done with, staring at white board or ceiling or floor or something, thinking/analyzing by drawing a picture on a paper also helps a lot.

Seeing somebody else smoking – This is the worst craving factor for ex-smokers. We can’t avoid that also. Don’t see it, walk very fast if somebody start smoking on street, or shop entrance, if possible hold off breath for 10-15 seconds.

Celebrate achievements – Smokers have to smoke when they feel that they achieved something, such as fixed a broken car engine or caught a big fish or favorite team won at season opener etc. Tip: stand up and walk around or drive to StarBucks, again coffee 2 sip at a time for 1-2 hours.

Controlling stress – This one is very tough but doable. But based on my experience, smoking is creating more stress than real one. If some stressful event happen, all we need to do is thinking for 10-15 mins, after we found the solution, the stress will disappear. We need smoking to start thinking and try to found an answer within smoking time. But i think, the real solution is far away than time consuming for smoke.

Eating disorder – This is really worrisome, because after quit smoking, our taste buds improves and slowly we start eating more. i think putting extra few pound is not a real issue unless we are very concern about beauty and body shape. But we need to make sure that our cholesterol level is well within control and avoid fatty foods as much as possible.

Dealing with blue – After 1-2 weeks without smoke, we start feeling loneliness and feel like we lost something important. This is really a passing phase. We can avoid this by using nicotine replacement and spent more time with family and write more blog, engaged with some activity is really important.

Disclaimer: All are my personal opinion. I’m neither an experienced medical professional nor a quit smoking counselor, please use/follow it at your own risk.

Sunday, July 13, 2008

Going Local : Chicago Updates

Crime Rate
It was very hot weather in Chicago, so do crime rate, either people are going crazy or they are getting guns very easily from market. Last 2-3 days, evening TV news and Chicago Tribune overwhelmed with crime news. June was worst month for crimes and increased 12.8% over last year. Mayor and Police Chief are pointing fingers to each other, but no solutions, all politics, obviously waste of time. The worst part of these shooting is, young teen kids are got killed. This is inexcusable and highly unacceptable. What is the point of killing innocent kids, they can't even carry a gun.

Taste of chicago got sour experience for visitors, all over internet forums, youtube overloaded with last day taste of chicago shooting videos. So this resonates all across US and world. Eventually this all creates bad image for Chicago and chances for 2016 olympics is in stake.

All this crime rate increasing, because of some people's greediness and drug related gangs. This bad guys are getting more support from Supreme court, which re-affirm 2nd amendment, that allows all US citizen can carry gun for self-defense. If i understand correctly, 2nd amendment was very old and don't had government supported police force . Now we have sophisticated police force, monitoring systems, CCTV, court and many more to protect us from criminals. I don't know what's logic behind that?

Stir Crasy tasteful mix
After a long time, we ate dinner at Stir Crazy this weekend, if you want a spicy and tasty mix, try one spoon of thai masala with two spoon of chilly paste and half spoon of curd, hmmm...taste is really great, nothing can be comparable. Really great taste.

Fishing Report
Today great weather for fishing but high winds, I went to Shabbona Lake. 78F, low humidity, but high winds 32 MPH. Because of wind, i couldn't catch any fish ;-). But great place to visit for picnic,boating and fishing.







Thursday, July 10, 2008

iPhone 3G – Ready, Steady and Go

O.K. I’m glad that Apple “moved on” with old iPhone model and introducing next generation of iPhone, starting tomorrow. I think last 2-3 years, mainly mobile phones, evolution happening so fast, and definitely this new model from Apple, fuel already heated mobile phone competition. This is good for consumerism dominated society.

This 3G model got more media focus and everywhere talk and thoughts are about iPhone 3G. I think after “Bill Gate’s retirement”, Steve Jobs getting all media focus, because he is the only one now can replace Gates for media to get attention from public.

The main new features of new iPhone 3G are,

1. 3G network support, of course faster than EDGE networks. But we have to check AT&T 3G coverage area. As of now, only major cities have this advance network.

2. Half the price, price for new iPhone slashed by 50% than the previous models, but the catch is new iPhone buyers have to pay $10 per month more for AT&T 3G data plan.

3. GPS support, based on my experience with classic iPhone, Google map is the main breaker of iPhone stability. When ever i open Google map application, iPhone would crash. This new GPS support required constant touch with Google map, so i don’t want to tell the rest. It all depends on how apple improves iPhone software’s stability with this new release. No voice direction available at this time.

4. Custom apps, new iPhone 3G comes with iPhone new software version 2.0, this new software supports to add more applications from 3rd party developers. Some of them are free, and most of them are cost us $9.99. iPhone classic also gets this new software update, so they can also use custom application.

5. Microsoft exchange server support, this is intended for business users, we can use AT&T business data plan or Apple’s MobileMe feature to sync with office email exchange servers.

Why I’m writing this post is, to support guys like me, who wants to buy iPhone 3G but already owned iPhone classic and want to convince their spouse, pretend like "who does’t know anything" about iPhone 3G ;-)

Source : http://www.macworld.com/article/133988/2008/06/iphone3gfaqs.html

Wednesday, July 09, 2008

Chaos Theory

3 weeks back, i watched a Tamil movie “Desavadharam”, the movie was really great and everybody talked about actor Kamal Hasan’s 10 different roles. In my opinion, that was really fantastic. For me, my curiosity re-heighten from the movie is, chaos theory because the movie is based on chaos theory.

Chaos theory is “fact that the systems that the theory describes are apparently disordered, but chaos theory is really about finding the underlying order in apparently random data”. When we try to fix “hard to reproduce or complex” issues from production system, i think chaos theory is the key. I wrote my previous company’s internal blog, there i mentioned that when we try to debug a complex issue, note down all the issues/ and unsuccessful steps, which we followed to fix the issue. I think i mentioned chaos theory over there. The descriptions of issues with steps to fix are random orders but after some time if we analysis all points, we can predict what would be the real issue and solution for the issue.

Chaos theory really helpful to predict stock price future movements, future trade,weather and even our day by day activities. All we need to do is, store all data, as it appear random, after some point of time, we slowly analyse random events and thus we can easily predict what’s next. But most important point is, we have to store all relevant data. In my opinion, we need enormous data storage to analysis and predict something.

Thursday, July 03, 2008

Medicine for Phobia is...

Everywhere we can see some kind of phobia or fear affected people. If we see the list of phobias, it is quite big and we can't imagine that people are afraid of these things. But reality is, there are 8 to 18% of people from US affected by some kind of phobias.

But as per my personal experience, the medicine for phobia is the same phobia stimuli object or situation itself. For example, i was Aquaphobia — fear of water, when i was kid. My dad one day took me to a pool and just pushed me into water. What a surprise? my phobia was gone and i learnt swimming within 2-3 days by myself.

But there are some phobias we can't do anything. There is one peculiar phobia is Hexakosioihexekontahexaphobia — fear of the number 666. Another one is Paraskavedekatriaphobia, Friggatriskaidekaphobia — fear of Friday the 13th.
I think i can't prounce them correctly or write them without typo in my life time.

As technology improves, this new phobias list also growing. A new kind of phobia is Nomophobia — fear of being out of mobile phone contact.

Other interesting and worth to mention phobias are
Xenophobia — fear of strangers, foreigners, or aliens.
Taphophobia — fear of the grave, or fear of being placed in a grave while still alive.
Panphobia — fear of everything or constantly afraid without knowing what is causing it
Coulrophobia — fear of clowns

Tuesday, July 01, 2008

Microsoft without Gates or Gates without Microsoft

O.K. We can find a smart, sharp intellect, high IQ people any time, any where. No problems. But finding a person with all the above quality with

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

Fantastic movie. Pixar’s one of the greatest movie, easily going to beat all previous records. The color combination, mixing, frame rate, and final smooth touch are excellent. It is hard to believe, that this is an animated movie. Very decent sci-fi story and greater in-depth animated color are the great success for this movie.

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

Somebody asked me to write a blog about unit testing for Struts 2. Cactus is the best test frame work to test any server side code. One advantage of Srtuts 2 is, action classes are no longer tied with servlet container and A)each action class is a single Java class in other words POJOs B)No mocking object required. Unit testing is very simple for Struts 2, that is, the main purpose of Struts 2 framework. We can use simple JUnit test framework to do Struts 2 unit testing. I recommend, very simple JUnit is better option to do unit testing for Struts 2.

Friday, June 27, 2008

Searching logic in illogical world

This world is full of illogical thoughts and events.Some times I feel that I'm the only one left alone in this planet with logical thoughts and finding hard to survive with this illogical. In last week alone, there are this many illogical events :

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

Outsourcing/off-shoring is the 21st century modern global economy trends. It is something, sharing some work with other partner or company or an entity, which perhaps located other country/state from the main business location. The main purpose of outsourcing is to increase finance utilization and get more things done with less money. The main driver of outsourcing is currency inequality between two countries. After 2001/2002, tech bubble burst this outsourcing trend increased to several folds and more and more companies wants to “share” their work with foreign entities.

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

Yes. This is my 7th try to quit smoking and passed 96 hours. Last time, almost year ago, i tried and fell apart after 4 months. But this time something positive catalysts are working, they are

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

Again Microsoft and Yahoo deal drift away and Yahoo going to join with Google as planned before. I have no idea why Microsoft targeted Yahoo, it is beyond our comprehension, especially technician like me. Microsoft has brain, products, track record and mainly power, as friend of mine pointed out, Microsoft wants a big presence in bay area to directly compete with Google, so they targeted Yahoo. Microsoft can build a new software facility and hire scientists within 3-6 months in bay area to ramp up their presence. But I think Microsoft really self-doubting themselves about their competence against Google, again it is all beyond our comprehension.

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

Last weekend i bought World War II DVD collection from Costco and watched all of them. It was horrible and weak hearted people should avoid it. I liked one good part is USSR army special unit snipers, they are the one who really led Stalin’s USSR to victory against Germans, second to strategy. I like snipers, when ever i play Xbox Halo or Medal of Honor video game, i get excited with sniper’s shooting mode. Because it is very hard to shoot somebody from distance with precise aim into their head.

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

Today morning i went to an indian store to buy chicken for lunch. One of my ex-colleague called me for a friendly chat. Since i'm in indian store, the context was set as business and india, he told me that recently he visited a suburb where 70% of business owned by a particular people from an indian state. I said yes their main core is business, but we (both of us from south india) are good for project oriented jobs. Is it stereotyping or assumptions?

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

Many of us try to join new workplace for various reasons and it is very tough to survive for first 15 days. Here i’m trying consolidating all my experience with survival of first 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

My 4 and half year old drives me and my wife crazy with his browsing habit, especially after school close. He knows how to start safari and go to youtube and search for "transformers" or "spiderman"( he knows if he types "t" in search box, first one would be transformers) to start watching video clips. We don't want to be strict about it because i don't want to raise him as "computer illiterate" or learn how to sneak in at same time, so we needed some protection. I know our trained software professionals must have thought about it and developed some kid's only browser, but i couldn't find one, that effective and intuitive. Today my wife found one from NBC Today Show, the kid browser KidZui, this is really highly intuitive and must have one. Very funny to see their team bio also. It is subscription based $50.00 / year.It has each kid's own avatar and over 600,000 kid friendly websites.The websites are regulated as per the age.So as soon as my son logs in, all his favorite character's websites pops up.He loves it.

Tuesday, June 03, 2008

HISTORY IN MAKING...

Finally Barrack Obama got Democratic nomination, he entered the auditorium with my favorite song "Beautiful day" from U2 in background. He just before ( while I'm typing ) announced that he got nomination with explode applause. I blogged some months ago, http://ibloggergeek.blogspot.com/2008/01/rise-of-obama-what-does-it-means-to-me.html, here. We are going to witness another historic moment, when he enters white house with the same support.

Optimism Vs Cautiously Optimism

These two words very often used in finance articles, particularly to describe investor’s thoughts about current market condition. I confuse with these and which context or situation we need to use these or follow these. In my mind, cautiously optimism was as equal to pessimism, which is totally unacceptable by capitalist’s thoughts. Capitalist and investors should not be pessimist, if they are then the whole progressive growth and world’s economy will melt like iceberg in artic.

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

Last 2-3 weeks, it was graduation season in all across US universities and rest of the world also. Mainly in US, all media writing lot of articles and talk shows covering this topic. Why they are giving more importance? This generation going to be the vital part of next workforce, because they are going to fill up vaccum created by baby boomers (People who born between 1946-1964) starting from 2010 to 2015.

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

What a fascinating contest and finally Sameer Mishra is the champion. This national spelling bee contest getting more and more attention over years. Now it is prime time live contest at US, 7.00Pm to 9.00 PM ABC Live, I think this is great rather than watching sit-coms. This year contest was more competitive than last year, and I feel this year the participants faced lot of foreign provenance words like Nietzschean, boulangère, satyagraha, those are very tough to spell for this 12-13 years kids. But any ways they all did it great. Most unlucky one I feel is Jahnavi Iyer, she got all toughest one but she managed to spell correctly all the way but she got a "impossible" word to spell "parfleche" at round 9.

Wednesday, May 28, 2008

BrowserPlus - Yahoo's new adventure

After long time, Yahoo today announced that they are going to build new application to run web pages. Here is more detail http://browserplus.yahoo.com/faq/. This is too late because already Google announced similar application Gear Project almost an year ago and now the application freely available for download. Any way both of these new extended web browsers fuel RIA based development.

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 definition of Decorator pattern (from Gang of 4) "Attach additional responsibilities to an object dynamically. Decorator provide a flexible alternative to sub classing for extending functionalities."

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

School closed and official travel session kicked off from this weekend. Here 4 year old and wife started going crazy about going out because Chicago has long winter months and we can spend only these summer months for outing. But now we have 6 month old baby also, so we have decided to go near by places.

Today we went to Indiana Duns National Park's west beach, all I can say is, this place is simply superb. I don't know how come the beautiful, white sand mountain formed in this lake shore. But we couldn't spent much time, because of little cold wind. West beach is a small,simple version of Clearwater beach,Florida.

Useful Info
  • 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.

There are several ways to save gas during this peak travel time. But here are some funny ideas, use it at your own risk.

1. Re-program your navigation system to show directions only by right turns to reach your destination. Left turn signal taking too much time nowadays and we are wasting lot of fuel. If you are living out side US, program other way around. UPS really considering this option.

2. Just in case the above step is not doable, while waiting on left signal, if there is no traffic and you are in small drive way, get out of your car and push pedestrian walking button on the main road crossing, some times the main signal turns red immediately and you might get a chance to go fast. This is something, I'm not joking, day before yesterday, the driver who waited beside to me for left turn, really did it, but it didn't work out :). 

3. If you are planing on long drive by car, clean your car, if possible do a 2-3 times of vacuum because weight increase would take lot of fuel. There is nothing wrong to remove spare tire from trunk and other unnecessary items also.

4. Always travel on night because excessive heat at day time may consume more gas if you switch on A/C full swing.

5. Use over drive gear if you are traveling on high slope roads. This would decrease gas consumption. 

If nothing is working out, don't quote on me. Please use public transport, check tire pressure, buy a hybrid car,more car pooling, bicycle for shorter trips, go long trips by train or bus. 

Monday, May 19, 2008

100th Post.

Wow...I realized that this is 100th post, I never ever imagine that I would cross this much in writing. Other than 4 years college exams (that is mainly diagrams and calculations, because I'm a mechanical engineering graduate) and workplace emails mainly one line to 15 lines, I never written in English for this extensive and longevity. I did most of my studies from high school and secondary school in Tamil (my mother language) and English was one of the subject for us.

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

Again US President asked for oil production increase to Saudi Arabia and again they refused to increase substantial amount, but agreed to increase oil production by 300,000 barrel per day by June, which is, insufficient to cool off skyrocketing oil price. Here is detailed news. There are conflicting reports regarding this increase, some media(mainly US) reported that this increase mainly because of Bush's request, some media reported that they made the decision well before Bush's visit. Again today OPEC member Qatar said there is no need of OPEC emergency meeting because oil price is balanced.

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

Ok. Now Ford, Honda, Toyota coming back to us and saying that you know what, we are no longer a single country car makers, we have multiple car assembly plant, all across globe, we want you to design something to fit into our global assembly model. Oops...what to do? how to improve our design? Here comes real factory model. While we talk with them further, we understood that they are going to use same assemble, sentToPaint and delivery for different countries. One thing definitely going to change is car creation because now we have a simple car factory but the requirement says we need different cars based on different countries.

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 and abstract factory pattern are little confusing but mostly used pattern in object oriented design.

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

Today while reading news, one thing got my attention is "Thomas Malthus theory", one politician from Indian ruling party Congress's issues some global wide food shortage warning. Since they are famous for negative propaganda, I didn't give much importance to it, but he mentioned something about Thomas Malthus theory, that increased my curiosity and did a little research.

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.

Job search is always stressful even when economy is in good health. I don't want to tell how stressful with this current economy conditions. But always stay at positive is basic mantra for successful job search. Based on my experience, we have to decide what would be the correct job description before we start searching job. This is specially important for Software related jobs. I have decided to stick with Sr Software Engineer 3 or 4 category, this is normally 30-40% design, 40-50% hands on and remaining would be mentoring team member and helping other organization initiatives such as PMO, Product Management etc.

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

I waited for Communist Party Of India's statement regarding future trade ban for some commodities, as expected they are not satisfied with Indian Government action and they want to ban 25 more commodities. Here is statement from CPI(M) general secretary Mr. Prakash Karat

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

Finally Indian Government backed Forward Markets Commission (FMC) suspended trading of futures trading in chana, soyabean oil, rubber and potato till September 6. I think that it is bad move by leftist dominated current Indian government. There is no link between inflation and future trading. This leftist (Communist) are playing their cards to win next election by painting themselves as a saviour of poor and middle class people of India. But they are halting Indian economy growth and stopping money flow into Indian economy, ultimately that is going to hurt poor and middle class people of India. India is a vastly "black money" dominated economy, if we close some money flow channels like future trading, money would be again stagnate as black money and government going to loose sum of money as tax. How come price would go up if number of investors decided price after amount of brainstorm and scientific study vs small number of selected group of people fixing based on some unscientific way? I think that the former should reflect real state of price.Future trading helping all of us by discovering prices early so based on future price everybody adjust their demands well in advance, I think Montek Singh Ahluwalia explained really well here about future trading and inflation.

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.

It is clear that Microsoft is playing gamble by pulling out Yahoo's bid. Microsoft never withdraw anything they want to buy. Even now, Microsoft pulled back, because of Yahoo's decision to join Google for sharing search ad business, not because of bid price. Microsoft knows better that Yahoo's share price plummet starting tomorrow, and Yahoo investors would not get benefit from Google's partnership for at least next one year. Yahoo can't steer company towards profit for next one year, because Google itself struggling to show growth from their search ad business, because of current economic conditions. 

As everybody knows, more beneficiary of the Microsoft + Yahoo deal is Yahoo. Because they are the one in middle between powerful companies (Microsoft and Google). Yahoo is simply rejecting Microsoft bid for simple "bay area microsoft haters" and "some ego" reason in my opinion. As soon as, Yahoo's stock start go south, their stockholders going to get nervous and going to pull some triggers to accept Microsoft's bid. 

So the Microsoft strategy is, "okay we are pull back bid and waiting for you to go down further and you come back to me after your investors would pressurize you because we are sure that you can not get any benefit from Google because of current market condition and we are sure that it won't improve for next 1 year".

Saturday, May 03, 2008

Mint. Free Online Money Management.

I'm almost addicted to Quicken software, I have to enter my expenses in Quicken at least a week. Quicken is an excellent money management software in my opinion. I'm using it for 6 years. A single screen we can manage our bank accounts, credit accounts, 401k plan, stock, mutual funds, with various customizable reports etc. We have millions of free site to do just manage accounts, but Quicken offers wide variety of reports with graphs, portfolio management, automatically track budgets, track tax and manage foreign currency accounts. This is great tool. But now we are moving towards SaaS model, here is one promising online money management tool Mint and it is free and Mint also offers basic reports and almost we can maintain all types of accounts. It is worth to have a look. Here is link to Mint's safe and security page, just in case you want to know what kind of security they are using to secure our data. It is money so security does matter. 

How to see simplicity from a complex system?

Continuation from yesterday's topic. So we know that a complex system is a composition  of multiple simple systems. How to identify them and split the whole system into small pieces. I'm going to emphasis on software system.

Understanding the magnitude of complexity
There should be a start and an end. If we look any system, first observation would be where it is starting and where it is ending. It is like travel between two cities, if you want to travel from Chicago to San Jose, you have to travel approximately 2000 miles. The magnitude of complexity is directly proportion to length of starting and end point. If a system involves so many integration with other system then obviously the system's complex is high.

Chopping complex into simple solutions
This is the most tough job. Our understanding of complex system relies on how good we are chopping into simple workable solutions. The above travel example can be used here also, if we want to end up in San Jose, We have to cross so many cities in between, since a simple solution steps are route between 
Step 1 : Chicago to Omaha, 
Step 2 : Omaha to Denver, 
Step 3 : Denver to Salt Lake City 
Step 4 : Salt Lake City to San Jose. 

So this intermittent cities are going to be our simple solution to go San Jose. Our concentration should be understanding these simple routes first, step by step, to understand the whole complex system.

Presenting Complex Systems
Now the final part of presenting complex system to others, so they need not go through above exercises. When ever we present a complex system, we need to draw as much as diagrams. If we just type a 450 pages of document, no body going to read it all, concise explanation with diagrams are more than enough to understand. One good thing is, if the system is real complex, we can write separate documents for each steps identified from chopping complex into simple solutions. We can present one by one to consumers to digest information one at a time. 

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)

After achievements after achievements, finally ISRO delivered cluster of 10 satellites by using PSLV rocket to break all previous records in a single mission. This is world record because earlier former Soviet Union used 8 satellites in a single launch.

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.

Inversion of Control (IoC) is important pattern when we use frameworks to develop web development. Mainly Spring framework using IoC pattern explicitly and core of Spring framework mainly built on IoC for application context, bean factory. 

IoC is simply pushing configuration, objects, and other required resource to a class rather than class pulling all information to run flow.  This is very simple definition of IoC. When I started Spring framework for projects almost 3 years ago, First I confused with IoC and Dependency Injection. So many articles and books try to add more confusion. Until I read the Java development with the Spring Framework by Rod Johnson, Juergen Hoeller, Alef Arendsen, Thomas Risberg, and Colin Samplaeanu

Dependency Injection is a flavor of IoC. Spring using dependency injection to achieve IoC. Lets see a example, how to improve a code by using IoC.

Here is a simple class to construct a car.
public class Car {
   public void buildCar() {
       CarBody cBody = new CarBody("SUV");
        Engine engine = new Engine("honda");
        this.constructCar(cBoby, engine);
   }
}

After execution of buildCar method, we have a car object with SUV body, honda engine. Ok. All are good and now we need to construct GM car. We need to directly touch buildCar method to recreate it. Since car is a generic object, it is prone to constant changes. It is pain to change time buildCar method to create different cars. If you are asked to improve the above code, instantly we change buildCar method signature to parameterize body, engine, tire like

buildCar(CarBody body, Engine engine);

Thats starting of IoC pattern. The parameterize version of buildCar would solve almost all issues programmatically. But we can't customize a container or framework to call this parameterize buildCar method. We want to do one more level of externalizing. 

Dependency Injection can be done based on constructor, setter methods and interface. But most of developers preferred to use setter methods. So we are going to add all setter methods for engine, body and tire.

public void setBody(String body)
public void setEngine(String engine)

Now our Car class exposed it's important components to others including a container mainly we can call this setters from a configuration files. Thats exactly the goal of IoC.

Wednesday, April 23, 2008

2008 - Not good so far. But how to beat it?

Since this year started we are not hearing any good news. All are bad and negative news from around the world. All are temporary and will be good after some time.

1. US housing market meltdown
2. Banking loan system break down in US and around world.
3. Rising Oil price and subsequent rise of all essential commodity price.
4. Food crisis and warning about "silent Tsunami". 

So how to stay positive in this all negative environment?

1. Stay away from TV channels such as CNN, CNBC, MSNBC, FOX. Media always hype everything, specially this news channels are worst. Just watch good sitcoms like According to Jim, Two and half man, Talk shows etc.

2. Watch as much as sports events, NBA playoff, Baseball, NHL etc. at least there is one winner from sports events.

3. Plan for weekend trips in weekdays, there are lot of sites to search good places to visit in weekends, so that we don't browse any news sites.

4. Teach some new activities to your kids. So you can learn something and spend more time with your kid like cycling, boating, fishing, horse riding.

5. Don't talk with any friends or relatives who sounds always negative. They try to pass their negative feeling to you. Just delete their mobile and email address from your contact list.

6. Daily visit my blog and read my posts :)


Sunday, April 20, 2008

Back to work.

After 2 weeks of vacation to India, returned to Chicago yesterday. Time in India was great and quality one for me and my family. My 4 year and 5 month old enjoyed to the fullest with their grand parents. But the flip side is, my 4 year lost little discipline, due to over affection from grand parents and relatives. The truth is we all are lost our daily strict routine and lost our discipline, which is why we need vacation. The lost of daily routine and little discipline is most wanted for all humans at least once in a year. This vacation was good since it was full of functions, first my brother in law's marriage and then my son's birthday. We met all our relatives and friends on one go. I can see lot of improvements in india's quality of life, earlier we didn't have any issues with car parking in marriages halls, in fact we can see only 2-3 cars, now there were lot of space issues with car parking. Everybody now has car and everywhere we are facing car parking issues including in marriage halls. Every aspect of quality life improving slowly and steadily.

Saturday, April 05, 2008

Back to Home.

Here I'm in India after 28 hours of hectic and long travel from Chicago. Where ever you are, what job you do, how long you away from home, back to home is always a wonderful experience and I can't describe the feeling, all I felt is something that mind state changes from "turbulence" to "smooth". This time my hometown we are experiencing some sweet pain that we are getting lot of lot rain, which is unusual in this summer months. But it is good for me and my kids, as we are enjoying in rain and more greenish Nagercoil.

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

After use case and class diagrams, sequence diagrams are important element to any design document. One issue with sequence diagram is, we can spend 12 hours to draw a diagram or 5 mins to do the same. But it all depends on each team's decision that how much time they want to spend on sequence diagrams. Sequence diagram comes handy when the system/product goes to maintenance mode or when ever new team takes over the system/product from current team.

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

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