<div dir="ltr">The <a href="https://github.com/cs3110/vagrant-opam">cs3110 vagrant script</a> unpacks to a 4.5GB machine after a small initial download from github. This includes the chromium browser (much easier than setting up shared folders), but not eclipse, xcode, or visual studio. Instead, we include basic emacs, vim, and sublime configurations.<div><br></div><div>We used the <a href="http://lubuntu.net/">lubuntu</a> distribution to help keep things small.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 1, 2015 at 10:18 AM, Thranur Andul <span dir="ltr"><<a href="mailto:thranur@gmail.com" target="_blank">thranur@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div>Thank you for the advice.<br><br></div>To clarify what I'm looking for: I'm trying to make Linux usage as transparent as possible, exactly to avoid requiring much unix literacy, hence why I mentioned disk space usage. It's not so much an issue in itself, but if I wanted to distribute a static VM image with everything already installed, its size might become an issue.<br><br></div>For instance, Eclipse, which used to be a quite large application, has a download size of 270 MB. It does not include the JVM, but after decompressing I'd estimate it (Eclipse + JVM) at about 1 GB.<br><br></div><div>I don't know the exact size of Xcode, but some websites estimate it at 2-4 GB.<br></div><div><br></div>Visual Studio is probably the largest one, at about 6 GB.<br><br></div>Certainly, installing a Linux via a VM includes much more than an IDE + compiler + runtime, but if it requires 7GB, it's still a hard pill to swallow.<br><br></div>This brings me to another point: disk usage anxiety. Even with dynamic disk images, I'm afraid to give them a large size, so I end up worrying that it will run out of space. And the kinds of errors that happen in such situations are much less obvious to understand, especially for linux newbies. Should I just lose my fear and allow my disk images to dynamically grow to be as large as they want to be?<br><br></div>For those reasons, I asked about a minimalistic Linux with the lightest possible UI, to save on disk space as much as possible. It's not so much about CPU, which for the intended purposes should be mostly fine.<br><br></div>Finally, on the issue of transparency, another major difficulty I have when using a Linux VM is that the file systems are separate, so even if I tell the students to "just download that file and open it on your <Linux/OCaml-based application>", they'll either:<br></div><br></div>a) Download it using Windows, then not be able to find the file using the Linux application (or have to move it to a shared folder, which they often forget);<br></div>b) Be forced to use a browser inside Linux, which requires more disk space, setting up the browser, etc.<br><br></div>I never found it very easy to configure Samba shares on Linux or to set up the filesystem in a way that maximum sharing could be achieved with minimal user intervention, especially without knowing in advance some parameters such as host/username, etc. Which would make it even more complicated to set up in advance in a static VM image for that purpose.<br><br></div>Is there a better solution concerning transparency between Windows and Linux for OCaml usage purposes? E.g. using a Merlin-configured Emacs from Linux that could open a file downloaded via Windows and then compile an OCaml application that could easily read the files in a Windows directory to perform some action on them? It sounds almost like Cygwin, but that's another can of worms...<br><div><div><div><div><div><div><div><div><div><div><div><br><div><div><div><div class="gmail_extra">Any partial solutions or tips you can give me about each of these issues is already greatly useful to me. I usually end up finding some solutions myself, but it takes a lot of time searching and trying, and if someone had already done exactly the same thing before, well, I'd be glad to learn from them!<br><br></div><div class="gmail_extra">Best regards,<br></div><span class=""><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 1, 2015 at 3:27 PM, Mr. Herr <span dir="ltr"><<a href="mailto:misterherr@freenet.de" target="_blank">misterherr@freenet.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Caveat: this is a general answer, my point of view, and not done with OCaml<br>
<br>
It certainly is technically feasible, depending on your desktop hardware even easy to do.<br>
<br>
You need a VM software. I had good experiences with Virtualbox. With MS solutions you must find the right product for your Win version<br>
(Virtual PC or Hyperv ) - I don't think it will beat Virtualbox in your scenario.<br></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Disk space: starting from 3G for the OS and ~4G for the opam directory, this all depends directly on what you install.<br>
You need quite some compilers, make and tools, and devel packages. Do a pilot install, of course.<br></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Linux distro: any current distribution will do. Performance will not be much of an issue unless you have very weak desktops. I am using virtualbox on my old notebook. But some ocaml package compile times are quite long even on beefy machines (coq comes to mind).<br>
<br>
As for the desktop environment: lighter is better, but not an issue either, even on KDE you can turn off effects and background tasks to speed it up.<br>
Take what you and your students know.<br>
<br>
skipping "... usual software ... coq ..." - is it an ocaml introduction ? :-)<br>
<br>
But:<br>
<br>
There is a big risk of wasting time with subjects not in the centre of your course, especially Linux setup and use.<br>
<br>
This depends directly on the "unix/linux literacy" of your students.<br>
<br>
<br>
/Str.<br>
<br>
<br>
</blockquote></div><br></div></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
<br>_______________________________________________<br>
Teaching mailing list<br>
<a href="mailto:Teaching@lists.ocaml.org">Teaching@lists.ocaml.org</a><br>
<a href="http://lists.ocaml.org/listinfo/teaching" rel="noreferrer" target="_blank">http://lists.ocaml.org/listinfo/teaching</a><br>
<br></blockquote></div><br></div>