greg egan
http://www.netspace.net.au/~gregegan/