I come from New Zealand and I'm now back there again, after living for the best part of five years in Sydney City. I've been programming in the Self Language (working on Program Visualization) and I've been interested in Pattern Languages for quite a while now. I'm quite catholic in my interests (most would say irredeemably unfocused) as I try to keep up with topics as varied as the philosophical bases of programming and software design, patterns, ownership types and aliasing, user interface design, middleweight and lightweight methodologies (including Essential Use Cases and Extreme Programming), and lots more really.
I'm the southern-hemisphere half of Charles And James; we wrote a book together about Small Memory Software - www.smallmemory.com .
I can be reached through email [mailto:kjx@mcs.vuw.ac.nz] and have a homepage http://www.mcs.vuw.ac.nz/~kjx www.mcs.vuw.ac.nz.
My name is James Noble, but my usercode is kjx. The Self Group mentioned me as James "kjx" Noble, which is fine by me. Having a (globally?) unique usercode like kjx makes it easy to find references to oneself using the web search tools. Try this Alta Vista search ...
" Having a (globally?) unique usercode like kjx..." Sure it's unique now, but for how long?
Elvis Software Design Research Group -- where I work now
Elvis Brain -- our wiki
James Noble wrote one of my favorite patterns papers: Arguments and Results. http://citeseer.nj.nec.com/cache/papers/cs/1429/http:zSzzSzwww.mri.mq.edu.auzSz~kjxzSzP53.v2.pdf/arguments-and-results.pdf citeseer.nj.nec.com It is on his website. It is a great read for anyone who is learning about refactoring. -- Michael Feathers
Arguments and Results describes a very powerful pattern, and is highly recommended -- Gerhard Kessell-Haak
Better URL: citeseer.ist.psu.edu Abstract: "If an object oriented program is a collection of communicating objects, then the objects' protocols define the languages the program speaks. Unfortunately, protocols are difficult to design in isolation, so many programs' protocols are not as well designed as they could be. This paper presents six patterns which describe how objects protocols can be designed or redesigned. By using these patterns, programs and designs can be made more simple, more general, and more easy to change."
Also: Found Objects: A Pattern Language for Finding Objects from within Designs (1996) citeseer.ist.psu.edu Abstract: "To design a program, first find your objects. Unfortunately, the right objects are not easy to find, and as a result most programs are not as well designed as they could be. The patterns in this language describe how objects can found within existing programs. By using these patterns, programs and designs can be made more simple, more general, and more easy to change."
See original on c2.com