Thursday, April 29, 2010

Ensuring Project team member Self-Control:

Ultimately, the only way that a project can be under control is to have every member of the project team in control of his or her own work. A project manager can achieve control at the macro level only if control is achieved at the micro level. However, this does not mean that you should practice micro-management. You’re often dealing with highly skilled and very technically competent project team members – the last thing they need is to be micro-managed. It can alienate them and torpedo your project before it ever gets off the ground.
It does mean, however, that you should set up conditions under which every team member can achieve control of his or her own efforts. To do this requires five basic conditions.
1. Clarify for every team member what his objective is
Note the difference between tasks and objectives. State the objective, and explain to the employee, if necessary, what the purpose of the objective is. This allows the individual to pursue the objective in his own way.
2. Have each worker prepare a personal plan for doing the required work
Remember, if you have no plan, you have no control. This applies at the individual level, as well as the overall project level. As the project manager, you need to do at least a cursory review of this plan so that you know the team member is on the right track and truly understands what is expected of them. Revisit the plan with them periodically for two reasons: if they run off course of the plan or to ensure that they are still on track.
3. Ensure that all workers have the skills and resources needed for the job
The need for resources is obvious; in addition, some workers may require training if they lack the necessary skills. Certainly, when no employee with the required skills is available, it may be necessary to have team members trained.
4. Provide direct feedback to each worker
If feedback is given in some roundabout way, workers cannot exercise self-control. On the other hand, if a team member is building a wall, she can measure the height of the wall, compare that to the planned performance, and know whether she is on track or not.
5. Define clearly for each individual his authority to take corrective action when necessary
Whenever there is a deviation from the plan on the portion of work that the team member is tasked with – they must have the authority to take some corrective action. If the worker has to ask the project manager what to do every time a deviation occurs, the project manager is still controlling. In addition, if very many people have to do this, it puts a real burden on the project manager.

Wednesday, April 28, 2010

Index and Match Functions:

The Excel INDEX function can return an item from a specific position in a list.
The Excel MATCH function can return the position of a value in a list.
The INDEX / MATCH functions can be used together, as a flexible and powerful tool for extracting data from a table.

The Excel INDEX function has three arguments:

1. array: Where is the list? If you use an absolute reference ($A$2:$B$4), instead of a relative reference (A2:B4), it will be easier to copy to formula to other cells. Or, name the lookup table, and refer to it by name.
2. row_num: Which row has the value you want returned? In this example, the item in the third row will be returned.
3. [column_num]: Which column has the value you want returned? In this example, the item in the second column will be returned
The Excel MATCH function has three arguments:

1. lookup_value: What value do you want to find in the list? You can type the value, or refer to a cell that contains the value.
2. lookup_array: Where is the list?
3. [match_type]: Match_type can be -1, 0, or 1. It tells Excel how to match the lookup_value to values in the lookup_array.
1 -- find the largest value less than or equal to lookup_value
(the list must be in ascending order)
0 -- find the first value exactly equal to lookup_value. Lookup_array
(the list can be in any order)
-1 -- find the smallest value greater than or equal to lookup_value.
(the list must be in descending order)
Note: If match type is omitted, it is assumed to be 1.

Tuesday, April 27, 2010

Cloud Computing:

Cloud computing is Internet-based computing, whereby shared resources, software and information are provided to computers and other devices on-demand, like a public utility.
Most cloud computing infrastructure consists of reliable services delivered through data centers and built on servers. Clouds often appear as single points of access for all consumers' computing needs.

In general, cloud computing customers do not own the physical infrastructure, instead avoiding capital expenditure by renting usage from a third-party provider. They consume resources as a service and pay only for resources that they use. Many cloud-computing offerings employ the utility computing model, which is analogous to how traditional utility services (such as electricity) are consumed, whereas others bill on a subscription basis. Sharing "perishable and intangible" computing power among multiple tenants can improve utilization rates, as servers are not unnecessarily left idle (which can reduce costs significantly while increasing the speed of application development).

Cloud architecture, the systems architecture of the software systems involved in the delivery of cloud computing, typically involves multiple cloud components communicating with each other over application programming interfaces, usually web services.

Monday, April 26, 2010

Wagon Jobber:

Wagon Jobber is a wholesaler that sells a limited variety and quantity of products from a truck.

Sunday, April 25, 2010

Spell Check a Power Point Slide:

You can easily spell check a PowerPoint slide by pressing F7.

Wednesday, April 21, 2010

How to be a better programmer:

12 best habits that will help to make you a better programmer.
1. Error Checking
There are not many things that are more frustrating than getting a return value from a function that is actually handled as a correct one though it is an error. Error check beforehand in order not to debug at a later time. Use structured exception handling as well.
2. Sanitize User Input
Always make sure that you predict the un-expectable as much as it is feasible to do so. User input is one of the most cunning problems you would have to take care of. Remember that a user can be a security knowledgeable person who can compromise the security of your application. Escape variables, predict and most importantly limit possible user input in your programs.
3. Read The (Fancy) Manual
If you do not know how to do something, simply read the manual. If you are programming in Windows, read the MSDN reference. If you are doing it on linux, use the man pages. Whatever you do, read how the functions work. If you still can’t make it, search the internet for some examples and only post a question to a related forum only as a last resort.
4. Learn How to Debug
Believe it or not, most programmers do not really know how to debug their programs. When something weird happens, the only solution is to go through the execution of your program and analyze the state in which an error gets produced. Knowledge of assembly will be a plus here, but the most important thing is that you understand important data structure elements like the heap and the stack.
5. Be Class(y)
The most important thing to do if you are about to write a big program (lots of source) is to choose a language and implementation that involves classes. Organizing your code is vital for its reusability and will only serve to make your life easier and add the ability to more easily extend your program’s functionality in the future. Be classy when it is appropriate.
6. Stop Programming When You Are Tired
You can’t stop programming just because you are a bit tired. This does not mean it is a sensible choice though. Programming when tired raises the possibility of writing error prone code. It also makes you less sharp on choices and simple things take more time than usual. If you feel tired, just take a break, even a short one. Trust me, you will write better code after that.
7. Comment Your Code Properly
You have probably heard this more times than you have heard your own name. Unluckily, it is true. Using proper comments can really save the day for you and your partners who will have to read your code. Just make sure you comment properly. Do not describe what is happening, but WHY it is happening. For instance, the following comment is not a good one :
1 sum = sum + vote // adds sum and vote to sum
We know that already when we see the actual code. What this should be like is :
1 sum = sum + vote // calculate the sum of votes
Or maybe there would just be no need to have any comment at all in this line since it is pretty self descriptive.
8. Do Not Reinvent The Wheel
There are millions of great coders out there who have already written code for what you are trying to do. Unless you code explicitly to learn the mechanics on the actual problem you are trying to solve, learn to use other people’s code. It will not only save your time but most times provide a well tested solution already.
9. Pen and Paper for Large Projects
When programming something big, use pen and paper. Design your components first (maybe even use UML for complicated programs) and maybe also arrange them in classes. Only after you finalize that design start to write the actual code. Writing makes for better programmers.
10. Separate Code and Presentation of Data
Code and Data Presentation are two different things. When you need to change the code, you just need to edit the code and not a vast pool of data and code altogether and vice versa. Divide and conquer.
11. Use Versioning Control Tools
You wouldn’t want to lose code that you have already written right ? Make sure that something like this never happens. Use appropriate versioning control tools.
12. What Else ? Practice !
Last but not least, practice. The more you write, the better a programmer you become.

Tuesday, April 20, 2010

Count Blanks:

The COUNTBLANK function will count cells that are empty. Its syntax is:
=COUNTBLANK(range).
The following example uses a reference to cells A1:A5.

1. Enter the sample data on your worksheet
2. In cell A7, enter a COUNTBLANK formula, to count the numbers in column A: =COUNTBLANK(A1:A5)
3. Press the Enter key, to complete the formula.
4. The result will be 1, the number of empty cells.

Monday, April 19, 2010

Ajax Programming:

Ajax (shorthand for asynchronous JavaScript and XML) is a group of interrelated web development techniques used on the client-side to create interactive web applications. With Ajax, web applications can retrieve data from the server asynchronously in the background without interfering with the display and behavior of the existing page. The use of Ajax techniques has led to an increase in interactive or dynamic interfaces on web pages. Data are usually retrieved using the XMLHttpRequest object. Despite the name, the use of XML is not actually required, nor do the requests need to be asynchronous.
Like DHTML and LAMP, Ajax is not a technology in itself, but a group of technologies. Ajax uses a combination of HTML and CSS to mark up and style information. The DOM is accessed with JavaScript to dynamically display, and to allow the user to interact with, the information presented. JavaScript and the XMLHttpRequest object provide a method for exchanging data asynchronously between browser and server to avoid full page reloads.
Drawbacks:
• Owing to their dynamic nature, Ajax interfaces are often harder to develop when compared to static pages.
• Pages dynamically created using successive Ajax requests do not automatically register themselves with the browser's history engine, so clicking the browser's "back" button may not return the user to an earlier state of the Ajax-enabled page, but may instead return them to the last full page visited before it.
• Dynamic web page updates also make it difficult for a user to bookmark a particular state of the application.
• Any user whose browser does not support JavaScript or XMLHttpRequest, or simply has this functionality disabled, will not be able to properly use pages which depend on Ajax.
• Ajax-powered interfaces may dramatically increase the number of user-generated requests to web servers and their back-ends (databases, or other). This can lead to longer response times and/or additional hardware needs.

Sunday, April 18, 2010

Tips to Search Online:

Few people actually understand the importance of knowing how to search online. Believe it or not, there are literally dozens of techniques about searching the internet. Taking some time to learn some of Google’s search directives can really prove to be a nice time investment.

File Search
Suppose that we need to locate a pdf file about Retail. A natural search would be something like:
1 Retail filetype:pdf
At the same search term, if you change filetype:pdf to -filetype:pdf, you would instruct the search engine to locate anything related to Retail that is NOT a pdf file. In the same manner, you can use something like:
1 allinurl: Retail
This instructs google to search for the term “Retail” inside URLS and only return those that contain these words. Another useful one is the site directive that specifies the domain name that we want to search for and it only returns results under that domain we specify.
Book Search
If you think that you can always find a book online if you just type its name, you may be disappointed to see that most times you will be getting spam websites, ads or anything that is not actually related to what you seek. Alas, using the right search engine term for google can really make the difference.
1 -inurl:html -inurl:html intitle:"index of" + ("/ebooks"|"/book") + (chm|pdf|zip) + "networks"

What it does is actually very easy. First, we specify that we want google to return to us webpages that contain html or htm on their urls. Moreover, it requires that the title of the page is “index of”. This actually looks for directory listings that people tend to use when uploading lots of ebooks and software. Then, it also looks for chm,pdf or zip files and websites having “/ebooks” or “/book” as part of their name, finally also specifying that the actual search term is networks. This returns a nice result set of books about networks.

Music Search
This is the part that people seem to be having some problem finding stuff for. Well, you can certainly just use a simple rapidshare search engine in order to locate lots of music. However, there is actually a pretty powerful search engine term that can help you locate songs and even complete collections of music.
1 mp3 "index of" michael jackson
What this actually does is locate search listings that refer to michael jackson mp3 songs and as you can guess you can find thousands of them. Notice that “index of” is specified inside brackets, meaning that the searching engine should find this EXACT term as is (while Michael Jackson is a vague search term and stuff like Jackson alone can be found). The search engine results you will get from that can easily gather you Michael Jackson’s full discography (including not published songs).

Friday, April 16, 2010

Zone Pricing:

Zone Pricing is a strategy of setting selling prices according to the geographic area (zone) in which the product will be sold, allowing for the costs of product shipping and handling to the zone. Zone pricing provides a uniform delivered price to all buyers within a geographic area. However, selling prices are incrementally higher as the zones get further away from the place of product manufacture.

Wednesday, April 14, 2010

What it costs to get the Project work done:

A major component of the project plan is cost. Cost management, however, is more than just calculating the cost of the overall project. It also consists of creating a budget (identifying the cost of individual elements of work) and the time-scaling of the overall project expenditure.
Types of Costs
There are direct and indirect costs associated to a project.
A direct cost is an expenditure specifically and directly incurred by the execution of the project. These are typically the most obvious categories of costs, and include the following:
• Labor: The cost of the people carrying out the activities on the project. This could include contract labor. This is often the largest component of the project budget.
• Materials: The cost of items purchased for use in executing the project.
• Supplies and Equipment: The cost of items consumed by the project and specifically required to execute the project. This item could include items that are purchased, leased, or rented.
• Facilities: This would be included only if the facilities are built or purchased solely for the use of the project (in other words, when it’s part of what the project delivers).
• Training: Training specifically required in achieving project success. This cost is often associated with customer training during installation or startup.
• Travel and Other Miscellaneous Costs: Again, the only rule is that the cost must be required to execute the project.
An indirect cost is a cost related to supporting the facilities, general services, and organizational environment within which the project team functions. It may include the following:
• Fringe Benefits: This is the non-payroll component of workers’ salaries for the project. They’re often calculated as a simple percentage of direct labor costs and include Social Security costs, health insurance contributions by the organization, and profit-sharing plans, to name a few.
• Facilities: The cost incurred to maintain the environment within which the project team functions during the project. This might include building rent, utility costs, building maintenance, communications networks, office supplies, etc.
• General and Administrative: The costs of management and support services, such as secretarial, and the purchasing, accounting, and human resources departments, as examples.
In the case of organizations or companies that earn their money through project work, profit would be another necessary component of the project estimate, although not necessarily expected to be spent.

Monday, April 12, 2010

Use Slide Master:

The best tip you can have about PowerPoint is to use the "Slide Master" page to design the style of your pages BEFORE you start designing your presentation. This is the place to put your company logo, instead of placing it on every single slide put it on the slide master. This is also the place to set up all your fonts, size, and "slide color scheme". This will save you hours of extra work formatting every single slide.

Sunday, April 11, 2010

Change the Comment Shape:

Add a bit of interest to a worksheet, by changing the comment shape from a rectangle.
1. Right-click the cell which contains the comment.
2. Choose Edit Comment
3. Click on the border of the comment, to select it.
4. On the Drawing toolbar, click the Draw button
5. Choose Change AutoShape, and choose a category.
6. Click on a shape to select it.
7. When finished, click outside the comment.

Thursday, April 8, 2010

Take a snap shot of your bugs:

As they say pictures speak better than words. Adding a snapshot of a bug you found always helps the developers to troubleshoot and fix problems faster.
There is a wonderful image editing tool by name GreenShot. It is a great tool for testers to report bugs. This tool helps to capture a portion of or the entire screen and store in easy steps. You can highlight problem areas using boxes, circles and even arrows. No hifi features, just what a tester needs.
Check it out - GreenShot. It is free and open source.

Wednesday, April 7, 2010

Andon Board:

Andon Board is a production area visual control device, such as a lighted overhead display. It communicates the status of the production system and alerts team members to emerging problems (from andon, a Japanese word meaning “light”).

Ubiquitous Computing:

A popular theme in science fiction stories set in the future is ubiquitous computing. In this future, computers have become so small and pervasive that they are in practically everything. You might have computer sensors in your floor that can monitor your physical health. Computers in your car that can assist you when you drive to work. And computers practically everywhere track your every move.
It's a vision of the future that is both exhilarating and frightening. On the one hand, computer networks would become so robust that we'd always have a fast, reliable connection to the Internet. You could communicate with anyone you choose no matter where you were with no worries about interruption in service. But on the other hand, it would also become possible for corporations, governments or other organizations to gather information about you and keep tabs on you wherever you go.
We've seen steps toward ubiquitous computing over the last decade. Municipal Wi-Fi projects and 4G technologies like LTE and WiMAX have extended network computing far beyond the world of wired machines. You can purchase a smartphone and access petabytes of information on the World Wide Web in a matter of seconds. Sensors in traffic stoplights and biometric devices can detect our presence. It may not be long before nearly everything we come into contact with has a computer or sensor inside it.
We may also see massive transformations in user interface technology. Currently, most computers rely on physical input interfaces like a computer mouse, keyboard, tracking pad or other surface upon which we input commands. There are also computer programs that can recognize your voice or track your eye movements to execute commands. Computer scientists and neurologists are working on various brain-computer interfaces that will allow people to manipulate computers using only their thoughts. Who knows? The computers of the future may react seamlessly with our desires.
To extrapolate out to 100 years is difficult. Technological progress isn't necessarily linear or logarithmic. We may experience decades of progress followed by a period in which we make very little headway as we bump up against unforeseen barriers. On the other hand, according to some futurists, there may be no meaningful difference between computers and humans within 100 years. In that world, we'll be transformed into a new species that can improve upon itself at a pace unimaginable to us in our current forms. Whatever the future may hold, it's a safe bet to assume the machines we rely upon will be very different from today's computers.

Monday, April 5, 2010

Time Clocks:

An instrument that records the time an associate begins and ends work. The time is usually displayed on a time card or electronic monitor. Used to calculate hourly wages or weekly wages for hours worked.

Sunday, April 4, 2010

Five Tips for improving the Soft Skills:

Most IT support professionals know that the development of technical skills is fundamental to their careers. But learning about the subject matter is only one of the necessary talents every IT pro should cultivate. The human component to support techs’ duties requires good communication and relationship skills, otherwise known as soft skills.

The shifting economy and ever-evolving industry have expanded job roles, making it essential for the IT pro to wear many different hats. Aside from simply providing technical assistance, support pros may find themselves taking on the job of salesperson, manager, or public speaker.

Clear communication with nontechnical people can help facilitate working relationships and close the gap between dissimilar departments within the business, Freedman said. Developing your soft skills will help you bypass the jargon and increase your productivity.

Tips to improve the Soft Skills
• Actively listen
Most IT pros tend to be analytical by nature, so when a customer or coworker approaches with a problem, you’re likely to hear only the literal statements. “Active listening involves focusing on the moment, participating in the conversation, waiting your turn to speak, and asking for clarification when necessary.
• Communicate with illustrations
Most customers will become confused—or worse yet, defensive—the moment you start talking acronyms like DHCP, SQL, DNS, or OBDC. A nontechnical person’s eyes may glaze over after just 10 seconds of jargon, and it’s a guaranteed method of alienating your client. Choosing common terms or illustrations to demonstrate your point will help facilitate communication.
• Take the lead
More IT pros are taking on the role of leader, particularly in smaller departments. “The ability to lead others, even if only on small initiatives, is a key strength. Take the time to observe some of the successful leaders within your company and note their actions and management style. If possible, choose diverse assignments or enroll in teambuilding classes to increase your knowledge about employee motivation.
• Nurture your inner writer
Many IT pros need to write and respond to RFQs and create system documentation. The secret is to write the technical material in nontechnical terms. You may also need to rely on visuals, charts, and diagrams to illustrate important points. The best way to develop this skill is simple: practice. Each day, choose a problem you’ve encountered and write the solution with a nontechnical person as your audience. Give it to a friend or family member to review.
• Step out of the box, physically and mentally
It’s easy to spend an entire day in your cubicle or office, but it’s not the best career move. Sign up for some office committees or meet colleagues for lunch to expand your working relationships and understanding of the company’s mission. To help cultivate relationships with clients, stay up to date on world business news.