Question: How can one build a device that presents itself as a mass storage device to a machine via usb, then whatever files are transfered to it, get sent to a remote location via wifi (can be ad hoc). Something like the eye-fi but that can send any files. 

Something similar to these devices :

<http://www.infinitec.com/> (Why can't use : Will be released first of july which is too late for me )

<http://www.hsti.com/> (Why can't use : Remote file system is mounted read only)

Thank you

Answer: 
You could buy an embedded Linux board with an SD card, a usb port, and a wifi card. Write a script that uses the [rsync](http://en.wikipedia.org/wiki/Rsync) command to synchronize the contents of the SD card with your remote server over an SSH connection. Set the [cron](http://en.wikipedia.org/wiki/Cron) daemon to execute the rsync script once per minute (or maybe less frequently, depending on the speed of the connection).

You would have to generate an SSH key pair and put the public key on the remote server so that the board could login without a person having to type in a password.

For hardware, I'd try something like one of the following:

1. [Hawkboard](http://www.hawkboard.org/)
2. [Beagleboard](http://beagleboard.org/)
3. [TS-7552](http://www.embeddedarm.com/products/board-detail.php?product=TS-7552)
If I may make a twist on @Joby's answer, I think you might be able to use a WiShield on an Arduino to get you the wireless aspect. Then I bet there's someone who's made a MassStorage Shield (if not, that might be a good idea for me to try and pull off someday...)