Monday, April 18, 2005


Perform software RAID with mdadm

Software RAID on Linux is a snap, thanks to the mdadm tool that comes with most modern Linux distributions. Software RAID, particularly RAID1, is an inexpensive way to create instant backups and protect your systems against data loss in the event that one drive fails.

To create a RAID device, execute the following command:

# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/hda1 /dev/hdc1

There are two ways to obtain information about the RAID array. You can query the device with mdadm, which provides detailed information on a particular device, or you can get an overview of the entire RAID system by looking at /proc/mdstat directly. For example:

# cat /proc/mdstat
Personalities : [raid1]
read_ahead 1024 sectors
md0 : active raid1 hda1[0] hdc1[1]
56261376 blocks [2/2] [UU]

Here you can see that the personality is RAID1, the device /dev/md0 is active, and both disks are active (noted by [UU]). To obtain more detailed information about this device, use the following command:

# mdadm --detail /dev/md0

This will print out a variety of information about the device, including when it was created, its size, and the time it was last updated.

If you want to change drives, you can remove a device from the array. This command will prevent the partition /dev/hdc1 from appearing in the /dev/md0 array:

# mdadm /dev/md0 -r /dev/hdc1

You can also add the device back into the array. Here's how:

# mdadm /dev/md0 -a /dev/hdc1

While RAID management can be extremely complex, simple drive mirroring (like this RAID1 setup) is fairly easy. In addition, it offers a more flexible and cost-effective backup solution than expensive tape or removable media solutions. This information is useful for determining what programs are listening for connections. It also allows you to see what outbound and inbound connections are currently established on the system.


Will China dominate outsourcing's future

Friday, April 15 2005 10:53 AM

newsmaker File this one under the heading "what goes around, comes around."

After a run of stunning good fortune, India's tech community finds itself dealing with a looming challenge from a flourishing Chinese economy. Just as American companies saw jobs disappear to less-expensive venues in India, China has begun to figure as an alternative for the practice of shipping tech tasks offshore.

The shift has not gone unnoticed by leading technology outsourcers in India, who are dealing with creeping wage inflation. As a result, some are fast establishing a presence in China to remain competitive with their peers.

How big this trend will become remains unclear. Revenue from IT services is rising in China, but it is still barely half of India's $12.7 billion a year, according to a recent report from consulting firm McKinsey.

Part of the problem is a fragmented market, McKinsey said. And China faces other challenges, not the least of which is a lack of management talent.

CNET recently spoke with Sudip Banerjee, president of enterprise solutions at Wipro Technologies, about the relative cost of software operations and other issues surrounding the future of outsourced tech work in China.

Q: What are the advantages and disadvantages of being in China right now?
Banerjee: The advantages are twofold. You have a large labor supply pool like you have in India. The other advantage is that if you're dealing with customers or companies who have an Asian headquarters, there is a language and cultural advantage. (That is brought by) some of the Chinese, particularly in cities like Shanghai, which has bilingual engineers who speak both Japanese and Chinese.

In terms of the areas where they still fall short, I think one is the intellectual-property protection issue. The second is their English language capability, and the third is their lack of project management expertise.

Is there is a particular example of things going well in China? Have you been surprised at something working out where you didn't expect it to?
Banerjee: I think they have very dedicated people. The programmers that you get there are very hardworking, very dedicated, and they produce content as good as anyone else. When we went there first, we were not sure what kind of output we would get, but we're very happy.

I think the challenge there is only in the project management area--project lead area or the specialized consultant area. But at the grassroots level, the attitude as well as the ability to do hard work and the quality of output--all that is very good.

People have a lot of misconceptions about China.
When you're talking about this dedication and quality, are these Chinese programmers and other professionals developing in computer languages using Chinese characters? Or English alphanumeric characters? How does it work?
Banerjee: We only hire people who can do it in English, except where we have to do a local office implementation. So we do tend to get bilingual people. We have a requirement sometimes of people who know Chinese characters.

Can you give an example of a time when things didn't work out well? Or you ran up against an obstacle that you hadn't expected? Were there any intellectual-property scares you had there in China, for example?
Banerjee: We ourselves haven't had those, because of the nature of work that we have done. We have not exposed ourselves in any area where it could be in trouble with IP. But I've lived in Shanghai, and I've met people, and they certainly do have those concerns.

What kind of steps have you taken to ensure your customers that they aren't going to be losing their intellectual property in China?
Banerjee: We've made sure that wherever we've done work for our customers, only the local implementation and what was required was passed on. And we were doing that in a secure environment within our own development facility or in the customer's development facility.

We've treaded very carefully, I have to admit. We have just made sure that we have only the documentation which is required--not anything more.

Do you see the Chinese market as a place where you might expand given what seems to be pretty high wage inflation rates in India and high turnover? Can you speak about what those levels are right now that you're seeing at Wipro? And what is the corresponding information for the Chinese labor market?
Banerjee: I don't see much of a difference. The turnover for Wipro this quarter--I think it's just under 10 percent. Having talked to people in Shanghai in the Pudong Software Park, which is like their version of Bangalore, you (find) pretty much the same range. It keeps fluctuating from company to company.

This whole notion of 'it might be cheaper to do work in China'--I don't believe that's true. The programmer cost (difference) between India and China--China is about 10 to 15 percent lower. But (when it comes to) the supervisory staff, project lead, project managers, etc., China is about 25 percent higher.

When you take a project and you do it on a 10-member team (or a) 20-member team, the net cost is the same. The other thing which you have to remember is that the Yuan currency is likely to get revalued at some stage. It's currently in a very artificial stage, and I think the U.S. will be the government which will really put pressure on China to get that Yuan revalued, because the U.S. economy is hurting as a result of the current evaluation of the Yuan. When that happens and the Yuan gets firmer, the cost of the local Chinese talent is going to be even higher.

I don't believe that there's going to be any advantage or disadvantage, from a salary perspective, in operating in China.
So I don't believe that there's going to be any advantage or disadvantage from a salary perspective in operating in China.

What is the wage inflation, wage increase rate, that you're seeing in India for programmers?
Banerjee: In India, the total wages have risen up between 10 percent and 12 percent.

Ten percent and 12 percent annually?
Banerjee: A 10 percent to 12 percent offshore wage increase. And I believe that that's going to be rising at the same level or a little higher in the next 24 months.

People have a lot of misconceptions about China. I think China is associated with low cost, at least in the software industry. I haven't found any evidence of that with any customer or anybody who has done any business there.

What is Wipro's presence in China?
Banerjee: We have a small development center out of Shanghai...The plans are to have a beachhead from where we're able to implement software development activities for people who have a China (presence).

So it's not so much the India model of taking work from, say, a U.S. customer or European customer and doing that application development or integration work in India?
Banerjee: No, we don't do that.

Do you have specific head count growth plans in China?
Banerjee: Yes, we have an internal head count plan. But it's not really public. It's not in the thousands; it's in the hundreds.

This is the stuff that's being done for the China market predominantly, it sounds like.
Banerjee: It's stuff not even for the local Chinese companies. It's for global companies who have a strong China presence, and plenty of large companies around the world now have very significant operations in China.

Do you see yourself as playing a role in consolidating the software outsourcing industry in China?
Banerjee: We and some of the other top-tier Indian players are all in China. Everyone is kind of waiting and watching, looking at what's happening. The Chinese software companies are typically 200 to 300-person operations. They are not very large in size. I think (consolidation is) possible, but I think it will really depend on the nature of engagements that people have.

Can you give an example?
Banerjee: If people's engagements lend themselves to getting large numbers of programmers, yes. If the nature of engagement is of the type that you have multisite implementations, then you may not be able to consolidate. Because what you don't have in China are companies in one location being very big. Let's say if we had a requirement of an implementation job which required 100 people, but in four different cities. It is very unlikely that we would get a company which has branches in four cities.

So they tend to be located in one region and pretty small?
Banerjee: They are very fragmented, yes.

Is there also concern that it might be hard to move in and acquire a number of those companies because you run the risk of irritating or setting off alarms on the government's part?
Banerjee: No. The government has come to India, they've met with large companies, and they want us to set up a large presence in China. We're actually there as a "wholly owned foreign enterprise." The advantage is that we're like a 100 percent-owned subsidiary, so we don't have to have a partnership with a local Chinese company. This is really an exemption granted to the IT services industry, and it's not very common.

Friday, April 15, 2005


Destination China

Destination China
By Jackie Chan, Special to CNETAsia

Business process outsourcing (BPO) has become one of the key strategies for not only large multinational organizations, but also small and medium-size businesses.

This is understandable as many organizations today look for a dynamic strategy to reduce their costs and increase returns on investments.

BPO provides SMBs with another tool to improve competitiveness through focusing on core business activities and offering better and more responsive customer service. Smaller companies often do not have the scale to set up their own operations offshore in order to benefit from the low cost advantages available, so they leverage the consolidated scale of an outsourcing provider.

Although BPO can take different forms, offshore outsourcing is an escalating trend among Asia-Pacific SMBs, and China, one destination for BPO, is catching on fast. In the outsourcing field, China is the biggest challenge in the future and the largest threat to India. With its vast population and fast-growing economy, the country has at least two strengths in the global outsourcing market: manufacturing and IT.

The offshore manufacturing already in China has created the support services infrastructure necessary for outsourcing. Many organizations have found that outsourcing their manufacturing to China for their companies' global operation can be profitable and also of good quality.

Many organizations have found that outsourcing their manufacturing to China for their companies' global operation can be profitable and also of good quality.
Manufacturing outsourcing and research and development investments ensure China's leadership position in the global outsourcing market. Further leveraging the manufacturing image, China slowly has been developing ancillary services to support its large manufacturing base.

THe country is currently experiencing powerful economic growth, bringing multifaceted strengths to the global outsourcing market. The key advantage in China is the low labor cost. At the moment, it has an excess supply of well-trained engineers willing to work at wages lower than those in India. According to government estimates, China has over 50,000 software programmers added to the labor pool annually, while China's universities churn out more than 250,000 engineering graduates each year. As such, China is a natural competitor in the labor-intensive software industry and is also well-suited for low-level IT work including maintenance and porting.

China also has a high level of technical competence in fast-growing segments like Linux, bio-informatics and antivirus software. With such a vast number of educated programmers and other highly skilled workers, China appears to be a keen global force in the IT outsourcing industry.

Changes in the country are also creating favorable economic factors for outsourcing, including the liberalization of laws and policies, a burgeoning middle class and a new emphasis on education. Many universities and training institutes are now emphasizing software development and technical applications, often combined with advanced courses in English or Japanese. The Chinese government has invested US$5.4 billion in nine universities in China to promote English-language training and other skill sets. Government efforts have also led to a significant improvement in overall infrastructure, increasing telecom density and PC penetration; China now scores over India in these aspects and intends to further increase the gap.

China's software parks guarantee an uninterrupted power supply, with most equipped with backup power generators. The bandwidth of China's international Internet broadband connection is expanding. The country is also now passing laws that protect private ownership and intellectual property, which is a crucial step for outsourcing to take hold.

Japan and Korea, prime customers
China's entry into WTO in 2001, the government's dedicated effort to become a serious contender for global sourcing jobs, and the integration of China into the global value chain of most major multinational organizations will open up further opportunities for China as a global sourcing destination. However, China-based BPO providers are currently strongest in the Asia Pacific market due to geographic proximity and China's cultural affinity to nearby nations. A significant number of Chinese people speak Japanese and Korean, especially in the northeast cities of Shenyang and Dalian where software firms reside and where Japan is three hours away and Seoul is only two hours away.

Furthermore, most Chinese programmers are very familiar with the unique double-byte system used to generate Chinese and Japanese characters. As such, China offers significant advantages to Japanese SMBs looking to outsource their projects. Japanese companies in the IT sector turn to China as a source for everything from computer programming to system design and R&D, or for establishing call centers to service their domestic operations.

China's demonstrated success in outsourcing to Japanese and Korean SMBs may potentially win over Western companies who have an impending interest in outsourcing to China.
Most current BPO activities in China include back-office processes, such as call centers, finance and accounting, payables, and some research and development. However, China is increasingly attracting a wider range of BPO activities, particularly from North Asian SMBs in Japan and Korea. According to studies conducted by AMI-Partners, over 1.2 million SMBs in Japan currently outsource their business processes and over 40,000 SMBs outsource to offshore companies. Similarly, over 21,000 Korea SMBs currently outsource to offshore companies, a number expected to nearly double in the next 12 months. China's demonstrated success in outsourcing to Japanese and Korean SMBs may potentially win over Western companies who have an impending interest in outsourcing to China.

Due to the language barrier and cultural gap between China and Western places, while Asian businesses can move their customer-interaction activities to China to gain cost savings, Western corporations can take advantage of the vast, low-cost labor pool by sending their transactional work and labor-intensive software activities to China. Since China is still a newcomer to the outsourcing industry, some are unable to even determine the proper approach to outsourcing to China. A few recommendations to SMBs wishing to outsource to China include the following:

* Clear understanding of the Chinese law and government policies associated with foreign business activities.
* Establish comprehensive contract terms and determine the best structure for the contractual relationship.
* Conduct a trial, low-risk project before transferring critical work to an outsourcing partner in China.
* Periodically reassess the outsourcing strategies in place and monitor stability of the political environment.

Jackie Chan is senior analyst of AMI-Partners, a research firm with a strong focus on global SMBs. Based in New York, AMI-Partners provides an integrated go-to-market perspective across enterprise market sectors.

Tuesday, April 12, 2005


Five steps to project approval

By Joey Smith, TechRepublic
Wednesday, April 6 2005 11:16 AM

There are many articles written on how to be a successful IT manager. Usually these deal with methodologies for conducting an audit or analyzing the technical environment, and not the basics. In my experience working with IT leadership in a mentoring capacity, there are a few fundamentals that I always insure are present and accounted for. One of the first complaints I hear from IT managers is that they can't get projects approved. There are five basic remedies to this problem that work every time.

(1) Asking -- Asking is extremely basic and could seem implied, but it is overlooked the majority of the time. The number one complaint I hear from all IT managers is that they can't seem to support the business with what they have to work with. My first question to them is "did you ask for what you needed"? They sometimes respond with a no, and their canned response is that nothing ever gets approved for money or budget reasons. This is especially true of the IT manager, because financial people don't always understand what is being accomplished in IT. Believe it or not, I usually have no problems getting money to fund projects. In some cases, other departmental budgets get cut in order to fund my projects. Keep in mind that they don't always get approved the first time. What happens to others is that sometimes after a defeat, the IT manager's confidence is gone to the point of not returning to ask a second time. Not just for what they were originally asking for, but for other requests as well. They become conditioned to the "no" response. It is true that you only get what you ask for. The point here is that if you don't have what you need, keep asking for it. Once is not enough, especially if you believe in what you are asking for. The worst that can happen in asking is getting a no. In my mind, no represents an opportunity to ask better next time.

(2) Responsibility -- The second formula for success after asking is passing the baton of responsibility. A tried and true method of getting projects approved after a "no" is having the executive sign a document saying that they understand the need and that they take responsibility for not approving it. For some reason, I see IT managers still responsible even after their project doesn't get approved. For example, you have a request for new virus protection software because you continually get hit by viruses. It doesn't get approved for financial reasons, but you still retain responsibility and get blamed for computers going down because of the protection software. Why is this fair? This is a gutsy move and requires some fortitude, but it will set you apart from other managers. If they make the decision, then it is their responsibility. If you make the decision, then you take the responsibility. It is that simple. With that said, make sure you are prepared to take responsibility with your decisions and projects and don't waiver. Be responsible.

(3) Persistence -- The third fundamental is persistence. The truth is, the "squeaky wheel always gets the grease." Even though you have probably heard this a million times, it's true and remains unpracticed by most. The ones that do practice this principle get results. I can't say it enough, if you ask once and you don't get results, ask again. There are several things you can do to make this effective. Don't ask the same way twice. Try a different approach or a different angle. I always recommend learning everyone's personality type and becoming an expert on what makes other people tick. This could give you some valuable clues on how to ask appropriately. For instance, using emotion on a person that only cares about data will fail every time. If they are the data type, use data to back up your claims. In other words, don't use techniques that apply to you only; fit them to match the person with the money and power. Another way is to bundle the request with something else that gets approved. In order to succeed as an IT leader, you are going to have to become an "asking" engineer.
(4) Confidence -- Look in the mirror, smile and tell yourself that you will succeed. This truly is a fundamental quality and something IT managers struggle with, especially if they are not used to dealing with business issues apart from technical ones. It is not just about competence in one's area of expertise. If it were that simple, all IT projects would be approved, no problem. It takes belief and courage in one's competence to make the difference. Winston Churchill once said, "Courage is the first of human qualities, because it is the quality that guarantees all others." If you show confidence in what you are asking for, it will help others see your commitment and guarantee.

(5) Continual learning -- Also be prepared. I can't tell you how many times I see managers coming to the table without their ducks in a row. Know the lingo, know the industry, and know what you are talking about first before asking. I have seen other managers die on the vine when questioned deeply about their projects. They simply didn't have the answers. Know that you know that you know. If you are the expert, you will get results. Your commitment before you go to the table is that you will be fully prepared. This requires reading, seminars, mentoring, subscriptions, etc. You may never be known for having all the answers, but you will be expected to know where to find them. Take the time to do a personal inventory of knowledge. Where you see weakness or opportunity for improvement, find the resources to fill those gaps.

How would you like to hear "yes" the next time you ask for project approval? If you follow these five important steps, you will get projects approved and have the resources you need to take your business and department to another level.

Joey Smith is the CIO, Founder and Executive Coach of HigherHill Enterprises. Joey is also the only two-time finalist for the prestigious Georgia CIO of the Year Award and two-time winner for the Microsoft Project of the Year. For more of Joey's IT management insight, tips and tricks take a look at his Ezine entitled IT Octane! This article first appeared in TechRepublic.


When problem staff and bureaucracy come together

By Ramon Padilla Jr., TechRepublic
Monday, April 4 2005 3:31 PM

I recently read an advice column in which a manager who was saddled with not having enough staff for an upcoming project was given the choice of taking on the project with his current numbers, or having his staff augmented with a known "problem" employee. Not knowing what to do, he asked the columnist for his advice.

Perhaps you have had a similar situation. Maybe you have been complaining that you are understaffed and the option was given to you that you could have another budget slot, but you also have to take the person that was already occupying the position. Or perhaps you have not mentioned anything about needing staff augmentation, but out of the blue, you have been "given" a new slot and a new person to go with it. Surprise! Enjoy your new "gift".

My guess is that you probably have had both, if not just one, of the above situations, and if not, you will at some point in your government IT career. Like the reader asked above, what do you do when presented with the situation?

The advice columnist geared his answer strictly to the private sector when he said, and I paraphrase, "Yes, take the employee with caveats". This answer, while workable in the private sector, should send off alarm bells to someone in the government sector. When it comes to personnel issues in government jobs, dealing with a problem employee is never a speedy process. So the short answer to both of the above situations is to "just say no!"

Taking on trouble?
Why do I say this when I know how hard budget slots can be to come by? Because my own personal experience, as well as that of my colleagues over the years, has taught me that while it is nice to be a team player and an accommodating manager, taking on someone else's problem employee is usually far more trouble than it is worth.

Once that employee becomes "yours" it rarely matters how they performed in the past. Most of the employee's problems were more than likely not documented, and if you find that even after giving him or her a fresh start the problems persists, you will be saddled with the whole remediation/step-discipline progression—which by its nature, is not a speedy process. Additionally, you will be the bad guy/gal for doing what the employee's previous supervisors should have done long ago.

So now that we know that taking the employee on is a poor choice, what do we do if we are given no choice in the matter? First, talk to your management, thank them for thinking highly enough of your management skills to give you this challenge and then respectfully decline. Explain that although it would be a worthy effort, given your schedule and workload, you could not possibly give the person the attention he/she deserves.

If that is a nonstarter for you, then it might be time to do some research. If the employee is coming with a position that will need to be re-classified with them in it to fit into your unit, you may have an opportunity to make the case that his or her skills do not meet the minimum requirements of the new job. If the employee is making a lateral move, and no reclassification is necessary, this might not work.

Handling the problem
If all of the above fails and you are forced to take this person on, then you should do the following:

* Try to keep an open mind. Unless you have a stack of negative performance appraisals in front of you, keep in mind that much of what you "know" about this person is word of mouth. And even if you do have that stack of appraisals, people can change.
* Set clear expectations from the get-go. Taking on a problem employee is not the time for ambiguity. Make sure you discuss with the new employee your expectations regarding performance and how evaluations are to be determined; make sure you give clear and understandable directions.
* Document. If you aren't already, make sure you document successes and failures, slip-ups and exceptional moments. Not just for this one person, but everyone that reports to you. You must be evaluating everyone evenly. Don't fall into the trap of starting your documentation when you want to finally take some action—it's too late then.
* Communicate often, meet regularly. It is vitally important (especially during the first few months) to make sure you are communicating regularly with your new employee. It is through these chats and meetings that you are double-checking that they are still clear regarding expectations and performance and you are dealing with issues as they arise, and of course documenting them.

Doing the above will help to ensure that the employee gets off to the right start, is given an opportunity to succeed, is offered assistance should he or she start to fail, and provides you with the documentation to take further action should it prove necessary.

In summary, taking on a problem employee is hard work. For many, it is often more trouble than it is worth and something that should not be entered into without a great deal of thought. Should you choose to do so (or are forced into it), you need to approach the situation with a plan and with consistent behavior as a manager/supervisor. Know, as well, that it will take extra energy and attention on your part from the beginning.

Should all go well, you may take a diamond-in-the rough and end up with a star employee.

If not, you will at least have made the effort and have the documentation to deal with the employee in a way that their other supervisors failed to do in the past.

Monday, April 04, 2005


Programmers bypass Red Hat Linux fees

Friday, April 01, 2005


Building an SOA: Do's and don'ts

expert's view A service-oriented architecture is commonly acknowledged as the most cost-effective and efficient way to integrate disparate information systems together, as well as bridge the gap between sliced or heterogeneous systems.

1. DO begin with realistic expectations
2. DON'T get too close to the bleeding edge
3. DO expose existing enterprise functionality as services
4. DON'T perpetuate fine-grained, tightly coupled interfaces
5. DO design services to be used from any language or platform
6. DON'T succumb to proprietary technology
7. DO the simplest thing that work.
8. DON'T just press the 'make this a web service' button to expose ordinary objects as services.
9. DO design with evolution in mind.
Finally, DON'T try to design everything in advance

This page is powered by Blogger. Isn't yours?