[sage-devel] Re: Project: LatticeWithIsometry

2016-09-09 Thread Simon Brandhorst
Dear Dima,
sorry for taking such a long time to answer your question. 
I'd say it could do a lot of stuff involving over and sublattices. But then 
it seems like Alex is counting orbits. You'd have to build on top of my 
code to achieve that. 
For my purposes it sufficed to consider a single isometry at a time.

Best
--Simon

On Tuesday, September 6, 2016 at 3:08:56 PM UTC+2, Dima Pasechnik wrote:
>
>
>
> On Tuesday, September 6, 2016 at 9:20:55 AM UTC, Simon Brandhorst wrote:
>>
>> Dear all,
>>
>> I have written some code (toy implementation) in sage. It could be useful 
>> for other people as well.
>> So now I am wondering whether I should make an effort to implement it 
>> meeting the sage-devel standards.
>> How good are the chances for such a project to be included in the sage 
>> source code?
>>
>>
>> So here is the project: LatticeWithIsometry
>> where a lattice L is a free abelian group equipped with a non-degenerate 
>> symmetric bilinear form (ZZ or QQ valued). An isometry f is a ZZ-Module 
>> automorphism preserving the bilinear form. 
>> So we want to model (L,f)
>>
>> Functionality:
>> - constructor for ideal lattices - that is lattices (+isometries) cooked 
>> up from irreducible reciprocal polynomials (think of the cyclotomic 
>> polynomials) and their trace forms
>> - gluing of lattices. That is taking a direct sum
>> (L,f) + (N,g) and getting integral overlattices compatible with (f,g).
>> - describing the action of the isometry on sub/super lattices such as the 
>> dual lattice L' or quotients such as the discriminant group L'/L
>> - a method to decide whether a given isometry of a hyperbolic lattice 
>> preserves a chamber of the positive cone cut out by the root hyperplanes 
>> (this relates to Weyl groups)
>>
>> A possible reference for this is:
>> http://www.math.harvard.edu/~ctm/papers/home/text/papers/pos/pos.pdf
>>
>> My personal aim in this is to model integral hodge isometries of K3 
>> surfaces or IHSMs.
>>
>
> Sounds like a lot of fun; my latest personal foray into this was doing 
> some computations in 
> http://arxiv.org/abs/1604.05836
> (with Lemma 2.11 attributed to me :-))
> and I'm still trying to understand whether I can publish anything 
> meaningful out of it.
>
> It would be interesting to what extent your package can do computations in 
> that paper.
>
> Just in case,
> Dima
>   
>
>>
>>
>> I also wonder how this would fit into the sage world. Should this inherit 
>> from quadratic forms ? (feels wrong) or is there some lattice class out 
>> there?
>> Since I am new in sage, writing a whole lattice class seems to be too 
>> much work for me (and well above my level of experience). 
>>
>> There seem to have been previous discussions about lattices e.g.
>>
>> Discussion in Sage devel:
>>
>>
>> https://groups.google.com/forum/#!searchin/sage-devel/lattice|sort:relevance/sage-devel/OO0ADcuraqE/mUG5_UrYFD4J
>> and
>>
>> https://groups.google.com/forum/#!searchin/sage-devel/lattice$20-poset|sort:relevance/sage-devel/KTmqIcav9e4/wWdiQ71PWVYJ
>>
>> There also seem to have been previous attempts for implementing lattices
>> such as 
>> https://trac.sagemath.org/ticket/11940
>> https://trac.sagemath.org/ticket/15976
>>
>>
>> What has happened to them?
>>
>> Or the rather incomplete FreeQuadraticModule
>>
>> http://doc.sagemath.org/html/en/reference/modules/sage/modules/free_quadratic_module.html
>> which claims to have non trivial functionality over ZZ - I couldn't find 
>> any. 
>>
>>
>>
>> Simon
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: LatticeWithIsometry

2016-09-06 Thread Sébastien Labbé

On Tuesday, September 6, 2016 at 11:20:55 AM UTC+2, Simon Brandhorst wrote:
>
> Dear all,
>

Dear Simon,
 

>
> I have written some code (toy implementation) in sage. It could be useful 
> for other people as well.
>

That is nice! I am sure it could be useful to other.
 

> So now I am wondering whether I should make an effort to implement it 
> meeting the sage-devel standards.
>

Of course you should. The main reason being that your research will benefit 
from having doctested and documented code: you will trust your code.
 

> How good are the chances for such a project to be included in the sage 
> source code?
>
 
I have seen so many times modules trying to get into Sage with difficulty 
for bad and also for good reasons. Good reasons being that for a module to 
get into Sage, it needs to be mature (changing its interface requires 
deprecation warnings after it gets into sage...)

What I would strongly suggest you to do is to create your own pip 
installable package and share its existence to sage-devel. This will make 
it easy for people to try your code, easy for you to change its interface 
if you want, including backward incompatible changes...

The question of merging the code into sage will come by itself later once 
your code and its interface becomes stable, once your code meets the 
sage-devel standards (if it happens that you have time to do so: the best 
thing being to write code directly meeting the sage standards that being 
said) and more importantly once the community has decided that your code 
must live longer than yourself working on this project.

Cheers!

Sébastien Labbé

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: LatticeWithIsometry

2016-09-06 Thread Simon Brandhorst
O.K. It seems there is some functionality for positive definite lattices in 
https://trac.sagemath.org/ticket/15976 and it hides in the sage source :). 
However I could not find anything for Indefinite "lattices". 

On Tuesday, September 6, 2016 at 11:20:55 AM UTC+2, Simon Brandhorst wrote:
>
> Dear all,
>
> I have written some code (toy implementation) in sage. It could be useful 
> for other people as well.
> So now I am wondering whether I should make an effort to implement it 
> meeting the sage-devel standards.
> How good are the chances for such a project to be included in the sage 
> source code?
>
>
> So here is the project: LatticeWithIsometry
> where a lattice L is a free abelian group equipped with a non-degenerate 
> symmetric bilinear form (ZZ or QQ valued). An isometry f is a ZZ-Module 
> automorphism preserving the bilinear form. 
> So we want to model (L,f)
>
> Functionality:
> - constructor for ideal lattices - that is lattices (+isometries) cooked 
> up from irreducible reciprocal polynomials (think of the cyclotomic 
> polynomials) and their trace forms
> - gluing of lattices. That is taking a direct sum
> (L,f) + (N,g) and getting integral overlattices compatible with (f,g).
> - describing the action of the isometry on sub/super lattices such as the 
> dual lattice L' or quotients such as the discriminant group L'/L
> - a method to decide whether a given isometry of a hyperbolic lattice 
> preserves a chamber of the positive cone cut out by the root hyperplanes 
> (this relates to Weyl groups)
>
> A possible reference for this is:
> http://www.math.harvard.edu/~ctm/papers/home/text/papers/pos/pos.pdf
>
> My personal aim in this is to model integral hodge isometries of K3 
> surfaces or IHSMs.
>
>
> I also wonder how this would fit into the sage world. Should this inherit 
> from quadratic forms ? (feels wrong) or is there some lattice class out 
> there?
> Since I am new in sage, writing a whole lattice class seems to be too much 
> work for me (and well above my level of experience). 
>
> There seem to have been previous discussions about lattices e.g.
>
> Discussion in Sage devel:
>
>
> https://groups.google.com/forum/#!searchin/sage-devel/lattice|sort:relevance/sage-devel/OO0ADcuraqE/mUG5_UrYFD4J
> and
>
> https://groups.google.com/forum/#!searchin/sage-devel/lattice$20-poset|sort:relevance/sage-devel/KTmqIcav9e4/wWdiQ71PWVYJ
>
> There also seem to have been previous attempts for implementing lattices
> such as 
> https://trac.sagemath.org/ticket/11940
> https://trac.sagemath.org/ticket/15976
>
>
> What has happened to them?
>
> Or the rather incomplete FreeQuadraticModule
>
> http://doc.sagemath.org/html/en/reference/modules/sage/modules/free_quadratic_module.html
> which claims to have non trivial functionality over ZZ - I couldn't find 
> any. 
>
>
>
> Simon
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: LatticeWithIsometry

2016-09-06 Thread Dima Pasechnik


On Tuesday, September 6, 2016 at 9:20:55 AM UTC, Simon Brandhorst wrote:
>
> Dear all,
>
> I have written some code (toy implementation) in sage. It could be useful 
> for other people as well.
> So now I am wondering whether I should make an effort to implement it 
> meeting the sage-devel standards.
> How good are the chances for such a project to be included in the sage 
> source code?
>
>
> So here is the project: LatticeWithIsometry
> where a lattice L is a free abelian group equipped with a non-degenerate 
> symmetric bilinear form (ZZ or QQ valued). An isometry f is a ZZ-Module 
> automorphism preserving the bilinear form. 
> So we want to model (L,f)
>
> Functionality:
> - constructor for ideal lattices - that is lattices (+isometries) cooked 
> up from irreducible reciprocal polynomials (think of the cyclotomic 
> polynomials) and their trace forms
> - gluing of lattices. That is taking a direct sum
> (L,f) + (N,g) and getting integral overlattices compatible with (f,g).
> - describing the action of the isometry on sub/super lattices such as the 
> dual lattice L' or quotients such as the discriminant group L'/L
> - a method to decide whether a given isometry of a hyperbolic lattice 
> preserves a chamber of the positive cone cut out by the root hyperplanes 
> (this relates to Weyl groups)
>
> A possible reference for this is:
> http://www.math.harvard.edu/~ctm/papers/home/text/papers/pos/pos.pdf
>
> My personal aim in this is to model integral hodge isometries of K3 
> surfaces or IHSMs.
>

Sounds like a lot of fun; my latest personal foray into this was doing some 
computations in 
http://arxiv.org/abs/1604.05836
(with Lemma 2.11 attributed to me :-))
and I'm still trying to understand whether I can publish anything 
meaningful out of it.

It would be interesting to what extent your package can do computations in 
that paper.

Just in case,
Dima
  

>
>
> I also wonder how this would fit into the sage world. Should this inherit 
> from quadratic forms ? (feels wrong) or is there some lattice class out 
> there?
> Since I am new in sage, writing a whole lattice class seems to be too much 
> work for me (and well above my level of experience). 
>
> There seem to have been previous discussions about lattices e.g.
>
> Discussion in Sage devel:
>
>
> https://groups.google.com/forum/#!searchin/sage-devel/lattice|sort:relevance/sage-devel/OO0ADcuraqE/mUG5_UrYFD4J
> and
>
> https://groups.google.com/forum/#!searchin/sage-devel/lattice$20-poset|sort:relevance/sage-devel/KTmqIcav9e4/wWdiQ71PWVYJ
>
> There also seem to have been previous attempts for implementing lattices
> such as 
> https://trac.sagemath.org/ticket/11940
> https://trac.sagemath.org/ticket/15976
>
>
> What has happened to them?
>
> Or the rather incomplete FreeQuadraticModule
>
> http://doc.sagemath.org/html/en/reference/modules/sage/modules/free_quadratic_module.html
> which claims to have non trivial functionality over ZZ - I couldn't find 
> any. 
>
>
>
> Simon
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-08-29 Thread Robert Bradshaw
Replying to an old thread I realized I'd starred...

On Thu, May 29, 2014 at 6:48 PM, kcrisman kcris...@gmail.com wrote:
 Well, I am thankful that my rant led to some pretty substantive discussion.
 Here let me summarize some thoughts.

 A) +1 to having something where a github-like editing thing works.  I've
 used this at least once with matplotlib.  My beef with github is orthogonal
 to the web interface piece.  If there is a good workflow where we can direct
 contributors to make smaller edits on the github mirror and they'll be taken
 care of, that's great.

All pull requests on github turn into tickets, so this easy web
interface flow works now.

 B) I didn't realize that the release manager commits were separate from
 the author ones.  That is strange to me, but I guess it's there.
 Nonetheless, I think that the vast majority of ticket descriptions are (or
 at least start as) fairly half-baked notions of what could be added or
 fixed, and are entirely inappropriate for a commit message to siphon through
 in git log.  Especially since they are so long compared to most commit
 messages (and not for good reasons).

This is an awareness issue--ticket descriptions should be well written
descriptions of what's in the ticket, and now there's further
motivation to do so as they're also stored in the git log when the
ticket in question is closed.

 C) I haven't heard any -1's to Merged in being resuscitated, so maybe that
 should really happen.

 [More thoughts: Robert B: I think Travis' point about doing it near the
 release time is so that people know where to start from.  My whole trouble
 earlier today ended up being because, since it said closed, I assumed the
 Maxima upgrade HAD to be in the latest beta - which it wasn't.  And several
 git pull attempts in my develop branch did nothing, since develop is still
 at 6.3.beta2 as of this writing (on github at least).  As it turned out, it
 wasn't based on the right ticket, so I guess that could have been needs
 work, but it *says* Depends on #13973 so in the old workflow that should
 have been enough (install #13973, then install this one). I feel like this
 is closely related.]

You can still have depends on. The nice thing is that if you merge a
depends on that's already in it's a no-op.

 D) Patchbot?  What patchbot?  At least the colorings aren't working right
 now, it seems.  But I would love to trust that again and not have to rebuild
 trivial things.

Just checked, it's still up. There may eventually be a replacement,
but if you want tickets to get updated faster, run a patchbot client
on your own machine. (You can even configure it to test your
tickets/favorite category first.)

 E) Please everyone let's put Trac #s back in the commit messages, then, if
 the immutability is a barrier there.  Some of the most recent ones are
 completely mystifying.  And then it will be possible to figure out where the
 new code IS in the tree, as opposed to just the merges which can be
 patchbombs.

 --
 You received this message because you are subscribed to the Google Groups
 sage-devel group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to sage-devel+unsubscr...@googlegroups.com.
 To post to this group, send email to sage-devel@googlegroups.com.
 Visit this group at http://groups.google.com/group/sage-devel.
 For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-08-27 Thread kcrisman


 I hope no one minds my resurrecting this, but after having spent a lot of 
 time waiting for Sage to rebuild itself 3 or 4 times, I just discovered 
 this hint, and would like to suggest it make its way onto 
 http://www.sagemath.org/doc/developer/trac.html#section-review-patches, 
 and all other similar pages in the developer guide.

 If that's already in the works, then never mind me; just carry on...

 john perry

 On Saturday, May 31, 2014 8:33:14 AM UTC-5, Volker Braun wrote:

 I've implemented a version of this now. From the README:

 * Review tickets with minimal recompiling. This assumes that you are
   currently on the develop branch, that is, the latest beta. Just
   checking out an older ticket would most likely reset the Sage tree
   to an older version, so you would have to compile older versions of
   packages to make it work. Instead, you can create an anonymous
   (detached HEAD) merge of the ticket and the develop branch::

   $ git trac try 12345



Volker, is this in the current git-trac? 

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-08-27 Thread Volker Braun
yes it is...

On Wednesday, August 27, 2014 1:26:02 PM UTC+1, kcrisman wrote:

 I hope no one minds my resurrecting this, but after having spent a lot of 
 time waiting for Sage to rebuild itself 3 or 4 times, I just discovered 
 this hint, and would like to suggest it make its way onto 
 http://www.sagemath.org/doc/developer/trac.html#section-review-patches, 
 and all other similar pages in the developer guide.

 If that's already in the works, then never mind me; just carry on...

 john perry

 On Saturday, May 31, 2014 8:33:14 AM UTC-5, Volker Braun wrote:

 I've implemented a version of this now. From the README:

 * Review tickets with minimal recompiling. This assumes that you are
   currently on the develop branch, that is, the latest beta. Just
   checking out an older ticket would most likely reset the Sage tree
   to an older version, so you would have to compile older versions of
   packages to make it work. Instead, you can create an anonymous
   (detached HEAD) merge of the ticket and the develop branch::

   $ git trac try 12345



 Volker, is this in the current git-trac? 


-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-08-27 Thread kcrisman


On Wednesday, August 27, 2014 8:33:24 AM UTC-4, Volker Braun wrote:

 yes it is...


But it's not even in http://www.sagemath.org/doc/developer/git_trac.html

Presumably the development of git trac should be pretty tightly connected 
to that document.  We keep telling people to read it, after all.

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-08-27 Thread Volker Braun
You don't need to know about that particular subcommand to develop, its 
just a bandaid until we have a better build system. There are plenty other 
git concepts and subcommands that can definitely be useful in certain 
circumstances, but aren't really necessary to work on a ticket. 



On Wednesday, August 27, 2014 4:08:23 PM UTC+1, kcrisman wrote:



 On Wednesday, August 27, 2014 8:33:24 AM UTC-4, Volker Braun wrote:

 yes it is...


 But it's not even in http://www.sagemath.org/doc/developer/git_trac.html

 Presumably the development of git trac should be pretty tightly connected 
 to that document.  We keep telling people to read it, after all.


-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-08-26 Thread john_perry_usm
I hope no one minds my resurrecting this, but after having spent a lot of 
time waiting for Sage to rebuild itself 3 or 4 times, I just discovered 
this hint, and would like to suggest it make its way 
onto http://www.sagemath.org/doc/developer/trac.html#section-review-patches, 
and all other similar pages in the developer guide.

If that's already in the works, then never mind me; just carry on...

john perry

On Saturday, May 31, 2014 8:33:14 AM UTC-5, Volker Braun wrote:

 I've implemented a version of this now. From the README:

 * Review tickets with minimal recompiling. This assumes that you are
   currently on the develop branch, that is, the latest beta. Just
   checking out an older ticket would most likely reset the Sage tree
   to an older version, so you would have to compile older versions of
   packages to make it work. Instead, you can create an anonymous
   (detached HEAD) merge of the ticket and the develop branch::

   $ git trac try 12345

   This will only touch files that are really modified by the
   ticket. In particular, if only Python files are changed by the
   ticket (which is true for most tickets) then you just have to run
   `sage -b` to rebuild the Sage library. When you are finished
   reviewing, just checkout a named branch. For example::

   $ git checkout develop
  
   If you want to edit the ticket branch (that is, add additional
   commits) you cannot use `git trac try`. You must use `git trac
   checkout` to get the actual ticket branch as a starting point.


 On Saturday, May 31, 2014 2:31:16 AM UTC+1, Dima Pasechnik wrote:

 I asked for essentially this functionality to be in git trac, see 
 https://github.com/sagemath/git-trac-command/issues/13 



-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-31 Thread Volker Braun
On Saturday, May 31, 2014 1:42:44 AM UTC+1, Dima Pasechnik wrote:

 everything, as for rebuilding docs nothing short of make distclean  
 make works. 


sage -sync-build  sage -b  make doc-clean  make doc

almost always works (there has been maybe one case where it didn't, and 
that was pretty f-ed up).
 

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-31 Thread Volker Braun
On Friday, May 30, 2014 5:11:08 PM UTC+1, kcrisman wrote:

 Right, but the problem is that currently I am uploading it ;-)


Which is exactly why it ought to be difficult to make wrong-way merges in a 
branch, so that you can't accidentally/misguidedly upload without 
understanding enough of git to know that it is wrong.



-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-31 Thread Volker Braun
I've implemented a version of this now. From the README:

* Review tickets with minimal recompiling. This assumes that you are
  currently on the develop branch, that is, the latest beta. Just
  checking out an older ticket would most likely reset the Sage tree
  to an older version, so you would have to compile older versions of
  packages to make it work. Instead, you can create an anonymous
  (detached HEAD) merge of the ticket and the develop branch::

  $ git trac try 12345

  This will only touch files that are really modified by the
  ticket. In particular, if only Python files are changed by the
  ticket (which is true for most tickets) then you just have to run
  `sage -b` to rebuild the Sage library. When you are finished
  reviewing, just checkout a named branch. For example::

  $ git checkout develop
 
  If you want to edit the ticket branch (that is, add additional
  commits) you cannot use `git trac try`. You must use `git trac
  checkout` to get the actual ticket branch as a starting point.


On Saturday, May 31, 2014 2:31:16 AM UTC+1, Dima Pasechnik wrote:

 I asked for essentially this functionality to be in git trac, see 
 https://github.com/sagemath/git-trac-command/issues/13 



-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-31 Thread Volker Braun
There is nothing wrong with merges 

* if you need them
* if the original branch is the first parent. 

Doing it the wrong way makes the history more difficult to understand, and 
we shouldn't teach or facilitate that antipattern.



On Saturday, May 31, 2014 2:35:30 PM UTC+1, Nathann Cohen wrote:

 Yo ! 

If you want to edit the ticket branch (that is, add additional 
commits) you cannot use `git trac try`. You must use `git trac 
checkout` to get the actual ticket branch as a starting point. 

 Why can't you add commits after a merge ? I do this all the time O_o 

 Nathann 


-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-31 Thread Nathann Cohen
 There is nothing wrong with merges

 * if you need them
 * if the original branch is the first parent.

 Doing it the wrong way makes the history more difficult to understand, and
 we shouldn't teach or facilitate that antipattern.

That's my question from last november :
https://groups.google.com/d/msg/sage-git/Nokq-kVfONc/e9RMBUvl7ygJ

that's your answer from then :
https://groups.google.com/d/msg/sage-git/Nokq-kVfONc/sDoYyZOQHY0J

By the way, given that with this trick I can avoi recompiling Sage for
hours, I still think that it is the right way to work.

Nathann

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-31 Thread Nathann Cohen
By the way I improved this gtmp method since, so that it prepares a
commit message which makes the history clearer (at least to a human)

function gtmp
{
cd ~/sage
git checkout d
rel=$(git log --oneline d ^d~1 | sed s/.*\ //g)
tn=$(echo $1 | grep -o [0-9]*)
echo ===
echo trac #$tn: Merged with $rel
echo ===
git branch -D tmp
git checkout -b tmp d 
git pull trac $1
}

Example :

~/sage$ gtmp u/ncohen/16347
Switched to branch 'd'
Your branch is up-to-date with 'trac/develop'.
===
trac #16347: Merged with 6.3.beta2
===
Deleted branch tmp (was 27f6c9a).
Switched to a new branch 'tmp'
From trac.sagemath.org:sage
 * branchu/ncohen/16347 - FETCH_HEAD


And then I copy/paste this commit message... As I found no easy way to
make it the default commit message :-)

Nathann

On 31 May 2014 15:52, Nathann Cohen nathann.co...@gmail.com wrote:
 There is nothing wrong with merges

 * if you need them
 * if the original branch is the first parent.

 Doing it the wrong way makes the history more difficult to understand, and
 we shouldn't teach or facilitate that antipattern.

 That's my question from last november :
 https://groups.google.com/d/msg/sage-git/Nokq-kVfONc/e9RMBUvl7ygJ

 that's your answer from then :
 https://groups.google.com/d/msg/sage-git/Nokq-kVfONc/sDoYyZOQHY0J

 By the way, given that with this trick I can avoi recompiling Sage for
 hours, I still think that it is the right way to work.

 Nathann

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-31 Thread leif

Volker Braun wrote:

On Saturday, May 31, 2014 1:42:44 AM UTC+1, Dima Pasechnik wrote:

everything, as for rebuilding docs nothing short of make distclean 
make works.


sage -sync-build  sage -b  make doc-clean  make doc

almost always works (there has been maybe one case where it didn't, and
that was pretty f-ed up).


Did someone meanwhile track down what exactly went wrong / broke 
docbuilding (such that it hangs)?


(I also deleted all temporary folders, $DOT_SAGE, and the Cython cache, 
ran 'sage -ba', reinstalled Sphinx and later even Python and all 
packages that depend on it... to no avail B) .)



-leif

--
() The ASCII Ribbon Campaign
/\   Help Cure HTML E-Mail

--
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-31 Thread Volker Braun
And which part of it being a common assumption among git users that the 
first merge commit points back to the branch did you not understand?

On Saturday, May 31, 2014 2:52:15 PM UTC+1, Nathann Cohen wrote:

 That's my question from last november : 
 https://groups.google.com/d/msg/sage-git/Nokq-kVfONc/e9RMBUvl7ygJ 

 that's your answer from then : 
 https://groups.google.com/d/msg/sage-git/Nokq-kVfONc/sDoYyZOQHY0J 



-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-31 Thread Volker Braun
On Saturday, May 31, 2014 3:14:41 PM UTC+1, leif wrote:

 Did someone meanwhile track down what exactly went wrong / broke 
 docbuilding (such that it hangs)? 


I can't reproduce it, works for me.

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-31 Thread Dima Pasechnik
On 2014-05-31, Volker Braun vbraun.n...@gmail.com wrote:
 On Saturday, May 31, 2014 1:42:44 AM UTC+1, Dima Pasechnik wrote:

 everything, as for rebuilding docs nothing short of make distclean  
 make works. 


 sage -sync-build  sage -b  make doc-clean  make doc

 almost always works (there has been maybe one case where it didn't, and 
 that was pretty f-ed up).
Volker,
feel free to borrow my apparently totally f-ed up laptop, as on it
this just doesn't work for months, when I am
back from Philly, and have a look...

Cheers,
Dima

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-30 Thread Nathann Cohen


 If I understand your complaint correctly, the problem is that 
 re-compiling after switching branches is too expensive. 


You *NEVER* need to recompile everything when switching branches. There is 
a trick : you should never checkout a branch but instead pull it (merge it) 
with your current version of Sage.

This way, you never have to checkout a branch of Sage which is based on an 
old release.

This is the gtmp function I use for almost everything (and in particular 
for review). It deletes then create a tmp branch in git containing the 
remove branch you are interested in (assuming that the local branch 'd' 
points toward the release that you use, i.e. develop in my case)

function gtmp
{
cd ~/sage
git checkout d
git branch -D tmp
git checkout -b tmp d 
git pull trac $1
}

I only type gtmp public/branch_name and I can review/test a branch, no 
recompilation involved as only the files changes in the branch have been 
modified.

Nathann

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-30 Thread kcrisman


On Friday, May 30, 2014 2:19:24 AM UTC-4, Nathann Cohen wrote:

 If I understand your complaint correctly, the problem is that 
 re-compiling after switching branches is too expensive. 


 You *NEVER* need to recompile everything when switching branches. There is 
 a trick : you should never checkout a branch but instead pull it (merge it) 
 with your current version of Sage.


Hmm, I was kind of going on the avoid unnecessary merges thing.  Also I 
am scared about merge conflicts, which I do not know how to handle because 
I don't have a merge editor, or maybe I do and don't know it.  But this 
is helpful to know, thanks.


 This is the gtmp function I use for almost everything (and in particular 
 for review). It deletes then create a tmp branch in git containing the 
 remove branch you are interested in (assuming that the local branch 'd' 
 points toward the release that you use, i.e. develop in my case)


Volker, is there some similar functionality in git trac?

 

 function gtmp
 {
 cd ~/sage
 git checkout d
 git branch -D tmp
 git checkout -b tmp d 
 git pull trac $1
 }

 I only type gtmp public/branch_name and I can review/test a branch, no 
 recompilation involved as only the files changes in the branch have been 
 modified.


Well, if there are .pyx files or pkg changes... but point taken.  Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-30 Thread Volker Braun
On Friday, May 30, 2014 1:18:43 PM UTC+1, kcrisman wrote:

 Hmm, I was kind of going on the avoid unnecessary merges thing.


You can of course do whatever you want on your computer as long as you 
don't upload it...

 Also I am scared about merge conflicts, which I do not know how to handle 
 because I don't have a merge editor


You don't need anything special, imho the standard git procedure of adding 
conflict markers and editing that file is perfectly fine (and what I use 
most of the time even though I have some special merge editors). 

Volker, is there some similar functionality in git trac?


No (it doesn't really do anything different as far as communicating with 
trac goes), but we could easily add it...

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-30 Thread kcrisman


 Hmm, I was kind of going on the avoid unnecessary merges thing.


 You can of course do whatever you want on your computer as long as you 
 don't upload it...


Right, but the problem is that currently I am uploading it ;-)

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-30 Thread Paul-Olivier Dehaye
Just got a Github Education account today for my lab, which led me to look
a bit more at their site. This video is relevant:
https://education.github.com/stories#UCBerkeley

 If extra eyes were all that were necessary, there would be no
long-standing mathematical conjectures.
What is needed is both extra eyes and a community welcoming of new ideas.
That's what the polymath projects do, and they have been quite successful
so far, proving results that had vexed Fields medalists.

Paul


Paul-Olivier Dehaye
SNF Assistant Professor of Mathematics
University of Zurich
skype: lokami_lokami (preferred)
phone: +41 76 407 57 96
chat: pauloliv...@gmail.com
twitter: podehaye
freenode irc: pdehaye


On Thu, May 29, 2014 at 11:34 AM, Paul-Olivier Dehaye 
paul-olivier.deh...@math.uzh.ch wrote:

 Thanks for the thoughtful replies. It's a fine line between being critical
 of the idea and dismissive of the students. Please everyone limit
 yourselves to criticizing the idea, as students might come to this thread
 later.
 I don't think one should dismiss the students. Look at the Mathworks
 competition (another thing MATLAB does!), as it is described in Nielsen's
 book Reinventing Dicovery. There is a history there of microcontributions
 on code leading to optimised code.
 There is also two assumptions in your emails:
 1) that they will all have just learned python: the course might be just
 the right blend of mathematics and CS so that some participants actually a
 background in python. On top, one can modulate the difficulty progressively
 to make sure to attract some students who actually have a strong python
 background already (in MOOCs, there are always some experts lurking)
 2) that I would let them choose the topic. Not so. For the specifics of
 how the course will be run, I need to bring the discussion out of the
 mailing list.

 As William points out, small contributions are important (example in
 docstring) and the process is currently suboptimal.
 I would add that other small contributions could be important, such as
 semantic information coming from professional mathematicians who have just
 learned utter basics of python, to have a mere sense of how the decorator
 they have just added will affect the method itself. For this, existing
 annotation tools suffice.

 Paul

 Paul-Olivier Dehaye
 SNF Professor of Mathematics
 University of Zurich
 skype: lokami_lokami (preferred)
 phone: +41 76 407 57 96
 chat: pauloliv...@gmail.com
 twitter: podehaye
 freenode irc: pdehaye


 On Thu, May 29, 2014 at 3:40 AM, rjf fate...@gmail.com wrote:



 On Wednesday, May 28, 2014 3:31:08 PM UTC-7, Paul-Olivier Dehaye wrote:

 Again, in the big wave of emails, this one also got misdirected:

 Hi everyone,

 I am looking for people who want to help me, in one way or another, bring
 hundreds of new first time contributors to sage. If I do not find enough
 partners, I will look for other more suitable python-based projects.

 The idea would be quite simple: teach python programming around some
 mathematics (such as combinatorics) and simultaneously produce code that
 would be useful for research and worth including in sage. Two catches:
 students are given individual problems to work on, and the course is
 taught
 on Coursera. Motivation for the students would come in various ways:
 internships, for instance. Quality of the code would be ensured by
 peer-testing the programs.


 William Stein has already responded to the major issues regarding the
 Sage development process, but I would just like to comment on this
 particular aspect of peer-testing.  Having two or more people who have
 just learned python and do not know much mathematics peer review
 code does not lead to much of an ensured  level of quality.
 Certainly there are other clumps of python aggregating code that are not
 as daunting as Sage.  Numpy and Sympy come to mind,  but I doubt
 that they would really relish a MOOC's-worth of naive contributions, when
 it is pretty much guaranteed that a very high percentage would, under
 careful scrutiny, be duplicative, erroneous, poorly coded, or all three.

 It's a nice thought to get many hands to write code free.  But
 impractical,
 in spite of Eric Raymond's Cathedral and Bazaar essay.  All bugs are
 shallow
 with enough eyes  (or whatever the wording is...)  is perhaps plausible
 if the system
 is itself shallow (like linux).
 Where I differ with Raymond is I think there are not enough eyes on the
 planet to make some
 bugs shallow in a deep system-- one that does (say) sophisticated
 symbolic mathematics.
 If extra eyes were all that were necessary, there would be no
 long-standing mathematical
 conjectures.




 If you do not know what Coursera or MOOCs are, you are welcome to take my
 upcoming course
 https://class.coursera.org/massiveteaching-001

 If you are interested to play with a MOOC platform yourself, you might
 want
 first to watch the videostream of the 2pm-3pm slot of this conference I
 am
 co-organising on 

[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-30 Thread Dima Pasechnik
On 2014-05-30, Nathann Cohen nathann.co...@gmail.com wrote:


 If I understand your complaint correctly, the problem is that 
 re-compiling after switching branches is too expensive. 


 You *NEVER* need to recompile everything when switching branches. There is 
 a trick : you should never checkout a branch but instead pull it (merge it) 
 with your current version of Sage.
+1

On the other hand, as long as the docbuild is broken, and as long as
we care about docs being bildable, one often has to recompile
everything, as for rebuilding docs nothing short of make distclean 
make works.


-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-30 Thread Dima Pasechnik
On 2014-05-30, kcrisman kcris...@gmail.com wrote:


 On Friday, May 30, 2014 2:19:24 AM UTC-4, Nathann Cohen wrote:

 If I understand your complaint correctly, the problem is that 
 re-compiling after switching branches is too expensive. 


 You *NEVER* need to recompile everything when switching branches. There is 
 a trick : you should never checkout a branch but instead pull it (merge it) 
 with your current version of Sage.


 Hmm, I was kind of going on the avoid unnecessary merges thing.  Also I 
 am scared about merge conflicts, which I do not know how to handle because 
 I don't have a merge editor, or maybe I do and don't know it.  But this 
 is helpful to know, thanks.


 This is the gtmp function I use for almost everything (and in particular 
 for review). It deletes then create a tmp branch in git containing the 
 remove branch you are interested in (assuming that the local branch 'd' 
 points toward the release that you use, i.e. develop in my case)


 Volker, is there some similar functionality in git trac?

I asked for essentially this functionality to be in git trac, see
https://github.com/sagemath/git-trac-command/issues/13


-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread Paul-Olivier Dehaye
Thanks for the thoughtful replies. It's a fine line between being critical
of the idea and dismissive of the students. Please everyone limit
yourselves to criticizing the idea, as students might come to this thread
later.
I don't think one should dismiss the students. Look at the Mathworks
competition (another thing MATLAB does!), as it is described in Nielsen's
book Reinventing Dicovery. There is a history there of microcontributions
on code leading to optimised code.
There is also two assumptions in your emails:
1) that they will all have just learned python: the course might be just
the right blend of mathematics and CS so that some participants actually a
background in python. On top, one can modulate the difficulty progressively
to make sure to attract some students who actually have a strong python
background already (in MOOCs, there are always some experts lurking)
2) that I would let them choose the topic. Not so. For the specifics of how
the course will be run, I need to bring the discussion out of the mailing
list.

As William points out, small contributions are important (example in
docstring) and the process is currently suboptimal.
I would add that other small contributions could be important, such as
semantic information coming from professional mathematicians who have just
learned utter basics of python, to have a mere sense of how the decorator
they have just added will affect the method itself. For this, existing
annotation tools suffice.

Paul

Paul-Olivier Dehaye
SNF Professor of Mathematics
University of Zurich
skype: lokami_lokami (preferred)
phone: +41 76 407 57 96
chat: pauloliv...@gmail.com
twitter: podehaye
freenode irc: pdehaye


On Thu, May 29, 2014 at 3:40 AM, rjf fate...@gmail.com wrote:



 On Wednesday, May 28, 2014 3:31:08 PM UTC-7, Paul-Olivier Dehaye wrote:

 Again, in the big wave of emails, this one also got misdirected:

 Hi everyone,

 I am looking for people who want to help me, in one way or another, bring
 hundreds of new first time contributors to sage. If I do not find enough
 partners, I will look for other more suitable python-based projects.

 The idea would be quite simple: teach python programming around some
 mathematics (such as combinatorics) and simultaneously produce code that
 would be useful for research and worth including in sage. Two catches:
 students are given individual problems to work on, and the course is
 taught
 on Coursera. Motivation for the students would come in various ways:
 internships, for instance. Quality of the code would be ensured by
 peer-testing the programs.


 William Stein has already responded to the major issues regarding the
 Sage development process, but I would just like to comment on this
 particular aspect of peer-testing.  Having two or more people who have
 just learned python and do not know much mathematics peer review
 code does not lead to much of an ensured  level of quality.
 Certainly there are other clumps of python aggregating code that are not
 as daunting as Sage.  Numpy and Sympy come to mind,  but I doubt
 that they would really relish a MOOC's-worth of naive contributions, when
 it is pretty much guaranteed that a very high percentage would, under
 careful scrutiny, be duplicative, erroneous, poorly coded, or all three.

 It's a nice thought to get many hands to write code free.  But impractical,
 in spite of Eric Raymond's Cathedral and Bazaar essay.  All bugs are
 shallow
 with enough eyes  (or whatever the wording is...)  is perhaps plausible
 if the system
 is itself shallow (like linux).
 Where I differ with Raymond is I think there are not enough eyes on the
 planet to make some
 bugs shallow in a deep system-- one that does (say) sophisticated
 symbolic mathematics.
 If extra eyes were all that were necessary, there would be no
 long-standing mathematical
 conjectures.




 If you do not know what Coursera or MOOCs are, you are welcome to take my
 upcoming course
 https://class.coursera.org/massiveteaching-001

 If you are interested to play with a MOOC platform yourself, you might
 want
 first to watch the videostream of the 2pm-3pm slot of this conference I am
 co-organising on Tuesday:
 tinyurl.com/openedx-zurich
 as it will help you assess the technical challenges.

 I am looking at a start date for the course of around October-November,
 and
 to bring the discussion off the mailing list (to private) so as to keep an
 element of surprise for the students.

 Let me know!

 Paul

 Paul-Olivier Dehaye
 SNF Professor of Mathematics
 University of Zurich
 skype: lokami_lokami (preferred)
 phone: +41 76 407 57 96
 chat: paulo...@gmail.com
 twitter: podehaye
 freenode irc: pdehaye



-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at 

[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread kcrisman
Hi!  Thanks again for your thoughtful comments.  I see two different issues 
arising in this thread.

1) Your desire to have a MOOC teaching Python programming around some 
mathematics, which might end up contributing to Sage.  (Or sympy, or numpy, 
or Gambit, or ...)  That sounds awesome.  

I think the hardest part of doing this is not specifically the ability or 
knowledge of students, but the realities of getting everyone up to speed on 
any larger system and contributing without huge amounts of involvement by 
the instructor/mentor/peer leader/whatever.  I am cautiously optimistic 
that there is plenty to do in Sage, but without some direction it will not 
end up being useful.  For a great example, see Vincent Knight's GSOC 
project - there are lots of students who could implement some basic game 
theory stuff by the end of a course like this, but to have it actually play 
well with the rest of Sage, classes, and fit in with (say) 50 other 
MOOCers' contributions would tax even the most patient overseer.  Which is 
why having it be a GSOC project is a very good idea.

And here is one place I agree with rjf - Raymond is very insightful, but 
does not have a monopoly on insights regarding open source or software 
development.  If you don't know calculus and Lisp, you can't help with 
large bits of Maxima (hence Sage), period, no matter how talented otherwise.

For me personally, I would have to see a syllabus (however archaic that may 
seem) and the typical intro level for the students, though such a thing 
probably doesn't exist.  Given that MOOC dropout rates are pretty high, and 
that it will probably be hard to figure out ahead of time what a given 
student brings to the table, one would need a very large collection of 
things to look at indeed.  Unless one had a far smaller set of carefully 
selected projects, and then let a few dozen MOOCers at each of them, and 
then perhaps as a final project had them decide which of these was best... 
that's just a brainstorm, though.

Having given my caveats, I want to reiterate that it sounds awesome, and IS 
doable, but probably with more work than one thinks.  And I'll put my money 
where my mouth is and volunteer to chat personally at some point this 
summer regarding some possible projects - though again, it may be 
surprising just how involved even very simple things end up getting in 
production, as I've experienced with some students I've worked with on 
contributing to Sage.

2) There is a higher burden to development than needs be.  This is always 
true to some extent, of course, but especially for documentation this 
doesn't have to be the case.  William summarized this well.  

In particular, the git switch was supposedly going to make this sort of 
contribution easier, but as far as I can tell, it is no easier, and maybe 
harder, than with the previously workflow.  See a postscript for a rant 
about this.  Anyway, this is something that will be an issue for 
contributing to any longer-term project, I think, in nontrivial ways.

- kcrisman


-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread Robert Bradshaw
On Thu, May 29, 2014 at 8:49 AM, kcrisman kcris...@gmail.com wrote:
 Hi!  Thanks again for your thoughtful comments.  I see two different issues
 arising in this thread.

 1) Your desire to have a MOOC teaching Python programming around some
 mathematics, which might end up contributing to Sage.  (Or sympy, or numpy,
 or Gambit, or ...)  That sounds awesome.

+1

 I think the hardest part of doing this is not specifically the ability or
 knowledge of students, but the realities of getting everyone up to speed on
 any larger system and contributing without huge amounts of involvement by
 the instructor/mentor/peer leader/whatever.  I am cautiously optimistic that
 there is plenty to do in Sage, but without some direction it will not end up
 being useful.  For a great example, see Vincent Knight's GSOC project -
 there are lots of students who could implement some basic game theory stuff
 by the end of a course like this, but to have it actually play well with the
 rest of Sage, classes, and fit in with (say) 50 other MOOCers' contributions
 would tax even the most patient overseer.  Which is why having it be a GSOC
 project is a very good idea.

 And here is one place I agree with rjf - Raymond is very insightful, but
 does not have a monopoly on insights regarding open source or software
 development.  If you don't know calculus and Lisp, you can't help with large
 bits of Maxima (hence Sage), period, no matter how talented otherwise.

 For me personally, I would have to see a syllabus (however archaic that may
 seem) and the typical intro level for the students, though such a thing
 probably doesn't exist.  Given that MOOC dropout rates are pretty high, and
 that it will probably be hard to figure out ahead of time what a given
 student brings to the table, one would need a very large collection of
 things to look at indeed.  Unless one had a far smaller set of carefully
 selected projects, and then let a few dozen MOOCers at each of them, and
 then perhaps as a final project had them decide which of these was best...
 that's just a brainstorm, though.

 Having given my caveats, I want to reiterate that it sounds awesome, and IS
 doable, but probably with more work than one thinks.  And I'll put my money
 where my mouth is and volunteer to chat personally at some point this summer
 regarding some possible projects - though again, it may be surprising just
 how involved even very simple things end up getting in production, as I've
 experienced with some students I've worked with on contributing to Sage.

Though I wouldn't expect everyone to end up with a workable
contribution, it's not a stretch to expect at least a handful of
ready-to-incorporate improvements.

 2) There is a higher burden to development than needs be.  This is always
 true to some extent, of course, but especially for documentation this
 doesn't have to be the case.  William summarized this well.

There is so much bureaucracy. I just keep thinking back to the 22
easy steps to contribute to Sage.

 In particular, the git switch was supposedly going to make this sort of
 contribution easier, but as far as I can tell, it is no easier, and maybe
 harder, than with the previously workflow.  See a postscript for a rant
 about this.

I think that's because we took our trac-based (and patch-based)
workflow and just plugged git in. I don't know if we want to open this
discussion now, but it's certainly worth revisiting (starting with
defining what our goals are rather than what our tools are). But now
that we're on git a pull request is 99% of what a ticket is
(specifically, an annotated point to a particular git branch/commit
that needs review) and we should seriously consider accepting that
format for contributions.

 Anyway, this is something that will be an issue for
 contributing to any longer-term project, I think, in nontrivial ways.

 - kcrisman


 --
 You received this message because you are subscribed to the Google Groups
 sage-devel group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to sage-devel+unsubscr...@googlegroups.com.
 To post to this group, send email to sage-devel@googlegroups.com.
 Visit this group at http://groups.google.com/group/sage-devel.
 For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread kcrisman
Please excuse the following rant.  As usual, it is ill-informed, and if 
some of the points are due to ignorance, I have no problem with that being 
pointed out.  But from reading the lists, I'm not the only one experiencing 
difficulty with this sort of thing.  At the very least I think it shows 
it's not that easy to do everything right now.

rant
Git workflow.

The goal was to reduce work for some developers and make things more 
modular, but in fact what happens is that people are basing their 
branches on all kinds of different starting points, forcing constant 
recompilation for even the most trivial changes.  I'm told ccache will 
help with this, but it's still not in the developer guide, and I'm not sure 
it will help with [s]pkgs anyway, which also change frequently.

In addition, a web-based interface just like github pull requests was 
promised, but I don't see it.  Since we don't use the github version to 
allow people to just edit (see 
e.g. 
https://github.com/grant/sage/commit/27c97d376a956a05c6e4abd97102f80195bda4c0 
for one request that apparently has been ignored), we are actually in a 
*worse* place than we were with patches, where at least those could be 
applied more or less independently of the state of Sage.  

As another example, in attempting to review one patch which relies upon the 
new Maxima update: where that is, one cannot learn easily from git log, 
since 

$ git log | grep maxima | less
$ git log | grep Maxima | less

both do not tell me that in fact, even though Trac says closed, #13973 
apparently is not yet in a merged release, and so I just wasted a lot of 
time figuring that out.  Since Merged in is no longer updated.  You would 
think that I could learn this by doing 

$ git log | grep 13973

but since Trac #s are no longer in commit messages, that isn't foolproof 
either.  And indeed, the standard output of git log is kind of scary, 
because while some entries look like this, roughly as in the old one

commit 3ea4f9bfc3c1acb6cb9eaa8e7a8ffa41779a6181
Author: XYZ
Date:   Thu May 22 08:37:36 2014 +0200

16199: documentation cosmetics


others look like this

commit e9352062ad7fedbe00ad62d397672203824e0267
Merge: cc54f6e 80e319d
Author: XYZ
Date:   Thu May 22 08:01:19 2014 +0200

Merge branch 'develop' into 
t/16199/improve_docs__add_doctests_in_power_seri

* develop: (606 commits)
  Updated Sage version to 6.3.beta1
  trac #16237: Typos
  Use lazy_import instead
  Use point collections more directly.
  trac #15036: fix late import of is_Matrix to avoid startup problems
  Fixes to normal_form_pc to work with point collections properly.
  Fixed failing doctests.
  trac #16277: A typo
  minor fixes
  Trac 15099: numeric evaluation of zetaderiv
  trac 16211: Review reviewer patch.
  Added a category parameter to Module
  change raise syntax to python3 style

and still others look like this

commit 9a4b0b83fa06a113c485f22f37af02c24ef35e90
Merge: f4cbb5f b8fea1c
Author: Release Manager rele...@sagemath.org
Date:   Wed May 21 16:40:31 2014 +0100

Trac #15921: work around Maxima fpprintprec bug and other ARM-specific 
probl

[https://groups.google.com/d/msg/sage-devel/oRpkswzpK38/rNVbVN2RyEcJ
Maxima uses CL FORMAT function wrongly], resulting in outputting wrong
number of digits for floats (one extra), and
contradicting its own manual on fpprintprec. In particular it outputs
too many digits on ix86 and ix86_64, which got in Sage's doctests. As a
result, doctests fail on ARM.

The fixes are to convert the results into `RealField(prec)`, with
appropriate `prec`
(at least 54, or sometimes more). This ticket also fixes ARM-specific
numerical noise stemming
from various other upstream problems, such as `eglibc` loss of precision
in `lgamma`.

I don't know why the description of a ticket is ending up in the log.  We 
want a description of what actually was done, and the description in the 
ticket is often full of brainstorming etc.

Oh, and this all assumes that one knows about pipes and grep.  Perhaps git 
trac deals with these kinds of situations, which is great, but one 
shouldn't really have to use git or the command line at all to find out 
some of this information.  Particularly not as a beginner.

Anyway, in order to use git properly to do trivial change, one still really 
has to learn at least as much as before with hg_sage or hg or sage -dev or 
whatever the flavor of the month is.  For instance, for this one I guess I 
need to first do #13973, and then somehow add #13712 on top of it - which 
sounds like a more advanced operation of merging, and we are many times 
warned not to do unnecessary merges.  A hint from Travis S. and some Google 
helped me eventually figure out how to do this but it's certainly no easier 
than what I would have done before.
/rant

Okay, done ranting, and foolish stuff it probably was.  At first I thought 
this wasn't all 

[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread Travis Scrimshaw
   I never really have had a problem with the new workflow (in fact, I 
actually prefer it to the old one). However I had a good command of git 
coming into this and read the git the hard way. So my 2 cents would be to 
have developers spend time learning git properly instead of using the dev 
scripts (I think this is a useful skill beyond Sage development). However I 
do see your point that this is an extra barrier to Sage development since 
IMO one generally needs to know more about git than about Hg in order to 
development.


1) Put Merged in back.


+1 I'd also suggest not closing/merging tickets until shortly before 
releasing the next beta.
 

 2) Fix just how much crazy stuff shows up in git log, presumably by 
 merging things differently or with different messages or something.


I don't think there's much we can do about this considering how git 
workflows are suppose to work and since the develop does have everything 
merged in.

4) Get http://trac.sagemath.org/ticket/14372 in.


+1 

Best,
Travis

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread William Stein
On Thu, May 29, 2014 at 10:01 AM, kcrisman kcris...@gmail.com wrote:
 Please excuse the following rant.  As usual, it is ill-informed, and if some

I appreciate it, and I'm glad we're having this discussion.  (It's a
rant, but it isn't a flame. Yeah!)

 of the points are due to ignorance, I have no problem with that being
 pointed out.  But from reading the lists, I'm not the only one experiencing
 difficulty with this sort of thing.  At the very least I think it shows it's
 not that easy to do everything right now.

 rant
 Git workflow.

 The goal was to reduce work for some developers and make things more
 modular, but in fact what happens is that people are basing their branches
 on all kinds of different starting points, forcing constant recompilation
 for even the most trivial changes.  I'm told ccache will help with this,
 but it's still not in the developer guide, and I'm not sure it will help
 with [s]pkgs anyway, which also change frequently.

There were arguments last year by various people that our patch-based
workflow was bad, at least as opposed to using branches. There was
little in the way of arguments back for patches.  I personally wasn't
really paying attention then, and I frankly didn't know which was
better, having only had experience with patches.I'm glad that
you're presenting some of the arguments below in favor of the value of
a more patches-based workflow.

I recently listened to an interview with the release manager for the
stable linux kernel.   Linux is of course a big project that uses git
-- in fact, as we all know, Linus invented git for Linux development.
  They use *patches* rather than branches.  In fact, their workflow is
email + patches.He argues in the interview (in response to
questions, etc.) that this is far more efficient than the  branch
model.
Evidently, git has extremely good support for sending patches via
email and applying them from email (at least in a local mail spool).
   Another project I'm involved in called bup
(https://github.com/bup/bup) does the same thing -- all code
contributions are patches to the mailing list, so I've seen this work.

I'm not arguing for replacing trac by patches to a mailing list!  I'm
just pointing out that some people's assertions that using patches
instead of branches is not properly using git can't be right, since
the Linux kernel devs use of git is just as proper as anybody
else's.Basically, I'm trying to argue that there is merit to your
rant.

 In addition, a web-based interface just like github pull requests was
 promised, but I don't see it.  Since we don't use the github version to
 allow people to just edit (see e.g.
 https://github.com/grant/sage/commit/27c97d376a956a05c6e4abd97102f80195bda4c0
 for one request that apparently has been ignored), we are actually in a
 *worse* place than we were with patches, where at least those could be
 applied more or less independently of the state of Sage.

 As another example, in attempting to review one patch which relies upon the
 new Maxima update: where that is, one cannot learn easily from git log,
 since

 $ git log | grep maxima | less
 $ git log | grep Maxima | less

 both do not tell me that in fact, even though Trac says closed, #13973
 apparently is not yet in a merged release, and so I just wasted a lot of
 time figuring that out.  Since Merged in is no longer updated.  You would
 think that I could learn this by doing

 $ git log | grep 13973

 but since Trac #s are no longer in commit messages, that isn't foolproof
 either.  And indeed, the standard output of git log is kind of scary,
 because while some entries look like this, roughly as in the old one

 commit 3ea4f9bfc3c1acb6cb9eaa8e7a8ffa41779a6181
 Author: XYZ
 Date:   Thu May 22 08:37:36 2014 +0200

 16199: documentation cosmetics


 others look like this

 commit e9352062ad7fedbe00ad62d397672203824e0267
 Merge: cc54f6e 80e319d
 Author: XYZ
 Date:   Thu May 22 08:01:19 2014 +0200

 Merge branch 'develop' into
 t/16199/improve_docs__add_doctests_in_power_seri

 * develop: (606 commits)
   Updated Sage version to 6.3.beta1
   trac #16237: Typos
   Use lazy_import instead
   Use point collections more directly.
   trac #15036: fix late import of is_Matrix to avoid startup problems
   Fixes to normal_form_pc to work with point collections properly.
   Fixed failing doctests.
   trac #16277: A typo
   minor fixes
   Trac 15099: numeric evaluation of zetaderiv
   trac 16211: Review reviewer patch.
   Added a category parameter to Module
   change raise syntax to python3 style

 and still others look like this

 commit 9a4b0b83fa06a113c485f22f37af02c24ef35e90
 Merge: f4cbb5f b8fea1c
 Author: Release Manager rele...@sagemath.org
 Date:   Wed May 21 16:40:31 2014 +0100

 Trac #15921: work around Maxima fpprintprec bug and other ARM-specific
 probl

 [https://groups.google.com/d/msg/sage-devel/oRpkswzpK38/rNVbVN2RyEcJ
 Maxima uses CL 

[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread Volker Braun
On Thursday, May 29, 2014 6:01:24 PM UTC+1, kcrisman wrote:

 As another example, in attempting to review one patch which relies upon 
 the new Maxima update


The git branch contains the entire code, so automatically has all 
requirements. You don't need to know where the maxima update comes from to 
use the branch.
 

 : where that is, one cannot learn easily from git log, since 
 $ git log | grep maxima | less
 $ git log | grep Maxima | less


The git log is not a plain text file, its a directed acyclic graph. There 
is much more useful information in it than any possible linearization. More 
complicated than mailing patches? Sure. Why? Because mailing patches around 
doesn't work at that scale.
 

 $ git log | grep 13973


$ git log build/pkgs/maxima # see which commits actually touched maxima
commit 33417fa92057fc7ef1cf52e301b9b73a2d5c2a83
Author: Peter Bruin p.br...@warwick.ac.uk
Date:   Fri May 16 11:33:00 2014 +0100

Trac 13973: upgrade Maxima to 5.33.0

Although Peter thought that the commit was for #13973 when he wrote it, 
that need not be the ticket that actually made use of the commit and pulled 
it into Sage. We check:

# git trac find 33417fa92057fc7ef1cf52e301b9b73a2d5c2a83
$ git trac find 33417fa92057fc7ef1cf52e301b9b73a2d5c2a83
Commit has been merged, but not into a released version.
commit 6220027f174e01ae252f277acb3a75de7053239c
Merge: a3c4cf3 a130eed
Author: Release Manager rele...@sagemath.org
Date:   Sun May 25 11:20:54 2014 +0100

Trac #13973: Upgrade Maxima to 5.33.0

This is a continuation of #13364, and aims at including more upstream
bug fixes, which e.g. fix an
[http://permalink.gmane.org/gmane.comp.mathematics.sage.support/30644
issue reported on sage-support],
which was reported as Maxima bug
[https://sourceforge.net/p/maxima/bugs/2535 2535], and marked there as
closed in post-5.29.1.

I don't know why the description of a ticket is ending up in the log.  We 
 want a description of what actually was done, and the description in the 
 ticket is often full of brainstorming etc.


Its up to you (the ticket author/reviewer) to make the description fit the 
ticket.

 For instance, for this one I guess I need to first do #13973, and then 
 somehow add #13712 on top of it


No. For reviewing #13712 (say) you only need to get that branch. Batteries 
are already included. If it doesn't work then that is a negative review.


-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread William Stein
On Thu, May 29, 2014 at 10:49 AM, Volker Braun vbraun.n...@gmail.com wrote:
 On Thursday, May 29, 2014 6:01:24 PM UTC+1, kcrisman wrote:

 As another example, in attempting to review one patch which relies upon
 the new Maxima update


 The git branch contains the entire code, so automatically has all
 requirements. You don't need to know where the maxima update comes from to
 use the branch.


 : where that is, one cannot learn easily from git log, since
 $ git log | grep maxima | less
 $ git log | grep Maxima | less


 The git log is not a plain text file, its a directed acyclic graph. There is
 much more useful information in it than any possible linearization. More
 complicated than mailing patches? Sure. Why? Because mailing patches around
 doesn't work at that scale.

The argument that mailing patches doesn't work at that scale isn't
convincing, since Linux kernel development is much bigger than Sage
development, and they mail patches around [1].There must be better
arguments   Just to be clear -- I'm definitely not arguing that we
should switch to mailing patches around, or even that we should switch
back to using patches; also me and many other people are *very, very*
impressed and pleased with how you (Volker) are doing release
management using the current system!

[1] https://www.kernel.org/doc/Documentation/SubmittingPatches



 $ git log | grep 13973


 $ git log build/pkgs/maxima # see which commits actually touched maxima
 commit 33417fa92057fc7ef1cf52e301b9b73a2d5c2a83
 Author: Peter Bruin p.br...@warwick.ac.uk
 Date:   Fri May 16 11:33:00 2014 +0100

 Trac 13973: upgrade Maxima to 5.33.0

 Although Peter thought that the commit was for #13973 when he wrote it, that
 need not be the ticket that actually made use of the commit and pulled it
 into Sage. We check:

 # git trac find 33417fa92057fc7ef1cf52e301b9b73a2d5c2a83
 $ git trac find 33417fa92057fc7ef1cf52e301b9b73a2d5c2a83
 Commit has been merged, but not into a released version.
 commit 6220027f174e01ae252f277acb3a75de7053239c
 Merge: a3c4cf3 a130eed
 Author: Release Manager rele...@sagemath.org
 Date:   Sun May 25 11:20:54 2014 +0100

 Trac #13973: Upgrade Maxima to 5.33.0

 This is a continuation of #13364, and aims at including more upstream
 bug fixes, which e.g. fix an
 [http://permalink.gmane.org/gmane.comp.mathematics.sage.support/30644
 issue reported on sage-support],
 which was reported as Maxima bug
 [https://sourceforge.net/p/maxima/bugs/2535 2535], and marked there as
 closed in post-5.29.1.

 I don't know why the description of a ticket is ending up in the log.  We
 want a description of what actually was done, and the description in the
 ticket is often full of brainstorming etc.


 Its up to you (the ticket author/reviewer) to make the description fit the
 ticket.

  For instance, for this one I guess I need to first do #13973, and then
 somehow add #13712 on top of it


 No. For reviewing #13712 (say) you only need to get that branch. Batteries
 are already included. If it doesn't work then that is a negative review.


 --
 You received this message because you are subscribed to the Google Groups
 sage-devel group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to sage-devel+unsubscr...@googlegroups.com.
 To post to this group, send email to sage-devel@googlegroups.com.
 Visit this group at http://groups.google.com/group/sage-devel.
 For more options, visit https://groups.google.com/d/optout.



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

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread Volker Braun
On Thursday, May 29, 2014 7:00:52 PM UTC+1, William wrote:

 The argument that mailing patches doesn't work at that scale isn't 
 convincing, since Linux kernel development is much bigger than Sage 
 development, and they mail patches around


That is not really true. They do mail patches around, but only at one very 
specific point in the lifetime of a changeset. The entire model is geared 
towards making everything as easy as possible for Linus. You present your 
change in a way that is as easy as possible for one of the inner circle to 
look at, and then forward to Linus. They don't collaborate with you, the 
only feedback is that your code is merged or refused (likely before it ever 
reaches Linus). Since it is a one way road its of course easier to mail a 
patch. 

The way I see it that does make it more difficult for the developers 
outside of the inner circle, they will have to resolve conflicts in their 
own branches whenever a new version appears. But that is parallelizable and 
developers are experienced with the tools, so its not a problem for the 
kernel.


-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread Simon King
Hi Volker,

On 2014-05-29, Volker Braun vbraun.n...@gmail.com wrote:
 : where that is, one cannot learn easily from git log, since 
 $ git log | grep maxima | less
 $ git log | grep Maxima | less


 The git log is not a plain text file, its a directed acyclic graph. There 
 is much more useful information in it than any possible linearization.

If a simple question such as what is the ticket number for the latest Maxima
upgrade is not easy to answer from the git log, then the information is
*not* useful. The information exists, but is not useful. That's an
important practical difference. Anyway, you have shown in your mail that
it *is* possible to get the information in this case.

Maxima is an spkg. Let's instead look at the Sage library. We can use git
blame similar to hg annotate to get the revision in which a
particular line of code was changed. This information can be used to
search the corresponding commit message in the log.

Before switching to git, we had the policy (enforced by commit hooks, if
I recall correctly) that the commit message mentions the ticket number.
I think this was very helpful. But now---because you keep saying that a
commit does not belong to a specific ticket---the log often does not
mention the ticket number. Some people mention the ticket number, others
don't.

Hence, when I wonder about a specific line of code and want to look up
the discussion that took place on trac and resulted in this line of
code: How can I easily find that discussion?

Admittedly, one could argue that people shouldn't be so lazy and put the
ticket number in. But then git causes a meta-problem: Some people
advocating git go around and tell people that a commit does not belong
to a ticket. Hence, people are not putting the ticket number into the
commit message. And on the side of trac, there can not be an automatism
that inserts the ticket number if it is missing, because Changing a commit
message is changing history---which is something that I technically
understand (the commit's sha1 hash depending on the commit message),
but still consider it a flaw.

 More 
 complicated than mailing patches? Sure. Why? Because mailing patches around 
 doesn't work at that scale.

Yes, it only works on the tiny scale of Linux development, as William pointed
out... :-D


 I don't know why the description of a ticket is ending up in the log.  We 
 want a description of what actually was done, and the description in the 
 ticket is often full of brainstorming etc.


 Its up to you (the ticket author/reviewer) to make the description fit the 
 ticket.

The main complaint was that the entire ticket description is ending up in the
log. Don't you think that a ticket description has a different purpose
than a commit message?

Cheers,
Simon


-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread Volker Braun
On Thursday, May 29, 2014 7:26:35 PM UTC+1, Simon King wrote:

 Before switching to git, we had the policy (enforced by commit hooks, if 
 I recall correctly) that the commit message mentions the ticket number.


No, that was Jeroen manually (ok, with a script) telling you 
days/weeks/months later that the commit message is wrong and needs to be 
fixed.

code: How can I easily find that discussion? 


Pretty easy, I would say: git trac find sha1. We can add an option to 
open the trac ticket in a browser window if its too slow for you ;-)

(the commit's sha1 hash depending on the commit message), 


Commits are immutable, and enforcing that is the primary feature of every 
version control system. In mercurial, too. There are tools for editing the 
history, but using them always comes at a price.

Really, you have two options:

* The branching model we are using where all individual commits end up 
public

* The kernel model where every developer is responsible for cleaning up 
their history until it is perfect, and only then share the code.

The second places a much higher burden on the individual developer, and on 
his direct collaborators who have to follow the rebases. The advantage is 
that the history looks beautiful, and it is more efficient for the guy at 
the top. 

The main complaint was that the entire ticket description is ending up in 
 the 
 log. Don't you think that a ticket description has a different purpose 
 than a commit message? 


These are different commits. Every developer's commit contains a message to 
summarize what the commit is about. The release manager's merge commit 
doesn't have any intention behind it beyond the obvious merge that 
branch. So the commit message is up for grabs. I think its a good idea to 
put some of the ticket metadata there, for example this is then still 
available if you are not currently connected to the internet. 

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread Simon King
Hi Volker,

On 2014-05-29, Volker Braun vbraun.n...@gmail.com wrote:
 code: How can I easily find that discussion? 


 Pretty easy, I would say: git trac find sha1.

Wow! That is in fact very useful. Didn't know about this. So far, I was
mainly using the dev scripts, and git trac only once, I think.

Cheers,
Simon

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread John Cremona
On 29 May 2014 20:22, Simon King simon.k...@uni-jena.de wrote:
 Hi Volker,

 On 2014-05-29, Volker Braun vbraun.n...@gmail.com wrote:
 code: How can I easily find that discussion?


 Pretty easy, I would say: git trac find sha1.

 Wow! That is in fact very useful. Didn't know about this. So far, I was
 mainly using the dev scripts, and git trac only once, I think.

Can someone point me to instructions for how to install (and use) git trac?

John


 Cheers,
 Simon

 --
 You received this message because you are subscribed to the Google Groups 
 sage-devel group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to sage-devel+unsubscr...@googlegroups.com.
 To post to this group, send email to sage-devel@googlegroups.com.
 Visit this group at http://groups.google.com/group/sage-devel.
 For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread Dima Pasechnik
On 2014-05-29, John Cremona john.crem...@gmail.com wrote:
 On 29 May 2014 20:22, Simon King simon.k...@uni-jena.de wrote:
 Hi Volker,

 On 2014-05-29, Volker Braun vbraun.n...@gmail.com wrote:
 code: How can I easily find that discussion?


 Pretty easy, I would say: git trac find sha1.

 Wow! That is in fact very useful. Didn't know about this. So far, I was
 mainly using the dev scripts, and git trac only once, I think.

 Can someone point me to instructions for how to install (and use) git trac?
https://github.com/sagemath/git-trac-command


 John


 Cheers,
 Simon

 --
 You received this message because you are subscribed to the Google Groups 
 sage-devel group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to sage-devel+unsubscr...@googlegroups.com.
 To post to this group, send email to sage-devel@googlegroups.com.
 Visit this group at http://groups.google.com/group/sage-devel.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread Volker Braun
On Thursday, May 29, 2014 8:29:04 PM UTC+1, John Cremona wrote:

 Can someone point me to instructions for how to install (and use) git 
 trac? 


The developer guide on a sufficiently recent (6.2+) Sage version. 

On a related note, the docs on the web page are still from 6.1.1 

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread John Cremona
On 29 May 2014 20:50, Volker Braun vbraun.n...@gmail.com wrote:
 On Thursday, May 29, 2014 8:29:04 PM UTC+1, John Cremona wrote:

 Can someone point me to instructions for how to install (and use) git
 trac?


 The developer guide on a sufficiently recent (6.2+) Sage version.

 On a related note, the docs on the web page are still from 6.1.1


Thanks to both -- now installed in two machines and trying out.

John

 --
 You received this message because you are subscribed to the Google Groups
 sage-devel group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to sage-devel+unsubscr...@googlegroups.com.
 To post to this group, send email to sage-devel@googlegroups.com.
 Visit this group at http://groups.google.com/group/sage-devel.
 For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread leif

Robert Bradshaw wrote:

[...] now that we're on git a pull request is 99% of what a ticket is


I'm happy that this (still) is *not* the case (for most tickets at least).


(specifically, an annotated point to a particular git branch/commit
that needs review) and we should seriously consider accepting that
format for contributions.


I personally don't like trac very much (although it's become better over 
time), but IMHO all discussion / review of a contribution should 
(finally) happen in a central place, which currently is trac for Sage 
development.


(During the switch to git, trac and ordinary reviewing effectively got 
bypassed; fortunately that stopped after the switch.)



-leif

--
() The ASCII Ribbon Campaign
/\   Help Cure HTML E-Mail

--
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread Robert Bradshaw
On Thu, May 29, 2014 at 2:22 PM, leif not.rea...@online.de wrote:
 kcrisman wrote:

 rant
 Git workflow.

 The goal was to reduce work for some developers and make things more
 modular, but in fact what happens is that people are basing their
 branches on all kinds of different starting points, forcing constant
 recompilation for even the most trivial changes.  [...] /rant

 Nobody ever promised it would make *reviewers'* life easier.

Making the reviewer's life easier should be a primary goal as
well--look at the number of unreviewed tickets sitting on trac right
now.

Previously, we still had people basing their branches on all kinds
of different starting points, but it was all implicit, so it was
harder to look at and test exactly the code someone else intended to
be contributing.

If I understand your complaint correctly, the problem is that
re-compiling after switching branches is too expensive.
http://trac.sagemath.org/ticket/14372 needs to be resolved. I would
note that for most trivial changes there's no need to download and
build/test it yourself--the patchbot should do this for you. Of course
sometimes you want to try out (and contribute back!) different corner
cases, bigger examples, etc. but that's not essential for many
reviews.

It would be very cool if there was a way to have multiple builds of
Sage co-exist cheaply. Imagine a service where you could ssh into
trac1234.sagemath.org and be presented with a sage prompt with ticket
#1234 built and ready to play with. Or a notebook. How cheap could it
be to have a SMC project for every open ticket? And then you could
take some of your examples and insanely easily (e.g. with the click of
a button, or maybe a copy-paste) add them to a docstring. That's my
vision of how to make life easier for reviewers on top of what the
patchbot already does.

- Robert

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread Robert Bradshaw
On Thu, May 29, 2014 at 10:37 AM, William Stein wst...@gmail.com wrote:
 On Thu, May 29, 2014 at 10:01 AM, kcrisman kcris...@gmail.com wrote:
 Please excuse the following rant.  As usual, it is ill-informed, and if some

 I appreciate it, and I'm glad we're having this discussion.  (It's a
 rant, but it isn't a flame. Yeah!)

 of the points are due to ignorance, I have no problem with that being
 pointed out.  But from reading the lists, I'm not the only one experiencing
 difficulty with this sort of thing.  At the very least I think it shows it's
 not that easy to do everything right now.

 rant
 Git workflow.

 The goal was to reduce work for some developers and make things more
 modular, but in fact what happens is that people are basing their branches
 on all kinds of different starting points, forcing constant recompilation
 for even the most trivial changes.  I'm told ccache will help with this,
 but it's still not in the developer guide, and I'm not sure it will help
 with [s]pkgs anyway, which also change frequently.

 There were arguments last year by various people that our patch-based
 workflow was bad, at least as opposed to using branches. There was
 little in the way of arguments back for patches.  I personally wasn't
 really paying attention then, and I frankly didn't know which was
 better, having only had experience with patches.I'm glad that
 you're presenting some of the arguments below in favor of the value of
 a more patches-based workflow.

 I recently listened to an interview with the release manager for the
 stable linux kernel.   Linux is of course a big project that uses git
 -- in fact, as we all know, Linus invented git for Linux development.
   They use *patches* rather than branches.  In fact, their workflow is
 email + patches.He argues in the interview (in response to
 questions, etc.) that this is far more efficient than the  branch
 model.
 Evidently, git has extremely good support for sending patches via
 email and applying them from email (at least in a local mail spool).
Another project I'm involved in called bup
 (https://github.com/bup/bup) does the same thing -- all code
 contributions are patches to the mailing list, so I've seen this work.

 I'm not arguing for replacing trac by patches to a mailing list!  I'm
 just pointing out that some people's assertions that using patches
 instead of branches is not properly using git can't be right, since
 the Linux kernel devs use of git is just as proper as anybody
 else's.Basically, I'm trying to argue that there is merit to your
 rant.

 In addition, a web-based interface just like github pull requests was
 promised, but I don't see it.  Since we don't use the github version to
 allow people to just edit (see e.g.
 https://github.com/grant/sage/commit/27c97d376a956a05c6e4abd97102f80195bda4c0
 for one request that apparently has been ignored), we are actually in a
 *worse* place than we were with patches, where at least those could be
 applied more or less independently of the state of Sage.

 As another example, in attempting to review one patch which relies upon the
 new Maxima update: where that is, one cannot learn easily from git log,
 since

 $ git log | grep maxima | less
 $ git log | grep Maxima | less

 both do not tell me that in fact, even though Trac says closed, #13973
 apparently is not yet in a merged release, and so I just wasted a lot of
 time figuring that out.  Since Merged in is no longer updated.  You would
 think that I could learn this by doing

 $ git log | grep 13973

 but since Trac #s are no longer in commit messages, that isn't foolproof
 either.  And indeed, the standard output of git log is kind of scary,
 because while some entries look like this, roughly as in the old one

 commit 3ea4f9bfc3c1acb6cb9eaa8e7a8ffa41779a6181
 Author: XYZ
 Date:   Thu May 22 08:37:36 2014 +0200

 16199: documentation cosmetics


 others look like this

 commit e9352062ad7fedbe00ad62d397672203824e0267
 Merge: cc54f6e 80e319d
 Author: XYZ
 Date:   Thu May 22 08:01:19 2014 +0200

 Merge branch 'develop' into
 t/16199/improve_docs__add_doctests_in_power_seri

 * develop: (606 commits)
   Updated Sage version to 6.3.beta1
   trac #16237: Typos
   Use lazy_import instead
   Use point collections more directly.
   trac #15036: fix late import of is_Matrix to avoid startup problems
   Fixes to normal_form_pc to work with point collections properly.
   Fixed failing doctests.
   trac #16277: A typo
   minor fixes
   Trac 15099: numeric evaluation of zetaderiv
   trac 16211: Review reviewer patch.
   Added a category parameter to Module
   change raise syntax to python3 style

 and still others look like this

 commit 9a4b0b83fa06a113c485f22f37af02c24ef35e90
 Merge: f4cbb5f b8fea1c
 Author: Release Manager rele...@sagemath.org
 Date:   Wed May 21 16:40:31 2014 +0100

 Trac #15921: work around Maxima fpprintprec bug and other ARM-specific
 

Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread Robert Bradshaw
On Thu, May 29, 2014 at 10:29 AM, Travis Scrimshaw tsc...@ucdavis.edu wrote:
I never really have had a problem with the new workflow (in fact, I
 actually prefer it to the old one). However I had a good command of git
 coming into this and read the git the hard way. So my 2 cents would be to
 have developers spend time learning git properly instead of using the dev
 scripts (I think this is a useful skill beyond Sage development).

Yes, yes, yes. git trac fits well here to plug in only the
sage-specific bits.

 However I
 do see your point that this is an extra barrier to Sage development since
 IMO one generally needs to know more about git than about Hg in order to
 development.


 1) Put Merged in back.


 +1 I'd also suggest not closing/merging tickets until shortly before
 releasing the next beta.

Why?

 2) Fix just how much crazy stuff shows up in git log, presumably by
 merging things differently or with different messages or something.

 I don't think there's much we can do about this considering how git
 workflows are suppose to work and since the develop does have everything
 merged in.

On this note, I think the ticket description is the perfect thing to
put in the merge commit. People should be more aware of that, and
craft (sometimes as the ticket evolves) good descriptions that
describe exactly what the ticket is about.

- Robert

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-29 Thread kcrisman
Well, I am thankful that my rant led to some pretty substantive discussion. 
 Here let me summarize some thoughts.

A) +1 to having something where a github-like editing thing works.  I've 
used this at least once with matplotlib.  My beef with github is orthogonal 
to the web interface piece.  If there is a good workflow where we can 
direct contributors to make smaller edits on the github mirror and they'll 
be taken care of, that's great.

B) I didn't realize that the release manager commits were separate from 
the author ones.  That is strange to me, but I guess it's there. 
 Nonetheless, I think that the vast majority of ticket descriptions are (or 
at least start as) fairly half-baked notions of what could be added or 
fixed, and are entirely inappropriate for a commit message to siphon 
through in git log.  Especially since they are so long compared to most 
commit messages (and not for good reasons).

C) I haven't heard any -1's to Merged in being resuscitated, so maybe 
that should really happen.

[More thoughts: Robert B: I think Travis' point about doing it near the 
release time is so that people know where to start from.  My whole trouble 
earlier today ended up being because, since it said closed, I assumed the 
Maxima upgrade HAD to be in the latest beta - which it wasn't.  And several 
git pull attempts in my develop branch did nothing, since develop is 
still at 6.3.beta2 as of this writing (on github at least).  As it turned 
out, it wasn't based on the right ticket, so I guess that could have been 
needs work, but it *says* Depends on #13973 so in the old workflow that 
should have been enough (install #13973, then install this one). I feel 
like this is closely related.]

D) Patchbot?  What patchbot?  At least the colorings aren't working right 
now, it seems.  But I would love to trust that again and not have to 
rebuild trivial things.

E) Please everyone let's put Trac #s back in the commit messages, then, if 
the immutability is a barrier there.  Some of the most recent ones are 
completely mystifying.  And then it will be possible to figure out where 
the new code IS in the tree, as opposed to just the merges which can be 
patchbombs.

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Project: add hundreds of contributors to sage

2014-05-28 Thread rjf


On Wednesday, May 28, 2014 3:31:08 PM UTC-7, Paul-Olivier Dehaye wrote:

 Again, in the big wave of emails, this one also got misdirected:

 Hi everyone,
  
 I am looking for people who want to help me, in one way or another, bring
 hundreds of new first time contributors to sage. If I do not find enough
 partners, I will look for other more suitable python-based projects.
  
 The idea would be quite simple: teach python programming around some
 mathematics (such as combinatorics) and simultaneously produce code that
 would be useful for research and worth including in sage. Two catches:
 students are given individual problems to work on, and the course is taught
 on Coursera. Motivation for the students would come in various ways:
 internships, for instance. Quality of the code would be ensured by
 peer-testing the programs.


William Stein has already responded to the major issues regarding the
Sage development process, but I would just like to comment on this
particular aspect of peer-testing.  Having two or more people who have
just learned python and do not know much mathematics peer review
code does not lead to much of an ensured  level of quality.  
Certainly there are other clumps of python aggregating code that are not
as daunting as Sage.  Numpy and Sympy come to mind,  but I doubt
that they would really relish a MOOC's-worth of naive contributions, when
it is pretty much guaranteed that a very high percentage would, under
careful scrutiny, be duplicative, erroneous, poorly coded, or all three.

It's a nice thought to get many hands to write code free.  But impractical,
in spite of Eric Raymond's Cathedral and Bazaar essay.  All bugs are 
shallow
with enough eyes  (or whatever the wording is...)  is perhaps plausible if 
the system
is itself shallow (like linux).  
Where I differ with Raymond is I think there are not enough eyes on the 
planet to make some
bugs shallow in a deep system-- one that does (say) sophisticated 
symbolic mathematics.
If extra eyes were all that were necessary, there would be no long-standing 
mathematical
conjectures.



 
 If you do not know what Coursera or MOOCs are, you are welcome to take my
 upcoming course
 https://class.coursera.org/massiveteaching-001
  
 If you are interested to play with a MOOC platform yourself, you might want
 first to watch the videostream of the 2pm-3pm slot of this conference I am
 co-organising on Tuesday:
 tinyurl.com/openedx-zurich
 as it will help you assess the technical challenges.
  
 I am looking at a start date for the course of around October-November, and
 to bring the discussion off the mailing list (to private) so as to keep an
 element of surprise for the students.
  
 Let me know!
  
 Paul

 Paul-Olivier Dehaye
 SNF Professor of Mathematics
 University of Zurich
 skype: lokami_lokami (preferred)
 phone: +41 76 407 57 96
 chat: paulo...@gmail.com javascript:
 twitter: podehaye
 freenode irc: pdehaye
  

-- 
You received this message because you are subscribed to the Google Groups 
sage-devel group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: project web servers

2009-02-17 Thread Martin Albrecht

On Tuesday 17 February 2009, William Stein wrote:
 Hi,

 I had to migrate all the cython, Sage and mpir websites and related
 servers to another machine, due to some hardware failures on the
 server that was hosting them.Please let me know if any of the
 cython, Sage, or MPIR websites are suddenly broken.

Hi,

  http://m4ri.sagemath.org

doesn't exist anymore (since the switch).

Cheers,
Martin


-- 
name: Martin Albrecht
_pgp: http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x8EF0DC99
_otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF
_www: http://www.informatik.uni-bremen.de/~malb
_jab: martinralbre...@jabber.ccc.de


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[sage-devel] Re: project web servers

2009-02-17 Thread Timothy Clemans

planet.sagemath.org point's to William's homepage

On Tue, Feb 17, 2009 at 4:53 AM, Martin Albrecht
m...@informatik.uni-bremen.de wrote:

 On Tuesday 17 February 2009, William Stein wrote:
 Hi,

 I had to migrate all the cython, Sage and mpir websites and related
 servers to another machine, due to some hardware failures on the
 server that was hosting them.Please let me know if any of the
 cython, Sage, or MPIR websites are suddenly broken.

 Hi,

  http://m4ri.sagemath.org

 doesn't exist anymore (since the switch).

 Cheers,
 Martin


 --
 name: Martin Albrecht
 _pgp: http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x8EF0DC99
 _otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF
 _www: http://www.informatik.uni-bremen.de/~malb
 _jab: martinralbre...@jabber.ccc.de


 


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[sage-devel] Re: project web servers

2009-02-17 Thread mabshoff



On Feb 17, 9:02 am, Timothy Clemans timothy.clem...@gmail.com wrote:
 planet.sagemath.org point's to William's homepage

Yep, Harald already mentioned that off-list yesterday and there was
some talk to resurrect the planet with nicer skinning, etc. soon.

Thanks for reporting it again :)

Cheers,

Michael
--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[sage-devel] Re: project web servers

2009-02-17 Thread William Stein

On Tue, Feb 17, 2009 at 1:53 AM, Martin Albrecht
m...@informatik.uni-bremen.de wrote:

 On Tuesday 17 February 2009, William Stein wrote:
 Hi,

 I had to migrate all the cython, Sage and mpir websites and related
 servers to another machine, due to some hardware failures on the
 server that was hosting them.Please let me know if any of the
 cython, Sage, or MPIR websites are suddenly broken.

 Hi,

  http://m4ri.sagemath.org

 doesn't exist anymore (since the switch).

Please check that it works now.

http://m4ri.sagemath.org/

Also, please check that you can login to boxen.math and from there do

ssh m...@sagemath

so you can login to the m4ri account and edit the website.
You can add ssh keys for anybody else who should edit
the website.

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
-~--~~~~--~~--~--~---



[sage-devel] Re: project web servers

2009-02-17 Thread William Stein

On Tue, Feb 17, 2009 at 9:02 AM, Timothy Clemans
timothy.clem...@gmail.com wrote:

 planet.sagemath.org point's to William's homepage

This should now be fixed.  Let me know if you see any other problems.

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
-~--~~~~--~~--~--~---



[sage-devel] Re: project web servers

2009-02-17 Thread Martin Albrecht

 Please check that it works now.

 http://m4ri.sagemath.org/

 Also, please check that you can login to boxen.math and from there do

 ssh m...@sagemath

 so you can login to the m4ri account and edit the website.
 You can add ssh keys for anybody else who should edit
 the website.

All good, thanks!

Martin


-- 
name: Martin Albrecht
_pgp: http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x8EF0DC99
_otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF
_www: http://www.informatik.uni-bremen.de/~malb
_jab: martinralbre...@jabber.ccc.de


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[sage-devel] Re: project web servers

2009-02-17 Thread Georg S. Weber



On 17 Feb., 20:04, William Stein wst...@gmail.com wrote:
 On Tue, Feb 17, 2009 at 9:02 AM, Timothy Clemans

 timothy.clem...@gmail.com wrote:

  planet.sagemath.org point's to William's homepage

 This should now be fixed.  Let me know if you see any other problems.

 William

Hi William,

the link I used to access trac is currently broken:

http://sagetrac.org/sage_trac/

due to

http://sagetrac.org/

also pointing to your home page.
Cheers,
gsw

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[sage-devel] Re: project web servers

2009-02-17 Thread William Stein

On Tue, Feb 17, 2009 at 11:47 AM, Georg S. Weber
georgswe...@googlemail.com wrote:



 On 17 Feb., 20:04, William Stein wst...@gmail.com wrote:
 On Tue, Feb 17, 2009 at 9:02 AM, Timothy Clemans

 timothy.clem...@gmail.com wrote:

  planet.sagemath.org point's to William's homepage

 This should now be fixed.  Let me know if you see any other problems.

 William

 Hi William,

 the link I used to access trac is currently broken:

 http://sagetrac.org/sage_trac/

 due to

 http://sagetrac.org/

 also pointing to your home page.
 Cheers,
 gsw

Thanks.  This is now fixed.

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
-~--~~~~--~~--~--~---



[sage-devel] Re: project web servers

2009-02-16 Thread mabshoff



On Feb 16, 9:25 pm, William Stein wst...@gmail.com wrote:
 Hi,

 I had to migrate all the cython, Sage and mpir websites and related
 servers to another machine, due to some hardware failures on the
 server that was hosting them.    Please let me know if any of the
 cython, Sage, or MPIR websites are suddenly broken.

Attaching sub-1kb patches is broken in Sage's trac with


[9:39pm] mabs: wstein2: I cannot attach patches to trac all the
sudden. It worked 10 minutes ago:
[9:39pm] mabs: Traceback (most recent call last):
[9:39pm] mabs:   File /home/sage/sage_install/stable/local/lib/
python2.5/site-packages/trac/web/main.py, line 387, in
dispatch_request
[9:39pm] mabs: dispatcher.dispatch(req)
[9:39pm] mabs:   File /home/sage/sage_install/stable/local/lib/
python2.5/site-packages/trac/web/main.py, line 237, in dispatch
[9:39pm] mabs: resp = chosen_handler.process_request(req)
[9:39pm] mabs:   File /home/sage/sage_install/stable/local/lib/
python2.5/site-packages/trac/attachment.py, line 361, in
process_request
[9:39pm] mabs: self._do_save(req, attachment)
[9:39pm] mabs:   File /home/sage/sage_install/stable/local/lib/
python2.5/site-packages/trac/attachment.py, line 450, in _do_save
[9:39pm] mabs: size = upload.file.len

I tested and as soon as a patch is larger than 1023 bytes it works
again.

  -- William

 --
 William Stein

Cheers,

Michael
 Associate Professor of Mathematics
 University of Washingtonhttp://wstein.org
--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[sage-devel] Re: project web servers

2009-02-16 Thread William Stein

On Mon, Feb 16, 2009 at 9:45 PM, mabshoff mabsh...@googlemail.com wrote:



 On Feb 16, 9:25 pm, William Stein wst...@gmail.com wrote:
 Hi,

 I had to migrate all the cython, Sage and mpir websites and related
 servers to another machine, due to some hardware failures on the
 server that was hosting them.Please let me know if any of the
 cython, Sage, or MPIR websites are suddenly broken.

 Attaching sub-1kb patches is broken in Sage's trac with


 [9:39pm] mabs: wstein2: I cannot attach patches to trac all the
 sudden. It worked 10 minutes ago:
 [9:39pm] mabs: Traceback (most recent call last):
 [9:39pm] mabs:   File /home/sage/sage_install/stable/local/lib/
 python2.5/site-packages/trac/web/main.py, line 387, in
 dispatch_request
 [9:39pm] mabs: dispatcher.dispatch(req)
 [9:39pm] mabs:   File /home/sage/sage_install/stable/local/lib/
 python2.5/site-packages/trac/web/main.py, line 237, in dispatch
 [9:39pm] mabs: resp = chosen_handler.process_request(req)
 [9:39pm] mabs:   File /home/sage/sage_install/stable/local/lib/
 python2.5/site-packages/trac/attachment.py, line 361, in
 process_request
 [9:39pm] mabs: self._do_save(req, attachment)
 [9:39pm] mabs:   File /home/sage/sage_install/stable/local/lib/
 python2.5/site-packages/trac/attachment.py, line 450, in _do_save
 [9:39pm] mabs: size = upload.file.len

 I tested and as soon as a patch is larger than 1023 bytes it works
 again.

  -- William

OK, this is now fixed.

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
-~--~~~~--~~--~--~---



[sage-devel] Re: project web servers

2009-02-16 Thread William Stein

On Mon, Feb 16, 2009 at 9:45 PM, mabshoff mabsh...@googlemail.com wrote:



 On Feb 16, 9:25 pm, William Stein wst...@gmail.com wrote:
 Hi,

 I had to migrate all the cython, Sage and mpir websites and related
 servers to another machine, due to some hardware failures on the
 server that was hosting them.Please let me know if any of the
 cython, Sage, or MPIR websites are suddenly broken.

 Attaching sub-1kb patches is broken in Sage's trac with


 [9:39pm] mabs: wstein2: I cannot attach patches to trac all the
 sudden. It worked 10 minutes ago:
 [9:39pm] mabs: Traceback (most recent call last):
 [9:39pm] mabs:   File /home/sage/sage_install/stable/local/lib/
 python2.5/site-packages/trac/web/main.py, line 387, in
 dispatch_request
 [9:39pm] mabs: dispatcher.dispatch(req)
 [9:39pm] mabs:   File /home/sage/sage_install/stable/local/lib/
 python2.5/site-packages/trac/web/main.py, line 237, in dispatch
 [9:39pm] mabs: resp = chosen_handler.process_request(req)
 [9:39pm] mabs:   File /home/sage/sage_install/stable/local/lib/
 python2.5/site-packages/trac/attachment.py, line 361, in
 process_request
 [9:39pm] mabs: self._do_save(req, attachment)
 [9:39pm] mabs:   File /home/sage/sage_install/stable/local/lib/
 python2.5/site-packages/trac/attachment.py, line 450, in _do_save
 [9:39pm] mabs: size = upload.file.len

 I tested and as soon as a patch is larger than 1023 bytes it works
 again.


Thanks for pointing this out.

I've upgraded the trac servers for sage, cython, and mpir all to
trac-0.11.3.  Again, let me know if you have any problems as a result.

Note that trac-0.11* has much better support for workflows, but I
haven't done anything with that -- I just migrated the old installs.
Mike Hansen will likely incorporate better workflow support, at least
for the sage project.

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
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-22 Thread mabshoff

On Apr 22, 7:36 am, Bill Page [EMAIL PROTECTED] wrote:
 On Mon, Apr 21, 2008 at 9:03 AM, William Stein wrote:

Hello folks,

  ...
   In the defense of GCL, *most* components of Sage were a mess

gcl is in way more of a mess than any other component in Sage I can
imagine. But then I wasn't around in the early days of Sage ;)

   like above when I/you/whoever first tried to add them to Sage.
   I personally haven't tried much using cvs GCL only, partly because
   it scares me to use cvs for a deployed quality product.  Since cvs
   might be broken one day, not the next, etc., and one has no clue
   if the code has been tested or not or what.  The last released
   version is from 2005, and it's clear the website is just dead (maybe
   somebody lost the password?!)  I mean, it just looks a little silly
   for the website (http://www.gnu.org/software/gcl/) to start with:
     NEW! (20050810) GCL 2.6.7 is released. The release notes can
        be found  here.
  ...
  The GCL-devel mailing list has on average about 5-6 messages
  a month during the last couple of months, except for a bunch of
  messages in January about people trying to build GCL from cvs.

 No doubt about it - GCL does not have sufficient resources for
 maintenance and has been somewhat neglected of late. As you say: It is
 not a situation that you find entirely uncommon among the packages
 that have been added to Sage in the past. Necessity is what drives
 most of this kind of work.

   I've made a gcl Sage optional spkg:

     http://sage.math.washington.edu/home/was/tmp/gcl/gcl-20080421.spkg

   It's just GCL-from-cvs + a simple spkg-install.  I have never got it to
   build on any system.   It's a pretty big spkg, since it appears to
   include the entire gas assembler, some version of GMP, etc.  Try
   it out and see if it *doesn't* work for you too :-)

     wgethttp://sage.math.washington.edu/home/was/tmp/gcl/gcl-20080421.spkg
     sage -i gcl-20080421.spkg

 Thanks. It doesn't work for me either. :-(

 You are right that the source is bloated by a bunch of code that it
 does not use. As I understand it gcl needs only a small part of
 binutils - depending on the build options for a particular system.

 Is this source from cvs head at:

  http://savannah.gnu.org/projects/gcl/

 as of today?

Yes.

 This version of GCL fails on my Solaris x86 system with the following
 obscure error message:

 gcc -c -fsigned-char -pipe -Wall  -O3 -fomit-frame-pointer  
 -I/export/home0/wspa
 ge/gcl-sage/gcl-20080421/src/o -I../h -I../gcl-tk cmpaux.c
 cmpaux.c: In function `object_to_fcomplex':
 cmpaux.c:329: error: `_Imaginary_I' undeclared (first use in this function)
 cmpaux.c:329: error: (Each undeclared identifier is reported only once
 cmpaux.c:329: error: for each function it appears in.)
 cmpaux.c: In function `object_to_dcomplex':
 cmpaux.c:366: error: `_Imaginary_I' undeclared (first use in this function)
 gmake[1]: *** [cmpaux.o] Error 1
 rm list.c
 gmake[1]: Leaving directory `/export/home0/wspage/gcl-sage/gcl-20080421/src/o'
 gmake: *** [unixport/saved_pre_gcl] Error 2

That is an issue most likely with complex.h - IIRC _Imaginary_I is
part of the Sun's libc or libm - I would need to check.

 ---

 At 'http://cvs.savannah.gnu.org/viewvc/gcl/?root=gcl'I see changes as
 recent as 3 months ago. The last time I built GCL from head was about
 10 months ago.

I tried 8 months or so ago and then roughly 4 months or so ago, both
times with disastrous results.

 The most recent branch 'Version_2_6_8pre' is what we normally use to
 build Axiom. There is a change about 4 months old. If I recall
 correctly 'Version_2_6_8pre' actually corresponds to the version
 distributed on Debian and would probably be the most likely to be
 stable on the largest number of platforms.

At least testing ships CVS head. And not to be too picky here: The
last tarball from the website predates OSX 10.5 and also Solaris 10,
so maybe it is time to cut another bug fix release since everybody
seems to be using 2.6.8CVS anyway. But when I build stable releases I
do not poke around in the CVS repo. Asking could have helped, but if
nobody bothered to update the website in three years anyway what is
the point? 2.6.7 actually also miserably fails on Solaris 9 for me,
and that has been out for a while before 2.6.7.

   Bill Page -- I would be interested in any comments you might have.
   For example, is the fact that GCL doesn't build for us anywhere,
   something that you think we'll get passed by just trying harder?
   Or is it going to be really really hard.

 The fact that it doesn't build for you anywhere is definitely strange.
 I would give it a try again with

   $ cvs -z3 -d:pserver:[EMAIL PROTECTED]:/sources/gcl co
 -r Version_2_6_8pre gcl

 I do expect that (with the right help) you will be able to build gcl
 everywhere that you build Sage. Instead of just trying harder I think
 it is very appropriate to ask for help. Only if there is no help
 forthcoming, perhaps I 

[sage-devel] Re: Project

2008-04-22 Thread Bill Page

Michael,

Wow, it sure it nice to have someone on the other end of the phone,
so as to speak ... :-) I think it is really great that Google came
through with financial support that is making it possible for you and
others to dedicate so much time to this.

On Tue, Apr 22, 2008 at 2:41 AM, mabshoff wrote:

  On Apr 22, 7:36 am, Bill Page wrote:
 ...
   The most recent branch 'Version_2_6_8pre' is what we normally
   use to build Axiom. There is a change about 4 months old. If I
   recall correctly 'Version_2_6_8pre' actually corresponds to the
   version distributed on Debian and would probably be the most
   likely to be stable on the largest number of platforms.

  At least testing ships CVS head.

Are you sure? I suppose that we had better check with Camm.

  And not to be too picky here: The last tarball from the website
  predates OSX 10.5 and also Solaris 10, so maybe it is time to
  cut another bug fix release since everybody seems to be using
 2.6.8CVS anyway.

Yes, 2.6.8pre (as in pre-release). 2.6.8 was never officially released.

  But when I build stable releases I do not poke around in the CVS
  repo. Asking could have helped, but if nobody bothered to update
  the website in three years anyway what is the point? 2.6.7 actually
  also miserably fails on Solaris 9 for me, and that has been out for
  a while before 2.6.7.


This is open source age and GCL existed well before that. I am not
making excuses but ...

 ...
  Well, since the Maxima folks now have told us that they will
  support ecls soon the decision has been made on our end to
  switch to Maxima +ecls.

Choose your own poison. ;-) Actually I don't know much about ecl but I
seriously doubt the long term viability of ecl will be any different
than the half dozen other alternatives. Of course I am all for
co-operation between projects so if Maxima is willing to make a
version that is more suitable for use in Sage, the more power (money
and resources ...) to them! :-)

  There is no point in beating the dead horse that is gcl.

I take offense. gcl is not a dead horse no matter how neglected it
might look to you.

 ecls has MSVC support *today* and is probably trivially to port to
 Sun Forte if it doesn't run already. The mailing list is alive and well.
 I have looked at the code and fixed some issues myself, so why
 would I want to touch gcl?


I don't know. The OpenAxiom and FriCAS forks of Axiom work on ecl so I
am also not too worried about gcl in the long run.

   ---
  
   Anyway, none of this solves the immediate problem of providing
   support for symbolic mathematics in Sage without adding the
   burden of supporting Lisp in all target environments. Right now
   you depend on the linkage with Maxima for this feature, And I
   think you see symbolic manipulation as a particular domain or
mode of computation within Sage rather than the reason d'etre
   of computer algebra systems.
  
   I would like to argue however that from an overall design perspective
   Axiom is a better match for Sage than Maxima. Like Sage itself,
   the Axiom library is built-up in a (more or less) rigorous manner
   from more fundamental mathematical constructions. One of these
   complex constructions is called 'Expression'. This is the domain
   in which most symbolic calculations are done in Axiom. However
   as it will be in Sage, it is necessary that Expression interact in
   a well-defined manner with other Axiom domains of computation.
   I believe that if you were to re-implement the Maxima symbolic
   functionality within Sage (Python) then you would essentially be
   implementing something rather similar to the Expression domain
   in Axiom.
  
   In the longer term (pending resolution of the remaining open
   source license issues), Aldor could provide much of the same
   set of functionality of Axiom through it's BasicMath and other
   libraries without the overhead of the Axiom interpreter interface.
   This would completely eliminate the need for Lisp. I still have
   some hope that this could happen in the near future. If Sage
   were to pursue this path, I think the Aldor license issues might
   be resolved more quickly.

  Well, I think NAG chose the non-commercial only license on
 purpose.

Well yes, of course it was on purpose. They have stated that they felt
obligated to do this by the terms under which they originally received
Axiom (and Aldor) from IBM. NAG itself is a non-commerical
organization.

  We have discussed the issue here before and everybody agrees
 that it is GPL incompatible.

Yes, that is the said truth. Some people at NAG apparently also have a
philosophical disagreement with the Free Software Foundation about the
reasonableness of GPL but I am still optimistic that this can be
overcome. Afterall, you can only shoot yourself in the foot so many
times ... ;-)

  But I have little hope that Sage's potential interest in Aldor
  would get somebody to change the license.

I think you greatly under estimate the 

[sage-devel] Re: Project

2008-04-22 Thread Gabriel Dos Reis

On Tue, Apr 22, 2008 at 8:12 AM, William Stein [EMAIL PROTECTED] wrote:


  On Tue, Apr 22, 2008 at 5:32 AM, Gabriel Dos Reis [EMAIL PROTECTED] wrote:
  
On Tue, Apr 22, 2008 at 2:39 AM, mabshoff
[EMAIL PROTECTED] wrote:



  On Apr 22, 9:15 am, Alfredo Portes [EMAIL PROTECTED] wrote:
   On Tue, Apr 22, 2008 at 1:41 AM, mabshoff

  [EMAIL PROTECTED]

  Hi,


 Well, I think NAG chose the non-commercial only license on 
 purpose.
 We have discussed the issue here before and everybody agrees that 
 it
 is GPL incompatible. But I have little hope that Sage's potential
 interest in Aldor would get somebody to change the license. A 
 non-
 commercial only Open Source license is often the kiss of death 
 to a
 project. Abandoned by its commercial parent company, but not free 
 in
 reality it is neither here nor there. Either you make the code 
 free
 [your choice: GPL, LGPL, MIT, BSD] or you don't. It is either Open
 Source code or it isn't, just like you can't be a little big
 pregnant :)
  
   Yes, just like QT...oh wait.

  Well, I don't think the situation is comparable. TrollTech understood
  Open Source way back. Axiom was released under BSD, so why the
  different treatment for Aldor?
  
From the little I know, the situation  -- as it has been carefully 
 explained
to me -- is far more complicated, and I'm not sure it is one that can be
resolved by emails.  All I can say is that there really are good guys at
NAG who would not like to see Axiom die (as it was) and they did the best
to make it open source under a very liberal license (no poison).  The
surrounding environment and conditions for releasing Aldor had changed 
 from
what they were back when Axiom was released.  I would recommend
you talk to Mike Dewar, Stephen Watt, Barry Trager (among others) about
the situation.  However, I doubt it can be resolved by public emails -- 
 and if
it is resolved by public emails, then that is fantastic!.

  I can imagine.Is the conclusion to draw from the above that you think
  it unlikely Aldor will be released under a standard open source license
  in the near future, but that you very much wish it would be?

Stephen Watt has indicated, at many times, that he is very willing to clarify
the Aldor license terms -- I believe he intends to write a sort of FAQ
that would shed light on the issue.  I can imagine that the voice of a
big player
(Sage) is not the same as that of a small group  (Axiom community at
the time); so it might be that Sage could be more persuasive; but I suspect
it would take lot of face-to-face conversions.  At ISSAC'08, you'd very likely
to meet people would shaped the development and release of Axiom and Aldor.

However, unless there is a new player with new material in the
discussion, I would
not expect the situation to change.

  
  


   A petition to really open source Aldor won't hurt
   I think. What is the worst that can happen? Yes, I know the answer 
 go and
   start one :-(

  Out of curiosity: Are there download statistics of Aldor binaries and
  source? Is there any kind of estimate of user numbers? How far along
  is FriCAS and/or OpenAxiom from using pure Aldor and no lisp? Are
  there any benchmarks to compare those two?
  
Because of licensing issues -- OpenAxiom is released under BSD license --
and dependency problems, I cannot make OpenAxiom purely depending
on Aldor.  Whoever, it should be possible to call Aldor libraries from 
 OpenAxiom
and vice versa (and if that does not work, it is likely a bug in 
 OpenAxiom).

  You didn't answer the questions about downloads/users/etc.

Sorry about that -- I did not have enough coffee :-)

Download:  The numbers I have are the ones from SF website.  When I ask
for the raw number for the last two months ( Feb 23, 2008 - Apr 22,
2008), it says
685 downloads.  I see a peak at 34 yesterday (I have no clue about
what was going on
yesterday).

http://sourceforge.net/project/stats/detail.php?group_id=203172ugn=open-axiomtype=prdownload

The Windows binary is said to have been downloaded 319 times but Alfredo and I
know that the actual numbers are higher than that because the count was reset
when the binary file was upgraded. The source tarball has been downloaded 133
times.  Combined, the RPMs have been downloaded 78 times.

Users: I have no numbers, except extrapolating from downloads and people sending
me emails.

 Should we  write to NAG to ask?

Yes, that is a very good initiative.  Mike Dewar is among the NAG people you
might want to talk to.



  
As I have stated many times, and part of the reasons for OpenAxiom, I
would like to
get away from Lisp as soon as possible: This isn't negociable.

  For people in Sage-devel who don't know, OpenAxiom has the following
  goal 

[sage-devel] Re: Project

2008-04-22 Thread Robert Dodier

mabshoff wrote:

 Well, since the Maxima folks now have told us that they will support
 ecls soon the decision has been made on our end to switch to Maxima
 +ecls.

Michael, I don't mean to rain on the parade, but: I personally
am willing to try to resolve the problems compiling Maxima with
ECLS, but I can't promise that anyone else is going to be interested.

 There is no point in beating the dead horse that is gcl.

It has been proposed more than once on the Maxima mailing
list to drop GCL. The main issue is that GCL runs on Windows
and some other Lisps of interest (SBCL, CMUCL) do not.

Robert Dodier


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-22 Thread William Stein

On Tue, Apr 22, 2008 at 6:50 AM, Bill Page [EMAIL PROTECTED] wrote:

  Michael,

  Wow, it sure it nice to have someone on the other end of the phone,
  so as to speak ... :-) I think it is really great that Google came
  through with financial support that is making it possible for you and
  others to dedicate so much time to this.

I'm very thankful to them.  By the way, Microsoft Research
is also funding Sage work right now, and I'm also very grateful
to them.

  On Tue, Apr 22, 2008 at 2:41 AM, mabshoff wrote:
  
On Apr 22, 7:36 am, Bill Page wrote:
   ...

The most recent branch 'Version_2_6_8pre' is what we normally
 use to build Axiom. There is a change about 4 months old. If I
 recall correctly 'Version_2_6_8pre' actually corresponds to the
 version distributed on Debian and would probably be the most
 likely to be stable on the largest number of platforms.
  
At least testing ships CVS head.

  Are you sure? I suppose that we had better check with Camm.

Please do.


And not to be too picky here: The last tarball from the website
predates OSX 10.5 and also Solaris 10, so maybe it is time to
cut another bug fix release since everybody seems to be using
   2.6.8CVS anyway.

  Yes, 2.6.8pre (as in pre-release). 2.6.8 was never officially released.


But when I build stable releases I do not poke around in the CVS
repo. Asking could have helped, but if nobody bothered to update
the website in three years anyway what is the point? 2.6.7 actually
also miserably fails on Solaris 9 for me, and that has been out for
a while before 2.6.7.
  

  This is open source age and GCL existed well before that. I am not
  making excuses but ...

GCL started in 1984 I guess.


   ...

   Well, since the Maxima folks now have told us that they will
support ecls soon the decision has been made on our end to
switch to Maxima +ecls.

  Choose your own poison. ;-) Actually I don't know much about ecl but I
  seriously doubt the long term viability of ecl will be any different
  than the half dozen other alternatives.

Perhaps you should know more about ecl before you make such assertions.
I also don't know much about ecl, but I do know that Michael Abshoff
knows how to evaluate code and build systems well, and if he says that ecls
is much more viable codewise I wouldn't try to refute it by simply saying
I seriously doubt it without a good argument.  Michael did give real
technical arguments for ecls.

Aside: Several very successful senior industry-type people
have mentioned to me on several occasions that successful
software projects tends to have a life cycle, which is maybe around 30 years.
I do not know if I believe this, but their reasoning goes that software does
something like this:

 Years   0-9: rapid growth of new project by a bunch of smart kids
 Years 10-19: stability; usability
 Years 20-29: decline

GCL is from 1984.

I'm still not at all sure I buy into this 30 year lifecycle deal,
but there is probably something to it.   Perhaps the only
way to escape it is to reinvent the software -- e.g.,
Cayley which started in 1973, was reinvented as Magma
in the early 1990s.   Maybe Magma is being reinvented
as Sage... :-)

  Of course I am all for
  co-operation between projects so if Maxima is willing to make a
  version that is more suitable for use in Sage, the more power (money
  and resources ...) to them! :-)

Good.



There is no point in beating the dead horse that is gcl.

  I take offense. gcl is not a dead horse no matter how neglected it
  might look to you.


   ecls has MSVC support *today* and is probably trivially to port to
   Sun Forte if it doesn't run already. The mailing list is alive and well.
   I have looked at the code and fixed some issues myself, so why
   would I want to touch gcl?
  

  I don't know. The OpenAxiom and FriCAS forks of Axiom work on ecl so I
  am also not too worried about gcl in the long run.



 ---

 Anyway, none of this solves the immediate problem of providing
 support for symbolic mathematics in Sage without adding the
 burden of supporting Lisp in all target environments. Right now
 you depend on the linkage with Maxima for this feature, And I
 think you see symbolic manipulation as a particular domain or
  mode of computation within Sage rather than the reason d'etre
 of computer algebra systems.

 I would like to argue however that from an overall design perspective
 Axiom is a better match for Sage than Maxima. Like Sage itself,
 the Axiom library is built-up in a (more or less) rigorous manner
 from more fundamental mathematical constructions. One of these
 complex constructions is called 'Expression'. This is the domain
 in which most symbolic calculations are done in Axiom. However
 as it will be in Sage, it is necessary that Expression interact in
 a well-defined manner with other Axiom domains of 

[sage-devel] Re: Project

2008-04-22 Thread Gabriel Dos Reis

On Tue, Apr 22, 2008 at 9:35 AM, Robert Dodier [EMAIL PROTECTED] wrote:

   There is no point in beating the dead horse that is gcl.

  It has been proposed more than once on the Maxima mailing
  list to drop GCL. The main issue is that GCL runs on Windows
  and some other Lisps of interest (SBCL, CMUCL) do not.

Yes, that is a strong argument.  See

http://sourceforge.net/mailarchive/message.php?msg_name=877ifavq4r.fsf%40cantab.net

-- Gaby

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-22 Thread root

..snip...
  If the lisp community were alive and well
their tools would be alive and well. That is clearly not the case of
gcl and clisp certainly has some serious issues to deal with with
newer gcc releases as well as compilers not gcc.


I'm also on the clisp mailing list and I don't recall seeing any
sage-related bug reports there either.

Can gcl be improved? Certainly. But I am not holding my breath.

..snip...

I know you don't care about lisp and that's fine. And I know you've
encountered problems with lisp builds. And we both know that when
someone encounters problems with open source tools it is expected
behavior to post bug reports (as I did with Sage this morning).

Please post specific bug reports. We all know that's the only real
way anything will get done to solve the problems. The clisp maintainers
are very responsive to mailing list bug reports.

Tim

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-22 Thread Gabriel Dos Reis

On Tue, Apr 22, 2008 at 4:25 PM, root [EMAIL PROTECTED] wrote:

  I know you don't care about lisp and that's fine. And I know you've
  encountered problems with lisp builds. And we both know that when
  someone encounters problems with open source tools it is expected
  behavior to post bug reports

August 08, 2007
http://lists.gnu.org/archive/html/gcl-devel/2007-08/msg4.html

August 19, 2007:
http://lists.gnu.org/archive/html/gcl-devel/2007-08/msg00017.html

No answer, no acknowledgment.

If I'm reading `date` output correctly, today is April 22, 2008.

How long do you think Don Winieki -- who is *begging* to contribute to
GCL -- should wait
till he gets an answer to this basic question:

   http://lists.gnu.org/archive/html/gcl-devel/2008-04/msg4.html
   http://lists.gnu.org/archive/html/gcl-devel/2008-02/msg4.html

-- Gaby

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-22 Thread mabshoff

On Apr 22, 11:25 pm, root [EMAIL PROTECTED] wrote:

Hi Tim,

 ..snip...
                           If the lisp community were alive and well
 their tools would be alive and well. That is clearly not the case of
 gcl and clisp certainly has some serious issues to deal with with
 newer gcc releases as well as compilers not gcc.

 I'm also on the clisp mailing list and I don't recall seeing any
 sage-related bug reports there either.

Two examples I could find in my local mail archive [I have more, but
not all my email that I send is stored locally and searchable]:

 * clisp 2.43 Solaris 9 build failure  11/09/2007
 * clisp.run 2.41 segfaults on Solaris 9 in 32 bit mode 08/18/2007

I send more emails about two two months ago, but much of that traffic
was off-list to Sam directly with William in the CC. Sam has an
account on one of William's Solaris boxen, so he can't claim that he
doesn't have access. The gcc 4.2 and 4.3 issues are well documented in
clisp's sf bugtracker. The report originally was by cartman, which
used to hang around in #sage-devel. I have also commented on various
ticket at clisp's sf based bug tracker. So I would say I have met the
burden of being involved and attempted to fix things.

 Can gcl be improved? Certainly. But I am not holding my breath.

 ..snip...

 I know you don't care about lisp and that's fine. And I know you've
 encountered problems with lisp builds. And we both know that when
 someone encounters problems with open source tools it is expected
 behavior to post bug reports (as I did with Sage this morning).

Yes. Your feedback is certainly appreciated and I will fix the bug you
reported in 3.0.1. The README.txt says that the minimal supported
version of gcc is 3.4 and when building FLINT [later on after eclib]
it will error out telling you that you need a C99 compiler. We will
move that test to the start of the Sage build process so the error
will not happen.

 Please post specific bug reports. We all know that's the only real
 way anything will get done to solve the problems. The clisp maintainers
 are very responsive to mailing list bug reports.

Yes,  they are, but they haven't solved the problem. Re gcc 4.2+4.3 it
boils down to: We know it miscompiles, it is likely a bug in gcc, so
if you figure out what is wrong let us know. Well, after 6+ months I
decided that enough is enought [and I looked at their code to get it
to compile with Sun Forte's cc or CC] and we are building the code
with -O0 to avoid hitting that bug. But even -O0 doesn't help on
Solaris for example. The last working clisp on Solaris is 2.39
compiled with gcc 3.3 on Solaris 8. I got it to run as a binary by
tricking it [it wants readline.so.4, but causes it to segfault, so
linking readline.so.5 to readline.so.4 and manipulating
LD_LIBRARY_PATH for clisp does the trick].

I feel that I have done more than a reasonable amount of work here. Do
you agree or disagree?

 Tim

Cheers,

Michael
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-22 Thread Bill Page

On Tue, Apr 22, 2008 at 3:25 PM, mabshoff wrote:

  I googled for it and it seems lenny is using 2.6.7 while sid is using
  2.6.7-36.1. So I might have gotten my wires crossed with unstable
  here. So my bad.

Beware of the release numbering. The most recent reference I could find is:

http://lists.gnu.org/archive/html/gcl-devel/2008-01/msg2.html

2.6.8pre by contrast is nearer at hand.  I do think we will need a
windows installer for this release.  I'd also like a working mac intel
port.  Otherwise, the image (packaged as Debian gcl-2.6.7-36) is
carrying axiom, maxima, acl2, and hol88 to all 12 Debian platforms.

So I guess as of January this year Debian 2.6.7-36.1 was actually
2.6.8pre in cvs.

  But it still raises the point that the website should either
  have snap shots or a pointer to the Debian page. I know that
  Camm is heavily involved with Debian, so I knew where to look
  after the 2.7CVS failed for me the first time I checked it eight
  months or so ago.


Yes it would be nice to have accurate up to date information at the
gcl website. Maybe a wiki would be nice but it still takes someone
with time and motivation.

   ...
 Well, I think NAG chose the non-commercial only license on
purpose.
  
   Well yes, of course it was on purpose. They have stated that they
   felt obligated to do this by the terms under which they originally
   received Axiom (and Aldor) from IBM.

  Odd, IBM as a whole seems to be very OS friendly, but in reality
  it somewhat depends on the unit you deal with.


I also suspect that if it were possible to approach IBM about the
license situation with Axiom and Aldor now, one might obtain a
different picture than the one presented by NAG. But NAG's
relationship with IBM was circa 1995 and this is now. Different people
are involved.


   NAG itself is a non-commerical organization.

  Well, be that as it may, but their numerical library isn't free.

Therein lies the rub. Originally, acquiring Axiom was a way for NAG to
package and market it's numerical library. They did a *lot* of work to
link Axiom to the numerical library - all of which was lost in the
open source version of Axiom. When the numerical library was licensed
to Maple circa 2000, NAG found themselves in a bit of a conflicted
position.

 ...
  Nope, I am fully aware of the power of Sage. But let's get $FOO
  into Sage is not the solution and will not magically make a project
  better.


It seems to me that my proposal for the place that Axiom/Aldor could
have in Sage has more depth to it than that... :-(

 ...

Regards,
Bill Page.

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-22 Thread Ondrej Certik

On Tue, Apr 22, 2008 at 11:32 PM, Bill Page [EMAIL PROTECTED] wrote:

  On Tue, Apr 22, 2008 at 3:25 PM, mabshoff wrote:
  
I googled for it and it seems lenny is using 2.6.7 while sid is using
2.6.7-36.1. So I might have gotten my wires crossed with unstable
here. So my bad.

  Beware of the release numbering. The most recent reference I could find is:

  http://lists.gnu.org/archive/html/gcl-devel/2008-01/msg2.html

  2.6.8pre by contrast is nearer at hand.  I do think we will need a
  windows installer for this release.  I'd also like a working mac intel
  port.  Otherwise, the image (packaged as Debian gcl-2.6.7-36) is
  carrying axiom, maxima, acl2, and hol88 to all 12 Debian platforms.

  So I guess as of January this year Debian 2.6.7-36.1 was actually
  2.6.8pre in cvs.

Just for the record -- I looked at the source package of gcl
2.6.7-36.1 a couple days ago,
and it's a big mess. The orig.tar.gz is smaller than the debian.diff,
that patches nearly every file.
Also the debian/ directory contains garbage like this:

$ ls debian/.#*
debian/.#changelog.1.220.2.1.4.1.2.1.2.1.2.2.2.1.2.19.2.207.2.23.2.11.2.14.2.13.4.7.2.22.2.97
debian/.#control..1.2.2.1.2.5.6.1.2.1.2.3.2.8
debian/.#control.1.35.4.1.4.5.6.1.2.1.2.5.2.8
debian/.#control.cvs.1.1.2.1.2.5.6.1.2.1.2.3.2.8
debian/.#rules.1.41.4.2.2.7.4.1.2.1.2.2.2.1.2.8

But that's minor.

Well, I am glad I don't have to touch and maintain such a thing.

Ondrej

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-22 Thread root

I feel that I have done more than a reasonable amount of work here. Do
you agree or disagree?

Have you done a reasonable amount of work? That's for you to judge
since you're the person with the need.

But lets see what seems to be going on with Clisp.

Sam's reply to you seems to be that you need a certain combination of
operating systems and compilers and libraries to generate a supported
build. (This is very similar to the reply to my Sage bug report,
essentially fix your compiler.)  So the expected response would be
for you to reinstall Solaris to the correct version with the
correct libraries and the bug goes away. Asking a user to fix
their system is not a valid response but that seems to be the essence
of the replies.




Ask yourself why you might get this kind of response.

Sam (and Camm) may have time constraints. I know that Camm does the
work in his free time. I know Camm is working on a massive rewrite
(probably NOT in public).  I don't know what Sam does for a living but
I suspect his work is also a free time activity. Axiom is also free
time support. Dormant bug reports are not an indication of inactivity.
Sage may have a few bug reports that are a few months old. Clisp is
free software. You have the source code, you have the need, post a
patch.

Sam (and Camm) may have hardware/operating system constraints.
Possibly the boxen that they use are borrowed and they cannot
reproduce your exact environment. I have 9 physical machines here with
32 virtual boxen and I still cannot reproduce all of the
combinations. I don't have access to a Sparc, for instance.

Sourceforge took down their compile farm and HP doesn't have a large
set in their farm. Axiom runs in many more places than I publish but
there are outstanding build issues so I won't claim it runs anywhere
but on a published subset of combinations. You do the same thing
(e.g. no redhat9 gcc x.x.x). I did ask Google, Microsoft, and
Sourceforge to put up compile farms but nothing happened. If we
all used a standard compile farm this problem might be minimized.
For now, though, the odds are good that Sam does not have your 
Solaris machine configuration and cannot reproduce your bug.



We are both in the same business; you package Sage to run everywhere
and I package Axiom to run everywhere. As soon as you touch anything
at all, something breaks. When GCL breaks, I post a patch and locally
apply the patch until it is accepted upstream (if at all). If Clisp
fails for you then fix it, post a patch, locally apply the patch
until it gets applied upstream, and move on.




It is not a question of reasonable amount of work.
It is a question of expectations.

What, exactly, do you expect? Instant, top-of-the-pile bug fixes on
all of YOUR hardware/software combinations? This is free and open
source software. The only thing you can expect is to get the source
code so you can fix it and post a patch. Everything else is not in the
contract. That's why people pay for software.  Franz would be willing
to fix your issues immediately. I'm not sure your check to Sam has
cleared yet. If you don't want to build patches then send Sam a
contract. I'm sure he'd be happy to get paid. Sage will have this same
problem in the future as various package maintainers move on or you
can no longer reach your Sparc.

What if your expectations are not fulfilled? Well, that generally
leads to anger and frustration, both natural reactions. But it seems
that you have used hasty generalization to conclude that Lisp is
dead.  And from there to conclude that Lisp should be removed from
everywhere.  That's a shame because Maxima contains an astonishing
amount of well debugged algorithms by recognized experts in the field.

And characterizing Lisps like SBCL (fork of CMUCL, child of the CMU
Spice Lisp research project) as polishing a turd, implies that
Scott Fahlman wasted his time studying dynamic language optimization
in compilers. Python has yet to even think about these issues, most
of which have already been solved by Scott. Everywhere else in Sage
I see people struggle over milliseconds. Then I see Maxima built on
Clisp (an interpreter) rather than SBCL, a optimizing compiler.


Ultimately the point of my post was that, despite not seeing immediate
results, it is STILL worthwhile to post bug reports. At minimum, other
people can google them and find that they also have the problem. 


As for your original question, if your bug reports contain a patch
THEN you've done a reasonable amount of work, at least by my
definition of reasonable. Your definition might differ.

Tim


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-22 Thread Gabriel Dos Reis

On Tue, Apr 22, 2008 at 6:50 PM, mabshoff
[EMAIL PROTECTED] wrote:


  I don't want this discussion to go out of hand [too late], but
  ultimately this is all about what is best for the Sage project. And my
  opinion there counts a whole lot more in that regard than yours, just
  as my opinion about Axiom is totally irrelevant.

Michael --

  Don't worry too much about being distracted by Tim.  Just providing
data as you have
been doing so well is sufficient for us to form opinion.  Please keep
the good work up.
And certainly, I value your opinion about CASs for the Axiom family.

-- Gaby

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-22 Thread mabshoff



On Apr 23, 1:58 am, Gabriel Dos Reis [EMAIL PROTECTED] wrote:
 On Tue, Apr 22, 2008 at 6:50 PM, mabshoff

 [EMAIL PROTECTED] wrote:

   I don't want this discussion to go out of hand [too late], but
   ultimately this is all about what is best for the Sage project. And my
   opinion there counts a whole lot more in that regard than yours, just
   as my opinion about Axiom is totally irrelevant.

 Michael --

Gaby,

   Don't worry too much about being distracted by Tim.  Just providing
 data as you have
 been doing so well is sufficient for us to form opinion.  Please keep
 the good work up.
 And certainly, I value your opinion about CASs for the Axiom family.

Well, since I have no stake over in the Axiom family because I do not
contribute code I meant to say that Tim is free to ignore my opinion.
I certainly have an opinion on Axiom, but this thread is loaded enough
that I do not need to pour gasoline in the flames ;)

But it is important to me that sage-devel is a forum where each voice
is heard and while I fundamentally disagree with Tim I greatly prefer
him to be around. This forum should not be some cult like thing where
we all tell each other how great we are and that William walks on
water. I am rude, opinionated and I state my opinion honestly. I have
been wrong, very wrong, very, very wrong and will be wrong again in
the future, but in that case I am the first to call myself an idiot in
public. Tim might be right 99% of the time, but he fights for his
ideas as fiercely even for the 1% where he might be wrong. So, in the
end I might owe Tim an apology on some of the things where he is
right, but in my point of view he is wrong about lisp and also wrong
about literate programming. This is a free country [planet :)], so
both of us are free to follow up on their own opinion. I am sure Sage
will succeed, which is all that matters to me.

What is also important is that in sage-devel technical reasons trumps
all else, i.e. just because you are are reputable, widely respected
person in the mathematical world expect no lenience from me if I think
you are wrong. In mathematics you are either wrong or right - we don't
have that luxury in programming, hence we have discussions like
this. I immensely enjoy those, but I am getting back to work on Sage
3.0.1 now. :=)

 -- Gaby

Cheers,

Michael
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-21 Thread mabshoff



On Apr 21, 7:33 am, mabshoff [EMAIL PROTECTED]
dortmund.de wrote:
 On Apr 21, 6:48 am, Bill Page [EMAIL PROTECTED] wrote:

  On Sun, Apr 20, 2008 at 7:22 PM, mabshoff wrote:
 SNIP

  GCL uses the C compiler directly. I am not suggesting that GCL is
  necessarily the right lisp for Sage (or even that Sage needs a lisp
  compiler at all) but I do rather think you should give GCL another
  try. I would be glad to try to help you debug the problems on Solaris.

 In both cases the current CVS checkout out from savannah blows up on
 Solaris 9 and 10 in the same spot:

 Solaris 9:

 # Subconfigure of BFD done
 # 
 #
 checking size of long... 4
 checking size of int... 4
 checking size of short... 2
 checking size of char... 1
 checking for number of bits in char... 8
 checking whether byte ordering is bigendian... yes
 checking for sbrk... yes
 checking for randomized sbrk... no
 checking for required object alignment... 8
 checking for C extension variable alignment... __attribute__ ((aligned
 (8)))
 checking TYPE_BITS macro... 0xff09
 checking sizeof struct contblock... 8
 checking for pagewidth... 13
 checking DBEGIN... 0x2
 checking CSTACK_ADDRESS... 0xffbf
 checking NEG_CSTACK_ADDRESS... yes
 checking finding CSTACK_ALIGNMENT... 8
 checking CSTACK_DIRECTION... -1
 checking for shared library/C stack ceiling to heap... failed

 Solaris 10:

 #
 # Subconfigure of BFD done
 # 
 #
 checking size of long... 4
 checking size of int... 4
 checking size of short... 2
 checking size of char... 1
 checking for number of bits in char... 8
 checking whether byte ordering is bigendian... yes
 checking for sbrk... yes
 checking for randomized sbrk... no
 checking for required object alignment... 8
 checking for C extension variable alignment... __attribute__ ((aligned
 (8)))
 checking TYPE_BITS macro... 0xff09
 checking sizeof struct contblock... 8
 checking for pagewidth... 13
 checking DBEGIN... 0x2
 checking CSTACK_ADDRESS... 0xffbf
 checking NEG_CSTACK_ADDRESS... yes
 checking finding CSTACK_ALIGNMENT... 8
 checking CSTACK_DIRECTION... -1
 checking for shared library/C stack ceiling to heap... ./configure: !:
 not found
 usage: tail [+/-[n][lbc][f]] [file]
        tail [+/-[n][l][r|f]] [file]
 failed

 This second failure leaves me to believe that someone is assuming a
 version of GNU tail. I am using a gcc 4.2.2 compiled from sources both
 times.

But thinking about the above issue I do not believe that it is
actually the root cause.

And some more build tests:

3) OSX 10.5.2 Intel, current XCode 3.0:

bsd:gcl mabshoff$ uname -a
Darwin bsd.local 9.2.0 Darwin Kernel Version 9.2.0: Tue Feb  5
16:13:22 PST 2008; root:xnu-1228.3.13~1/RELEASE_I386 i386

checking how to switch to text section... .text
checking how to switch to data section... .data
checking what assembly label suffix to use... :
checking how to export a symbol... .globl
checking if globals are prefixed by underscore... configure: error:
Test program links neither with nor without underscore.
#
#
#
# Subconfigure of GMP done
# 
#
cp: gmp3/gmp.h: No such file or directory
checking for leading underscore in object symbols... yes
checking for GNU ld option -Map... no
checking for size of gmp limbs... Cannot determine mpsize

4) And the most ironic build failure on an  x86-64 Debian box:

[EMAIL PROTECTED]:~/gcl$ uname -a
Linux sage 2.6.18-6-amd64 #1 SMP Sun Feb 10 17:50:19 UTC 2008 x86_64
GNU/Linux
[EMAIL PROTECTED]:~/gcl$ make
make: *** No rule to make target `/usr/lib/libbfd.a', needed by
`copy_bfd'.  Stop.

I have hit the same bug months ago with RHEL 4 x86-64, so I am not
being the unluckiest person on the planet and check out cvs on the
wrong day.

On a positive note it build fine on RHEL 5/Itanium.

So, in the end I only hope that you can understand why I am more than
a little dubious about the build quality of gcl. All these are boxen
that build Sage fine [the Solaris boxen need a little help, i.e. about
2,3 fixes, but all that is getting merged back into Sage 3.0.1 or
3.0.2], so this is far from some FUBAR build box where I set gcl up to
fail.

  Regards,
  Bill Page.

 Cheers,

 Michael

Cheers,

Michael
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-21 Thread William Stein

On Sun, Apr 20, 2008 at 11:41 PM, mabshoff
[EMAIL PROTECTED] wrote:



  On Apr 21, 7:33 am, mabshoff [EMAIL PROTECTED]


 dortmund.de wrote:
   On Apr 21, 6:48 am, Bill Page [EMAIL PROTECTED] wrote:
  
On Sun, Apr 20, 2008 at 7:22 PM, mabshoff wrote:
   SNIP
  
GCL uses the C compiler directly. I am not suggesting that GCL is
necessarily the right lisp for Sage (or even that Sage needs a lisp
compiler at all) but I do rather think you should give GCL another
try. I would be glad to try to help you debug the problems on Solaris.
  
   In both cases the current CVS checkout out from savannah blows up on
   Solaris 9 and 10 in the same spot:
  
   Solaris 9:
  
   # Subconfigure of BFD done
   # 
   #
   checking size of long... 4
   checking size of int... 4
   checking size of short... 2
   checking size of char... 1
   checking for number of bits in char... 8
   checking whether byte ordering is bigendian... yes
   checking for sbrk... yes
   checking for randomized sbrk... no
   checking for required object alignment... 8
   checking for C extension variable alignment... __attribute__ ((aligned
   (8)))
   checking TYPE_BITS macro... 0xff09
   checking sizeof struct contblock... 8
   checking for pagewidth... 13
   checking DBEGIN... 0x2
   checking CSTACK_ADDRESS... 0xffbf
   checking NEG_CSTACK_ADDRESS... yes
   checking finding CSTACK_ALIGNMENT... 8
   checking CSTACK_DIRECTION... -1
   checking for shared library/C stack ceiling to heap... failed
  
   Solaris 10:
  
   #
   # Subconfigure of BFD done
   # 
   #
   checking size of long... 4
   checking size of int... 4
   checking size of short... 2
   checking size of char... 1
   checking for number of bits in char... 8
   checking whether byte ordering is bigendian... yes
   checking for sbrk... yes
   checking for randomized sbrk... no
   checking for required object alignment... 8
   checking for C extension variable alignment... __attribute__ ((aligned
   (8)))
   checking TYPE_BITS macro... 0xff09
   checking sizeof struct contblock... 8
   checking for pagewidth... 13
   checking DBEGIN... 0x2
   checking CSTACK_ADDRESS... 0xffbf
   checking NEG_CSTACK_ADDRESS... yes
   checking finding CSTACK_ALIGNMENT... 8
   checking CSTACK_DIRECTION... -1
   checking for shared library/C stack ceiling to heap... ./configure: !:
   not found
   usage: tail [+/-[n][lbc][f]] [file]
  tail [+/-[n][l][r|f]] [file]
   failed
  
   This second failure leaves me to believe that someone is assuming a
   version of GNU tail. I am using a gcc 4.2.2 compiled from sources both
   times.

  But thinking about the above issue I do not believe that it is
  actually the root cause.

  And some more build tests:

  3) OSX 10.5.2 Intel, current XCode 3.0:

  bsd:gcl mabshoff$ uname -a
  Darwin bsd.local 9.2.0 Darwin Kernel Version 9.2.0: Tue Feb  5
  16:13:22 PST 2008; root:xnu-1228.3.13~1/RELEASE_I386 i386

  checking how to switch to text section... .text
  checking how to switch to data section... .data
  checking what assembly label suffix to use... :
  checking how to export a symbol... .globl
  checking if globals are prefixed by underscore... configure: error:
  Test program links neither with nor without underscore.
  #
  #
  #
  # Subconfigure of GMP done
  # 
  #
  cp: gmp3/gmp.h: No such file or directory
  checking for leading underscore in object symbols... yes
  checking for GNU ld option -Map... no
  checking for size of gmp limbs... Cannot determine mpsize

  4) And the most ironic build failure on an  x86-64 Debian box:

  [EMAIL PROTECTED]:~/gcl$ uname -a
  Linux sage 2.6.18-6-amd64 #1 SMP Sun Feb 10 17:50:19 UTC 2008 x86_64
  GNU/Linux
  [EMAIL PROTECTED]:~/gcl$ make
  make: *** No rule to make target `/usr/lib/libbfd.a', needed by
  `copy_bfd'.  Stop.

  I have hit the same bug months ago with RHEL 4 x86-64, so I am not
  being the unluckiest person on the planet and check out cvs on the
  wrong day.

  On a positive note it build fine on RHEL 5/Itanium.

  So, in the end I only hope that you can understand why I am more than
  a little dubious about the build quality of gcl. All these are boxen
  that build Sage fine [the Solaris boxen need a little help, i.e. about
  2,3 fixes, but all that is getting merged back into Sage 3.0.1 or
  3.0.2], so this is far from some FUBAR build box where I set gcl up to
  fail.


In the defense of GCL, *most* components of Sage were a mess
like above when I/you/whoever first tried to add them to Sage.
I personally haven't tried much using cvs GCL only, partly because
it scares me to use cvs for a deployed quality product.  Since cvs
might be broken one day, not the next, etc., and one has no clue
if the code has been tested or not or what.  The last released
version is from 2005, and it's clear the website is just dead (maybe
somebody lost the password?!)  I mean, it just looks a little silly
for the 

[sage-devel] Re: Project

2008-04-21 Thread root

For example, is the fact that GCL doesn't build for us anywhere, something
that you think we'll get passed by just trying harder?  Or is it going
to be really really hard.

http://axiom.axiom-developer.org/axiom-website/download.html

All versions are built with GCL. I do not have access to a Sparc
although GCL has run there in the past. I no longer have access
to my Zaurus although GCL has run there in the past. I do have
access to an OLPC-XO. I release Axiom every two months so I'm
likely to get it working in the next release cycle.

GCL runs on windows although I have not spent any time on a 
windows port. Waldek has, so he might have an opinion. Given
what I know about GCL internals I have every reason to believe
that it would compile using MS or Borland compilers (modulo a
few #ifdefs to pay homage to C). I don't have access to a native
C compiler for windows.

GCL is just a (big) C program and like every other C program I've
ever used, it is sarcasm lang=Ceasily ported/scarcasm. But
the actual fact of the matter is that it does run everywhere I've
ever tried to make it run. All it requires is the right set of
./configure switches. My collection above includes, I86-32, 
I86-64, and PowerPC.




 The GCL-devel mailing list has on average about 5-6 messages a month
 during the last couple of months, except for a bunch of messages in
 January about people trying to build GCL from cvs.

You claim that you pass problem reports upstream but I don't see many
Sage postings to the GCL mailing list. Camm, the GCL maintainer, has
always been very responsive and effective in his replies. But, like
you, he needs good, clear, effective bug reports.




I think you'd feel the same frustrations with Python if you compiled
Python from scratch for every platform. You ship sources but assume
that the python language exists and is compatible, which is not likely
to be the case when 3.0 arrives. If you can assume the python language,
why can't you assume the lisp language? If you can't assume the lisp
language, why can you assume the python language? 


Having spent a fair portion of my life porting software, I understand
the frustrations you feel. And having spent the bulk of my life using
Lisp I get the get-rid-of-lisp pushback. But a lot of astonishingly
good computer algebra exists in lisp (we won't discuss the reasons).
Reproducing Axiom's million-things-of-code in Python would be no
small task, especially since some of the experts are dead.

Tim


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-21 Thread root

 I think you'd feel the same frustrations with Python if you compiled
 Python from scratch for every platform. You ship sources but assume
 that the python language exists and is compatible, which is not likely
 to be the case when 3.0 arrives. If you can assume the python  
 language,
 why can't you assume the lisp language? If you can't assume the lisp
 language, why can you assume the python language?

We do compile python from scratch on every platform. It's part of the  
Sage distribution.

+1 for you, -1 for me. 

t

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-21 Thread David Harvey


On Apr 21, 2008, at 12:09 PM, root wrote:

 I think you'd feel the same frustrations with Python if you compiled
 Python from scratch for every platform. You ship sources but assume
 that the python language exists and is compatible, which is not likely
 to be the case when 3.0 arrives. If you can assume the python  
 language,
 why can't you assume the lisp language? If you can't assume the lisp
 language, why can you assume the python language?

We do compile python from scratch on every platform. It's part of the  
Sage distribution.

david


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-21 Thread William Stein

On Mon, Apr 21, 2008 at 9:09 AM, root [EMAIL PROTECTED] wrote:

  For example, is the fact that GCL doesn't build for us anywhere, something
  that you think we'll get passed by just trying harder?  Or is it going
  to be really really hard.

  http://axiom.axiom-developer.org/axiom-website/download.html

  All versions are built with GCL. I do not have access to a Sparc
  although GCL has run there in the past. I no longer have access
  to my Zaurus although GCL has run there in the past. I do have
  access to an OLPC-XO. I release Axiom every two months so I'm
  likely to get it working in the next release cycle.

  GCL runs on windows although I have not spent any time on a
  windows port. Waldek has, so he might have an opinion. Given
  what I know about GCL internals I have every reason to believe
  that it would compile using MS or Borland compilers (modulo a
  few #ifdefs to pay homage to C). I don't have access to a native
  C compiler for windows.

  GCL is just a (big) C program and like every other C program I've
  ever used, it is sarcasm lang=Ceasily ported/scarcasm. But
  the actual fact of the matter is that it does run everywhere I've
  ever tried to make it run. All it requires is the right set of
  ./configure switches.

It also requires the right set of dependencies.   And those themselves
can have all kinds of issues

 My collection above includes, I86-32,
  I86-64, and PowerPC.





   The GCL-devel mailing list has on average about 5-6 messages a month
   during the last couple of months, except for a bunch of messages in
   January about people trying to build GCL from cvs.

  You claim that you pass problem reports upstream but I don't see many
  Sage postings to the GCL mailing list. Camm, the GCL maintainer, has
  always been very responsive and effective in his replies. But, like
  you, he needs good, clear, effective bug reports.

We chose clisp instead of GCL long ago for a number of reasons, so
there's been no reason for me to post to the gcl mailing list.

  I think you'd feel the same frustrations with Python if you compiled
  Python from scratch for every platform. You ship sources but assume
  that the python language exists and is compatible, which is not likely
  to be the case when 3.0 arrives. If you can assume the python language,
  why can't you assume the lisp language? If you can't assume the lisp
  language, why can you assume the python language?

You don't know what you're talking about here.   The python
build-from-source ecosystem is in much better shape than the lisp
one.Python has easily 100 times as many people supporting it
as clisp or gcl.

  Having spent a fair portion of my life porting software, I understand
  the frustrations you feel. And having spent the bulk of my life using
  Lisp I get the get-rid-of-lisp pushback. But a lot of astonishingly
  good computer algebra exists in lisp (we won't discuss the reasons).
  Reproducing Axiom's million-things-of-code in Python would be no
  small task, especially since some of the experts are dead.

In my opinion the best computer algebra system for research mathematics
on the planet is Magma, and it is written in C.

 -- William

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-21 Thread Gabriel Dos Reis

On Mon, Apr 21, 2008 at 11:09 AM, root [EMAIL PROTECTED] wrote:

  GCL runs on windows although I have not spent any time on a
  windows port. Waldek has, so he might have an opinion.

Well, *I* spend considerable time making Axiom buildable
on Windows back when I was working
on Axiom.build-improvements, which is the basis for both OpenAxiom
and Fricas.  The build environment requirement
is the usual msys/mingw (which makes the life a bit more
bearable on that platform, when working with most software
based on GNU toolchains).You need on thing:  you need
to make rsym.exe callable when dumping the final image to disk.
rsym.exe is built by GCL but for some reasons (mostly related to
pathnames I guess), GCL is unable to find it.  See the hack
@axiom_gcl_rsym_hack@ I introduced here
http://axiom.svn.sourceforge.net/viewvc/axiom/branches/build-improvements/configure.ac.pamphlet?r1=393r2=395

to be used in:
http://axiom.svn.sourceforge.net/viewvc/axiom/branches/build-improvements/src/lisp/Makefile.in?revision=395view=markup

 Given
  what I know about GCL internals I have every reason to believe
  that it would compile using MS or Borland compilers (modulo a
  few #ifdefs to pay homage to C). I don't have access to a native
  C compiler for windows.

Please try it for real and tell us how is works, for GCL has a strong dependency
on GCC.

-- Gaby

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-21 Thread Mike Hansen

I get the following error:

;; Compiling ../lsp/gcl_listlib.lsp.
;; End of Pass 1.
;; End of Pass 2.
;; OPTIMIZE levels: Safety=3, Space=0, Speed=3, (Debug quality ignored)
;; Finished compiling ../lsp/gcl_listlib.o.
;; Loading /opt/sage-3.0.alpha6/spkg/build/gcl-20080421/src/lsp/gcl_listlib.o
__stack_chk_fail is undefined

Error: ERROR Cannot get relocated section contents

Fast links are on: do (si::use-fast-links nil) for debugging
Signalled by LOAD1.
ERROR Cannot get relocated section contents


Broken at LOAD1.  Type :H for Help.
make: *** [unixport/saved_pre_gcl] Error 255
Error building GCL.

--Mike

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-21 Thread mabshoff



On Apr 21, 6:09 pm, root [EMAIL PROTECTED] wrote:

SNIP

Hi Tim,

  The GCL-devel mailing list has on average about 5-6 messages a month
  during the last couple of months, except for a bunch of messages in
  January about people trying to build GCL from cvs.

 You claim that you pass problem reports upstream but I don't see many
 Sage postings to the GCL mailing list. Camm, the GCL maintainer, has
 always been very responsive and effective in his replies. But, like
 you, he needs good, clear, effective bug reports.

Yes, I can certainly agree with you on that one. Detailed bug reports
are required to get anything fixed.

But I get paid to do a job:
 * port Sage to Solaris
 * support Sage on Linux/Itanium
 * port Sage to Windows

While I am at it I do a number of other Sage related jobs:
 * play a release manager
 * hunt down memory leaks in general
 * port Sage to FreeBSD
 * port Sage to Linux/Sparc
 * port Sage to Linux/PPC64

When I am done with the above [i.e. in the evening ;)] I would
really, really like to do:
 * audit Singular for memory leaks with its test suite and fix those
bugs ;)
 * get deeply into PolyBoRi and help dealing with their memory
management issues
 * compile gcc 4.4CVS  [or whatever is next] and make Sage build with
it. After fixing all the bugs push them upstream [I did many of those
with gcc 4.3 about six months ago, but only finished pushing the fixes
in 3.0]

The above three tasks are something that gives me credit with my peers
and would certainly benefit me and my reputation in the CAS community
[at least with many algebra people ;)].

Now let's contrast this with gcl:
 * gcl is a mature project, i.e. it should just work out of the box
most of the time
 * It *should* build on the vast majority of platforms that it claims
it supports. Reality: there are many, many problems - and that is with
me not being an  ass and deliberately doing something stupid on
purpose

Looking at the above lists you will hopefully understand that I have
no interest in working on gcl since doing efficient bug reporting
would require that I get familiar with the code. I would likely get
into it since I could fix many of those bugs myself. But since I have
no interest in lisp and would like to spend my time on projects where
I would I personally know the people and share common goals with I
will not do that.

To put it nicely:  gcl is  stagnating. The last release was in 2005
[not 5 years ago like I mistakenly claimed]. If the lisp community
would be a large thriving community *I* wouldn't have to do anything
about that issue, but you would likely have had some release since
2005 and many of the problems I saw would have already been solved,
i.e. it would just work. Am I wrong to assume that the gcl community
does not have access to a reasonably large number of non-Linux boxen?
I spend a huge amount of time on any exotic and not so exotic build
problem with Sage, hence I expect other projects to do the same thing.
If that is not the case I will not use their code and due to the
insane number of issues with clisp, gcl and so on I have drawn the
conclusion that Sage without a lisp dependency in its core [i.e. code
I am getting paid to support] would be a better Sage. That doesn't
mean that Sage will not be very accommodating to say Maxima, Axiom,
FriCAS and OpenAxiom via an optional lisp package, but as long as they
depend on lisp [forever would be my guess here] I do not see a chance
for them to stay in the core or become part of the core long term.
Prove me wrong: Get gcl to build out of the box on various Linuxes
[with gcc], Solaris 9, 10 with Sun Forte, OSX 10.4, 10.5 with XCode
[no stupid MacPorts here] and Windows with MSVC and I will be the
first guy to help you out. I see ecls potentially in that role, but as
long as it isn't supported in Maxima I see no urgent reason to spend
any work on that.

But I have dealt with the ecls maintainer, both by reporting problems
and submitting patchlets, so I know he is up to the job. He for
example already uses MSVC on Windows to build ecls, so he is far ahead
of any other Open Source lisp AFAIK. That gives me hope since his
goals and understanding of the importance to support non-gcc compilers
are very much aligned to my personal opinions.

 I think you'd feel the same frustrations with Python if you compiled
 Python from scratch for every platform. You ship sources but assume
 that the python language exists and is compatible, which is not likely
 to be the case when 3.0 arrives. If you can assume the python language,
 why can't you assume the lisp language? If you can't assume the lisp
 language, why can you assume the python language?

As others have pointed out already we do build Python from source.
Once Python 2.6 comes out [in parallel with Python 3K] we will migrate
first to 2.6 and then likely to 3.0 at some point. But since we build
Python we control our own destiny here.

 Having spent a fair portion of my life porting software, I understand
 

[sage-devel] Re: Project

2008-04-21 Thread root

 Having spent a fair portion of my life porting software, I understand
 the frustrations you feel. And having spent the bulk of my life using
 Lisp I get the get-rid-of-lisp pushback. But a lot of astonishingly
 good computer algebra exists in lisp (we won't discuss the reasons).
 Reproducing Axiom's million-things-of-code in Python would be no
 small task, especially since some of the experts are dead.

Well, many things are available in non-lisp CASes and many of them are
in Sage, so it isn't that Sage without Axiom isn't viable [not that
you implied that]. If a sufficient number of people want Lisp to
remain a significant player in the CAS world [and computer science in
general] it will be so. We are not forcing you to use Python or Sage.
This is all about what tool gets the job done for you and in your case
it is Axiom ;)

Well, Sage doesn't actually use Axiom. William has no long term focus
except to compete with the 4Ms. Sage doesn't use GCL. And the project
is strongly motivated to elide lisp. Except for my involvement in the
Sage program committee for the Nancy conference, I don't see that I
can be of much help. Sorry for the noise.

Tim



--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-21 Thread Robert Dodier

On Apr 20, 5:55 pm, mabshoff [EMAIL PROTECTED]
dortmund.de wrote:

 I forgot one important argument here: With ecls you can embed the lisp
 interpreter into an external library, hence we would be able to use
 Maxima as a library instead of using the inefficient pexpect
 interface. I am not sure how much work this would be, but if I were a
 Maxima coder I would certainly look into that possibility since it
 opens a whole lot of possibilities for Maxima IMHO - totally
 independent of Maxima's role in Sage.

Aside from just getting stuff linked together (plenty of trouble
to start with), the more difficult problem is that Maxima is written
with a pervasive assumption that there is someone at the console,
e.g you ask for an integral or a limit and Maxima comes back with
a question about some parameter. That make interaction with
another program very difficult (as I think you know already).

I have attempted to resolve this by converting questions into
conditional expressions e.g. Is x positive, negative, or zero?
= if x  0 then ... elseif x  0 then ... else 
It sort of works but there are difficulties. If anyone wants to
work on it with me, I'd be glad to have the help.

Robert Dodier
Maxima developer

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-21 Thread mabshoff



On Apr 21, 11:48 pm, Robert Dodier [EMAIL PROTECTED] wrote:
 On Apr 20, 5:55 pm, mabshoff [EMAIL PROTECTED]

Hi Robert,

 dortmund.de wrote:
  I forgot one important argument here: With ecls you can embed the lisp
  interpreter into an external library, hence we would be able to use
  Maxima as a library instead of using the inefficient pexpect
  interface. I am not sure how much work this would be, but if I were a
  Maxima coder I would certainly look into that possibility since it
  opens a whole lot of possibilities for Maxima IMHO - totally
  independent of Maxima's role in Sage.

 Aside from just getting stuff linked together (plenty of trouble
 to start with),

Sure, that is an issue, but you can't fail if you don't try ;)

 the more difficult problem is that Maxima is written
 with a pervasive assumption that there is someone at the console,
 e.g you ask for an integral or a limit and Maxima comes back with
 a question about some parameter. That make interaction with
 another program very difficult (as I think you know already).

Yes, I never had to deal with it via the pexpect interface in Sage,
but others certainly have.

 I have attempted to resolve this by converting questions into
 conditional expressions e.g. Is x positive, negative, or zero?
 = if x  0 then ... elseif x  0 then ... else 
 It sort of works but there are difficulties. If anyone wants to
 work on it with me, I'd be glad to have the help.

I cannot pledge anybody else's time here and I don't see any time for
myself opening up soon to work on this end of the problem. But I read
your message on fricas-devel about ecls support for Maxima and I am
certainly willing to help make that happen and test ecls build and
building Maxima on top of ecls on a wide range of platforms. I am also
willing to work on ecls itself and fix potential portability issues.
On top of that once ecls+Maxima works I will also likely lead the
push to get that combo merged into Sage. There are some other issues
you mention in your email to fricas-devel, but I will answer them over
there.

 Robert Dodier
 Maxima developer

Cheers,

Michael
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-21 Thread mabshoff

William suggested I forward/post the stuff I wrote on fricas-devel
over there, too. Since his wish is my command ;) here we go:

On Apr 21, 9:46 pm, Robert Dodier [EMAIL PROTECTED] wrote:

 On Apr 20, 9:29 am, William Stein [EMAIL PROTECTED] wrote:

Hello folks,

  c) ecls: the ray of hope? Bug Maxima can't be build on top of it due
  to same issues with save and load image.

 Well, if there is any interest in resolving the problems,
 let's join forces then. I got Maxima compiled by ECLS some
 months ago; there were some problems but if there is enough
 interest, I would be willing to try again.

This is excellent news. As I wrote in this thread over on sage-devel I
am willing to put some serious time into getting ecls to build on
Sage's current and future supported platforms as well do serious
testing that Maxima works on top of it. And it certainly sounds like
FriCAS would not mind ecls being in Sage per default instead of clisp
since the clisp we shop seems to be too broken to support FriCAS.

  The current plan is to rewrite symbolic manipulation in
  Cython using lots of tricks so it will be very
  fast, flexible, and not depend on Maxima at all.

 I have an agenda to push here, so you can take this with a grain
 of salt, but: Lisp was invented in part to do the kind of
 expression mogrification which is needed for symbolic
 algebra. A symbolic system written in some other language is
 probably going to replicate a lot of Lisp functionality.

 I am pretty sure that trying to get Maxima recompiled with
 some/any Lisp implementation will be easier than reinventing
 both Maxima and Lisp.

Well, we are looking at several problems here:

a) we use Maxima via pexpect, i.e. we dump some data into ASCII issue
some commands and parse the results. While that is something that
works well for say integrals or ODEs it is a huge performance drain on
arithmetic. For example: Moving some operation on permutation groups
form GAP+pexpect to Cython made the operation 4,000 times as fast. The
implementation in Cython is roughly 3 times slower than the same
operation in the GAP kernel, but since pexpect is out of the equation
the somewhat slower Cython implementation is a huge win since we have
not connected the GAP kernel to Sage as a library. Nobody has
attempted to do that, but it will likely be quite a bit of work and a
large effort.

b) Using Maxima in itself is not bad and the thread that started this
whole discussion was motivated by build issues with self hosted lisp.
Since Maxima is written in lisp and the only reason we ship lisp
currently with Sage my desire was to solve the lisp build problem and
Maxima would have ended up as potential road kill in the process.

c) Maxima has a lot of well debugged, well working code, but it seems
for many things the 4 Ms are much faster. Factorization is one
example, I am not quite clear how Integration compares, but my general
impression from alt.sci.symbolic is that it is not on par with the
commercial systems [feel free to correct me].

d) Sage itself wants to compete with the 4Ms, but it isn't the only
Open Source CAS out there, in fact it is a quite young effort and
William's method called for building on top of existing systems. But
while he went through what I call the rapid expansion phase it was
more important to get things working than to implement because doing
things right as you point out would take many, many man years of
effort. But now people are demanding more performance and due to (a)
symbolic arithmetic is being rewritten. And according to Gary [the guy
implementing it] it is much faster than Maxima [even accounting for
clisp vs. sbcl and so on]. I cannot verify the number but since he is
quite serious about the issue and he really, really *needs* fast
symbolics I have little reason to doubt him.

So, now the question is: Why doesn't he work with the Maxima code
then and improve it there. Everybody would benefit [Sage  Maxima] and
all the higher level algorithms would likely get a boost by it. And
the answer is: Because he prefers not to use lisp and that is
something that is completely up to him. It is difficult to recruit
developers and most people in Sage prefer C/C++/Python/Cython over
list just like Maxima developers prefer lisp. Both camps are self
selecting, so no surprises there.

But to get back to the issue at hand: Once Maxima runs on ecls nearly
all the issues I have with the build side of things will likely
evaporate and I will put my energy toward other issues. It would
likely also lessen the drive to get rid of Maxima considerably, but
I am certain that over the next couple years more and more
functionality that Maxima provides by Sage will be implemented on top
of other systems unless Maxima gets faster. Systems inside Sage
compete and it would be naive to believe that Sage does not compete
will all its components for users as well as developers. But in the
end Sage is supposed to be inclusive and should function as a unifying
force of 

[sage-devel] Re: Project

2008-04-21 Thread David Joyner

Thank you very much for agreeing to work on this Michael.
Way down the road, thin will be a big deal i think.

On Mon, Apr 21, 2008 at 8:45 PM, mabshoff
[EMAIL PROTECTED] wrote:

  William suggested I forward/post the stuff I wrote on fricas-devel
  over there, too. Since his wish is my command ;) here we go:

  On Apr 21, 9:46 pm, Robert Dodier [EMAIL PROTECTED] wrote:

   On Apr 20, 9:29 am, William Stein [EMAIL PROTECTED] wrote:

  Hello folks,


c) ecls: the ray of hope? Bug Maxima can't be build on top of it due
to same issues with save and load image.

   Well, if there is any interest in resolving the problems,
   let's join forces then. I got Maxima compiled by ECLS some
   months ago; there were some problems but if there is enough
   interest, I would be willing to try again.

  This is excellent news. As I wrote in this thread over on sage-devel I
  am willing to put some serious time into getting ecls to build on
  Sage's current and future supported platforms as well do serious
  testing that Maxima works on top of it. And it certainly sounds like
  FriCAS would not mind ecls being in Sage per default instead of clisp
  since the clisp we shop seems to be too broken to support FriCAS.


The current plan is to rewrite symbolic manipulation in
Cython using lots of tricks so it will be very
fast, flexible, and not depend on Maxima at all.

   I have an agenda to push here, so you can take this with a grain
   of salt, but: Lisp was invented in part to do the kind of
   expression mogrification which is needed for symbolic
   algebra. A symbolic system written in some other language is
   probably going to replicate a lot of Lisp functionality.

   I am pretty sure that trying to get Maxima recompiled with
   some/any Lisp implementation will be easier than reinventing
   both Maxima and Lisp.

  Well, we are looking at several problems here:

  a) we use Maxima via pexpect, i.e. we dump some data into ASCII issue
  some commands and parse the results. While that is something that
  works well for say integrals or ODEs it is a huge performance drain on
  arithmetic. For example: Moving some operation on permutation groups
  form GAP+pexpect to Cython made the operation 4,000 times as fast. The
  implementation in Cython is roughly 3 times slower than the same
  operation in the GAP kernel, but since pexpect is out of the equation
  the somewhat slower Cython implementation is a huge win since we have
  not connected the GAP kernel to Sage as a library. Nobody has
  attempted to do that, but it will likely be quite a bit of work and a
  large effort.

  b) Using Maxima in itself is not bad and the thread that started this
  whole discussion was motivated by build issues with self hosted lisp.
  Since Maxima is written in lisp and the only reason we ship lisp
  currently with Sage my desire was to solve the lisp build problem and
  Maxima would have ended up as potential road kill in the process.

  c) Maxima has a lot of well debugged, well working code, but it seems
  for many things the 4 Ms are much faster. Factorization is one
  example, I am not quite clear how Integration compares, but my general
  impression from alt.sci.symbolic is that it is not on par with the
  commercial systems [feel free to correct me].

  d) Sage itself wants to compete with the 4Ms, but it isn't the only
  Open Source CAS out there, in fact it is a quite young effort and
  William's method called for building on top of existing systems. But
  while he went through what I call the rapid expansion phase it was
  more important to get things working than to implement because doing
  things right as you point out would take many, many man years of
  effort. But now people are demanding more performance and due to (a)
  symbolic arithmetic is being rewritten. And according to Gary [the guy
  implementing it] it is much faster than Maxima [even accounting for
  clisp vs. sbcl and so on]. I cannot verify the number but since he is
  quite serious about the issue and he really, really *needs* fast
  symbolics I have little reason to doubt him.

  So, now the question is: Why doesn't he work with the Maxima code
  then and improve it there. Everybody would benefit [Sage  Maxima] and
  all the higher level algorithms would likely get a boost by it. And
  the answer is: Because he prefers not to use lisp and that is
  something that is completely up to him. It is difficult to recruit
  developers and most people in Sage prefer C/C++/Python/Cython over
  list just like Maxima developers prefer lisp. Both camps are self
  selecting, so no surprises there.

  But to get back to the issue at hand: Once Maxima runs on ecls nearly
  all the issues I have with the build side of things will likely
  evaporate and I will put my energy toward other issues. It would
  likely also lessen the drive to get rid of Maxima considerably, but
  I am certain that over the next couple years more and more
  functionality that 

[sage-devel] Re: Project

2008-04-21 Thread Bill Page

On Mon, Apr 21, 2008 at 9:03 AM, William Stein wrote:
 ...
  In the defense of GCL, *most* components of Sage were a mess
  like above when I/you/whoever first tried to add them to Sage.
  I personally haven't tried much using cvs GCL only, partly because
  it scares me to use cvs for a deployed quality product.  Since cvs
  might be broken one day, not the next, etc., and one has no clue
  if the code has been tested or not or what.  The last released
  version is from 2005, and it's clear the website is just dead (maybe
  somebody lost the password?!)  I mean, it just looks a little silly
  for the website (http://www.gnu.org/software/gcl/) to start with:
NEW! (20050810) GCL 2.6.7 is released. The release notes can
   be found  here.
 ...
 The GCL-devel mailing list has on average about 5-6 messages
 a month during the last couple of months, except for a bunch of
 messages in January about people trying to build GCL from cvs.


No doubt about it - GCL does not have sufficient resources for
maintenance and has been somewhat neglected of late. As you say: It is
not a situation that you find entirely uncommon among the packages
that have been added to Sage in the past. Necessity is what drives
most of this kind of work.

  I've made a gcl Sage optional spkg:

http://sage.math.washington.edu/home/was/tmp/gcl/gcl-20080421.spkg

  It's just GCL-from-cvs + a simple spkg-install.  I have never got it to
  build on any system.   It's a pretty big spkg, since it appears to
  include the entire gas assembler, some version of GMP, etc.  Try
  it out and see if it *doesn't* work for you too :-)

wget http://sage.math.washington.edu/home/was/tmp/gcl/gcl-20080421.spkg
sage -i gcl-20080421.spkg


Thanks. It doesn't work for me either. :-(

You are right that the source is bloated by a bunch of code that it
does not use. As I understand it gcl needs only a small part of
binutils - depending on the build options for a particular system.

Is this source from cvs head at:

  http://savannah.gnu.org/projects/gcl/

as of today?

This version of GCL fails on my Solaris x86 system with the following
obscure error message:

gcc -c -fsigned-char -pipe -Wall  -O3 -fomit-frame-pointer  -I/export/home0/wspa
ge/gcl-sage/gcl-20080421/src/o -I../h -I../gcl-tk cmpaux.c
cmpaux.c: In function `object_to_fcomplex':
cmpaux.c:329: error: `_Imaginary_I' undeclared (first use in this function)
cmpaux.c:329: error: (Each undeclared identifier is reported only once
cmpaux.c:329: error: for each function it appears in.)
cmpaux.c: In function `object_to_dcomplex':
cmpaux.c:366: error: `_Imaginary_I' undeclared (first use in this function)
gmake[1]: *** [cmpaux.o] Error 1
rm list.c
gmake[1]: Leaving directory `/export/home0/wspage/gcl-sage/gcl-20080421/src/o'
gmake: *** [unixport/saved_pre_gcl] Error 2

---

At 'http://cvs.savannah.gnu.org/viewvc/gcl/?root=gcl' I see changes as
recent as 3 months ago. The last time I built GCL from head was about
10 months ago.

The most recent branch 'Version_2_6_8pre' is what we normally use to
build Axiom. There is a change about 4 months old. If I recall
correctly 'Version_2_6_8pre' actually corresponds to the version
distributed on Debian and would probably be the most likely to be
stable on the largest number of platforms.

  Bill Page -- I would be interested in any comments you might have.
  For example, is the fact that GCL doesn't build for us anywhere,
  something that you think we'll get passed by just trying harder?
  Or is it going to be really really hard.


The fact that it doesn't build for you anywhere is definitely strange.
I would give it a try again with

  $ cvs -z3 -d:pserver:[EMAIL PROTECTED]:/sources/gcl co
-r Version_2_6_8pre gcl

I do expect that (with the right help) you will be able to build gcl
everywhere that you build Sage. Instead of just trying harder I think
it is very appropriate to ask for help. Only if there is no help
forthcoming, perhaps I would agree that the problems might be of a
kind that you will not be able to get passed just by trying harder.
I expect that like me, you would find the learning curve for the GCL
source code very high.

--

Now since you asked, maybe I should take a deep breath and try to
explain my personal views on this subject...

I am in fact fully sympathetic with the expressed desire to eliminate
Lisp from Sage. As you may know, I am also in favor of eliminating
Lisp from Axiom! I believe that was the direction in which Axiom was
headed when it was last sold as commercial software and would have
very much preferred it if that development had continued. The Aldor
compiler (written in C) was positioned to replace the exising library
compiler for Axiom. Aldor could be targeted to produce either Lisp or
object code linked into a C run-time environment based on an abstract
machine specification (FOAM). Also the version of Lisp underlying the
commercial version of Axiom (CCL) was heavily modified and optimized
as the 

[sage-devel] Re: Project

2008-04-20 Thread mabshoff



On Apr 20, 8:13 pm, TimDaly [EMAIL PROTECTED] wrote:
SNIP

Hi Tim,

  There are rumblings but *definitely* no specific plans to remove
  lisp or maxima.

 Lisp has already solved a lot of the problems Python has yet to
 face.

Sure, but how about reading Lisp: Good News, Bad News, How to Win
Big from 1991 at http://www.dreamsongs.com/WIB.html

While I disagree with the author on many points, i.e. calling Unix bad
names and so, the interesting comment is:

The good news is that in 1995 we will have a good operating system
and programming language; the bad news is that they will be Unix and C+
+.

How prophetic ;)

But since that discussion is a prelude to a language war I'll end it here.

Well, this isn't about a language war, i.e. $FOO is better than $BAR
at solving some programming problem. This is fundamentally about the
lisp ecosystem, i.e. how viable is the Open Source lisp tool world.
And I have build numerous lisp implementations on a wide range of
platforms and compared to building C, C++, Fortran compilers or Python
itself there are numerous problems. I have often said that your whole
ecosystem cannot be viable if your fundamental tools are hanging on by
a thread.

After I posted about *my* intention to make clisp disappear from Sage
in the long term at alt.sci.symbolic William and I got in a long off
list discussion with Fateman about Maxima, Axiom, Sage and lisp in
general. Among the point Fateman made about me pointing out that
building lisp from source sucked were:

 He never had to build lisp from source, so what is the problem?

That is so short sighted it isn't even funny, i.e. water comes out of
the spout, electricity is supplied by the socket in the wall. And I
can only say the the Open Source lisp  community is far behind on its
tools and since it has been decades where the situation has either
stagnated or gotten worse I don't see much of a future there. Compare
the vitality of the lisp machine vs. gcc, compare the support gcc
experiences by companies like Apple and IBM which are very interested
in it succeeding. Where is the lisp support? lisp in itself is no
better or worst than Python and assuming one is a master at a given
language one will likely will write a better program than a n00b or
bad programmer in a competing language.

In the end it all boils down to platform support and I see ecls as the
silver bullet here for Sage+lisp. I am porting Sage to Linux/PPC 64
[PPC 32 works] and Linux/Sparc[32|64] at the moment and once we get
access to AIX runnning on Power64 I will also port Sage to it. I have
even been thinking about porting it to OSX/ARM, i.e. the iPhone. We
have started on the Sage/MSVC 32 and 64 bit ports to Windows. In each
of those cases clisp will be a pain to deal with. ecls could fill the
gap and I would personally throw a huge effort in making sure ecls
does build and work on all of those platforms and all platforms Sage
already supports assuming Maxima would work with it. So, the ball is
in your court.

Cheers,

Michael
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-20 Thread TimDaly


 After I posted about *my* intention to make clisp disappear from Sage
 in the long term at alt.sci.symbolic William and I got in a long off
 list discussion with Fateman about Maxima, Axiom, Sage and lisp in
 general. Among the point Fateman made about me pointing out that
 building lisp from source sucked were:

  He never had to build lisp from source, so what is the problem?

Richard was deeply involved in lisp and knows a fair bit about the
subject, more than he lets on, but that's up to him to defend. I
have great respect for his opinions.

I helped William Schelter in the development of GCL back when it
was known as AKCL. He used my office often during his visits and
we worked closely on portions of its development. I have written
parts of the garbage collector and some other small pieces so I'm
intimately familiar with the guts of it.


 That is so short sighted it isn't even funny, i.e. water comes out of
 the spout, electricity is supplied by the socket in the wall. And I
 can only say the the Open Source lisp  community is far behind on its
 tools ...

eh? really? not for me. but that way lies language-wars so lets stop.

 In the end it all boils down to platform support and I see ecls as the
 silver bullet here for Sage+lisp.

I have no idea why you think ECLS is a silver bullet. Three years ago
I
moved Axiom onto the handheld Zaurus using GCL. And many years ago I
moved Axiom onto DOS 3.0 using GCL. Maxima runs (fast) using GCL. Why
do you want to move off that platform? It contains everything you
need,
it builds from source, it is actively maintained, and is very fast.
I'm
sure you have good reasons for choosing ECLS but I don't understand.

Frankly, I'd think that it would be straightforward to write a python
compiler in lisp (if only the EU would give me the $20M Euro it gave
the other project). Once that was done you could compile and optimize
the python automatically. My son implemented a commercially available
PHP compiler in lisp in under 3 years and python is about the same
complexity. In fact, if I were still teaching the compiler course, I'd
assign it as a class project. Until python has a decent compiler I
have trouble considering it anything more than MS-basic with classes.
(And that, of course, is certainly NOT gonna make me popular).

Tim


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-20 Thread Ondrej Certik

Dear Tim!

On Mon, Apr 21, 2008 at 12:46 AM, TimDaly [EMAIL PROTECTED] wrote:


   After I posted about *my* intention to make clisp disappear from Sage
   in the long term at alt.sci.symbolic William and I got in a long off
   list discussion with Fateman about Maxima, Axiom, Sage and lisp in
   general. Among the point Fateman made about me pointing out that
   building lisp from source sucked were:
  
He never had to build lisp from source, so what is the problem?

  Richard was deeply involved in lisp and knows a fair bit about the
  subject, more than he lets on, but that's up to him to defend. I
  have great respect for his opinions.

  I helped William Schelter in the development of GCL back when it
  was known as AKCL. He used my office often during his visits and
  we worked closely on portions of its development. I have written
  parts of the garbage collector and some other small pieces so I'm
  intimately familiar with the guts of it.


  
   That is so short sighted it isn't even funny, i.e. water comes out of
   the spout, electricity is supplied by the socket in the wall. And I
   can only say the the Open Source lisp  community is far behind on its
   tools ...

  eh? really? not for me. but that way lies language-wars so lets stop.


   In the end it all boils down to platform support and I see ecls as the
   silver bullet here for Sage+lisp.

  I have no idea why you think ECLS is a silver bullet. Three years ago
  I
  moved Axiom onto the handheld Zaurus using GCL. And many years ago I
  moved Axiom onto DOS 3.0 using GCL. Maxima runs (fast) using GCL. Why
  do you want to move off that platform? It contains everything you
  need,
  it builds from source, it is actively maintained, and is very fast.
  I'm
  sure you have good reasons for choosing ECLS but I don't understand.

  Frankly, I'd think that it would be straightforward to write a python
  compiler in lisp (if only the EU would give me the $20M Euro it gave
  the other project). Once that was done you could compile and optimize
  the python automatically. My son implemented a commercially available
  PHP compiler in lisp in under 3 years and python is about the same
  complexity. In fact, if I were still teaching the compiler course, I'd
  assign it as a class project. Until python has a decent compiler I
  have trouble considering it anything more than MS-basic with classes.
  (And that, of course, is certainly NOT gonna make me popular).

just speaking for myself here:

another way at looking at things is that I want to use today's (maybe
imperfect) tools and today's (maybe busy) people and
I want to get something useful (maybe imperfect) today. And the beauty
of it is to manage everything just right to get something useful out
of it,
that people actually find interesting and usable. Yes, I love to live
just now. :)

Also I love the Linus quote Talk is cheap. Show me the code.. So
it's nice it's maybe theoretically possible to write a python
interpreter in lisp, but
right now, at this very moment, there is no such thing in Debian, so
that is not a technology for me.

Ondrej

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-20 Thread mabshoff



On Apr 21, 12:46 am, TimDaly [EMAIL PROTECTED] wrote:

Hi Tim,

  After I posted about *my* intention to make clisp disappear from Sage
  in the long term at alt.sci.symbolic William and I got in a long off
  list discussion with Fateman about Maxima, Axiom, Sage and lisp in
  general. Among the point Fateman made about me pointing out that
  building lisp from source sucked were:

   He never had to build lisp from source, so what is the problem?

 Richard was deeply involved in lisp and knows a fair bit about the
 subject, more than he lets on, but that's up to him to defend. I
 have great respect for his opinions.

Well, some times he is right, some times he is wrong. That is just the
nature of things.

 I helped William Schelter in the development of GCL back when it
 was known as AKCL. He used my office often during his visits and
 we worked closely on portions of its development. I have written
 parts of the garbage collector and some other small pieces so I'm
 intimately familiar with the guts of it.

I do not doubt that gcl is a good tool, but I doubt it is a good tool
to use in Sage.

  That is so short sighted it isn't even funny, i.e. water comes out of
  the spout, electricity is supplied by the socket in the wall. And I
  can only say the the Open Source lisp  community is far behind on its
  tools ...

 eh? really? not for me. but that way lies language-wars so lets stop.

We might measure viability by different standards - let's just leave
it at that ;)

  In the end it all boils down to platform support and I see ecls as the
  silver bullet here for Sage+lisp.

 I have no idea why you think ECLS is a silver bullet. Three years ago
 I
 moved Axiom onto the handheld Zaurus using GCL. And many years ago I
 moved Axiom onto DOS 3.0 using GCL. Maxima runs (fast) using GCL. Why
 do you want to move off that platform? It contains everything you
 need,
 it builds from source, it is actively maintained, and is very fast.

No, it fails to build on Solaris and since Sage on Solaris is of
essential importance we will/cannot use it. It used to be quite bad on
OSX, but it has gotten much better there. I am certain I can get some
sort of lisp running on pretty much any system, but that is not the
Sage way. We want a self hosted, compile from source anywhere lisp
that Maxima supports and we are now talking about the empty set. Feel
free to prove me wrong, I would be very, very happy to be proven wrong
on this. Ironically the most portable lisp implementation is the one
in Emacs, but I don't think it is common lisp.

 I'm
 sure you have good reasons for choosing ECLS but I don't understand.

I just works with little need to do have a magic lisp machine working
since it uses a C compiler directly.

 Frankly, I'd think that it would be straightforward to write a python
 compiler in lisp (if only the EU would give me the $20M Euro it gave
 the other project).

PyPy sucks and blows at the same time. Throwing money at a problem
never solved it. I am sure you have read the mythical man month. ;)

 Once that was done you could compile and optimize
 the python automatically. My son implemented a commercially available
 PHP compiler in lisp in under 3 years and python is about the same
 complexity.

Sure, I am not saying it is impossible. Some people (like you and
Fateman) prefer lisp and think it is the answer. But if I look around
at people at the university level or a couple years out of it there is
very, very little lisp. So, while the absolute number of lisp
programmers might have grown over the years its part of the
programming market has shrunk since the  programming market has gotten
so much bigger. The beautiful thing about Open Source is that as long
as one person cares a project does not die. But that doesn't mean that
lisp+Sage is a good match ;)

 In fact, if I were still teaching the compiler course, I'd
 assign it as a class project. Until python has a decent compiler I
 have trouble considering it anything more than MS-basic with classes.
 (And that, of course, is certainly NOT gonna make me popular).

 Tim

Well, I don't see lisp making a come back any time soon. People have
done a python to lisp machine port but it never got very far and there
is quite a difference between something that works for me to
something that works! - I experience this daily with Sage and it is
hard, hard work to make Sage run and compile beyond the normal Linux 
OSX mix.

Cheers,

Michael
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-20 Thread mabshoff



On Apr 21, 12:46 am, TimDaly [EMAIL PROTECTED] wrote:
SNIP

Hi Tim,

 I have no idea why you think ECLS is a silver bullet.

I forgot one important argument here: With ecls you can embed the lisp
interpreter into an external library, hence we would be able to use
Maxima as a library instead of using the inefficient pexpect
interface. I am not sure how much work this would be, but if I were a
Maxima coder I would certainly look into that possibility since it
opens a whole lot of possibilities for Maxima IMHO - totally
independent of Maxima's role in Sage.

SNIP

Cheers,

Michael
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-20 Thread William Stein

On Sun, Apr 20, 2008 at 4:22 PM, mabshoff
[EMAIL PROTECTED] wrote:

In the end it all boils down to platform support and I see ecls as the
silver bullet here for Sage+lisp.
  
   I have no idea why you think ECLS is a silver bullet. Three years ago
   I
   moved Axiom onto the handheld Zaurus using GCL. And many years ago I
   moved Axiom onto DOS 3.0 using GCL. Maxima runs (fast) using GCL. Why
   do you want to move off that platform? It contains everything you
   need,
   it builds from source, it is actively maintained, and is very fast.

  No, it fails to build on Solaris and since Sage on Solaris is of
  essential importance we will/cannot use it. It used to be quite bad on
  OSX, but it has gotten much better there. I am certain I can get some
  sort of lisp running on pretty much any system, but that is not the
  Sage way. We want a self hosted, compile from source anywhere lisp
  that Maxima supports and we are now talking about the empty set. Feel
  free to prove me wrong, I would be very, very happy to be proven wrong
  on this. Ironically the most portable lisp implementation is the one
  in Emacs, but I don't think it is common lisp.


   I'm
   sure you have good reasons for choosing ECLS but I don't understand.

  I just works with little need to do have a magic lisp machine working
  since it uses a C compiler directly.


   Frankly, I'd think that it would be straightforward to write a python
   compiler in lisp (if only the EU would give me the $20M Euro it gave
   the other project).

  PyPy sucks and blows at the same time. Throwing money at a problem
  never solved it. I am sure you have read the mythical man month. ;)




   Once that was done you could compile and optimize
   the python automatically. My son implemented a commercially available
   PHP compiler in lisp in under 3 years and python is about the same
   complexity.

  Sure, I am not saying it is impossible. Some people (like you and
  Fateman) prefer lisp and think it is the answer. But if I look around
  at people at the university level or a couple years out of it there is
  very, very little lisp. So, while the absolute number of lisp
  programmers might have grown over the years its part of the
  programming market has shrunk since the  programming market has gotten
  so much bigger.

This webpage has a ranking of programming language popularity,
which might be a bit more scientific then the above anecdotal when
I look around.  This page is for the following purpose:
The index can be used to check whether your programming
skills are still up to date or to make a strategic decision about
what programming language should be adopted when starting
to build a new software system.

   http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

It goes:
   Java, C, Visual Basic, PHP, C++, Perl, Python
then
   C#, Ruby, Delphi, Javascript, D, PL/SQL,
then
   SAS, Pascal, Lisp/Scheme, FoxPro, Cobol, ADA,

so lisp is number 17.   In raw numbers Python is ten times
as popular as Lisp and Scheme.

In the next group (below 20) is:

   ColdFusion, Logo, Lua, ActionScript, FORTRAN, RPG,
   Matlab, Prolog, AWK, ...
   and R is at 45th.

 -- William

 The beautiful thing about Open Source is that as long
  as one person cares a project does not die. But that doesn't mean that
  lisp+Sage is a good match ;)

Also projects (even closed ones) can die and be resurrected.
Maybe Scratchpad/Axiom an example of such a project...
That's a good thing.

   In fact, if I were still teaching the compiler course, I'd
   assign it as a class project. Until python has a decent compiler I
   have trouble considering it anything more than MS-basic with classes.
   (And that, of course, is certainly NOT gonna make me popular).
  
   Tim

  Well, I don't see lisp making a come back any time soon. People have
  done a python to lisp machine port but it never got very far and there
  is quite a difference between something that works for me to
  something that works! - I experience this daily with Sage and it is
  hard, hard work to make Sage run and compile beyond the normal Linux 
  OSX mix.

Disagree with Michael about porting/building issues at your own peril.

 -- William

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-20 Thread root

 I have no idea why you think ECLS is a silver bullet.

I forgot one important argument here: With ecls you can embed the lisp
interpreter into an external library, hence we would be able to use
Maxima as a library instead of using the inefficient pexpect
interface. I am not sure how much work this would be, but if I were a
Maxima coder I would certainly look into that possibility since it
opens a whole lot of possibilities for Maxima IMHO - totally
independent of Maxima's role in Sage.

I looked at pexpect. It appears to be a process controller of sorts
that interprets and parses console I/O.

Axiom has its own version called sman (superman). You don't normally
type directly at the axiom command prompt but are talking to sman
which mediates the console i/o. Sman manages a set of processes
(the AXIOMsys interpreter, the graphics, hyperdoc, etc) but makes
it appear that you are talking to axiom. You could talk directly
to the AXIOMsys system prompt or directly to AXIOMsys thru a network
port (which is how the Axiom Firefox works). But sman doesn't actually
parse anything at all. It is just a very small C program which forks
processes and sets up ptys and thus has nearly zero overhead.

I'm not sure what Maxima does. But I'd bet that almost all of the
overhead you're seeing isn't Maxima but pexpect delay. Somebody
is probably playing parsing games to get prompt and end-of-input
processing and that has got to cost a lot. Why not just reach into
the lisp and do it directly? Why use a console connection at all?
Using pexpect has got to be the worst of all possible ways to talk
to Maxima.

In any case, it is certainly possible to use lisp as a library
element rather than using pexpect. I'm not sure why ECLS is special
in this context since I've never used it.

Tim



--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-20 Thread William Stein

On Sun, Apr 20, 2008 at 6:38 PM, root [EMAIL PROTECTED] wrote:

   I have no idea why you think ECLS is a silver bullet.
  
  I forgot one important argument here: With ecls you can embed the lisp
  interpreter into an external library, hence we would be able to use
  Maxima as a library instead of using the inefficient pexpect
  interface. I am not sure how much work this would be, but if I were a
  Maxima coder I would certainly look into that possibility since it
  opens a whole lot of possibilities for Maxima IMHO - totally
  independent of Maxima's role in Sage.

  I looked at pexpect. It appears to be a process controller of sorts
  that interprets and parses console I/O.
  Axiom has its own version called sman (superman). You don't normally
  type directly at the axiom command prompt but are talking to sman
  which mediates the console i/o. Sman manages a set of processes
  (the AXIOMsys interpreter, the graphics, hyperdoc, etc) but makes
  it appear that you are talking to axiom. You could talk directly
  to the AXIOMsys system prompt or directly to AXIOMsys thru a network
  port (which is how the Axiom Firefox works). But sman doesn't actually
  parse anything at all. It is just a very small C program which forks
  processes and sets up ptys and thus has nearly zero overhead.

  I'm not sure what Maxima does. But I'd bet that almost all of the
  overhead you're seeing isn't Maxima but pexpect delay.

Are you saying that all the *overhead* we're seeing with communicating
with Maxima via pexpect is overhead associated with pexpect?
That's kind of circular.

 Somebody
  is probably playing parsing games to get prompt and end-of-input
  processing and that has got to cost a lot. Why not just reach into
  the lisp and do it directly?

How does one just reach into lisp?

  Why use a console connection at all?
  Using pexpect has got to be the worst of all possible ways to talk
  to Maxima.

Sort of like how democracy is the worst of all possible
governments that work or something.

Anyway, one bonus of using Maxima via pexpect is that
it works, and moreover almost the same code that works
for this works for using about 15 other math software
systems from Sage in almost exactly the same way.

  In any case, it is certainly possible to use lisp as a library
  element rather than using pexpect.

That's great news.  Could you implement using lisp as a library
element from python?  Thanks.

William

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-20 Thread mabshoff

On Apr 21, 3:38 am, root [EMAIL PROTECTED] wrote:
  I have no idea why you think ECLS is a silver bullet.

Hi Tim,

 I forgot one important argument here: With ecls you can embed the lisp
 interpreter into an external library, hence we would be able to use
 Maxima as a library instead of using the inefficient pexpect
 interface. I am not sure how much work this would be, but if I were a
 Maxima coder I would certainly look into that possibility since it
 opens a whole lot of possibilities for Maxima IMHO - totally
 independent of Maxima's role in Sage.

 I looked at pexpect. It appears to be a process controller of sorts
 that interprets and parses console I/O.

correct.

 Axiom has its own version called sman (superman). You don't normally
 type directly at the axiom command prompt but are talking to sman
 which mediates the console i/o. Sman manages a set of processes
 (the AXIOMsys interpreter, the graphics, hyperdoc, etc) but makes
 it appear that you are talking to axiom. You could talk directly
 to the AXIOMsys system prompt or directly to AXIOMsys thru a network
 port (which is how the Axiom Firefox works). But sman doesn't actually
 parse anything at all. It is just a very small C program which forks
 processes and sets up ptys and thus has nearly zero overhead.

Well, what do you send via the socket or via the commandline? It must
be some kind of ASCII I assume.

 I'm not sure what Maxima does. But I'd bet that almost all of the
 overhead you're seeing isn't Maxima but pexpect delay. Somebody
 is probably playing parsing games to get prompt and end-of-input
 processing and that has got to cost a lot. Why not just reach into
 the lisp and do it directly? Why use a console connection at all?
 Using pexpect has got to be the worst of all possible ways to talk
 to Maxima.

Using a socket here doesn't solve the problem. Using Maxima via ecls
embedded in a library offers the possibility to work directly with the
data without the need to translate anything [unless you want to get
you data back into Sage structures or the other way around]. It would
also kill synchronization issues that crop up with pexpect for
example.

 In any case, it is certainly possible to use lisp as a library
 element rather than using pexpect. I'm not sure why ECLS is special
 in this context since I've never used it.

I am not aware of any other lisp interpreter that you can easily embed
in a C library. Can you point me to one?

 Tim

Cheers,

Michael
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-20 Thread Bill Page

On Sun, Apr 20, 2008 at 7:22 PM, mabshoff wrote:
 ...
  I do not doubt that gcl is a good tool, but I doubt it is a good tool
  to use in Sage.
 ...
   In the end it all boils down to platform support and I see ecls as
   the silver bullet here for Sage+lisp.
 
 Tim Daly wrote:
  I have no idea why you think ECLS is a silver bullet. Three years
  ago I moved Axiom onto the handheld Zaurus using GCL.

?? The Debian arm version of Axiom installs on Zaurus without
problems. As far as I know all of the Debian Axiom builds were done by
Camm Maguire who is also the primary maintainer of GCL.

  And many years ago I moved Axiom onto DOS 3.0 using GCL. Maxima
  runs (fast) using GCL. Why do you want to move off that platform? It
  contains everything you need, it builds from source, it is actively
  maintained, and is very fast.


I am not so sure one could honestly say that it is actively
maintained, but I would have to agree that Camm Maguire is usually
very responsive.

  No, it fails to build on Solaris and since Sage on Solaris is of
  essential importance we will/cannot use it.

That is strange. I have built recent versions of GCL from cvs on
Solaris 10 - both sparc and x86 - without problems. I am using the gnu
tool chain from Blastwave. Have you contacted Camm Maguire about the
problems you are having?

 ...
  I just works with little need to do have a magic lisp machine working
  since it uses a C compiler directly.


GCL uses the C compiler directly. I am not suggesting that GCL is
necessarily the right lisp for Sage (or even that Sage needs a lisp
compiler at all) but I do rather think you should give GCL another
try. I would be glad to try to help you debug the problems on Solaris.

Regards,
Bill Page.

--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Project

2008-04-20 Thread mabshoff



On Apr 21, 6:48 am, Bill Page [EMAIL PROTECTED] wrote:
 On Sun, Apr 20, 2008 at 7:22 PM, mabshoff wrote:

Hi Bill,

   I do not doubt that gcl is a good tool, but I doubt it is a good tool
   to use in Sage.
  ...
In the end it all boils down to platform support and I see ecls as
the silver bullet here for Sage+lisp.

  Tim Daly wrote:
   I have no idea why you think ECLS is a silver bullet. Three years
   ago I moved Axiom onto the handheld Zaurus using GCL.

 ?? The Debian arm version of Axiom installs on Zaurus without
 problems. As far as I know all of the Debian Axiom builds were done by
 Camm Maguire who is also the primary maintainer of GCL.

   And many years ago I moved Axiom onto DOS 3.0 using GCL. Maxima
   runs (fast) using GCL. Why do you want to move off that platform? It
   contains everything you need, it builds from source, it is actively
   maintained, and is very fast.

 I am not so sure one could honestly say that it is actively
 maintained, but I would have to agree that Camm Maguire is usually
 very responsive.

   No, it fails to build on Solaris and since Sage on Solaris is of
   essential importance we will/cannot use it.

 That is strange. I have built recent versions of GCL from cvs on
 Solaris 10 - both sparc and x86 - without problems. I am using the gnu
 tool chain from Blastwave. Have you contacted Camm Maguire about the
 problems you are having?

I am using my own gcc 4.2.2 based toolchain and binutils build on
Solaris 9. It builds every other components of Sage unlike the
Blastwave toolchain ;)

  ...
   I just works with little need to do have a magic lisp machine working
   since it uses a C compiler directly.

 GCL uses the C compiler directly. I am not suggesting that GCL is
 necessarily the right lisp for Sage (or even that Sage needs a lisp
 compiler at all) but I do rather think you should give GCL another
 try. I would be glad to try to help you debug the problems on Solaris.

I will try it out. Should gsl build on Solaris I am more than willing
to try switching away from clisp. Let me give it a whirl and see what
happens.

 Regards,
 Bill Page.

Cheers,

Michael
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
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://www.sagemath.org
-~--~~~~--~~--~--~---



  1   2   >