David -- please forward the following to the list. On 3/25/07, David Joyner <[EMAIL PROTECTED]> wrote: > Comments below. I am ccing Wiliam Stein, so I did not trim the > email from Alexander as much as I might ordinarily. > > > On 3/25/07, Alexander Konovalov <[EMAIL PROTECTED]> wrote: > > Dear All, > > > > first of all, thank you for responses to David, Jack and Stefan. > > > > I installed SAGE under Windows XP. Hope you would be interested to > > hear some comments about this: > > > > 1) First, you need to install Cygwin for this. I did not find > > information > > on the SAGE site which minimal set of components are needed for this. > > In order to save my time I just installed full version of Cygwin, which > > I anyway would like to have for other purposes. > > > > 2) Then I downloaded SAGE precompiled binaries for Windows. > > I just unpacked them and put them in a proper place, and after this SAGE > > works. However, the download speed was not so good, and was constantly > > decreasing or increasing during the download. On Friday it took me > > several hours to get 150 MB archive. Maybe this is not a problem for > > North American users. > > > First, I think there is now a mirror in Dortmund, Germany. Second, last week > was > a very strange week for the main SAGE server at the Univ of Washington. > It was their "spring break" (I don't know if this is also a European > tradition) and the Math Dept shut their server room down for the > week. You were probably downloading a file from a computer in > William Stein's apartment!
Yes, you were downloading from a slow net connection in my living room. The pre-compiled binaries unfortunately hadn't been sent to the mirrors yet, etc. In the future, the SAGE mirrors will all have the precompiled binaries. Regarding Cygwin, SAGE will continue to support Cygwin. However, with SAGE-2.4 I'm also going to release a VMware virtual machine with SAGE preinstalled. Performance of SAGE under this machine is in many cases better than with Cygwin, *especially* when using code that isn't native to SAGE -- e.g., when using GAP via SAGE the experience is vastly better via the VMware machine, since forks and pseudo tty's work vastly better under Linux than in Windows. Also, the VMware machine will come with exactly the right optimized numerical libraries preinstalled, etc. > > 3) Starting SAGE, I entered the command notebook(), and then I opened > > in my browser the page connecting to http://localhost:8000/. The > > worksheet > > I obtain looks similar to Maple, you can see an example online at > > http://sage.math.washington.edu:8100/ without installing SAGE, though > > that > > server seems to be busy almost all the time (or again this is > > "geographical" > > problem). > > > You are right, this notebook is frequently busy! At work, I've noticed > significant > delays with the SAGE notebook but not at home. This might > be related to how the firewall at work is configured? > Probably, since it usually feels snappy for me.. and I'm on the same network. That said, the server is currently not designed to stand up well to a huge load at once -- this is planned (we need to switch from using Python's SimpleHTTPServer to using Twisted's web server). > > Testing GAP, I discovered that I need to install two additional > > components, > > gap_packages-4.4.9 and database_gap-4.4.9. (if I have separate GAP > > installation, > > it does not matter, and also I was not able to run both SAGE and GAP > > at the > > same time because of various CYGWIN versions (maybe I can fix this with > > recompiling GAP in newly installed CYGWIN, but I did not try)). > > > > Im my quick-test I spotted the following issues: > > > > 4) I noticed some slowdown, in particular, when the output was a long > > list > > of group algebra elements, then instead of returning to the notebook > > all list > > at once, the resulting list was returned one-by-one. I think using the VMware version will help a lot with this sort of thing. We'll see. > > 6) Packages: there seems to be no autoloaded packages: e.g. LAGUNA > > is normally autoloaded, but in SAGE its manual loading was required. > > Such situation means that some package-using code may not work with > > SAGE immediately (or at all, if the package is not GPL'd), and some > > may silently work slowly because of usage of other methods, not those > > from improving packages. I don't know what autoloaded means. But if you load some gap packages then type gap.save_workspace(), then next time you start GAP from SAGE it will start with the saved workspace. This workspace caching is crucial, since it improves the GAP startup time drastically. > > From the SAGE side it would be reasonable to find out why autoloaded > > packages are not loaded. > > > > 7) Name completion seems to be non-available. I mean, there is name > > completion for SAGE commands but not for GAP ones :(( Very > > inconvenient!!! How do you expect it to work? If you do gap.P[tab], you'll get all gap functions that begin in P. Name completion works the same way in all the other interfaces. You can also get interactive help this way, e.g,. gap.PermList? gives help on PermList. By the way, were you using the notebook in Gap mode or SAGE mode? If you start the notebook this way: notebook('gap', system='gap') then any new worksheet you create will evaluate all cells using GAP by default. Also tab completion uses GAP by default too. Unfortunately, we evidently didn't finish implementing this, since the completion list includes "gap." at the front, which is annoying. > > 8) When I change something in the worksheet and then press "Evaluate", > > it does not clear all computations, e.g. if there was some variable in > > the memory, it will exist even if it is not displayed in this worksheet, > > what is potentially dangerous. Evaluate is supposed to evaluate all cells. It is not the intention of evaluate to clear any existing variables or state. That's not the intended behavior. If you want to clear all variables, click the "Restart" button. By the way, use shift-enter to evaluate individual cells. > > first glance opinion. We can continue separate discussion about SAGE > > and I would be happy if somebody will point out that I was wrong in > > some of my observations. But what we likely can all agree, that it is > > a nontrivial task to make use of SAGE notebook under Windows, and its > > disadvantages (in the present version) do not seems a reasonable > > compensation just for user's complains about not having GUI for GAP. > > Also, we are likely not ready to answer user's questions arising not > > from GAP but from SAGE's interface to GAP. I'm not sure what your conclusion is based on the above paragraph. >From my point of view, the options for a GAP GUI are probably the following: (1) Traditional: write something mostly from scratch in the traditional manner using C++ and GUI toolkits, e.g., Qt or Gtk. (2) Web: create a new web-based interface to GAP, like the SAGE notebook but starting from scratch. (3) Collaborate: learn about the SAGE notebook and help improve its usability for GAP, and possibly even make a standalone version that doesn't require the rest of SAGE. Regarding (1), it is straightforward, but requires skills that most mathematicians don't have or want to develop. Also, since you can do *anything* with GUI design, it's really easy to make a total mess of things, as one can see in literally thousands of open source (and otherwise) GUI's out there. Moreover, it's an absolutely horrendous amount of work to get something up and running that is useful and feels professional; see programs like xmaxima to see how even setting the fonts can be both hard to implement and done badly. Basically, I think all math software that has succeeded at (1) has done so by starting a company, hiring 10-40 people, and getting VC funding. Moreover, once you do this making everything work on a range of OS's is a continual source of pain. And, once you've done this you still have no web interface, which is what everybody wants these days. Regarding (2), this is exactly what I chose to do with SAGE 1 year ago. This is better than (1) since a *huge* amount of annoying work, which no self-respecting mathematician wants to do, is already done. By taking this approach you don't have to write massive amounts of code to deal with window resizing, font selection, printing, etc., and what you write is amazingly cross-platform (though getting it to work on many web browsers is hard). That said, writing the SAGE notebook was incredibly frickin' hard, and took a year of off and on work by three people to get to it's current state. Of course, it would be easier to replicate today, since you have the SAGE Notebook as a model, and there are better javascript toolkits out there. I want to emphasize though that many things, e.g., tab completion in a text input area, being able to cancel running computations, having multiple worksheets running at the same time, being able to queue up multiple calculations, etc. were very very tricky to figure out. Other projects (e.g., axiom) have tried to do something like the SAGE notebook before, but failed, I think because they didn't use Python, which provides a huge amount of general purpose networking functionality. Regarding (3), I'm arguing that is what is in your best interest. As far as I know, almost *nobody* has tried working with the SAGE notebook using notebook(system="gap") so if things don't work optimally when doing so, it's not surprising. Moreover, I want to emphasize that it would be possible to create a SAGE/GAP Notebook that would only require Python and some Python libraries, and very little of the rest of SAGE. Indeed, when the SAGE notebook runs, it loads only a small part of the SAGE libraries. Nobody has made a standalone Python package version of the SAGE notebook, which installs into an existing Python install, but it would not only be possible, but would be reasonably easy. It would mainly require creating a modified setup.py. In any case, it would be *vastly* *vastly* easier than doing (1) above, and certainly much easier than (2) as well. I haven't done it, because I have no need to personally. William --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---
