use ruby file digesting rather than mtime, which could be different per server