There are a number of parallels between software design and the Japanese game of go. General Info: http://www.cwi.nl/people/jansteen/go/go.html Glossary: http://nngs.cosmic.org/hmkw/stuff/definitions.html For example, joseki (known sequences of moves) seem similar to design patterns. (I think this has been mentioned on another page.) On a smaller scale, there are standard responses to situations, such as what to do about a ladder, which correspond to idioms. I think these are tesuji? There's also the obsession with shape. My contention is that a good go player knows the shape of his pieces, and a good software designer knows the shape of his software. (So I think SoftwareHasShape.) Go has heaps of words for shape - dango, geta, sabaki, karui, omoi and so on. In DesignPatterns, the patterns Bridge, ChainOfResponsibility, Facade, all have implications of shape. More parallels? I am particularly interested in the software equivalent of ko :-).