On Fri, Jul 24, 2009 at 3:04 AM, Harald Schilly<harald.schi...@gmail.com> wrote:
>
> On Jul 23, 7:09 pm, rjf <fate...@gmail.com> wrote:
>> Regarding Sage running on a server:  some of the components may be
>> sufficiently general as to pose hazards in a server environment.  For
>> example, Maxima can create and delete files, quickly fill up all
>> available memory, etc.  I would guess that other components are also
>> hazardous.  It seems to me that the only practical solution is to run
>> Sage in a virtual machine on the server, which may be costly. Is that
>> what is being proposed?
>
> yes, a c compiler is also a requirement for sage, therefore
> potentially everything could happen.
> uhm, i think, a possible way would be to split data and processing.
> this means, there is a central switch point from the outside network,
> it knows about many sage systems running in virtual environments (one
> benefit is, that they can be reset very quickly, restoring their
> files, ...) and it picks one of them for a user. on the "back side" is
> a data storage for each user, that is also connected to the selected
> sage instance. if a sage fails, just the session is killed, not the
> data.

In Barcelona, we came up with a pretty good way of dealing with these
sorts of problems.  The server runs in one virtual machine, and all
computation happens in a completely separate locked-down virtual
machine (or group of virtual machines) that is reset once every hour.
That machine has separate unix accounts for each user, hence all unix
security controls can be used (it could run either Solaris or Linux).

> also about the hazards, it should be possible to make things more
> secure. but that's complicated. one thing that comes to my mind with
> compiling c code is the "native client" approach by google. it tries
> to run native code inside a webbrowser. to avoid hazards, there is a
> checker for the compiled code before it is executed!
> http://code.google.com/p/nativeclient/
> http://nativeclient.googlecode.com/svn/data/docs_tarball/nacl/googleclient/native_client/documentation/nacl_paper.pdf
> I don't know the details, but Sage has a similar "problem" ;)
>
>>
>> Regarding Sage adoption by schools -- there is a large literature on
>> computer algebra and teaching.[...] Will using Sage help
>> weak students? Also for many students, math courses are an (unwelcome)
>> requirement. Will they change because of Sage?
>> ....
>>  If a student just doesn't understand (say)  what is a function, or
>> what is a group, will a computer program help?
>
> Uhm, i think that's too complicated to say anything definitely about
> those questions. Although they are very important.
>
> I think, one very useful and interesting "test" could be the
> following: stick together three average students (not only maths, also
> physics ...) without any or only limited prior knowledge of Sage, with
> Sage on one PC and let them do their homework together on that
> computer. a video cam watches them and also one for the monitor! I
> expect them to get angry and probably fail to use Sage, but that would
> give a lot of information how they tried to use the product, where
> they expected things to be, and so on.

I taught a Sage course last quarter.  Twice a week (for an hour each),
I watched about 20-25 students do exactly the above (literally, they
did their homework, etc.), all using http://*.sagenb.org.    I just
wondered around the room to offer help and watch, but most of the time
the students were on their own (there is only 1 of me and 25 of them).
  Most students get so involved in problem solving that they do not
even know I'm around (hence the whole video tape thing is not so
relevant, IMHO).   I've also done the same thing when I taught several
tutorials in the last few months -- at an MAA meeting, in industry,
and to about 35 Catalan-speaking open source tech geeks in Barcelona.

Some conclusions: People generally do not get really angry.  Often
people report that they find Sage easier to use than they find the
Ma*'s.   People *do* find bugs -- there are still too many.  Tab
completion and introspection (like IPython made popular) really works.

Another conclusion: The "report a bug feature" in the notebook is not
very good (sorry -- it's way too complicated and asks a bunch of
questions whose answers are already known to the running Sage
worksheet process).  Compare the "Report a Bug" link in the notebook
to say the "report a bug" process in OS X, where it just pops up a
window and says "report? [yes] [no]" and the user clicks a button --
all relevant information is then sent.   This should be rewritten to
send the whole worksheet, say.

> And yes, I think it would help some students to understand what a
> group or ring is if it is programmable in sage - but I say only some,
> others might be confused or more happy with another approach! I think
> there is no golden way that fits for all students, but more
> opportunities and more representations of the same idea help to
> abstract it.

Groups and rings have been around over a hundred years, are one of the
most basic ideas in mathematics, and the basic definitions can be
learned by any math undergrad in a few hours.  They should all learn
what groups and rings are.   This remark really has nothing to do with
Sage.

 -- William

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to