There’s a movement/concept/broadly championed idea of something called Design Patterns within software development. For those of my readers who aren’t familiar with the term, the idea is that there lots of basic problems that software tries to solve, and there are some commonly understood solutions to those problems. Usually it takes a certain degree of experience in the field to realize that everyone does X in basically the same way; design patterns are a way of writing down the way that everyone does X, the problem that the solution tries to solve, and what tradeoffs there are in using this particular pattern to do X.
The term actually originally came from a guy named Christopher Alexander, who recognized that architects use the same basic solutions to solve problems when designing buildings. For example (very rough), if you need a way to get from floor 1 to floor 10, an architect will usually provide some number of elevators, and those elevators will be in an easy to locate place. Wouldn’t be any good if you had to climb a fire pole to get up to the tenth floor, or if the elevator was hidden behind the bathroom. See, they pay us software weenies too much money to use common sense sometimes.
OK, enough explanation… There’re lots of techie books out there listing lots of patterns. My new fav, though, is a slice at dating patterns. What are some well-recognized patterns for getting a date? Well, there’s the Factory pattern: any good singles bar. And there’s the Decorator pattern: she’s great for loud parties, but dumb as a cabbage. Lots more… Geeks will appreciate the reuse of techie pattern names. Non-geeks (aka normals) will appreciate the description of the pattern, even without the context of the classic techie GoF pattern background.