is it possible to have the Rpi act as a USB slave/device. I would like to be able to connect its usb to the USB of a standard computer, have the host machine recognize the RPI as a USB disk and then programmatically deal with the incoming data.

Any pointers, further reading etc is always welcome