programming
1. The art of debugging a blank sheet of paper (or, in these days of on-line editing, the art of debugging an empty file).
2. A pastime similar to banging one's head against a wall, but with fewer opportunities for reward.
3. The most fun you can have with your clothes on (although clothes are not mandatory).