Before that...
I'm using this as my home page on the WikiWikiWeb. If you want to leave me a message, append it to the the bottom of this page and I should notice it pretty soon.
I did a lot of work in distributed systems, middleware, components and frameworks. Check out my old home-page at Imperial http://www-dse.doc.ic.ac.uk/~np2 for more info about my research in those areas.
Based on my work on distributed component-based systems and frameworks, I contributed to the ComponentDesignPatterns. I have concentrated on the lower-levels of the pattern language, focusing on what distinguishes a component, how components are defined and how they interact. The patterns I have documented include AbstractInteractions, ThirdPartyBinding, ComponentBus and ComponentGlue. Feel free to add comments; feedback is very useful.
Related to the ComponentDesignPatterns, I collected patterns of software systems that use scripting (e.g. AlternateHardAndSoftLayers) or are written in scripting languages. They are available at http://www-dse.doc.ic.ac.uk/~np2/patterns/scripting.
I did quite a bit of Java programming and contributed to the collection of JavaIdioms and to the discussion on ExceptionPatterns.
A lot of the Java idoms and ideas relating to the design and implementation of component-based frameworks are used in a framework I wrote called SceneBeans. Documentation and code are on-line at http://www-dse.doc.ic.ac.uk/Software/SceneBeans/.
I am interested in TestDrivenProgramming. I wrote the first version of the dynamic MockObjects library for Java and am now maintaining the latest version, jMock (http://www.jmock.org), with SteveFreeman, JoeWalnes and TimMackinnon and NMock2 (http://www.nmock.org) with MikeMason and others.
I am interested in PostModernProgramming (see http://www.postmodernprogramming.org) and ran a ScrapheapChallengeWorkshop? at OOPSLA'05 that investigated this topic.
I have a "blog" that I use as combination of online engineer's notebook and outlet for self-deprecating humour. It is at http://nat.truemesh.com.
This page mirrored in ComponentDesignPatterns as of April 29, 2006