Bennet Fauber
2014-Mar-23 14:08 UTC
[Rd] Docker versus Vagrant for reproducability - was: The case for freezing CRAN
Vagrant and packer look like the could be useful to developers, especially when testing, as they make it relatively painless to 'reinstall' a machine to a (mostly) known state. I find that, no matter how hard I try, there always seem to be a few keystrokes that don't make it into the changelog, and recreating from scratch is how I find them. Thanks for pointing them out. I would weigh in on the side of those who are against 'freezing' CRAN. The notion of having an R package repository that is frozen is a fine one, and I would probably support such a thing and find it useful, but that's not, to my mind, what CRAN is. CRAN is an open place for people to put their packages where others can get at them, while they are under active development and after. I don't think it a good idea to make it into something else. 'Freezing it' also seems a bit misguided, as that would freeze it, warts and all. Something along the lines of the RHEL or LTS idea, where perhaps major.minor versions of things are essentially frozen, but security and bug patches continue seems more right-minded. Strict replicability is best done with VM images, though I suppose one should also put a 'This image packed on <DATE>', along with a list of ingredients, on any VM image. It probably should be the responsibility of the researcher to look after their research, if it isn't already, so the onus of freezing should be there, not at CRAN. With respect to X, NX is quite nice, though I've had mixed success with the older, open-source server not always seeming to work. The commercial one is free, but limited to two users. I've used the classic VNC (in several flavors, which depends on your linux distro) with ssh tunnels, where you ssh to a text screen, tunneling the port you want X over, then manually start an Xvnc session. You can disconnect from the VNC session and reconnect later and the session will be running. NX is essentially the same thing, except it handles the details of the ssh tunnel for you. With both, graphical performance is much, much better than tunneling X directly. -- bennet ====HPC Software Support University of Michigan