For programs that are portable, how can you be sure no changes are being written outside of the program directory? Or sometimes, these programs claim to make a change, but remove the changes when the program is exited. Is there a program that monitors changes or something like that, just to be sure? Maybe something that has to do with cirtual machines...I don't know.