Use static function for filename generation so that we have a single point of modification.
Prefix the temporary file by the username to make the file identifiable.
Make the files world-writeable to reduce file overhead.
Update binary.
Fix bug.
Fix another bug with file permissions.