Anyone using this library probably has rox in their headers ...

Sheesh, you must be avoiding something pretty tedious if you're reading the "about the author" blurb.

My name is James Greenfield. Currently I'm working for Amazon in Cape Town, South Africa on something so secret that just having revealed that means your life is forfeit. For about five years before Amazon I worked for a small(ish) South African company called Mosaic Software up until just after they were swallowed whole by a larger American company called S1.

At Mosaic I worked in the products group on an online financial transaction switch and an SDK used by the other 50+ developers in the company. This involved a lot of Java, a fair bit of Python and a sprinkling of C/C++. When people weren't looking I threw in some Perl too. All of this happened on the Operating System Formerly Known as Windows NT (i.e. Windows 2000). I lead the team that ported the product to Linux and DB2 on the iSeries (the rebranded AS/400), and paved the way for a port to DB2 on the pSeries and Oracle.

At Amazon I'm continuing to some degree in the Java vein but Ruby has replaced Python and Linux has replaced TOSFKAWNT. Rox grew out of the work I've been doing at Amazon. The XML-RPC library we were using wasn't scaling particularly well and XML-RPC seemed self-contained enough (and interesting enough) to warrant a private bash at a replacement.

When I'm not writing code I'm almost certainly thinking about it. And when I'm not thinking about it I'm dreaming about it (which usually means I'm talking about it). I do most of my thinking on my VFR800 unless I'm in a sharp bend transfixed by knuckle-whitening fear.

I enjoy writing code that other people actually use. Most of all though, I enjoy writing code for other programmer's. I'm happiest when I can take something complicated, or unpleasant, or hard, and make it a non-issue. And for some inexplicable reason I really enjoy the challenge of designing an API that has to evolve without breaking backwards compatibility.

If, at this point, you feel you have something you absolutely must share with me you can get me at