Saturday, March 31, 2007

The American Way: Upto the minute forecast

Another cold day, here at Farmington Hills, MI. It looks like it might rain. I am stuck in my hotel room on this Saturday too. I have no car as I my US driving license expired a few years ago and I do not have an Indian driving license. The place is a typical suburbia with little public transportation facility.

My co-workers staying in the same hotel want to go out for lunch. I think it is fine as I'm getting sick of my own cooking and reheating of frozen food. For every decision after that, you need an extra information, called weather. Should I wear the thermals, should I wear just a sweater or do I need a jacket? Can we go by taxi or just walk the distance? You need to know the weather before you venture out, be it by car or by any other mode of transportation. In tropical countries like India, there is not much to decide. At best, you may have to carry an umbrella if think you need it.

So, you need to know the weather. What is the best way to know the weather? I find myself going to my Google Home page, check the temperature and plan accordingly. I find it absurd when I can feel the weather simply by getting out of my hotel, I am so dependent on the systems that predict and tell the temperature. I think systems like this are useful for some part and then they begin dictating our lives. This is probably unique to the US.

More on how systems affect sensible way of living later.

Friday, March 30, 2007

Quality goals in Minutes of the meeting document

After a meeting today, I shot off the minutes of the meeting as an email. The content was limited to the attendees, decisions made and subsequent tasks. I noticed my project manager creates the MoM as a Word document, places it in a folder for the project in a file server. I wonder what is the right approach.

Mine ensures that the notes are visible with no extra effort. The recipients can always search for it in their emails; Google Desktop would index it and the purpose of the minutes is served. Everyone is informed, and the information is available whenever needed.

What about the project manager's approach? The information is always there, but do people read it and comment about it? I doubt. This is probably the CMM/ISO kind of quality. Not my kind!

Thursday, March 29, 2007

I didn't know painful it would be to use Visio

The task is simple. Make changes to an existing activity diagram created in Visio. The changes small, remove a few activities and related connectors. Add a decision and connectors to existing activities. Sounds very simple, easy to understand etc.,
When it comes to resizing, I don't know why it gets so complex. I agree I didn't read the bloody user manual. But GUI is supposed to make it easy that you don't need a user manual.

All I'm trying is to position a few text by the side of connectors and decision objects and resize the objects so that they look similar to the ones that exist already in the diagram. To move a text, I need to click on the object first. Did that and no complaints on that. To select the text block, I need to click on text tool in the tool-bar. Why don't the right click menu or the UML diagram tool has any link to this?

To resize the object, I removed all the protections Still it resizes proportionally. I do not know how to change this behavior.

Text label attached to a connector do not show up. Moved it, selected it, I could change it, but not see it after I'm done with the move, selection or change.

The only other UML tool I had used - long ago was Poseidon based on ArgoUML engine. It was a good product for its price.

By just piggy-backing on Office, a crappy product like Visio can survive!

Saturday, March 24, 2007

Are you smarter than a fifth grader?

Now I'm in the US, my evenings are spent in front of TV like most Americans. I try to limit my interest to couple of re-re-...-re-runs of Seinfeld and Everybody Loves Raymond. Occasionally I channel surf during commercial breaks. In one such surfing I bumped into a game-show / quiz program - Are you smarter than a fifth grader?

My initial reaction was, it is another program for stereo-typing. One participant was an African American woman who thought US is in the Eastern Hemisphere. Another was a blond who didn't know how to get the radius from diameter. As there was no defined political correctness or incorrectness about jokes on blonds, there were jokes on blond dumbness. The anchor person didn't get such a freedom with the African American woman.

The aim of participant selection looked as if, it is make fun of them. May be that's what guarantees viewership!

On to more serious thoughts. I compared the questions with the curriculum I'm familiar with - that of CBSE in India. I ignored the localized History/Geography questions. Coming to Math, I think Indian kids do not do Algebra so early in their schools. From my school days to my son's, I see arithmetics getting maximum coverage in India's schools - rightly so. I think it is sensible and practical to do arithmetics in early classes. In India, I haven't seen a grocery store boy who are usually school drop-outs, using calculators!

My uncle who is a teacher for about 40 years, compared the academics in India and US. "In India, everyone is normalized to the average. The brighter student doesn't get much extra information to move up faster. Dull students get support from the system with annual exams that can be met with enough cramming. The American system allows for the brighter students to learn more, faster. It helps them become entrepreneurs, scientists naturally. The dull students just drop off to flipping burgers."

On comparing the affirmative actions in respective countries and its effectiveness, I think the Indian system is better in a way that it helped a lot of under privileged students to land in decent jobs and raise to the level of middle class. In the process, India lost some bright students to US and European countries in the brain drain. There was also slower growth in terms of quality of life, infrastructure and wealth. But, I think that's ok. I'm sure a generation of under privileged have come out of the shell and are doing better. That gives an assurance that Indian system is working.

Sunday, March 18, 2007

My comments to What is happening with IT

My comments to What is happening with IT

I used to think that our attitude toward white man is the reason, for stretching our work-times for client calls. But I came to realize that we are a service oriented country and that’s the way we are.

I had been on the other side of the outsourcing line where I outsourced a project to a vendor. The vendor worked just like any other software company; the developer showed up over weekends to finish project etc., There is nothing about white man or black man.

I do agree with you that our youngsters have no concept of fun outside of work. This worries me. I worked with a developer who felt very sad when the organization announced 5 day weeks for 2 and and 4th week every month. He had nothing to do on a Saturday. At some point all the consulting companies encouraged these people to virtually live in office without realizing the negative effects of it. We all will come out of it.

As far as comparing Microsoft and Infy, I do not think Infy is a loser. Infy had created a good amount of wealth for its employees just like MS. Infy didn’t get into lawsuits over monopolistic business practices. Infy’s product called Service will be a popular product for generations. Infy chose a market where innovation means better processes, better people, better quality. MS chose a market where innovation means tangible products.

Wednesday, March 14, 2007

BPO wants the real you

BPO Wants the real you

This is ironic. There is a section of BPO that lives by impersonation. The tele-sales or customer support done from India does accent training and changes the names to suit the market. If a corporation can fake a superficial identity of an individual, it is business strategy or tactic. If the same is done by an individual, it is a crime.

Tuesday, March 13, 2007

Dark Energy - Dark Matter

Out there is an article on "stuff" that is out there, but not perceived. I could have been an physicist with my B.S in Physics (cleared Properties of Matter in the third attempt). But I am not even an arm-chair physicist as I just do not have the required number of connections in my brain to comprehend papers like that.

But this is an interesting one. Bhagawan once said, "The manifested is knowable and the unmanifested is unknowable." I'm sure the scientists mentioned in the article would agree. But what is this unmanifested?

Rig Veda says - (from Sacred Texts web-site).
1. THEN was not non-existent nor existent: there was no realm of air, no sky beyond it.
What covered in, and where? and what gave shelter? Was water there, unfathomed depth of water?
2 Death was not then, nor was there aught immortal: no sign was there, the day's and night's divider.
That One Thing, breathless, breathed by its own nature: apart from it was nothing whatsoever.
3 Darkness there was: at first concealed in darkness this All was indiscriminated chaos.
All that existed then was void and form less: by the great power of Warmth was born that Unit.
4 Thereafter rose Desire in the beginning, Desire, the primal seed and germ of Spirit.
Sages who searched with their heart's thought discovered the existent's kinship in the non-existent.
5 Transversely was their severing line extended: what was above it then, and what below it?
There were begetters, there were mighty forces, free action here and energy up yonder
6 Who verily knows and who can here declare it, whence it was born and whence comes this creation?
The Gods are later than this world's production. Who knows then whence it first came into being?
7 He, the first origin of this creation, whether he formed it all or did not form it,
Whose eye controls this world in highest heaven, he verily knows it, or perhaps he knows not.

The dark (meaning unknown - not dark as black or negative) energy can manifest itself as identifiable matter or energy. Then the known Physics can take over to measure and explain it. Physics has matured in the past centuries to see that matter can be energy and vice versa; Physics accepts unpredictability and so on. We will be humble enough to say that there exists something that I can't see, feel or measure. We will one day realize that we are not different from "it", but a just manifestation of "it" with some set of properties.

As long as some properties could be defined, we are in the realm of material world where gravity is just natural to try to get back to the oneness from where everything started.

Friday, March 09, 2007

vJungle and Google Apps for your domain

Some eight years ago, there was this start-up called vJungle, setup right next to a Microsoft building in Bellevue, WA. The company targeted small and medium businesses for its product - a suite of on-line applications from email, calendar, document repository to payroll. It had everything and more that Google Apps for your domain has now. Well, almost everything. It didn't have document or spreadsheet editor as part of suite. Other than that, it had a chat window within the browser, a web-site creator application, domain name registration etc., The company had the vision for the product - all that a small business needs. It had the people who could pull it off. It had the processes and the culture from Microsoft as the engineering and management team was predominantly ex-Microsoft folks. It was going fine in 2000 and the fall started in 2001. Funding was hard to come by and then 9-11 happened. After a lot of struggle it was acquired by an European company which also didn't do well.

I feel vJungle was a bit too early for the days. It integrated with a payroll processing company based at Texas, an e-commerce product called Kurant and with fax processing service provider. Each service integration was unique, but I guess that was probably the start for Service Oriented Architecture (SOA). There was also use of XmlHttp which is now called as Ajax, but am not able to recollect which service of vJungle used the technology.

Overall, it had everything to make a useful good product - the team, technology and culture. What it lacked was the clarity on how to make money with such a product. I guess this problem is still unresolved. Though Google offers these apps, I am sure, Google must be funding this division with its hard-earned money from Adwords.

The other reason why vJungle didn't take off was the bandwidth limitation of those days. It was the days of 56K, and most small businesses wouldn't have had a T1 line.

I usually do not think of the bygone era, but vJungle makes me a bit sad as vJungle's target market is still there to be serviced.

Thursday, March 08, 2007

The Great Indian Bargain

I had four international relocations between India and US in a span of some seven years. Tasks in almost all these relocations had a line item - "Sell off stuff that you can't carry". This line item gave me a lot of experience and insight into the mind of the bargaining customers.

It was the last big relocation that gave all the interesting experiences. Selling my household items in the US was a bigger task simply because there were more items to sell. I went through the normal grind of posting ads in Indian grocery stores and Microsoft's intranet through a friend.

The probable buyers came from the usual ethnicities - Indian, American and Chinese. I would consider the Americans as the most reasonable customers. When the price I quoted didn't meet their offer, they just moved on. They probably had more important things to do than extract a bargain. Successful transactions were completed in less than 5 minutes. One executive from Microsoft even gifted me couple of software titles as he was impressed with my selling price. In all the transactions, the cost of time spent on the bargain should be more than the actual savings they would get. The American customers just gave a higher priority to their time.

The experience with some of the Indian and Chinese was a bit different. The difference was, they had all the time to do the bargain, while I had less time to sell them off. Even after settling for a price, one guy paid $500 less for my car and I had to ask again to get the full amount. It was like, he could save $500 if I was too polite to ask for it. By that time, I had enough experience that I realized there was no need to be polite. Sale of furnitures and some toys went through worse experience. The buyes always asked for more and wanted to pay less. That was the time when the 'Yeh Dil Maange More' was the popular slogan. For some items, I didn't want to go through the sale just because I didn't want to waste my time and decided to donate to charities.

Moral of the story was: If you want a good bargain, be prepared to spend more time. In other words, time is money.

A few years later, I find myself getting into a situation where I have to apply this learning. When I quit a job, the employer decided to hold back my last month's salary. Let me not get into the details of it on why I am on the fair side of the situation. This blog is not about that. This is about how we treat time w.r.t money.

For me, the amount is high enough that the time and effort I spend are worth it. So, I would hire a lawyer, pay him a percentage of the settlement I would get and try everything to get my money. In the process, to be cost effective, I will try to maximize the settlement. For example, I would try to recover the money I spend for the legal process, charge interest for the delayed payment etc.

What surprises me is my ex-employer's attitude towards time and money. The money they owe is indisputable salary and not a negotiable commission or some such thing. So, there is no monetary gain out of the issue. Even before the situation gets into the legal process, all the key people had spent a lot of time on the issue without making any progress towards a resolution. If we were to consider the salaries of these people, the cost of the time lost in the arguments and discussions is plain intangible loss. The time would have been better spend on what is good for the business.

I came across another set of top guys, each one's net worth was more than a few million dollars. These guys spent an hour of their time discussing whether to buy a phone in India for $3 more or to buy it in the US at a cheaper price. It was just one piece of phone and the difference was just $3, still they chose to spend an hour's time discussing that.

It surprises me that we Indians give so little importance to time and such a high importance to money.

Wednesday, March 07, 2007

OOP - POO

Your code OOP or POO

Since I started with functional languages and programmed in Pascal and C in my first couple of years of experience, I didn't get too carried away with OOP ... for extended periods. The obsession usually lasted for a month or so before I got practical.

The other day, I interviewed a guy who has been a business analyst. He had all the technical jargons of the past 10 years in his resume. If he could show some UML, I would have considered him for an analyst role. If he could write code, I would have considered him for a tech lead role. If he could do both, I would have him take my job. The person threw bull and jargons at me at an alarming frequency. Every sentence had stake holders or components or some such shit that are candidates for stop words in a management meeting.

Since he started talking about a requirement for logging, I asked him to design a logging system. If he could just copy Log4J, I would have been happy. If he could write a simple function declaration, that takes a bunch of relevant parameters, I would have been happier. He kept talking about it for full 45 minutes with out writing anything.

I thought he could be a Manager in some ISO/CMM type company and wished him good luck.

Let me try writing a declaration for logging.

void LogIt(int level, string systemName, string errorMessageFormatString, Object[] params);

  • The first parameter could be cleaned up by using an enum with values from {Critical, Error, Warning, Info}.
  • The second parameter can be used for source file name, or a combination of both.
  • The third and fourth parameters work together like the String.Format function.
  • The function is not supposed to return anything or throw exceptions. I recently came across a java application that couldn't report the actual exception as it threw one more exception in logging the error.
  • If you want to OOP it, encapsulate it in an interface with more complex logging function. There could be multiple implementations of this depending upon the mode of logging - display, file, event log, email alert and what not! And it is no more simple.
  • With C/C++ macros, this could be even simplified... with some dirty macros.
Is there a simpler logging?