I'm a programmer, and I need long stretches of quiet time in order to be productive. Unfortunately, my work has an open floor plan, and people tend to pop by my desk if they have a question. I hate those interruptions, but I don't know how to discourage them without being snippy or unfriendly. Plus, sometimes my co-workers have good reason to interrupt me with a question or news. So how can I eliminate the unimportant interruptions?