Pair programming is getting common. However it means different things to different people. In general, you sit two programmers side by side at one computer. One types in code and is called the driver. The other watches and is called the navigator. They work closely together. This arrangement does not guarantee success.
Programmers often get stuck. Talking to another developer can get past such a hurdle. Probing questions help you work through a problem. It helps your brain make breakthroughs. It is best if the questioner is an expert. They ask more probing questions that get you going.
Two people detect bugs better than just one. If you are not busy typing at the keyboard, you tend to notice problems faster. Fresh eyes often spot problems quickly. However pair programming loses its advantage if the same two people pair all the time. The fix is to swap pair programming partners often.
When you pair program, you do not want to let your partner down. Therefore you do your best. Your partner also keeps you honest. It is difficult to hack around if somebody is watching your moves. Instead you will take the time to fully understand an issue before coding.
I have done some pair programming in the past. For the most part, I found that it helped some programmers. However I find that I am more productive when I work alone. This might be a personal preference. I don’t look down on the practice. I just choose to avoid it.
A Little Bit of Crypto - I have been trying to figure out to "collision resistant" some of these standard hash functions are. It is a tough concept to get my head around. I figure...