Monday, November 3, 2008

10 tips on conducting effective interviews

Consideration, planning, and communication savvy all play into the successful interview. Regardless of the issue at hand, you’ll get better results if you follow a few best practices.


Note: This information is also available as a PDF download.

Whether you’re having a discussion with an employee about performance issues, trying to gather information about why a project failed, looking for feedback from a staff member about team dynamics, or evaluating someone for possible promotion, conducting a successful interview requires skill and planning on your part. Here are some pointers that will make it easier to get the information you need.

#1: Determine your objective

Before you schedule the interview, determine why you want to have it. What information can you gain from the interviewee? How will this information help you achieve your other goals? How will you be better off after having conducted this interview?

#2: Outline your areas

You certainly could write out the questions you plan to ask the interviewee and then read them aloud at the interview. However, this approach may make you look stilted and artificial, and it could hinder the flow of information. Furthermore, by reading your questions, you might miss nonverbal cues, such as body language, that could indicate an area for further questioning.

A better approach is to outline the general areas you want to cover. I do so at the top-right corner of the first sheet of the tablet I’m using. After I discuss an area, I cross it out.

#3: Pick the location

Meeting at the interviewee’s office may make that person more at ease. Be aware of the possibility, though, that the interviewee might instead think you are invading his or her space. In that case, a neutral location, such as a conference room, cafeteria, or even Starbucks might be more appropriate. Present these alternatives and work things out with the interviewee.

#4: Observe standards of etiquette

If you’re meeting in the interviewee’s office, knock before entering. Don’t sit down until invited to do so. During the interview, keep things to yourself. If you start invading the interviewee’s personal space (for example, by gradually taking over the person’s desk), the latter will become less willing to talk. See below for other reasons you should keep your notebook and other items near you.

#5: Open with standard rapport/small talk

Before starting the interview, take a few moments to get to know the interviewee. Ask the standard questions and make standard comments about weather or make positive comments about the meeting room or office or mementos on the interviewee’s desk. However, be careful about speculating on photographs. That child whom you think is a grandson or granddaughter might actually be a son or daughter instead. A college or high school photo of the interviewee could cause problems if you say, “You looked great back then.” Instead, keep your comments general, as in, “What a great photograph.”

Once you’ve spent a few minutes with the getting-acquainted talk, you can start transitioning to the interview. To signal this transition, shift position in your seat , begin to take out a notebook or tablet, or say something like, “I appreciate your time. As you know, I’ve come to discuss….”

#6: Distinguish open and closed questions

Open questions begin with words such as “Who,” “What,” “Where,” or “When.” That is, they give the other person a chance to give a narrative response, without being confined by the question. Such questions are good when one is seeking general or background information. Their disadvantage is that they can cause an interviewee to ramble on endlessly.

Closed questions, on the other hand, call for a specific answer, usually a “Yes” or a “No.” A person who asks a closed question is usually seeking a particular answer to a particular question. The disadvantage of closed questions is that in using them, you may be jumping too quickly to conclusions.

Both types of questions have their place during the interview. In general, begin with open questions. At this point, you want to get the big picture and to avoid jumping to conclusions or making wrong assumptions. When you ask open questions, you allow the other person to bring up matters you then can focus on more specifically.

As the interview progresses, use closed questions either to confirm your understanding or to explore in more depth the matter being discussed. You can also use closed questions to help control the rambling interviewee. If you think you know the point he or she is making, cut to the chase by asking a question such as, “So if I understand, your point is that…”? If you’re right, the person will agree, and you will have saved time. If you’re wrong, the person will let you know, and (you hope) will summarize the point quickly.

#7: Use notations to record impressions

When I take notes, I draw a vertical line one-third from the left of the page. On the right side, I will record the interviewee’s comments. On the left side, I will record impressions and reactions, and reminders of things I should follow up on. In particular, if I hear something that clashes with what I already know or have been told, I will note the comment accordingly.

Be careful about your notations, though. People can read upside down. If you write “ridiculous” on the left side, the other person may take offense. A better alternative is to develop your own set of codes — one for “ridiculous,” another for “follow up,” etc.

#8: Hide your notepad and pen

Try to hide your notepad and pen while you’re writing. Rather than write on a table or desk, keep the pad and pen in your lap so that the interviewee can’t see any notations you’ve made. Furthermore, the person won’t be able to see whether you’re writing anything at all. If the interviewee sees you writing in reaction to some comments and not others, it might affect what he or she is saying or planning to say.

#9: Use tact when exploring sensitive issues

You may be conducting an interview to determine the cause of some high profile problem or failure. Perhaps you’re interviewing someone who either caused the problem or is connected to it. In this case, tact and diplomacy are important, not only from a courtesy standpoint, but more pragmatically, to maximize the chances you get the information you are seeking.

Be careful about the word “you,” because its overuse can make people feel defensive. Instead of saying, for example, “What factors led you to make that decision?” consider a passive construction, such as, “What factors led to the making of that decision?” Similarly, a hypothetical construction can soften a question, such as, “What might have caused the accident?”

I’m not saying you always have to use such techniques. Rather, I’m recommending that you consider such alternatives before asking your questions.

#10: Contradict with caution

Be careful when confronting an interviewee who gives you contradictory information. That person might be innocently mistaken or might have recalled things incorrectly. Calling him or her a liar will hardly endear you, and it certainly won’t advance the interview. Instead, consider a statement such as, “That’s interesting, because I’ve heard different things from other people….” Making this kind of statement signals that you may not disagree, but that the other interviewees might. You could go one step further and adopt the Columbo approach — namely, pleading ignorance and lack of familiarity, then asking the interviewee to explain differences with you have heard elsewhere.


Calvin Sun works with organizations in the areas of customer service, communications, and leadership. His Web site is http://www.calvinsun.com and his e-mail address is csun@calvinsun.com.

The 7 most important communication skills an IT leader should have

Everyone wants to tell IT pros that they need to develop people skills, but no one really tells what those skills are. Here are the most important skills an IT leader should have and how to develop them.

—————————————————————————————————————

You hear the advice everywhere: IT pros need to learn how to communicate in order to become leaders in their fields. What so many of the sources of that advice fail to do is define the magnitude of what is meant by the word communicate and how one goes about learning how to do it.

I found a book that does a pretty good job in breaking down the different aspects of communication. The book, Leading IT Transformation: The Roadmap for Success, actually refers to communication as “human interaction skills,” a term I’m not exactly fond of because it sounds like the person who is doing the learning isn’t exactly human to start with. But the points the book makes therein are valid.

Here are the most important communication skills IT leaders and their staff need to have or develop:

Audience profile

The book stresses how important it is to know the history your IT department has with its end-users. They may be enthusiastic about new initiatives or they may be leery because they feel they’ve been burned in the past. The expectations of your clients color how you will enter into a situation.

Listening

The book makes a great statement on this topic: “Incorrect assumptions are the bane of any listener.” I’d go further and say incorrect assumptions are the bane of the speaker too. Do you know how many opportunities there are in the average conversation for meaning to be misconstrued? Seemingly unimportant words can put a sentence’s meaning in a totally different light. Let’s take the word up. If you had a client who said he wanted a system up in two weeks, would he mean up and tested and ready for prime time? Or would he mean live but with the understanding there would be bugs to be worked out? You have to clarify or else you’ll run the chance of having a dissatisfied client.

Empathy

I think if everyone had the innate ability to automatically put themselves into someone else’s shoes, the world would be a better place. You don’t have to agree with everyone, but you have to be able to understand why they feel like they do. The book says this is the IT pro’s Achilles Heel: “Too often, the IT pro’s gut instinct is to defend himself or herself, cut off the other person or flat out make them wrong. But being effective isn’t about the right answer. IT others can’t hear what you have to say because of how you deliver the message, you’ve lost your ability to influence.”

You can demonstrate empathy by simply paraphrasing what the speaker has said or acknowledging the idea before you add your two cents worth.

Diplomacy

Let’s face it, sometimes your clients are just out and out wrong. But if you come barging in with that attitude, you’re not going to get anywhere. You have to learn how to disagree in a way that makes the person you’re talking to not be defensive. And sometimes you have to help that person save face. Say something like, “I completely understand why we gave that impression but…” or “You make good points, but if you look at it this way…”

Avoiding emotional hooks

Now what do you do if the person you’re dealing with isn’t diplomatic and refuses to validate your side of the issue? Your first reaction is probably going to be to push back with the same obstinacy and that will get you absolutely nowhere fast. Try to step back and not take the other person’s words personally.

Educating without arrogance

A common failing of IT pros is the perception that everyone is as technically knowledgeable as they are. This can develop into an arrogance toward those people who don’t. You don’t see the marketing staff rolling their eyes and sighing loudly because you don’t know what an ansoff matrix is. The fact is, everyone has their own area of expertise. The IT leader is a valuable resource to have at the big table because you have knowledge that the others probably don’t. But don’t hold that against them.

It’s not just about playing well with others. It’s about developing communications styles that don’t alienate the very people you’ll need to have in your corner when you want new initiatives to pass. It may be your knee-jerk reaction of yours to lose patience when one of your colleagues just “doesn’t get it.” But know that it may eventually be a knee-jerk reaction on the part of that same colleague when asked to reject one of your proposals. This brings us to the last communication skill…

Rapport building

From the book: “The bottom line is that people are much more willing to give others the benefit of the doubt if they feel a mutual connection.” Understand that the users of the technology you implement and maintain are people. If you go out of your way not to speak to these people or develop some kind of rapport, then you’re losing out on a good opportunity. I’m not asking you to take everyone to lunch, but don’t be afraid or averse to just shooting the breeze with someone.

Before I got into IT publishing, I worked at two separate companies where I was almost afraid of the IT pros. In both places the IT pros in charge of the service desk seemed to be surrounded by au aura of hostility. They would practically snap my head off if I couldn’t adequately explain an issue I was having with my computer.

If you want to succeed as an IT leader you have to shed this tendency. The rapport you build with the other departments in your comp will go a long way toward the goal of success.

Sunday, November 2, 2008

Five things your boss doesn’t want to hear

If you’d like to develop a better relationship with your CIO, you might want to check out this list of things your boss doesn’t want to hear.

————————————————————————————————————-

Mary K. Pratt wrote a good article for Computerworld after she asked a group of 2008 Premier 100 IT Leaders to talk about the kinds of messages they never want to hear from their staffers.

Here’s the list she compiled from the conversations:

Don’t talk only about the technology and not about the business. These CIOs say that technology-for-technology’s-sake won’t get you far. You should couch any technology discussions in terms of what it would mean to the business.

Don’t be too enamored with one solution. Most IT people have a technology preference (just witness some of the fights we’ve had in TechRepublic’s forum over the years about Linux vs. Windows). Be open to all solutions.

Don’t operate from the stance that something is impossible. No CIO wants to hear this word. A task may be insurmountable, but the best way to get that across is to present the challenges in a logical way. Let the CIO come to the conclusion about whether it’s still worth pursuing.

CIOs don’t want to hear you express bad opinions about your colleagues. CIOs want their employees to work out problems on their own.

No surprises. This seems a little contradictory to point number 4 to me. Pratt quotes Ian S. Patterson, CIO at Scottrade Inc., a St. Louis-based online brokerage firm, as saying he “always prefers to hear news — good and bad — directly from his workers.” How would one address the fact that a colleague may be causing delays in a project without expressing a bad opinion? I guess it’s all in the way you say it.

Sanity check: Five reasons why Windows Vista failed

On Friday, Microsoft gave computer makers a six-month extension for offering Windows XP on newly-shipped PCs. While this doesn’t impact enterprise IT — because volume licensing agreements will allow IT to keep installing Windows XP for many years to come — the move is another symbolic nail in Vista’s coffin.

The public reputation of Windows Vista is in shambles, as Microsoft itself tacitly acknowledged in its Mojave ad campaign.

IT departments are largely ignoring Vista. In June (18 months after Vista’s launch), Forrester Research reported that just 8.8% of enterprise PCs worldwide were running Vista. Meanwhile, Microsoft appears to have put Windows 7 on an accelerated schedule that could see it released in 2010. That will provide IT departments with all the justification they need to simply skip Vista and wait to eventually standardize on Windows 7 as the next OS for business.

So how did Vista get left holding the bag? Let’s look at the five most important reasons why Vista failed.

5. Apple successfully demonized Vista

Apple’s clever I’m a Mac ads have successfully driven home the perception that Windows Vista is buggy, boring, and difficult to use. After taking two years of merciless pummeling from Apple, Microsoft recently responded with it’s I’m a PC campaign in order to defend the honor of Windows. This will likely restore some mojo to the PC and Windows brands overall, but it’s too late to save Vista’s perception as a dud.

4. Windows XP is too entrenched

In 2001, when Windows XP was released, there were about 600 million computers in use worldwide. Over 80% of them were running Windows but it was split between two code bases: Windows 95/98 (65%) and Windows NT/2000 (26%), according to IDC. One of the big goals of Windows XP was to unite the Windows 9x and Windows NT code bases, and it eventually accomplished that.

In 2008, there are now over 1.1 billion PCs in use worldwide and over 70% of them are running Windows XP. That means almost 800 million computers are running XP, which makes it the most widely installed operating system of all time. That’s a lot of inertia to overcome, especially for IT departments that have consolidated their deployments and applications around Windows XP.

And, believe it or not, Windows XP could actually increase its market share over the next couple years. How? Low-cost netbooks and nettops are going to be flooding the market. While these inexpensive machines are powerful enough to provide a solid Internet experience for most users, they don’t have enough resources to run Windows Vista, so they all run either Windows XP or Linux. Intel expects this market to explode in the years ahead. (For more on netbooks and nettops, see this fact sheet and this presentation — both are PDFs from Intel.)

3. Vista is too slow

For years Microsoft has been criticized by developers and IT professionals for “software bloat” — adding so many changes and features to its programs that the code gets huge and unwieldy. However, this never seemed to have enough of an effect to impact software sales. With Windows Vista, software bloat appears to have finally caught up with Microsoft.

Vista has over 50 million lines of code. XP had 35 million when it was released, and since then it has grown to about 40 million. This software bloat has had the effect of slowing down Windows Vista, especially when it’s running on anything but the latest and fastest hardware. Even then, the latest version of Windows XP soundly outperforms the latest version of Microsoft Vista. No one wants to use a new computer that is slower than their old one.

2. There wasn’t supposed to be a Vista

It’s easy to forget that when Microsoft launched Windows XP it was actually trying to change its OS business model to move away from shrink-wrapped software and convert customers to software subscribers. That’s why it abandoned the naming convention of Windows 95, Windows 98, and Windows 2000, and instead chose Windows XP.

The XP stood for “experience” and was part of Microsoft’s .NET Web services strategy at the time. The master plan was to get users and businesses to pay a yearly subscription fee for the Windows experience — XP would essentially be the on-going product name but would include all software upgrades and updates, as long as you paid for your subscription. Of course, it would disable Windows on your PC if you didn’t pay. That’s why product activation was coupled with Windows XP.

Microsoft released Windows XP and Office XP simultaneously in 2001 and both included product activation and the plan to eventually migrate to subscription products. However, by the end of 2001 Microsoft had already abandoned the subscription concept with Office, and quickly returned to the shrink-wrapped business model and the old product development model with both products.

The idea of doing incremental releases and upgrades of its software — rather than a major shrink-wrapped release every 3-5 years — was a good concept. Microsoft just couldn’t figure out how to make the business model work, but instead of figuring out how to get it right, it took the easy route and went back to an old model that was simply not very well suited to the economic and technical realities of today’s IT world.

1. It broke too much stuff

One of the big reasons that Windows XP caught on was because it had the hardware, software, and driver compatibility of the Windows 9x line plus the stability and industrial strength of the Windows NT line. The compatibility issue was huge. Having a single, highly-compatible Windows platform simplified the computing experience for users, IT departments, and software and hardware vendors.

Microsoft either forgot or disregarded that fact when it released Windows Vista, because, despite a long beta period, a lot of existing software and hardware were not compatible with Vista when it was released in January 2007. Since many important programs and peripherals were unusable in Vista, that made it impossible for a lot of IT departments to adopt it. Many of the incompatibilities were the result of tighter security.

After Windows was targeted by a nasty string of viruses, worms, and malware in the early 2000s, Microsoft embarked on the Trustworthy Computing initiative to make its products more secure. One of the results was Windows XP Service Pack 2 (SP2), which won over IT and paved the way for XP to become the world’s mostly widely deployed OS.

The other big piece of Trustworthy Computing was the even-further-locked-down version of Windows that Microsoft released in Vista. This was definitely the most secure OS that Microsoft had ever released but the price was user-hostile features such as UAC, a far more complicated set of security prompts that accompanied many basic tasks, and a host of software incompatibility issues. In order words, Vista broke a lot of the things that users were used to doing in XP.

Bottom line

There are some who argue that Vista is actually more widely adopted than XP was at this stage after its release, and that it’s highly likely that Vista will eventually replace XP in the enterprise. I don’t agree. With XP, there were clear motivations to migrate: bring Windows 9x machines to a more stable and secure OS and bring Windows NT/2000 machines to an OS with much better hardware and software compatibility. And, you also had the advantage of consolidating all of those machines on a single OS in order to simplify support.

With Vista, there are simply no major incentives for IT to use it over XP. Security isn’t even that big of an issue because XP SP2 (and above) are solid and most IT departments have it locked down quite well. As I wrote in the article Prediction: Microsoft will leapfrog Vista, release Windows 7 early, and change its OS business, Microsoft needs to abandon the strategy of releasing a new OS every 3-5 years and simply stick with a single version of Windows and release updates, patches, and new features on a regular basis. Most IT departments are essentially already on a subscription model with Microsoft so the business strategy is already in place there.

As far as the subscription model goes for small businesses and consumers, instead of disabling Windows on a user’s PC if they don’t renew their subscription, just don’t allow that machine to get any more updates until they renew. Microsoft could also work with OEMs to sell something like a three-year subscription to Windows with every a new PC. Then users would have the choice of renewing on their own after that.

Sunday, October 19, 2008

Mono 2.0: .NET goes non-Windows

Justin James wanted to learn what is new in Mono 2.0, so he interviewed Miguel de Icaza, VP of Development Platforms and a founder of Mono, and Joseph Hill, Product Manager at Novell. Find out what is and is not included in the latest release.

——————————————————————————————————————-

For some time now, the Novell-sponsored Mono Project has brought .NET to non-Microsoft platforms. Unfortunately, Mono has been quite far behind the .NET Framework and CLR. This all changes with the release of Mono 2.0.

Three days before the October 6, 2008 release of Mono 2.0, I had the chance to speak with Miguel de Icaza, VP of Development Platforms and a founder of Mono, and Joseph Hill, Product Manager at Novell.

Mono 2.0 is API complete in regards to .NET 2.0; this means that Windows Forms applications and ASP.NET applications will both work within it. Additionally, many of the new features in .NET 3.5, including C# 3.0 and .NET Language-Integrated Query (LINQ), are included. Miguel told me that implementing C# 3.0 was both fun and challenging and that getting the lexical closures right was “probably one of the hardest parts to implement” (which is not surprising at all). However, the big frameworks from .NET 3.0, such as Windows Presentation Foundation (WPF) and Windows Communication Foundation (WCF), are not included. There is an implementation of the Parallel Extensions Library. Because Microsoft’s currently in CTP, Novell is not shipping its version with Mono 2.0, although it is available for download. And because Microsoft open sourced the DLR, IronPython and IronRuby will both work under Mono.

In terms of using code in Mono, no recompile is needed, although there is a C# compiler included. Because compiled .NET assemblies are in Microsoft Intermediate Language (MSIL), Mono acts as an MSIL interpreter like the .NET CLR. For Web applications, the Mono Project has produced both an Apache plug-in and a FastCGI binding to allow it to hook into your Web/application server. Mono works on a huge number of platforms, including Linux, Solaris (including SPARC platforms), Mac OS X, Windows, the Nintendo Wii (yes, you read that right), and BSD. In the case of BSD, you will need third-party patches to make it work; for all other platforms, Mono will work right out of the box and be running your .NET code. A recent version of Linux is needed (about three - four years old at most), since it uses some newer kernel features. On the Mac OS X platform, it includes Cocoa# for building native OS X applications in .NET. They also offer a pre-made VMware virtual machine with SuSE Linux and Mono installed for free.

They have also included a Mono migration analysis tool that will let you know if you are making calls that will work differently under Mono. Some .NET calls that access the Windows API mechanisms or low-level system calls will still work just fine, but the developer needs to keep in mind that the support is emulated or imitation — it’s not actually accessing the underlying mechanism. For example, accessing the registry is possible, but Mono creates a file-backed emulation of the registry and can only provide data that your application has stored in it to begin with. Something like trying to enumerate the NICs in the PC from the registry data will fail because those keys simply do not exist. You can also send the tool’s output to Novell to get feedback on it.

From these reports, Miguel guesstimated that 45% of applications work with zero lines of code that need to be changed. About 17% have 1 - 20 statements that need to be changed (this is typically about a week’s worth of effort). Another 20% have 20 - 100 calls to be changed (this is usually around two - four months’ worth of work). The remainders of the applications they see require too many changes to make it practical to put them on Mono. Miguel says that the performance is about 80% of that of the .NET CLR on average. Some statements run faster, some run slower. He also mentioned that Web applications often run faster in Mono than they do under the .NET CLR, because much of Mono’s slowdowns occur in the GUI portion of the system.

For developers who want an alternative to Microsoft Visual Studio, there is Mono Develop. A new version of Mono Develop is slated for release in January 2009; it will deliver improved usability and an enlarged feature set, including support for Visual Studio file formats. This will allow developers on the same team to use both Mono Develop and Visual Studio, with no conversions between the two needed.

Overall, Mono 2.0 sounds really good. In the near future, I will try it out and let you know what I think.

J.Ja

Two approaches to redirection in ASP.NET

ASP.NET provides a few ways to move to different pages. Here’s a look at these options.

—————————————————————————————————————-

Directing a user to another page or resource is a common aspect of a Web application. The user may initiate the transfer to another page any number of ways, including clicking a button or link or selecting a value in a drop-down list. ASP.NET provides a few ways to move to different pages. Here’s a look at these options, along with commentary on when you should use which approach.

Client vs. server

A key aspect of the various ways to send a user to another page within an ASP.NET application is where the transfer occurs; that is, it is handled within the client browser or on the Web server. The following list outlines two options for controlling page navigation.

  • Response.Redirect: The Redirect method of the Response object provides a way to implement client-side redirection.
  • Server.Transfer: The Transfer method of the Server object performs redirection using the server and avoiding HTTP requests.

Let’s take a closer look at each approach.

Response.Redirect
The default behavior of the Response.Redirect method is execution of the current page halts, and the user is sent to the new URL. The Web server issues HTTP headers and sends a 302 response to the client browser; this instructs the client to make redirected calls to the target URL. The result is two server requests for each redirection: the original and redirected requests. The following C# snippet shows it in action:

Response.Redirect("http://www.news.com");

Now, the Redirect method has two signatures with the second format accepting another Boolean parameter that signals whether execution of the current page should terminate (the default behavior). We could tell the system to continue execution of the current page while redirecting the user to the News.com site with the following snippet:

Response.Redirect("http://www.news.com", false);

Server.Transfer
The Server.Transfer method transfers the execution of a target URL to the server and halts execution of the current page. The result is only one request (as opposed to the two involved with the Response.Redirect method) since the server does not notify the client browser of the change. The experience can be a little disconcerting for users since the page address does not change in the browser. This C# snippet shows how you may use this method.

Server.Transfer("/default.aspx");

When using Server.Transfer, the target URL must be a virtual path on the same server since the Web server’s worker process is used, so you can’t use an address containing “http” or “https.” It has three signatures, with a second variation allowing you to transfer control to an IHttpHandler and the third adding a second parameter to the first version; whereas, the second value is a Boolean signaling whether the current form’s querystring and Form collections are preserved.

The PreviousPage property of the Page class provides code access to properties of the previous page in the browsing session, so Form and querystring variables are persisted between pages whereas they are not when using Response.Redirect.

Server.Execute

The Server.Execute method is a bit antiquated, as there are other ways to accomplish the task, but it basically allows you to execute a resource request without leaving the current page. It is not really used for redirection, but it is mentioned here only to avoid any confusion with the Server.Transfer method.

Server.Execute has five signatures, but the basic version accepts a path to a resource as the following snippet displays:

Server.Execute(ResourcePath);

Pros and cons of each approach

Redirecting a user to another Web resource is feasible in ASP.NET using one of the techniques discussed. However, you may be wondering why you would choose one approach over the other. The following list covers some of the advantages or disadvantages of Server.Transfer and Response.Redirect.

  • AJAX usage: The lack of browser interaction with the Server.Transfer method means it may break some AJAX and/or JavaScript functionality.
  • Bookmarking: Since Server.Transfer does its work on the server, the address within the client browser is not updated. The user sees the previous page’s address while viewing a new page. Consequently, the user is unable to bookmark certain pages.
  • Page refreshes: There is an issue when a true value is used with the second parameter of the Server.Transfer method. When users refresh a page located via this approach, it can trigger an invalid ViewState error message. This can be alleviated by disabling the enableViewStateMac property on a page, but this isn’t the best approach to security.
  • Performance: Response.Redirect introduces an extra call while making the roundtrip between client and server; since there is only one call with Server.Transfer, it offers better performance.
  • Scalability: The extra roundtrips associated with using Response.Redirect are often stated as a drawback with using it. However, I have seen it used in large applications without experiencing any performance issues.
  • Errors: While Server.Transfer can cause some user confusion as the URL displayed in the browser address bar, it can also lead to some confusion with error logging, as the page URL recorded during logging will display incorrectly.
  • Basic security: An interesting twist with using Server.Transfer is the ability to send data to another page without the user seeing it. This is enabled via the use of the QueryString, which is appended to the end of the target address. This new address will not show in the browser address bar with Server.Transfer, so it offers a simple layer of security. Of course, the Response.Redirect approach makes the QueryString visible to the user.

Usage depends on the situation

ASP.NET offers plenty of options when tackling a development task. The Response.Redirect and Server.Transfer methods provide two ways to redirect users to new URLs. Each method offers its own set of positive attributes, so deciding which one to use is really up to the developer’s preference.

10 ways to survive office politics

Office politics will never go away. It’s a fact of company life. However, destructive office politics can demoralize an organization, hamper productivity, and increase turnover. Here are some tips, applicable for both staff and management, on dealing with office politics.

Note: This information is also available as a PDF download.

#1: Live at peace with others

The easiest way to avoid problems with politics is to get along with people. I’m not saying you need to hug everyone and sing songs, and I’m not saying you have to be a pushover for everyone. You can be pleasant and professional, while at the same time being assertive when necessary. If you have a concern, focus only on the issue, not on the person. If you have to refuse a request, explain why and try to come up with alternative solutions.

Living at peace with others also means being careful about choosing sides during office power struggles. Aligning yourself with one faction or the other will prevent you from working effectively with people from the “other” side, thereby hampering your productivity and thus your performance. It’s even worse if “your” faction loses out. Instead, try to focus on your tasks, dealing with people in either faction on the basis of the tasks alone, and avoid talk on the political issue that separates the groups.

#2: Don’t talk out of school

Three can keep a secret if two of them are dead.
– Benjamin Franklin

Does your organization have issues? Have people told you things in confidence? Then keep those matters to yourself. Talking to outsiders about issues within your organization makes all of you look bad to that outsider. Furthermore, your boss or your boss’s boss will not appreciate that behavior. People will find out that you spoke about what they told you, and they’ll lose confidence in you and respect for you.

#3: Be helpful

We all have responsibilities and objectives, and those things should receive priority. Nonetheless, if it doesn’t take too much time, being helpful to others can reap benefits for you. Does someone need a ride in the direction you live? Did your co-worker leave headlights on in the parking lot? Is someone having trouble building an Excel macro? If you can help that person, especially if you can do so without taking too much of your time, you benefit yourself as well as the other person. By doing these things, you’re building political capital and loyalty. In doing so, you reduce the chances that you will be the victim of political intrigue.

#4: Stay away from gossip

I never repeat gossip, so listen carefully.
— Old joke

Nothing destroys the dynamics of an office more than gossip. Stay away from it, because nothing good comes from it. Just be sure you avoid the “holier than thou” attitude of lecturing your co-workers on the evils of gossip. You’ll make them lose face, and they’ll resent you. Instead, try subtly changing the subject. For example, suppose the group is talking about Jane’s problems with her child, and of course Jane is absent from the group. Do some free association and try to come up with some topic that’s related to Jane or her child, but won’t involve gossip. Then, make a comment about that topic.

For instance, suppose you know that Jane’s child is involved in a sports league. Mention this fact, thereby linking the child and the league. Then, shift the conversation so that you’re now talking about the league rather than Jane’s child. You could ask when schedules will be published, or if they need parent volunteers. If you do it right, no one will even notice that you’ve moved them away from the gossip.

#5: Stay out of those talk-down-the-boss sessions

Suppose your co-workers start complaining about the boss. If you join in, it makes you look disloyal to the boss. If you don’t, it looks awkward in the group. What can you do? As with the situation of gossip, try changing the subject by linking the boss to another topic, then talking about that topic instead. Or you could simply respond to your co-workers with a smile and a tongue-in-cheek, “Come on, aren’t we exaggerating? [name of boss] really isn’t THAT bad.” Be careful, though, because it could be taken as an admission by you that the boss is bad.

#6: Be a straight arrow

The best way to keep out of trouble politically is to be seen as someone who doesn’t play office politics — in other words, a straight arrow. Do what you say you’re going to do, alert people to problems, and admit your mistakes. Others will respect you, even if they don’t always agree with you. More important, you have a lower chance of being a victim of politics.

#7: Address the “politics” issue openly when appropriate

Many times, when I do organizational assessments, I sense anxiety on the part of client staff. To address this anxiety, I tell people I interview that I’m not there to get people fired. I’m there to help the organization function better. It might not completely allay their fears and suspicions, but at least I’ve brought up the issue and addressed it.

Think about doing the same thing if you believe politics is an underlying theme at your company. Tell people you’re not interested in scoring political points but only in getting the job done. It might not work, but unless you bring the matter up, there’s no chance at all that they will believe you. So if a co-worker is unavailable, and you have to act on that person’s behalf, consider saying to that person, “I had to act because of your absence. I wasn’t trying to go behind your back and I wasn’t trying to show you up.”

#8: Document things

Nothing saves a job or career more than having a written record. If you believe a matter will come back to haunt you, make sure you keep a record of the matter, either via e-mail or document. Documentation is also an effective way to highlight of your own accomplishments, which can help you when your performance evaluation is conducted.

#9: Set incentives to foster teamwork

If you’re a manager or senior executive, take a close look at your incentives. Are you unwittingly setting up your staff to work against each other? Do your metrics address only individual departments, or do they also address how departments could benefit the larger organization?

For example, suppose the hardware department of Sears reduced all its prices by half. If you measured only profitability of the department, you would conclude that it is performing horribly. However, that measurement would neglect to account for increased volume in all other departments because of the hardware department.

If you reward employees in a department based only on how well that department does, you may inadvertently cause destructive competition among departments. Each one will be competing against every other one, and all the departments could end up in a worse position. To minimize this possibility, give employees incentives based not only on department results but on organization results as well. That way, employees from different departments have more motivation to work together and less motivation to engage in destructive politics.

#10: Set an example for your staff

People in an organization look to leadership to see how to act. Do you want your staff to refrain from negative politics? Do you want to see collaboration and teamwork instead of petty rivalries, jealousy, and back-stabbing? Act the way you want your staff to act, and they will follow you.

10 mistakes to avoid when seeking a new job

Searching for a job requires you to do a lot of things the right way, avoiding missteps that can doom your efforts despite your strong qualifications and experience. Here are a few simple things to watch out for when your job-hunting campaign is underway.

Note: This information is also available as a PDF download.

#1: Relying on human resources office

You’ve heard it before, certainly, but the advice still remains valid: Don’t send your resume to human resources, or the hiring department, or the hiring manager. In most cases, these departments serve only screen people out. You’re much better off finding the name of a specific person, namely your prospective boss. If that person likes your qualifications, he or she might be able to push you through the human resources bureaucracy. Is it possible that that person may simply forward or refer you to human resources? Sure. But you’ve lost nothing in the attempt.

For details on finding and contacting people within a prospective company, see “Breaking through the wall.”

#2: Using an unprofessional e-mail address

You and your friends might think cutiepie@aol.com or drinkstoomuch@gmail.com are funny or clever addresses. Think, however, how a hiring manager might view them. That person might lack your sense of humor, and his or her reaction might hurt your chances. You’re better off with simply your name plus, if necessary, a numerical suffix.

#3: Having an unprofessional telephone greeting

The same logic applies to your voicemail greeting. All you need say is that you’re unavailable — not that you’re out clubbing or playing Wii. Why give a potential hiring manager a reason to pass you by?

#4: Overlooking misspellings in your cover letter

Back in college, a classmate of mine told me that he was applying for a job with what was then known as Morgan Guaranty. The trouble was, throughout the entire cover letter, he referred to them as “Morgan Guarantee.” Not surprisingly, he didn’t get the job.

Misspellings are never good, but they hurt you the worst if they involve the name of the company or the names of people. Check them out thoroughly before sending a letter. Names can be spelled in different ways, e.g. “Anne/Ann,” “Michelle/Michele,” “Scott/Scot.” Furthermore, as companies merge or become acquired, their names often change accordingly. If in doubt, check the company Web site or simply call the receptionist and explain that you want to confirm a spelling.

Remember that while Word has a spell-checker, it doesn’t have a “what you meant to write-checker.” If you wrote “they’re chances” or “there chances” when you meant to say “their chances,” Word won’t flag your phrase (at least it didn’t for me just now). Make sure of your sentences even if Word says the spelling is okay.

#5: Failing to write a post-interview thank you letter

Contrary to what others may say, writing such a note is not signaling desperation on your part, nor does it constitute groveling. When you travel to a company to interview, you are a guest. The person who invited you had to do many things to prepare, such as reserving a conference room and coordinating peoples’ schedules. Your note shows your appreciation for those efforts and gives you an additional chance to reinforce your strong points. Failing to write a note deprives you of that chance and may mark you as being unprofessional.

#6: Dressing inappropriately for the interview

If you’re interviewing at a bank, dress like a bank person. Forget the t-shirt, shorts, and sandals. Forget the too-high or too-tight skirts and too-low blouses. They’re out of place and will hurt your chances. When in doubt, dress more conservatively. Even better, research how people dress and do likewise.

#7: Omitting accomplishments from your resume

Don’t just list responsibilities on your resume. Talk about your accomplishments, and if you can, quantify them. For example, don’t just say, “Wrote programs in [name of language].” Instead, say “Developed system that reduced order entry processing time by x%.”

#8: Arriving late for an interview without letting someone know

If you’re running way behind, call or text ahead to let the interviewer know you’ll be late. Sure, it’s better to be on time. But if you can’t be, at least the people you’re meeting with can continue with other work while waiting for you. The worst alternative of all is to simply show up late. It smacks of rudeness and unprofessionalism and may hurt your chances.

#9: Bad-mouthing a former employer

Much as you might be tempted, and even if the interviewer asks you, avoid bad-mouthing your former company, co-workers, or boss. All you need say is that while you learned a great deal (a true statement, even if your boss and co-workers were horrible), you felt a need to move on and gain more challenge. Bad-mouthing the old company may mark you as a troublemaker by your prospective employer.

#10: Failing to leverage existing contacts

If you’re looking for a job, you don’t have to do it alone. Think of other people who can help, such as former co-workers, vendors, and especially fellow alumni from high school or college. If you fail to do so, you simply make your own search more difficult and frustrating.

This point illustrates the old saying that “One hand washes the other.” Before you need to leverage your existing contacts, think about how you can help others in their own job searches. When you do, you will feel tremendous satisfaction at having done good for someone. And you’ll make it more likely that those persons will later help you in the same way.

Sunday, September 28, 2008

10 fundamental differences between Linux and Windows

#1: Full access vs. no access

Having access to the source code is probably the single most significant difference between Linux and Windows. The fact that Linux belongs to the GNU Public License ensures that users (of all sorts) can access (and alter) the code to the very kernel that serves as the foundation of the Linux operating system. You want to peer at the Windows code? Good luck. Unless you are a member of a very select (and elite, to many) group, you will never lay eyes on code making up the Windows operating system.

You can look at this from both sides of the fence. Some say giving the public access to the code opens the operating system (and the software that runs on top of it) to malicious developers who will take advantage of any weakness they find. Others say that having full access to the code helps bring about faster improvements and bug fixes to keep those malicious developers from being able to bring the system down. I have, on occasion, dipped into the code of one Linux application or another, and when all was said and done, was happy with the results. Could I have done that with a closed-source Windows application? No.

#2: Licensing freedom vs. licensing restrictions

Along with access comes the difference between the licenses. I’m sure that every IT professional could go on and on about licensing of PC software. But let’s just look at the key aspect of the licenses (without getting into legalese). With a Linux GPL-licensed operating system, you are free to modify that software and use and even republish or sell it (so long as you make the code available). Also, with the GPL, you can download a single copy of a Linux distribution (or application) and install it on as many machines as you like. With the Microsoft license, you can do none of the above. You are bound to the number of licenses you purchase, so if you purchase 10 licenses, you can legally install that operating system (or application) on only 10 machines.

#3: Online peer support vs. paid help-desk support

This is one issue where most companies turn their backs on Linux. But it’s really not necessary. With Linux, you have the support of a huge community via forums, online search, and plenty of dedicated Web sites. And of course, if you feel the need, you can purchase support contracts from some of the bigger Linux companies (Red Hat and Novell for instance).

However, when you use the peer support inherent in Linux, you do fall prey to time. You could have an issue with something, send out e-mail to a mailing list or post on a forum, and within 10 minutes be flooded with suggestions. Or these suggestions could take hours of days to come in. It seems all up to chance sometimes. Still, generally speaking, most problems with Linux have been encountered and documented. So chances are good you’ll find your solution fairly quickly.

On the other side of the coin is support for Windows. Yes, you can go the same route with Microsoft and depend upon your peers for solutions. There are just as many help sites/lists/forums for Windows as there are for Linux. And you can purchase support from Microsoft itself. Most corporate higher-ups easily fall victim to the safety net that having a support contract brings. But most higher-ups haven’t had to depend up on said support contract. Of the various people I know who have used either a Linux paid support contract or a Microsoft paid support contract, I can’t say one was more pleased than the other. This of course begs the question “Why do so many say that Microsoft support is superior to Linux paid support?”

#4: Full vs. partial hardware support

One issue that is slowly becoming nonexistent is hardware support. Years ago, if you wanted to install Linux on a machine you had to make sure you hand-picked each piece of hardware or your installation would not work 100 percent. I can remember, back in 1997-ish, trying to figure out why I couldn’t get Caldera Linux or Red Hat Linux to see my modem. After much looking around, I found I was the proud owner of a Winmodem. So I had to go out and purchase a US Robotics external modem because that was the one modem I knew would work. This is not so much the case now. You can grab a PC (or laptop) and most likely get one or more Linux distributions to install and work nearly 100 percent. But there are still some exceptions. For instance, hibernate/suspend remains a problem with many laptops, although it has come a long way.

With Windows, you know that most every piece of hardware will work with the operating system. Of course, there are times (and I have experienced this over and over) when you will wind up spending much of the day searching for the correct drivers for that piece of hardware you no longer have the install disk for. But you can go out and buy that 10-cent Ethernet card and know it’ll work on your machine (so long as you have, or can find, the drivers). You also can rest assured that when you purchase that insanely powerful graphics card, you will probably be able to take full advantage of its power.

#5: Command line vs. no command line

No matter how far the Linux operating system has come and how amazing the desktop environment becomes, the command line will always be an invaluable tool for administration purposes. Nothing will ever replace my favorite text-based editor, ssh, and any given command-line tool. I can’t imagine administering a Linux machine without the command line. But for the end user — not so much. You could use a Linux machine for years and never touch the command line. Same with Windows. You can still use the command line with Windows, but not nearly to the extent as with Linux. And Microsoft tends to obfuscate the command prompt from users. Without going to Run and entering cmd (or command, or whichever it is these days), the user won’t even know the command-line tool exists. And if a user does get the Windows command line up and running, how useful is it really?

#6: Centralized vs. noncentralized application installation

The heading for this point might have thrown you for a loop. But let’s think about this for a second. With Linux you have (with nearly every distribution) a centralized location where you can search for, add, or remove software. I’m talking about package management systems, such as Synaptic. With Synaptic, you can open up one tool, search for an application (or group of applications), and install that application without having to do any Web searching (or purchasing).

Windows has nothing like this. With Windows, you must know where to find the software you want to install, download the software (or put the CD into your machine), and run setup.exe or install.exe with a simple double-click. For many years, it was thought that installing applications on Windows was far easier than on Linux. And for many years, that thought was right on target. Not so much now. Installation under Linux is simple, painless, and centralized.

#7: Flexibility vs. rigidity

I always compare Linux (especially the desktop) and Windows to a room where the floor and ceiling are either movable or not. With Linux, you have a room where the floor and ceiling can be raised or lowered, at will, as high or low as you want to make them. With Windows, that floor and ceiling are immovable. You can’t go further than Microsoft has deemed it necessary to go.

Take, for instance, the desktop. Unless you are willing to pay for and install a third-party application that can alter the desktop appearance, with Windows you are stuck with what Microsoft has declared is the ideal desktop for you. With Linux, you can pretty much make your desktop look and feel exactly how you want/need. You can have as much or as little on your desktop as you want. From simple flat Fluxbox to a full-blown 3D Compiz experience, the Linux desktop is as flexible an environment as there is on a computer.

#8: Fanboys vs. corporate types

I wanted to add this because even though Linux has reached well beyond its school-project roots, Linux users tend to be soapbox-dwelling fanatics who are quick to spout off about why you should be choosing Linux over Windows. I am guilty of this on a daily basis (I try hard to recruit new fanboys/girls), and it’s a badge I wear proudly. Of course, this is seen as less than professional by some. After all, why would something worthy of a corporate environment have or need cheerleaders? Shouldn’t the software sell itself? Because of the open source nature of Linux, it has to make do without the help of the marketing budgets and deep pockets of Microsoft. With that comes the need for fans to help spread the word. And word of mouth is the best friend of Linux.

Some see the fanaticism as the same college-level hoorah that keeps Linux in the basements for LUG meetings and science projects. But I beg to differ. Another company, thanks to the phenomenon of a simple music player and phone, has fallen into the same fanboy fanaticism, and yet that company’s image has not been besmirched because of that fanaticism. Windows does not have these same fans. Instead, Windows has a league of paper-certified administrators who believe the hype when they hear the misrepresented market share numbers reassuring them they will be employable until the end of time.

#9: Automated vs. nonautomated removable media

I remember the days of old when you had to mount your floppy to use it and unmount it to remove it. Well, those times are drawing to a close — but not completely. One issue that plagues new Linux users is how removable media is used. The idea of having to manually “mount” a CD drive to access the contents of a CD is completely foreign to new users. There is a reason this is the way it is. Because Linux has always been a multiuser platform, it was thought that forcing a user to mount a media to use it would keep the user’s files from being overwritten by another user. Think about it: On a multiuser system, if everyone had instant access to a disk that had been inserted, what would stop them from deleting or overwriting a file you had just added to the media? Things have now evolved to the point where Linux subsystems are set up so that you can use a removable device in the same way you use them in Windows. But it’s not the norm. And besides, who doesn’t want to manually edit the /etc/fstab fle?

#10: Multilayered run levels vs. a single-layered run level

I couldn’t figure out how best to title this point, so I went with a description. What I’m talking about is Linux’ inherent ability to stop at different run levels. With this, you can work from either the command line (run level 3) or the GUI (run level 5). This can really save your socks when X Windows is fubared and you need to figure out the problem. You can do this by booting into run level 3, logging in as root, and finding/fixing the problem.

With Windows, you’re lucky to get to a command line via safe mode — and then you may or may not have the tools you need to fix the problem. In Linux, even in run level 3, you can still get and install a tool to help you out (hello apt-get install APPLICATION via the command line). Having different run levels is helpful in another way. Say the machine in question is a Web or mail server. You want to give it all the memory you have, so you don’t want the machine to boot into run level 5. However, there are times when you do want the GUI for administrative purposes (even though you can fully administer a Linux server from the command line). Because you can run the startx command from the command line at run level 3, you can still start up X Windows and have your GUI as well. With Windows, you are stuck at the Graphical run level unless you hit a serious problem.

10 common security mistakes that should never be mad

By Chad Perrin

The following is a list of security mistakes I see all the time. They're not just common, though—they're also extremely basic, elementary mistakes, and anyone with a modicum of security knowledge should know better than to make them.

1) Sending sensitive data in unencrypted e-mail
Stop sending me passwords, PINs, and account data via unencrypted e-mail. Please. I understand that a lot of customers are too stupid or lazy to use encryption, but I'm not. Even if you're going to give them what they want, in the form of unencrypted sensitive data sent via e-mail, that doesn't mean you can't give me what I want—secure communications when sending sensitive data.


2) Using "security" questions whose answers are easily discovered
Social security numbers, mothers' maiden names, first pets, and birthdays do not constitute a secure means of verifying identity. Requiring an end user to compromise his or her password by specifying a question like that as a means of resetting the password basically ensures that the password itself is useless in preventing anyone who is willing to do a little homework from gaining unauthorized access.


3) Imposing password restrictions that are too strict

I've seen an unacceptable number of cases where some online interface to a system that lets you manage your finances—such as banking Web sites—impose password restrictions that actually make the interface less secure. Six-character numeric passwords are dismayingly common, and the examples only go downhill from there. See "How does bad password policy like this even happen?" for another example in more detail.


4)Letting vendors define "good security"
I've said before that there's no such thing as a vendor you can trust. Hopefully, you were listening. Ultimately, the only security a corporate vendor really cares about protecting is the security of its own profits and market share. While this may prompt a vendor to improve the security of its products and services, it sometimes prompts exactly the opposite. You must question a vendor's definition of "good security," and you must not let vendors tell you what's important to you.


5) Underestimating required security expertise

People in positions of authority in corporations often fail to understand the necessity for specific security expertise. This applies not only to nontechnical managers, but to technical IT managers as well. In fact, standards working groups such as the one that produced the WEP standard often include a lot of very smart technologists, but not a single cryptographer, despite the fact they intend to develop security standards that rely explicitly on cryptographic algorithms.


6) Underestimating the importance of review
Even those with security expertise specific to what they're trying to accomplish should have their work checked by others with that expertise as well. Peer review is regarded in the security community as something akin to a holy grail of security assurance, and nothing can really be considered secure without being subjected to significant, punishing levels of testing by security experts from outside the original development project.


7) Overestimating the importance of secrecy
Many security software developers who make the mistake of underestimating the importance of review couple that with overestimation of the importance of secrecy. They justify a lack of peer review with hand-waving about how important it is to keep security policies secret. As Kerckoffs' Principle—one of the most fundamental in security research—points out, however, any system whose security relies on the design of the system itself being kept secret is not a system with strong security.


8) Requiring easily forged identification
Anything that involves faxing signatures or sending photocopies or scans of ID cards is basically just a case of security theater—putting on a great show without actually providing the genuine article (security, in this case) at all. It is far too easy to forge such second-generation (or worse) low quality copies. In fact, for things like signatures and ID cards, the only way for a copy to serve as useful verification is for it to be a good enough copy that it is not recognized as a copy. Put another way, only a successful forgery of the original is a good enough copy to avoid easy forgery.


9) Unnecessarily reinventing the wheel
Often, developers of new security software are re-creating something that already exists without any good reason for doing so. Many software vendors suffer from Not Invented Here disease and end up creating new software that doesn't really do anything new or needed. That might not be a big deal, except that new software is often not peer reviewed, it makes security mistakes that have already been ironed out of the previous implementation of the idea, and it generally just screws things up pretty badly.
Whenever creating a new piece of software, consider whether you're replacing something else that already does that job and whether your replacement actually does anything different that is important. Then, if it is doing something important and different, think about whether you might be able to just add that to the already existing software so you will not create a whole new bundle of problems by trying to replace it.


10) Giving up the means of your security in exchange for a feeling of security
This is a mistake so absurd to make that I have difficulty formulating an explanation. It is also so common that there's no way I can leave it out of the list. People give up the keys to their private security kingdoms to anyone who comes along and tells them, "Trust me, I'm an expert," and they do it willingly, eagerly, and often without thought. "Certificate Authorities" tell you who to trust, thus stripping you of your ability to make your own decisions about trust; Webmail service providers offer on-server encryption and decryption, thus stripping you of end-to-end encryption and control over your own encryption keys; operating systems decide what to execute without your consent, thus stripping you of your ability to protect yourself from mobile malicious code.
Don't give up control of your security to some third party. Sure, you may not be able to develop a good security program or policy yourself, but that doesn't mean the program or policy shouldn't give you control over its operation on your behalf.

10 Firefox extensions you can't live without

By Jack Wallen

One of the nicest aspects of Firefox is the ability to add extensions. And there are plenty to choose from. Some do little more than alter the aesthetics. But you'll find others out there that you can't browse without. No matter what your purpose in browsing, there is a killer-app extension just waiting for you. Let's take a look at my top 10 extensions.


1) Morning Coffee
This extension allows you to set a group of Web sites that will open (each in its own tab) with the click of a button. This will save you from having to roam through your bookmarks (while drinking that first cup of wake-me-up in the morning) to view your favorite sites. And you don't have to limit yourself to personal browsing, either. I also use this extension to open up all the Web-based admin tools for sites I administer. You can even set sites up to open only on certain days (or every day). So news junkies or overworked administrators rejoice: This extension will make your browsing life a little easier.


2) NoScript
This is one of the best tools for making sure your browsing experience is secure. With NoScript, you can disable active content from any site you don't trust. Unless you configure it to allow JaveaScript, Java, and other executable scripting to run from a site, NoScript will completely block the script, keeping you browser safe from known and unknown exploits. And don't think because you are using FireFox in Linux that you're perfectly safe! Use this extension regardless of platform.


3) ColorfulTabs
If you're like me, you generally have a LOT of tabs open in Firefox. Sometimes this isn't a problem. But there are times when the tabs can get a bit overwhelming and need a bit of organization. To help with this, ColorfulTabs gives each open tab a different color, making it easier to distinguish between them. With this simple extension, you can color-code tabs either randomly or according to URL. You can also set tabs to fade. Another fun feature is that you can set a background image for tabs.


4) BBCode
This helpful extension adds BBCode, HTML, and XHTML symbols and formatting to the context menu. BBCode also allows you to add up to 10 custom tags to your menu. This extension shows itself when you're in a forum and you right-click a text area where you can select the tag you want to add from the menu. This extension will make your forum work quite a bit easier, as well as faster.


5) Buggybar
This extension is invaluable to Bugzilla power users. With this extension, you will have a Bugzilla Chrome sidebar available which will readily show all bugs that relate to a bug list you have created. As of version 0.2, Buggybar works with all instances of Bugzilla.


6) Clear Cache Button
I don't know about you, but I always set up my browsers to clear their cache at exit. But what about those times you want to clear the cache but not exit the browser? Instead of navigating through the menu structure, you can add this simple extension. It provides a button that gives you complete cache clearing with a single click.


7) TimeTracker
Okay, this is not really a tool that will aid or better your browsing experience. In fact, this little extension will remind you how much time you spend browsing. I have found this little gem useful in a number of circumstances. Whether you are in need of a quick five-minute break from number crunching or you just need to know how much time you spend on a specific Web site, TimeTracker will keep track of how long you browse. What is nice about this is that the tool times across sessions. So when you close the browser, the timer stops, and when you open the browser back up, the timer starts again. You can reset the timer by right-clicking the status bar timer and selecting Reset.

8) iMacros
This extension automates pretty much anything you do in Firefox. From opening up sites to filling out forms and even administration work -- you can automate it with iMacros. The iMacros extension has a sidebar that shows favorite macros. It also has a record feature that allows you to create macros by simply clicking Record, going through the motions of the macro to be created, and clicking Save. These macros can be as complex as you need them to be. When you want to run them, you simply navigate to the macro in the iMacros sidebar and click the Play button. The only downfall I have found with this tool is that you can't assign key combinations to run macros. Other than that, this extension is a must-have for power browsers.

9) Fasterfox
This extension does one thing: It makes Firefox load pages faster. Speed of page loading can be increased by allowing simultaneous connections and prefetching. This extension is currently in the experimental stage because of the release of Firefox 3. To install it, you have to log into a Firefox account to download. The extension is worth the hassle. The speed increase is noticeable.

10) BlogRovR
We all read blogs. From my TechRepublic Open Source blog to the countless other blogs available, we all read them daily. And this takes time. Instead of wasting time going to the blogs, let this handy extension fetch them for you. You do have to sign up for an account using this extension (they promise they won't spam you.) and you will be asked to install another sidebar (Stickies), which is not necessary. Once you have this installed, you just enter the blog URL, and BlogRovR will begin fetching the information for you. Warning: If you have NoScript installed, you have to allow the BlogRovR page to run scripts or it won't be able to fetch pages for you.


So that's my list of 10 extensions, from various categories, that will make your Firefox experience better. Some of these extensions are for power users and some are for everyone. Don't hesitate to go beyond this list and search forthat perfect add-on that will make your daily browsing better.

Saturday, June 14, 2008

10 things you should do near the end of a project

Depending on the size of your organization, you may treat project management as a casual practice or you may have an involved PMO. In either case, you probably go through the typical inception, elaboration, and construction phases of a project. But when it comes to the end of a project, many project managers come up just short of the finish line. Failure to handle the final steps can add confusion to an initiative and may lead to customer dissatisfaction, unhappy staff, and a project dragging on longer than necessary.

Here are a few things you should be thinking about when you get to the end of your next project. Some of these items are purely administrative, but many of them will help get you one step closer to ensuring that your project is successful.

Note: This information is also available as a PDF download.
1: Finalize testing

Testing can be a drain on people, and many of us don’t like to do it — especially when it takes a few rounds. I have seen complex projects that were four to six months long have a day or two scheduled for testing. Not scheduling an adequate amount of testing usually ends up with problems occurring during the first few weeks of an implementation. Don’t take a shortcut here and minimize the importance of testing; otherwise, you’ll take on the additional risk of having a painful rollout.
2: Finalize training

Users? Who cares about users? Well, many projects are done for their benefit, so make sure you have all your testing materials completed and delivered. Failure to do so will most likely manifest itself in the form of angry phone calls from irate users in the middle of the night.
3: Validate deliverables

You’ve checked all your boxes and cleaned out your inbox, and you really think you’re done. But what does your customer think? Schedule time with customers to review all the deliverables and ensure they have been met. In some cases, there may be a few outstanding issues still unresolved when you get to your scheduled end date. Early on in your project, you should have made an agreement that determines how this will affect your end date if this situation occurs.
4: Get project signoff

After you’ve agreed that all the deliverables have been met, request a formal signoff on the project documentation. Doing so helps ensure that everybody is in agreement on the state of the project. Since this signoff usually signals the formal end of the project, be careful not to make your customers feel pressured into signing. If they do this without understanding what it means, you will likely end up with an unsatisfied customer if an issue arises at a later date.
5: Release the team

Now that the project is done, where is your team going? Depending on the organization, they may be sent back to a development pool or into the business. Or maybe they need to go drum up some work for themselves within the company. No matter what it is, make sure you spend time with them and set a clear end date for when you no longer need their services. Also don’t forget that you probably need to complete any performance review documents that need to be added to their file.
6: Analyze actual vs. planned

Resources. Did you really get away with only one developer/tester for 10 weeks or did you need to scramble and get more people? What about the amount of time you scheduled for your business partners? Understanding how well you hit these targets will help you better allocate resources for your next project and set more realistic expectations when it comes to a project’s duration.

Budget. How much was the project going to cost? Did you come in on budget, under budget, over budget? Sitting down to understand the answers to these basic questions should give you some insight into a critical area of any project.
7: Archive documentation

During any project, we seem to create huge amounts of documentation. It can range from scope documents and project plans to contracts and meeting minutes. Whatever it is, when you are done you should have someplace to keep it based on the retention policy of your company. You’ll be glad you did when your phone rings two years from now and somebody asks you to explain the rationale behind a choice you made during the course of the project.
8: Ensure contract closure

It’s not unusual for a project to have its own budget. You also may have contracts for hardware, software, or professional services. When you’re done, make sure that you verify that all the terms of your contracts have been met, request final invoices from vendors and submit them to AP, and close out any associated financial accounts, if necessary.
9: Conduct a postmortem meeting

What types of risks did you identify and mitigate? What went really well that you want to ensure you do again next time? Have a meeting with all the project stakeholders and relevant participants to provide them with a forum to express any lessons learned.
10: Perform a self assessment

So it’s finally over. After all the hard work has been completed, you’ve made sure that all the i’s have been dotted and all the t’s crossed. Now what do you do? It’s important to get some feedback on your performance from the people you interacted with during the project. If you have the opportunity to send out a 360-degree feedback survey to as many individuals as possible, I would recommend it. It will help you assess how you’re progressing and will give you some great direction in deciding which personal growth opportunities you should focus on.

This list won’t be the same for everybody and will depend on your organization and how it implements projects. But if you can do them, it will always make the transition to the next project smoother.

Quickly access important applications

Unless you change the Start menu to "classic" mode, Windows Server 2003 sports a slightly modified version of the Start menu that was first seen in Windows XP. WS2K3 also features the Quick Launch area immediately to the right of the Start button. You can easily customize both of these areas by adding shortcuts to programs that are frequently used.

To add an item to the Start menu so it appears above the list of frequently used applications, right-click the shortcut for the item or its executable. From the shortcut menu, choose Pin To Start Menu. Now, when you click the Start button, you'll be able to quickly access this application without traversing multiple folders.

Adding programs to the Quick Launch area is also fairly simple. Just right-click and drag the application to the Quick Launch area. When you let go of the right mouse button, you'll have two options: either copy the item to the Quick Launch area or create a shortcut to it. However, after you add several items to this area, you must click the double-arrow menu to view them all.

Delete an "undeletable" file in Windows XP

Have you ever tried to delete a file in Windows Explorer and received the error message that it could not delete the file because it was in use? This can happen even when you know for a fact that the file is not in use.

You may open a command prompt and try to delete the file with the Delete command. But this method also fails.

Here's how you can delete an "undeletable" file. Follow these steps:

  1. Close all open programs.
  2. Open a command prompt.
  3. Right-click the taskbar, and select Task Manager.
  4. On the Processes tab, select Explorer.exe, and click the End Process button.
  5. Minimize Task Manager, but don't close it.
  6. At the command prompt, use the Delete command to remove the file, and close the command prompt.
  7. In Task Manager, go to File | New Task (Run).
  8. In the Create New Task dialog box, enter Explorer.exe, and click OK.
  9. Close Task Manager.

Get more information from Task Manager

Windows XP's Task Manager is a very useful tool when it comes to troubleshooting problems. Not only does it help you terminate hung applications, but it also provides you with detailed information about all the processes currently running on your computer.

When you select the Processes tab, the default detail view displays four columns of information about each process:

  • Image Name: The name of the process.
  • User Name: The user who started the process.
  • CPU: The percentage of the CPU's capacity that a process is currently using.
  • Mem Usage: The amount of memory the process requires to perform its job.

While these four columns provide you with a basic idea of the process and how it affects the system, you can customize this display with your choice of 21 other columns to get even more detailed information. Here's how:

  1. Pull down the View menu and choose Select Columns.
  2. Select the check boxes adjacent to the columns you'd like to add.

If you're unsure of the type of information that a particular column displays, access Task Manager Help Topics from the Help menu and search for the term "Process counter column headings." This will open a page with detailed descriptions of each column.

Manually clean out the Temp folder in XP

As you probably know, you can use Windows XP's Disk Cleanup tool to free up hard disk space by getting rid of all sorts of unused and obsolete files. One of the places that Disk Cleanup checks is the Temp folder, which can be a big culprit when it comes to wasted disk space.

While Disk Cleanup can usually clean out the Temp folder for you, it can sometime get stuck there--especially if the Temp folder is full of files and folders. In other situations, Disk Cleanup inadvertently leaves unnecessary waste in the Temp folder.

Either case requires a manual cleanup. To quickly locate and clean out the Temp folder, follow these steps:

1)Shut down and restart Windows XP.
2)Open the Run dialog box by pressing [Windows]R.
3)Type %Temp% in the Open text box, and click OK.

Windows Explorer will immediately launch the Temp folder. Because you just restarted the system, you can safely delete any files and folders that you find there.

Force Disk Cleanup to delete all temporary files

If you’ve ever run the Microsoft Windows XP’s Disk Cleanup utility, you probably discovered that your temporary files occupy a significant amount of space. You might select the Temporary Files check box in order to allow the Disk Cleanup utility to delete the files in the Temp folder, but the Disk Cleanup utility will not remove all the files. The reason for this oddity is that the configuration for the Disk Cleanup utility does not allow deletion of files accessed in the last seven days.
Alter the parameters

By altering the LastAccess value in the registry, you can configure the Disk Cleanup utility to delete all the files in the Temp folder regardless of the last accessed date. Here’s how:
1) Launch the Registry Editor (Regedit.exe).

2) Go to
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion
ExplorerVolumeCachesTemporary Files

3) Locate and double-click the LastAccess value.

4) When you see the Edit DWORD Value dialog box, change the Value Data setting from 7 to 0 and click OK.

5)To complete the operation, close the Registry Editor and restart Windows XP.

Changing the value to 0 will force the Disk Cleanup utility to delete all the files in the Temp folder every time you select the Temporary Files check box.

Automatically generate and assign strong passwords in Windows XP

Computer users consistently use very simplistic logic when creating passwords. For example, many of us choose meaningful words, personal dates, or a word commonly found in the dictionary because it makes the password easy to remember. These common practices cause us to sacrifice the security that passwords are intended to provide.

If you’re really at a loss when it comes to thinking of a strong password, you can let Windows XP create and assign a random password to your account. To let Windows XP generate your password, follow these steps. (Warning: Before you follow these steps, please be sure that you are paying careful attention and are ready to actually use a password that might not be as memorable as you’re accustomed to! Also, you cannot use this tip on a Windows Server domain.)

1) Open a Command Prompt window and type:

net user username /random (username is your login account name)

2) Press [Enter]. Windows XP will randomly generate a secure password, as well as assign that strong password to your account. Windows XP will also display the strong password so you can remember it.

At your discretion, you may want to create a Password Reset Disk at this point. This disk will allow you to gain access to your computer in the event you forget your password. Here’s how to create the disk:

1) Open the Control Panel and double-click the User Accounts tool.
2) Click your account icon.
3) Select Prevent A Forgotten Password under Related Tasks.
4) Follow the instructions provided by the wizard.

Friday, May 16, 2008

Search Engine Optimization Tips

SEO Tips: We can divide all the search engine optimization work in seven simple steps or phase.

1. Identifying and understanding the business type
This is the first step of seo job, where you can analyze and identify nature of the business and it's targeted audience. Try to collect complete information on the website you have to work. These information would help you a lot while optimizing a website.
Check for all the possible opportunities and go through your competitor websites operating in same business.

2. Make a list of targeted keywords
Choosing relevant and popular keywords is essential for optimizing a website effectively. This is something that will directly reflect your efforts. Right keywords can give you a good business deal & targeted traffic and wrong keyword will get all your efforts in vain, so be careful while choosing keywords.

3. Designing the website
Design a website in that manner so that it looks & feel good. Make sure all the internal links, code and validation are working correctly. A well designed site becomes easy to use and also get back the traffic on the site.

4. Writing the meta tags and contents
Description and Keywords meta tags helps a lot in ranking high, because all the search engines looks it at least once for getting the information about a page. Put your all important information in description meta tag which should not be more then 255 characters long. You can place your all possible keywords and phrase using keywords meta tag.

5. Relevant Title
Give a relevant and small title which could be in between 60 to 64 characters. Most of the search engines gives importance to title tag while indexing result.

6. Directory and search engine submission
After completing all the five vital phase given above, you can submit the website url to major search engine and directories. It will take some time to list your site url.

7. Link Building
The last and final step of SEO tips is a link building. Build links on many site which is relevant to your business or can get you targeted traffic. By building links on different site makes you popular and also helps to rank high in search engines.

Thursday, May 1, 2008

10+ Windows XP keyboard shortcuts to speed everyday tasks






















The shortcutsKeystrokeFunction
Alt + TabSwitches between open programs
Alt + F4 (in a program) Closes the program
Alt + F4 (from the desktop)Opens the Windows Shutdown/Restart dialog box
Alt + EnterOpens the Properties page of a selected item
Alt + Esc Cycles between open programs in the order they were opened
Alt + SpacebarIn the active window, this brings up the corner dialog box for Move, Size, Minimize, Maximize, or Close
Shift + Insert a CD/DVDInserts a CD/DVD without triggering Autoplay or Autorun
Shift + DeletePermanently deletes an item (rather than sending it to the Recycle Bin)
Ctrl + Shift + EscOpens the Windows Task Manager
Ctrl + drag an icon Copies that item
Ctrl + Shift + drag an icon Creates a shortcut for the item
Right-click + drag an iconBrings up a menu to copy, move, or create a shortcut for the item
F1Opens Windows XP Help
F2Highlights the label of a selected item for renaming
F3Opens Windows search for files and folders
F5 (or Ctrl + R) Refreshes an Internet Explorer page or other window
F6 Cycles through the elements that can be selected in a screen or window
F10 Selects the menu bar in the active program (usually the File menu) so that you can use the arrow keys to navigate through the menus and the Enter key to display one
Shift + F10Displays a shortcut menu for an item (like right-clicking with the mouse)
Ctrl + Esc Opens the Start menu

Roll your own shortcut

You can also create custom Windows XP shortcuts. Just right-click on the icon of a program or program shortcut, choose Properties, click the Shortcut tab, and enter a keystroke combination in the Shortcut Key field. Windows will let you assign only key combos that aren’t already taken.

Create your own special characters in Windows XP

If you’ve ever wanted to create your own font or maybe just a special character — for example, a character showing your initials for when you wish to approve documents with your “signature” — you can easily create your own special characters using a hidden Windows XP tool called the Private Character Editor. Here’s how:

1) Press [Windows]R to open the Run dialog box.
2) Type eudcedit in the Open text box and click OK.
3) When the Private Character Editor launches, you’ll see the Select Code dialog box. Click OK.
4) A user interface that looks and works very much like Paint will appear. From this, you may use standard tools to create your characters.
5) When you finish, select the Save Character command on the Edit menu.

Once you save your new character, you can access it using the Character Map tool. Here’s how:

1) Press [Windows]R to open the Run dialog box.
2) Type charmap in the Open text box and click OK.
3) When the Character Map appears, select the Font drop-down list and select All Fonts (Private Characters).
4) Select your character, click the Select button, and then click the Copy button.

You can now paste your font character in any document that you want.

Sunday, April 20, 2008

Use Microsoft Media Player for your Windows XP apps

Windows XP’s original multimedia player, Microsoft Media Player 5.1, still remains on the operating system despite various updates (Windows Media Player 11 is the most current version of Microsoft’s multimedia player). While Microsoft Media Player is pretty basic by today’s standards, it still serves a purpose.

Microsoft Media Player can still play a number of multimedia file types such as AVI, WMA, WMV, MID, and WAV, so you may want to be able to use it in situations where you don’t need the full power of Windows Media Player. To use Microsoft Media Player, add it to the SendTo menu by following these steps:

1) Press [Windows]R to open the Run dialog box.
2) Type SendTo in the Open box and click OK.
3) When the SendTo folder appears, right-click the folder, and select the New | Shortcut command.
4) When the Create Shortcut wizard appears, type C:\Windows\system32\Mplay32.exe /Play in the text box and click Next.
5) Name the shortcut Microsoft Media Player and then click Finish.

Now when you encounter an AVI, WMA, WMV, MID, or WAV file and you just want to sample it, you can right-click the file and select the SendTo | Microsoft Media Player command.

Add a Create New Folder icon to the Windows XP Quick Launch toolbar

Creating new folders to store files is a basic Windows XP task, but
Windows Explorer does not have a button for easy creation of new folders.
You can create your own shortcut by adding a Create New Folder button to
the Quick Launch toolbar. Follow these steps:

1) Press [Windows]E to launch a new Windows Explorer window.
2) Navigate to C:\Documents and Settings\{Username}\Application
Data\Microsoft\Internet Explorer\Quick Launch. ({Username} is your account
name.)
3) Create a new folder in the Quick Launch folder and name it Create New
Folder. You will see a new button on the Quick Launch toolbar called
Create New Folder.
4) To create a new folder, hold down [Ctrl], drag the Create New Folder
icon from the Quick Launch toolbar, and drop it in the folder in which you
want to create a new folder. You will see a new folder, and the Create New
Folder icon will remain on the Quick Launch toolbar.

Sunday, March 23, 2008

Ten Career Resolutions
by Dan Miller






Like the old saying, "Today is the first day of the rest of your life," it's never a bad time to start moving your career in a better direction. Here are 10 New Year's resolutions to help.

Pay Attention in Class

Treat every workday like a school day. Be sure you learn something and use it to make yourself more productive. It doesn't have to relate to your skills set. It may be as simple as understanding how to work with specific peers or emotional intelligence. Take mental notes. Don't sleepwalk through the day.

Look for the Next Rung

You need to excel at your job. This is how you gain credibility. But understanding your next step is key to career happiness. Career pathing is critical to remaining engaged on the job. Schedule discussions with your manager to get clarity on the next challenge. If you don't get it on your team or in your company, it may be time to look elsewhere.

Understand Company Goals

Make sure you understand how your job contributes to your company's business objectives. Are you in a revenue-generating role? A brand-awareness role? Is your mission to delight the customer? Knowing how your job fits into the big picture will give you inspiration and a sense of accomplishment -- and will help you understand your job's impact.


Be Ethical

Bring integrity to your job. Whether you're running the company or cleaning its bathrooms, be honest in all you do. Don't call in sick just to get a day off -- that's stealing. Put in an honest day's work. Be accountable. If you're working remotely, be sure you are. Do what you say you're going to do. Honesty and reliability mean a lot to your manager.

Stay Fit

OK, this was probably on your last New Year's resolutions list, but that's because it's so important. Try to break a sweat for 20 minutes, three days a week. Go for a walk at lunch. Join a gym. Lift weights. A healthy body makes a healthy mind. Exercising increases blood flow to the brain and gives you ideas. You'll be more productive at work, and best of all, you'll feel better.

Stretch Your Role

Occasionally think how you can go above and beyond. Are there projects outside your defined role you could help with? Be proactive; ask to join. Come up with your own ideas, and work with your manager to implement them. If you're a hamster, step off the wheel and poke your head out of the cage. Stretch a little. This won't go unnoticed.

Manage Up

Make sure you and your manager are in firm agreement on what you're doing. Be proactive and get on his calendar to ensure you're meeting or exceeding expectations. Don't assume he's paying close attention. There are bad managers. If there's a disconnect between what you're doing and what your manager wants, you're partly to blame. Don't wait until review time.

Manage Across

Even if you work primarily alone, be sure to make time to understand your peers' roles and how they go about their jobs. Show an interest. Don't just choose a few friends and become part of a clique. High school is over. You never know when you may need people -- or be reporting to them.

Communicate

Don't leave people waiting for answers. If you're in an email environment, return emails promptly. Let people know what you're doing. If you're working on a project, always ask yourself who needs to know about it, then tell them. Talk to people; give them a heads up. And when someone helps you out, be sure to thank him. It's amazing this even needs to be on a list, but bad communicators abound. Don't be one of them.

Make Time for Play

Have fun. Work hard, but smile while you're doing it. No one likes a grump. Approach each day with a positive spirit and stay loose. Enjoy your family and friends as well. Make time for them -- and you. It's called work/life balance. All work and no play makes life a chore.




ITWORLD
If you have any question then you put your question as comments.

Put your suggestions as comments