[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-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
>>  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-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
>  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-30 Thread William Stein

On Thu, Apr 30, 2009 at 10:05 PM, Robert Bradshaw
 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 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-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  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 Mike Hansen

On Wed, 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.

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

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  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 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  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-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  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-27 Thread 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  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-27 Thread William Stein

On Mon, Apr 27, 2009 at 5:01 PM, Serge Salamanka  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
-~--~~~~--~~--~--~---