Thursday, December 12, 2013

Five ways for IT pros to shine in 2014

When you take stock of your career achievements and failures, be sure to also look ahead and consider forming these good habits. 
the-strange-life-death-and-rebirth-of-the-cio-and-what-it-means-for-the-future-of-it-v1.jpg
In our ever-changing business environment, how do you stand out amongst your IT peers? Below are tips that I hope will help you get started down the right path. If you form these habits properly, they will transcend the workplace and flow into your personal life as well.

1. Evaluate your present position

In Robert Greene's book The 33 Strategies of War, he explains that "…seeing things as they are…" is a key component in any successful strategy. So, the first step in planning for the upcoming year is to assess yourself honestly and make a change where there is weakness, confusion, and self-doubt.

2. Give solutions, not complaints

There are always problems at work; fortunately, problems come with opportunities. You should focus on the problem rather than the hype and then map out solutions as a result of what you see, taking into account all of the circumstances that caused the issue (be sure to integrate tip #1 into this process). When you present your solutions, you'll be perceived as a problem-solver, and this could open more doors for you in the future.

3. Be strategic with project tasks

You should see every task as being part of a larger project or goal -- in short, look beyond your assignment and at the big picture. As you break down projects into manageable parts, try to foresee what could go wrong at each step. If something arises that was not accounted for, respond accordingly, taking into account the present situation and compensating/eliminating the emotional reaction. By seeing things as they are and not just how they appear, you'll separate yourself from those who panic.

4. Serve others

If you're a manager, you should serve employees who report to you by providing them with the resources they need to succeed. This can range from good communication and trust (the antithesis of micromanagement) to actual tools they use in their work. In doing so, you enable each one of them to successful, which in turn leads to your success.
The same concept applies to working with clients; you should serve them in their expectations, and be honest at each stage of their prospective campaigns. When you support others to whom you are dependent, you also empower them and support yourself in the process.

5. Create opportunities for yourself

Every industry has questions that need answering, so you find ways to answer them -- even if it means creating the project for yourself. This will show others where opportunities lie, and it will create a lasting competitive edge for yourself and the company. Contrary to popular, we are all responsible for what we do and don't do, the latter becoming a regret. You can create opportunities, even where none appear to exist.  

refactor a code example using one of the new Android SDKs

there are multiple ways in any development task to solve the problem, but the refactor below takes advantage of the object animator and results in a more than 50% code saving. Since it's been a few weeks, I'm posting both the original and the refactored MainActivity.java file. 
Code Listing #1: Using the Object Animator
public class MainActivity extends Activity implements OnClickListener{

 private boolean isHere;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  isHere = true;
  findViewById(R.id.here_button).setOnClickListener(this);
  findViewById(R.id.there_button).setOnClickListener(this);
 }

 @Override
 public void onClick(View v) {
  View cursor = findViewById(R.id.cursor);
  float diff;
  if (v.getId()==R.id.here_button && !isHere) {
   diff = (float) (cursor.getX() - v.getX() - v.getWidth());
   ObjectAnimator.ofFloat(cursor, "translationX", diff, 0).setDuration(1000).start();
   isHere=true;
  } else if (v.getId()==R.id.there_button && isHere) {
   diff = v.getX() - cursor.getX() - cursor.getWidth();
   ObjectAnimator.ofFloat(cursor, "translationX", 0, diff).setDuration(1000).start();
   isHere=false;
  }
 }
 
}
Code Listing #2: Original MainAcitvity.java
MainActivity extends Activity implements OnClickListener, AnimationListener {

 private final static int HERE = -1;
 private final static int THERE = 1;
 private TranslateAnimation anim;
 private View cursor;
 private int screenWidth;
 private int centerOfScreen;
 private int dest;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  screenWidth = (int) (getWindowManager().getDefaultDisplay().getWidth());
  centerOfScreen = (int) (screenWidth *.5);
  cursor = findViewById(R.id.cursor);
  findViewById(R.id.here_button).setOnClickListener(this);
  findViewById(R.id.there_button).setOnClickListener(this);
 }

 @Override
 public void onClick(View v) {
  if (v.getId()==R.id.here_button) {
   animate(HERE);
  } else {
   animate(THERE);
  }
 }
 
 private void animate(int whichWay) {
  if (anim!=null && !anim.hasEnded()) return;
  float target;
  int currentX = cursor.getLeft();
  if (whichWay==HERE ) {
   if (currentX+cursor.getWidth()<=centerOfScreen) return;
   target = (currentX - 
     (findViewById(R.id.here_button).getLeft() + findViewById(R.id.here_button).getWidth()))*-1;
  } else {
   if (currentX>centerOfScreen) return;
   target = findViewById(R.id.there_button).getLeft() - (currentX + cursor.getWidth());
  }
  anim = new TranslateAnimation( TranslateAnimation.ABSOLUTE,0,
         TranslateAnimation.ABSOLUTE,target,
         TranslateAnimation.ABSOLUTE,0.0f,
         TranslateAnimation.ABSOLUTE,0.0f);
  anim.setDuration(500);
  dest = (int) target+cursor.getLeft()+cursor.getWidth();
        anim.setAnimationListener(this);
        cursor.startAnimation(anim);
 }

 @Override
 public void onAnimationEnd(Animation arg0) {
  RelativeLayout.LayoutParams params = 
    new RelativeLayout.LayoutParams(cursor.getWidth(), cursor.getHeight());
  if (dest >= centerOfScreen) {
   params.addRule(RelativeLayout.LEFT_OF, R.id.there_button);
  } else {
   params.addRule(RelativeLayout.RIGHT_OF, R.id.here_button);
  }
  params.addRule(RelativeLayout.CENTER_VERTICAL);
  cursor.setLayoutParams(params);
 }

 @Override
 public void onAnimationRepeat(Animation arg0) {
  // TODO Auto-generated method stub
  
 }

 @Override
 public void onAnimationStart(Animation arg0) {
  // TODO Auto-generated method stub
  
 }
 
}

Wednesday, December 11, 2013

10 ways to bulletproof your project execution

By  in 10 ThingsDecember 10, 2013, 2:19 PM PST


IT is project-driven -- and if a project goes off track or fails to deliver, the consequences can be dire. These strategies will help ensure a positive outcome. 


10T_pm_iStock_000002674288Small.jpg

Some areas, like accounting, proceed in daily, weekly, monthly, quarterly, and annual cycles of work. But disciplines like IT are highly project oriented. IT's reputation lives and dies with its projects, which makes it essential to bulletproof your projects with strong checkpoints and practices that ensure their success. Here are 10 strategies that can help.

1: Manage by walking around

There's only so much you'll learn about a project's true health by reviewing project reports and memos. If you are the project manager, make it a point to spend time out in the trenches, visiting with staff. You'll pick up a lot about how a project is really going by reading faces and body language. Visiting with people in person at their workstations also keeps communications channels open.

2: Break projects into phases with checkpoints

It's much easier to manage a project -- especially a complex one -- if you break it into phases that can be incrementally tested and deployed. The project team gets to see some early results, as do end users. In addition, a multi-phase project with periodic checkpoints assures you of review time to confirm that the project remains on course and is on its way to delivering the value it's supposed to.

3: Use prototyping as an early-stage project technique

By engaging end users into early project prototypes so they can kick the tires on the project, you save yourself grief in later project stages. That early involvement reduces the risk of users being unpleasantly surprised because the project didn't turn out as they expected. Prototyping also encourages continuous collaboration between end users and project developers.

4: Identify your critical people as well as the project's critical path

Key project contributors may get sick or take maternity/paternity leave or leave for another job altogether, so it's important to identify early in the project who you can ill afford to lose -- and to have backup provisions in place just in case. Most project managers identify the critical path of project tasks that must absolutely be completed, but they fail to do the same thing with their staff.

5: Secure project backing

No matter how sound your project is, if upper and middle management  -- and your immediate user-beneficiaries -- aren't sold on the project, it is likely to fail. Always secure project commitment before starting any work.

6: Use collaborative project management software

There are still companies that manage projects with spreadsheets. Some even use monolithic project management software that resides on a single workstation that a project administrator painstaking updates on a daily basis. But projects are never sequential in their communications or their workflows, so the software tracking projects shouldn't be, either. Today, projects can to be run in a collaborative environment with a project management solution that runs in the cloud. Each project staff member can update his/her task status in real time, giving visibility of current project work to others who are on the project team.

7: Develop a comprehensive QA and test plan... and don't go live until you're ready

Project managers get nervous when deadline begins to approach. Consequently, quality assurance and thorough check-out of projects may get skipped or cut short. This is a mistake. The last thing you want is a public relations nightmare on the first day a project goes live because end users and customers are calling in with their frustrations. If you're the project manager, a scene like this makes it likely that you'll be called in to someone's office as well -- something you definitely want to avoid!

8: Document

It's a temptation to skimp on documentation when you're working a project and deadlines get tight. Resist temptation. If you include and QA the documentation of project modules, callable routines, etc., you make the project handoff easier for your project maintenance team. More than 60% of the average IT department's time is spent on systems maintenance today. Poorly documented projects are one reason why.

9: Conduct a post-project assessment

Even successful projects come with their share of road bumps along the way. Once the project completes, get the project team together to go over what went well and not so well. Then, take what you learn and apply it to the next project. Your project execution will improve.

10: Celebrate!

Project work is hard and relentless. Once a major phase of a project completes -- or the entire project completes -- take time to celebrate the victory with your staff at lunch or dinner or with an office celebration. People need to celebrate their successes so they can be ready for the next project they're going to succeed at.

Saturday, September 21, 2013

Natural Ayurvedic Home Remedies for Long Shiny Hair

Long Shiny Hair:

• Hair is made of protein fibres that comes from the follicles present on the scalp
• A good diet provides essential nutrients to hair
• Hair care is important to get long shiny hair

Natural home made hair conditioners using banana, milk and honey:

1. Take 1 mashed banana
2. Add 1 egg
3. Add 3 tbsp milk
4. Add 3 tbsp honey
5. Mix well
6. Apply on hair and scalp
7. Wash off with a mild shampoo after 30 min

Natural home made hair conditioners using eggs and olive oil:

1. Take 2 eggs
2. Add 5 tsp olive oil
3. Mix well
4. Apply this on the scalp
5. Wear a shower cap
6. Leave it for 30 min
7. Wash off with mild shampoo

Tips:

• After washing the hair, allow them to dry naturally
• Use hair dryer only after the hair is mildly damp
• Comb hair regularly and gently

Friday, September 20, 2013

5 Natural tips to prevent hair loss

t's better to use natural products to stop hairfall than to go in for expensive parlour treatments, that may not help the problem.
Try the following easy tips at home and see how effective they are in reducing hair loss!
1. Hot oil treatments: Take any natural oil - olive, coconut, canola - and heat it up so that it is warm, but not too hot. Massage it gently into your scalp. Put on a shower cap and leave it on for an hour, then shampoo your hair.
2. Natural juices: You can rub your scalp with either garlic juice, onion juice or ginger juice. Leave it on overnight and wash it thoroughly in the morning.
3. Get a head massage: Massaging your scalp for a few minutes daily will help stimulate circulation. Good circulation in the scalp keeps hair follicles active. Circulation may be improved through massage by using a few drops of lavender or bay essential oil in an almond or sesame oil base.
4. Antioxidants: Apply warm green tea (two bags brewed in one cup of water) on your scalp and leave this mixture on for an hour and then rinse. Green tea contains antioxidants which prevent hair loss and boost hair growth.
5. Practice meditation: Believe it or not, most of the times, the root cause for hair loss isstress and tension. Meditation can help in reducing that and restore hormonal balance.

Friday, September 13, 2013

How to supercharge team productivity



By  in Career ManagementSeptember 12, 2013, 5:25 AM PST



Introducing or restoring productivity starts with providing the right tools, empowering employees to take control of their workload, a shift in corporate culture, and best practice implementation. 
Productivity is a problem. Every year, lack of efficient communication, endless meetings and wasted time cost U.S. businesses billions of dollars. Yet, increasing productivity remains one of the greatest, most elusive challenges of the modern enterprise—everyone talks about it, but few know how to actually be more productive.
The problem isn’t that we don’t want to be more productive; it’s that how we work is fatally flawed. The tools we have at our disposal add to the problem. Often the “fix” or “hack” we use to solve one productivity problem actually creates an even bigger hurdle. In fact, even technology that’s supposed to help, like email, instead creates a whole new challenge. Each year,unnecessary emails cost employers $1,800 per employee, while companies lose between $2,100 and $4,100 annually per employee due to poorly written communications.
Added together, lack of productivity in all forms means that 60 percent or less of the time we spend at work is actually productive.
Introducing or restoring productivity starts with providing the right tools, empowering employees to take control of their workload, a shift in corporate culture, and best practice implementation.

Give all team members access to the data they need 

One of the biggest problems with productivity is simply the way tasks are handled. The lack of an efficient system for managing the work process from start to finish causes many tasks to get lost in the shuffle, delayed, or ignored.
Task assignments come from all directions—via email, telephone, and water cooler conversations—making it nearly impossible to keep track of them all. Conflicting priorities make it tough for team members to know what tasks to do first and whose requests take precedence. Tasks take longer than expected because the information and resources needed are scattered throughout multiple software tools and formats—email, spreadsheets, whiteboards, to-do lists. As a result, managers spend more time tracking down status updates from team members than they do actually getting work done.
Eliminate information silos and the time wasted in searching through email threads, databases, and company intranets for vital data by creating a central repository for each project. By providing employees with the information needed on projects upfront – including the business case, deadline, requirements, etc. – and storing them in a single location, employees will be working toward an agreed-upon conclusion, rather than grasping for straws.

Foster an atmosphere of collaboration

It’s easy to say that the fastest way to solve the productivity problem is to simply stop wasting time. But, in many cases, employees don’t even know they are—they’re simply following the standard protocol for how work usually gets done—or doesn’t get done, as the case may be. It’s time to make a fast and firm break away from the “way we’ve always done it.”
Encourage your employees to collaborate together on tasks and projects with the purpose of determining the most impactful way to reach the end goal of the work. (As stated before, having that end goal in mind really helps with the overall process.) This way employees can work together, share ideas, give input, and provide assistance and support for one another, rather than toiling alone like hermits in their hobbit holes, I mean, cubicles.
With collaboration, it’s important understanding when enough is enough. This can vary from organization to organization and from team to team, so define within your organization how to benchmark the time that should be spent collaborating versus getting the work done, so that you can remain effective.

Get iterative and stay flexible

Meetings are another huge drain on productivity. For many employees, one-half of meetings are considered “wasted time,” while, nationwide, employees waste 31 hours per month in unproductive meetings—nearly 1/5 of the average working hours each month. In total, U.S. businesses spend $37 billion in salary costs on unnecessary meetings each year.
A better way to work is to plan for change and work iteratively. When you kick off a project, get the business case and the basic requirements documented and then plan to tackle specific work in chunks. As priorities shift or new work comes into the queue, the team will be flexible enough to iterate while keeping the end goal in sight.
Do quick check-ins, not drawn-out meetings. There are a number of agile methodologies you could explore, like Lean or Kanban, and then apply the best ones that will work for your team.
The truth is productivity can only increase through the effort teams make to be flexible, collaborative, and transparent. The alternative is wasted budget and stifled creativity. Taking a cold hard look at where work processes, collaborative culture, and information sharing break down inside your organization is the first step to improvement.
Bryan Nielson is an IT work management expert at AtTask, maker of best-in-class enterprise work management solutions.

Friday, July 12, 2013

8 Things Really Successful People Do

Real success takes discipline and methodology. Here are eight things the most successful people are meticulous about getting right.
Business team work building puzzle symbolizing working together

Most people claim to want success. But not everyone is willing to do the hard work and the smart work to get there. Often opportunities present themselves and because people are distracted, they miss them or give up on them before things fully develop.
Truly successful people don't leave much to chance. They are disciplined and focused.  They constantly seek new methods to achieve more, in bigger and faster ways. Listed below are eight different practices that will help you concentrate your efforts on rising above the tide.

1. Make Materialism Irrelevant

Fancy cars and houses are all well and good, but many foolishly focus on the byproducts of success, rather than concentrating on building sustainable success in the first place. Establish a bare minimum for your material needs, and then you can enjoy the benefits of success, debt and stress free.

2. Enhance Knowledge

Success comes faster to those who are open, active learners. The higher up the success ladder you climb, the more complex the systems and opportunities that are presented to you. Absorb all the information you can and if you sense a gap you can't fill, connect with people who have the knowledge you need.

3. Manage Relationship Expectations

People in your life require time. Successful individuals attract folk and so they have to carefully regulate the time they can spend with others. It's hard to limit the time you share and still make people feel important. Make choices about the people who matter to you and determine how you each can get value from your interactions. Then make sure they understand your limitations so they don't take it personally when you can't be present.

4. Practice Emotional Self-Awareness

Not all successful people are calm and nice. In fact, many can be volatile. But most are very aware of their tempers and idiosyncrasies. They know how to use their emotions to get what they want from life and work hard to make sure feelings don't become a detriment. Know yourself and learn how to let your emotions work for you in positive ways.

5. Commit to a Physical Ideal 

Everyone has a vision of their own perfect body. They don't have to be fashion models or athletes to be happy. But physical health is a consideration in their life and it's a big distraction when it gets out of whack. Determine the body you believe is worth working for and set a game plan to achieve and maintain it.

6. Gain Clarity About Spirituality

There are many highly successful people like Richard Branson and Warren Buffettwho don't consider religion to be important or relevant. But they have a clear point of view as to the role spirituality plays in their life. Find your own way to be at one with the universe and be clear and deliberate in how you practice.

7. Adhere to a Code of Ethics  

Really successful people live by rules. They may not be the rules of others, but consistency is important for them to maintain power and stability. Their individual view of how the world works is the basis for how they believe people should be treated and they will defend it until their dying day. Determine your ethical lines and broadcast them loud and clear so people around you know where you stand.

8. Focus on Time Efficiency

Prioritization is a key component of success. You can't reach your pinnacle if you are wasting time on distractions. Integration of activities frees up time for greater achievement. Spend your time on activities that are fun, enlightening and productive and soon you'll have gained hours to reap the benefits of success.
Ultimately, really successful people live their lives by design instead of default, so if you want to be one of them, dedicate time and effort to determining the plan for yourpreferred future and execute that plan in a focused and consistent manner.