[sage-support] Re: SageWorld

2009-05-04 Thread Serge A. Salamanka

See inline below.


Robert Bradshaw пишет:
 On Apr 30, 2009, at 10:13 PM, William Stein wrote:
 
 On Thu, Apr 30, 2009 at 10:05 PM, Robert Bradshaw
 rober...@math.washington.edu wrote:
 On Apr 29, 2009, at 3:00 PM, Serge Salamanka wrote:

 Is it a good idea to share objects between python processes with the
 help of any database ?
 Can't still find any decent tool for sharing objects. Saving and
 loading
 them in Sage seems to be a simple approach for user but not for an
 application to run.
 Though this isn't quite what you're looking for, it would be nice to
 be able to publish an object just like one publishes a worksheet on
 a public server. It would then give a url where the .sobj can be
 downloaded (by anyone, so to send you an object I would write in a
 notebook cell)

 publish(a)
 http://sagenb.org/pub/unique_name.sobj

 which would return a url that's good as long as the server is live,
 and you could send it to someone (e.g. via email or chat) and they
 could load it with load(http://sagenb.org/pub/unique_name.sobj;).
  From the command line it could perhaps just save it as a file and
 return the filename.

 You can already do this.  In a worksheet, just do

 save(a,'a.sobj')

 then publish the worksheet that contains a, then there will be a link
 to the sobj.
 E.g., I just published http://sagenb.org/home/pub/505/ which contains
 such a link:

http://sagenb.org/home/pub/505/cells/2/a.sobj

 Now anybody can do:

 teragon:~ wstein$ sage
 --
 | Sage Version 3.4.1, Release Date: 2009-04-21   |
 | Type notebook() for the GUI, and license() for information.|
 --
 sage: a = load('http://sagenb.org/home/pub/505/cells/2/a.sobj')
 Attempting to load remote file: http://sagenb.org/home/pub/505/ 
 cells/2/a.sobj
 Loading: [.]
 sage: a
 'e!'
 
 Ah, yes, you can. I still think it might be handy to be able to just  
 publish objects detached from worksheets though. Taken one step  

Yes, this could be useful indeed.


 further, being able to  push them too to a public place (though  
 this opens a whole can of authentication/security issues).

Well, this is very easy in gLite.
One would have to  just save an object and copy it to the public space
in Grid storage information system.

I might make this possible for SAGE some time.

There is also an idea to use RSS feeds for spreading information about
published objects and notebooks. (see my post Sage RSS reader in
firefox and .xml .rss in SAGE)

# Serge

 
 - Robert
 
 
  
 

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



[sage-support] Re: SageWorld

2009-05-04 Thread Serge A. Salamanka

I describe the idea and technical issues in more details here:

http://sageworldmath.blogspot.com/

# Serge

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



[sage-support] Re: SageWorld

2009-04-30 Thread Robert Bradshaw

On Apr 29, 2009, at 3:00 PM, Serge Salamanka wrote:

 Is it a good idea to share objects between python processes with the
 help of any database ?
 Can't still find any decent tool for sharing objects. Saving and  
 loading
 them in Sage seems to be a simple approach for user but not for an
 application to run.

Though this isn't quite what you're looking for, it would be nice to  
be able to publish an object just like one publishes a worksheet on  
a public server. It would then give a url where the .sobj can be  
downloaded (by anyone, so to send you an object I would write in a  
notebook cell)

publish(a)
http://sagenb.org/pub/unique_name.sobj

which would return a url that's good as long as the server is live,  
and you could send it to someone (e.g. via email or chat) and they  
could load it with load(http://sagenb.org/pub/unique_name.sobj;).  
 From the command line it could perhaps just save it as a file and  
return the filename.

- Robert


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



[sage-support] Re: SageWorld

2009-04-30 Thread William Stein

On Thu, Apr 30, 2009 at 10:05 PM, Robert Bradshaw
rober...@math.washington.edu wrote:

 On Apr 29, 2009, at 3:00 PM, Serge Salamanka wrote:

 Is it a good idea to share objects between python processes with the
 help of any database ?
 Can't still find any decent tool for sharing objects. Saving and
 loading
 them in Sage seems to be a simple approach for user but not for an
 application to run.

 Though this isn't quite what you're looking for, it would be nice to
 be able to publish an object just like one publishes a worksheet on
 a public server. It would then give a url where the .sobj can be
 downloaded (by anyone, so to send you an object I would write in a
 notebook cell)

 publish(a)
 http://sagenb.org/pub/unique_name.sobj

 which would return a url that's good as long as the server is live,
 and you could send it to someone (e.g. via email or chat) and they
 could load it with load(http://sagenb.org/pub/unique_name.sobj;).
  From the command line it could perhaps just save it as a file and
 return the filename.


You can already do this.  In a worksheet, just do

save(a,'a.sobj')

then publish the worksheet that contains a, then there will be a link
to the sobj.
E.g., I just published http://sagenb.org/home/pub/505/ which contains
such a link:

   http://sagenb.org/home/pub/505/cells/2/a.sobj

Now anybody can do:

teragon:~ wstein$ sage
--
| Sage Version 3.4.1, Release Date: 2009-04-21   |
| Type notebook() for the GUI, and license() for information.|
--
sage: a = load('http://sagenb.org/home/pub/505/cells/2/a.sobj')
Attempting to load remote file: http://sagenb.org/home/pub/505/cells/2/a.sobj
Loading: [.]
sage: a
'e!'

William

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



[sage-support] Re: SageWorld

2009-04-30 Thread Robert Bradshaw

On Apr 30, 2009, at 10:13 PM, William Stein wrote:

 On Thu, Apr 30, 2009 at 10:05 PM, Robert Bradshaw
 rober...@math.washington.edu wrote:

 On Apr 29, 2009, at 3:00 PM, Serge Salamanka wrote:

 Is it a good idea to share objects between python processes with the
 help of any database ?
 Can't still find any decent tool for sharing objects. Saving and
 loading
 them in Sage seems to be a simple approach for user but not for an
 application to run.

 Though this isn't quite what you're looking for, it would be nice to
 be able to publish an object just like one publishes a worksheet on
 a public server. It would then give a url where the .sobj can be
 downloaded (by anyone, so to send you an object I would write in a
 notebook cell)

 publish(a)
 http://sagenb.org/pub/unique_name.sobj

 which would return a url that's good as long as the server is live,
 and you could send it to someone (e.g. via email or chat) and they
 could load it with load(http://sagenb.org/pub/unique_name.sobj;).
  From the command line it could perhaps just save it as a file and
 return the filename.


 You can already do this.  In a worksheet, just do

 save(a,'a.sobj')

 then publish the worksheet that contains a, then there will be a link
 to the sobj.
 E.g., I just published http://sagenb.org/home/pub/505/ which contains
 such a link:

http://sagenb.org/home/pub/505/cells/2/a.sobj

 Now anybody can do:

 teragon:~ wstein$ sage
 --
 | Sage Version 3.4.1, Release Date: 2009-04-21   |
 | Type notebook() for the GUI, and license() for information.|
 --
 sage: a = load('http://sagenb.org/home/pub/505/cells/2/a.sobj')
 Attempting to load remote file: http://sagenb.org/home/pub/505/ 
 cells/2/a.sobj
 Loading: [.]
 sage: a
 'e!'

Ah, yes, you can. I still think it might be handy to be able to just  
publish objects detached from worksheets though. Taken one step  
further, being able to  push them too to a public place (though  
this opens a whole can of authentication/security issues).

- Robert


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



[sage-support] Re: SageWorld

2009-04-29 Thread Serge A. Salamanka
May be I reinventing bicycle ?

Could anyone comment whether something familiar has been already known ?

I want to play mathematics with my kid and colleagues with the help of Sage.
Is it a bad idea ?

Serge A. Salamanka

Serge Salamanka пишет:
 This is very simple and effective but not for the task I'm heading for.
 
 It might be better to start from the idea itself.
 
 SageWorld is mathematical world where everyone could create mathematical
 objects and operate them to win a certain battle.
 For example, the world in 3D space with physical laws and its constants:
 SageWarrior creates there an object according to the rules existing in
 this SageWorld. SageWarrior owns this object until he is available to
 control its behavior. The task and challenge is to occupy more space or
 to control more objects.
 In a way it is just for the game )))
 But perhaps would be practically useful.
 
 So I need tools to make one separate session for SageWorld with its own
 behavior and the tools to connect to this session by users and
 manipulate objects.
 Thus the SageWar begins. :)
 
 Serge
 
 William Stein пишет:
 On Mon, Apr 27, 2009 at 5:01 PM, Serge Salamanka salsa-...@tut.by wrote:
 Hello,

 I wonder how it is possible to make a common shared objects space for
 all of the users on the Sage server ?
 If X is any object in any Sage session then any user can type

 save(X, '/tmp/name.sobj')

 and any other user can load X by typing

 X = load('/tmp/name.sobj')

 That basically accomplishes what you asked for, right?

  -- William
 The idea is to make available the mathematical space to users providing
 that they all can have access from within their own sessions to a common
 session.

 As far as I understand:
 I propose to install server as multiuser app with unix accounts.
 Each user runs IPython shell when working with Sage (also from notebook).
 There is a need to make the user objects accessible to others (say, like
 to work in the same session).
 The best would be even to use ACLs for controlling access to objects
 (say, another user cannot modify object but only read and use it).

 Could you please point me to the right direction.

 I suppose I should look for this somewhere in python functionality ?

 Comments are welcome.

 Serge



 
  
 

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

begin:vcard
fn:Serge A. Salamanka
n:Salamanka;Serge A.
org:National Academy of Sciences of Belarus;Laboratory of High Performance Systems
adr:;;;Minsk;;;Belarus
email;internet:salsa-...@tut.by
title:Software engineer
x-mozilla-html:FALSE
version:2.1
end:vcard



[sage-support] Re: SageWorld

2009-04-29 Thread Serge Salamanka

Is it a good idea to share objects between python processes with the
help of any database ?
Can't still find any decent tool for sharing objects. Saving and loading
them in Sage seems to be a simple approach for user but not for an
application to run.

Serge


Serge Salamanka пишет:
 I found Pyro with exceptional functionality.
 pyro.sourceforge.net
 This might be used for the purpose?
 
 I just need to make easily accessible the objects that other user
 creates during his session and also share my objects.
 Better this would be fully automated rather than loading/saving
 
 William Stein пишет:
 On Mon, Apr 27, 2009 at 5:01 PM, Serge Salamanka salsa-...@tut.by wrote:
 Hello,

 I wonder how it is possible to make a common shared objects space for
 all of the users on the Sage server ?
 If X is any object in any Sage session then any user can type

 save(X, '/tmp/name.sobj')

 and any other user can load X by typing

 X = load('/tmp/name.sobj')

 That basically accomplishes what you asked for, right?

  -- William
 The idea is to make available the mathematical space to users providing
 that they all can have access from within their own sessions to a common
 session.

 As far as I understand:
 I propose to install server as multiuser app with unix accounts.
 Each user runs IPython shell when working with Sage (also from notebook).
 There is a need to make the user objects accessible to others (say, like
 to work in the same session).
 The best would be even to use ACLs for controlling access to objects
 (say, another user cannot modify object but only read and use it).

 Could you please point me to the right direction.

 I suppose I should look for this somewhere in python functionality ?

 Comments are welcome.

 Serge



 
  
 

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



[sage-support] Re: SageWorld

2009-04-29 Thread Mike Hansen

On Wed, Apr 29, 2009 at 3:00 PM, Serge Salamanka salsa-...@tut.by wrote:

 Is it a good idea to share objects between python processes with the
 help of any database ?
 Can't still find any decent tool for sharing objects. Saving and loading
 them in Sage seems to be a simple approach for user but not for an
 application to run.

I think you might find it easier if you had only one Sage process and
then wrote a client for multiple users to connect to that

--Mike

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



[sage-support] Re: SageWorld

2009-04-29 Thread Serge Salamanka

Thank you, Mike

Let's say, I run a Sage process on some python code which creates a
space and sets variables and constants, starts time and log, loads
objects and does manipulations with them, writes back the state of the
objects.

From user side I have to:
- create object,
- share it somehow with Sage,
- have access to manipulate it (others should not be able to do that),
- get the state of my object and other objects in the space,
- decide what to do with my object: transform it or move it, either smth
else,
- share these changes with Sage.

Ex., I follow picture of 2D graph where I have a circle to be my object
in sageworld.
Someone else joins in and draws a square somewhere close.
Sage code checks that objects do not intercept.
I need to swallow up that square.
I write code for necessary transformations taking into account
restrictions and all the rules of the sageworld and send it to a sage
session.
On the other end, the user which has a square looks at his 2d graph and
sees that circle has begun transforming in a strange way. The task of
that user is to avoid swallowing of his square by the circle. He makes
the necessary precautions and sends the code to sageworld.

This is a simple thing what I want to do.

Sorry, if I described it very silly.

But just to illustrate that writing a client may be is not the way to
accomplish the task ... ???
I don't know.

But thank you for the idea

Serge

Mike Hansen пишет:
 On Wed, Apr 29, 2009 at 3:00 PM, Serge Salamanka salsa-...@tut.by wrote:
 Is it a good idea to share objects between python processes with the
 help of any database ?
 Can't still find any decent tool for sharing objects. Saving and loading
 them in Sage seems to be a simple approach for user but not for an
 application to run.
 
 I think you might find it easier if you had only one Sage process and
 then wrote a client for multiple users to connect to that
 
 --Mike
 
  
 

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



[sage-support] Re: SageWorld

2009-04-27 Thread William Stein

On Mon, Apr 27, 2009 at 5:01 PM, Serge Salamanka salsa-...@tut.by wrote:

 Hello,

 I wonder how it is possible to make a common shared objects space for
 all of the users on the Sage server ?

If X is any object in any Sage session then any user can type

save(X, '/tmp/name.sobj')

and any other user can load X by typing

X = load('/tmp/name.sobj')

That basically accomplishes what you asked for, right?

 -- William

 The idea is to make available the mathematical space to users providing
 that they all can have access from within their own sessions to a common
 session.

 As far as I understand:
 I propose to install server as multiuser app with unix accounts.
 Each user runs IPython shell when working with Sage (also from notebook).
 There is a need to make the user objects accessible to others (say, like
 to work in the same session).
 The best would be even to use ACLs for controlling access to objects
 (say, another user cannot modify object but only read and use it).

 Could you please point me to the right direction.

 I suppose I should look for this somewhere in python functionality ?

 Comments are welcome.

 Serge

 




-- 
William Stein
Associate Professor of Mathematics
University of Washington
http://wstein.org

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



[sage-support] Re: SageWorld

2009-04-27 Thread Serge Salamanka

I found Pyro with exceptional functionality.
pyro.sourceforge.net
This might be used for the purpose?

I just need to make easily accessible the objects that other user
creates during his session and also share my objects.
Better this would be fully automated rather than loading/saving

William Stein пишет:
 On Mon, Apr 27, 2009 at 5:01 PM, Serge Salamanka salsa-...@tut.by wrote:
 Hello,

 I wonder how it is possible to make a common shared objects space for
 all of the users on the Sage server ?
 
 If X is any object in any Sage session then any user can type
 
 save(X, '/tmp/name.sobj')
 
 and any other user can load X by typing
 
 X = load('/tmp/name.sobj')
 
 That basically accomplishes what you asked for, right?
 
  -- William
 The idea is to make available the mathematical space to users providing
 that they all can have access from within their own sessions to a common
 session.

 As far as I understand:
 I propose to install server as multiuser app with unix accounts.
 Each user runs IPython shell when working with Sage (also from notebook).
 There is a need to make the user objects accessible to others (say, like
 to work in the same session).
 The best would be even to use ACLs for controlling access to objects
 (say, another user cannot modify object but only read and use it).

 Could you please point me to the right direction.

 I suppose I should look for this somewhere in python functionality ?

 Comments are welcome.

 Serge

 
 
 

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