do external commands with IO.popen, not %x{...}