James Noble is Professor of Computer Science and Software Engineering at Victoria University of Wellington, New Zealand. His research centres around software design, ranging from object-orientation, aliasing, design patterns, and agile methodology, via usability and visualisation, to postmodernism and the semiotics of programming.