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

Reply via email to