On Mon, Jan 9, 2012 at 7:32 AM, Volker Braun <vbraun.n...@gmail.com> wrote: > Hi Wiliam, > > Karl-Dieter told me that you found some problem with the virtual > machine but he didn't recall any details. What exactly is the issue?
Volker, My perspective changed a lot because I spent so much time during the last week trying to help many mathematicians to install and use Sage at a huge conference, the Sage exhibit booth, and the short course. Here's what I think: (1) Virtual machines (or possibly co-Linux, maybe) is the only thing we should put any effort toward for Windows. A native Microsoft C++ port or a Cygwin port are both a waste of time. I thus strongly applaud your effort to make a VM (and anybody else's). (2) The virtual machine should be as usable as possible, even if networking between the VM and guest can't be configured. This means a GUI, tools (for mouse integration), and at least a web browser are all installed. (3) The networking configuration in Linux (inside the VM) needs to be very robust. I realize that some of this is philosophically different than what you think about how a VM should be made for Sage, so I'll do my best to justify my opinions below. DETAILS: (1) I've *used* Sage on Cygwin and worked a lot on the port several times. The basic problems are that (a) Cygwin is 32-bit only, (b) forking in windows is massively fubar'd and very slow, (c) DLL "rebasing" makes Sage-on-cygwin brittle and insane. A massive problem with a native port is that even if it were done (a big if), it would be far, far too much work to maintain as new versions of components of Sage are constantly updated and released, Windows is updated, etc.; we can't even keep up with OS X releases, where every component is well supported. (2) I can't tell you how many times during the last week that I watched somebody load the Sage VM, see a textbox telling them to browse to localhost, try to copy it and have their cursor get stuck in the VM, think their computer crashed, etc., then type it in by hand somewhere and mess up (e.g., type https instead). Then once they do all that it often doesn't work anyways. Windows networking on a laptop is a random beast, often firewalled and fubar'd by mandatory antivirus software, and half broken. If people have downloaded and installed Sage, let's at least give them something that immediately works with 99% probability: have the VM boot up with Firefox pre-logged into a running local notebook server and mouse integration so the mouse doesn't get stuck and copy-paste works. It's definitely possible to do this and not use a lot of disk space by running from a compressed filesystem (with an overlay so you still have read/write -- I've done it before). I remember doing this with only about 600MB of disk space used *after* extracting the zip. (3) Often when I investigated further I would find that eth0 had turned into eth1 on bootup, which completely kills everything from the user's point of view (though the user doesn't even get an error message!). Nearly anybody using MS Windows is going to be completely stuck when the solution is: "configure the eth1 interface, run the notebook command manually from the command line, and memorize a random-looking 4-digit ip address". I've made VM's for Sage for years (before I ran out of steam around a year ago), and I remember spending a lot of time dealing via Python scripts with the possibility that Linux renames eth0 to eth1, etc. It seems the current VM doesn't successfully do this. Anyway, I'm just reporting on what I saw last week. I know that making VM's is really difficult, can take a huge amount of time, and testing them is even harder yet. But I'm all for it, since I think a good VM has the best chance of addressing the "Sage-for-Windows" problem. However, I think that the solutions offered so far (by me, you, and others) for a Sage VM on Windows have simply failed to solve the problem. I think co-Linux is also worth looking at again. It's cool because it is *not* a virtual machine (you can even install Windows in VirtualBox, and install co-Linux into that Windows install). It has direct access to the windows filesystem, the network, etc., just like a normal application. But it's Linux. I just checked their website (http://www.colinux.org/), and they made a release a few months ago, and also claim to have new corporate sponsorship for a 64-bit port. -- William -- William Stein Professor of Mathematics University of Washington http://wstein.org -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org