{"action":"created","issue":{"url":"https://api.github.com/repos/swcarpentry/shell-novice/issues/83","labels_url":"https://api.github.com/repos/swcarpentry/shell-novice/issues/83/labels{/name}","comments_url":"https://api.github.com/repos/swcarpentry/shell-novice/issues/83/comments","events_url":"https://api.github.com/repos/swcarpentry/shell-novice/issues/83/events","html_url":"https://github.com/swcarpentry/shell-novice/issues/83","id":57727055,"number":83,"title":"Providing a VM for the Shell Novice lessons using Vagrant","user":{"login":"MattForshaw","id":1705898,"avatar_url":"https://avatars.githubusercontent.com/u/1705898?v=3","gravatar_id":"","url":"https://api.github.com/users/MattForshaw","html_url":"https://github.com/MattForshaw","followers_url":"https://api.github.com/users/MattForshaw/followers","following_url":"https://api.github.com/users/MattForshaw/following{/other_user}","gists_url":"https://api.github.com/users/MattForshaw/gists{/gist_id}","starred_url":"https://api.github.com/users/MattForshaw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MattForshaw/subscriptions","organizations_url":"https://api.github.com/users/MattForshaw/orgs","repos_url":"https://api.github.com/users/MattForshaw/repos","events_url":"https://api.github.com/users/MattForshaw/events{/privacy}","received_events_url":"https://api.github.com/users/MattForshaw/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-02-15T11:21:47Z","updated_at":"2015-02-16T18:10:55Z","closed_at":null,"body":"Good morning,\r\n\r\nIn the past academic year I used V5.2 of the Software Carpentry lessons with my students and found the experience to be an extremely positive one. The only snag I encountered were inconsistencies between the filesystem on the VM (username swc rather than nelle, and quite a few others besides).\r\n\r\nI was interested to see in the V5.3 lessons that there is no longer mention of a virtual machine image, as I found the VM to be a very useful way to ensure a consistent working environment across a wide range of devices (in my teaching context there is significant student preference over machines, so BYOD is common). \r\n\r\nMy experience with the V5.2 lessons lead me to wonder whether a Vagrant-based [1] approach to providing a definition of the virtual machine would be of interest to the wider community?\r\n\r\nThis approach would give us the ability to store in Github a very lightweight description of the virtual machine image, its dependencies, and the file structure, which could more easily be kept consistent and up-to-date with changes to the course materials (with previous snapshots of the Vagrant file meaning we could go back to any previous state of the lesson and reproduce a compatible Virtual Machine).\r\n\r\nThere would be the possibility for students to download an install Vagrant on their own machine, and to obtain the image themselves (a very simple process taking no more than 5 minutes), or the instructor could do this on their behalf and provide the required VirtualBox files to each student (akin to how things were done in V5.2). The latter would be particularly beneficial in situations where internet connections are slow, alleviating the need for a ~1.7Gig download from a Software Carpentry mirror for each of n students in the class.\r\n\r\nI would be very interested to hear everyone's thoughts on this, and this would be an area of development I would be more than happy to take a lead on.\r\n\r\nAll the best,\r\nMatt\r\n\r\n[1] https://www.vagrantup.com/"},"comment":{"url":"https://api.github.com/repos/swcarpentry/shell-novice/issues/comments/74550156","html_url":"https://github.com/swcarpentry/shell-novice/issues/83#issuecomment-74550156","issue_url":"https://api.github.com/repos/swcarpentry/shell-novice/issues/83","id":74550156,"user":{"login":"jduckles","id":119403,"avatar_url":"https://avatars.githubusercontent.com/u/119403?v=3","gravatar_id":"","url":"https://api.github.com/users/jduckles","html_url":"https://github.com/jduckles","followers_url":"https://api.github.com/users/jduckles/followers","following_url":"https://api.github.com/users/jduckles/following{/other_user}","gists_url":"https://api.github.com/users/jduckles/gists{/gist_id}","starred_url":"https://api.github.com/users/jduckles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jduckles/subscriptions","organizations_url":"https://api.github.com/users/jduckles/orgs","repos_url":"https://api.github.com/users/jduckles/repos","events_url":"https://api.github.com/users/jduckles/events{/privacy}","received_events_url":"https://api.github.com/users/jduckles/received_events","type":"User","site_admin":false},"created_at":"2015-02-16T18:10:55Z","updated_at":"2015-02-16T18:10:55Z","body":"I'm with you on the motivation, but I agree with Greg that there are just too many hiccups to overcome at present to keep the experience usable and consistent for learners. \r\n\r\nOne other problem I've seen is that there is no telling what kind of computer a learner will come to a workshop with. When serving less hard-science disciplines where users primary experience with their device is in text generation, they may not have the RAM or CPU to support running a VM. I've had Windows Vista and various laptops that currently meet the learners needs, but could never run a VM on top.\r\n\r\nI think it IS a worthwhile effort to have a VM/Vagrantfile/Dockerfile available. I just don't think we're to a point yet where we should recommend the VM for all workshops."}}