Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On 02/ 9/11 07:21 AM, Emil Widmann wrote: Is by "Sage-Windows port" meaning a "native" Windows application rather than something based on Cygwin? With Sage - Windows port I was meant the Cygwin port. Or at least any port that is very easy to install (Windows Installer) and runs with comparable performance to a Cygwin version inside the usual Windows environment (no dual boot system, no virtual machine). In that case, I don't think there can be any argument that doing this should be a Sage goal. If we don't get such a port complete, we are losing a lot of potential users. We also really need a plan of how we might achieve this goal. I'm willing to work on this as soon as Sage runs well on Solaris/OpenSolaris as 64-bit - currently it is only running 32-bit. I've not been very active on Sage recently - my Dad has been ill, then died in the middle of January. He was cremated on Monday, so I have had other things on my mind and also need to sort out his estate. So Sage has to take a back-seat just now. Looking at some of the outstanding Cygin tickets http://trac.sagemath.org/sage_trac/wiki/CygwinPort they are very trivial to solve. For example http://trac.sagemath.org/sage_trac/ticket/9172 I've just posted a solution to #9172, though I've not created a patch. Also #9170 looks highly likely to be easily solved. #9165 (lcalc) is a bit more worrying, as I know the Sun compiler will not compile lcalc and gcc gives compiler warnings when compiling lcalc. The fact it gives errors on Cygwin does not totally surprise me. -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? Dave -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On 02/ 8/11 08:09 PM, Niles wrote: On Feb 8, 10:54 am, Emil Widmann wrote: Should there also be a section about the Sage-Windows port as a long standing goal? Doing this is in reach and probably there are some with a windows background coming in from "stackoverflow". Yes, this should probably be on the list, although I guess there is some debate about whether or not this should be a formal "goal" for sage. But I know a fair amount of work has been done on this, and probably the Stack Overflow landing page should include pointers to that work and related discussion. Would someone who knows these pointers (and who thinks it's a worthwhile project) either add them to the wiki page, or send them to me so I can do it? thanks! Niles Is by "Sage-Windows port" meaning a "native" Windows application rather than something based on Cygwin? I don't think there can be any doubt a Cygwin port is a goal, but a 100% complete native application would in my opinion take tens of man years. A cut-down version, removing code that is hard to port (for example ATLAS) can probably be done in less time. But it's hardly a very attractive tool in that case. -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? Dave -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On 2 February 2011 20:44, Robert Bradshaw wrote: > On Wed, Feb 2, 2011 at 7:33 AM, David Kirkby wrote: >> Do you believe it would be easier to attract funding if those >> considering funding a project could see a set of goals and plans? Or >> do you think people/companies considering funding software projects >> would not care if a project had a plan? > > Most grant proposals and other requests for funding have very specific > plans, people, timelines, etc. attached to them. I realise that. However, it's also highly likely the individuals reviewing the grant applications would look on the Sage web site. > In light of your (and > other people's) concerns, I think it would be very good if there were > a more central location to see this, what people were working on, and > status reports. I would add to that 1) What the goals are, even if there is nobody working on them. Two obvious advantages to having this would be: * It could attract a student to work on a project, if he/she knows it is a goal, but nobody is working on it. * It could attract a commercial company to sponsor a particular piece of work if they realised one of Sage's goals would be beneficial to them. 2) Archive the status reports - move them from a Wiki to a read-only section of the web site. Just like the FreeBSD does. http://www.freebsd.org/news/status/report-2009-04-2009-09.html http://www.freebsd.org/news/status/report-2008-10-2008-12.html http://www.freebsd.org/news/status/report-2008-07-2008-09.html This would help get more realistic estimates of time for different tasks. Predicting times for software development is notoriously very difficult, even when people are paid to do the work. But making predictions based on the times to do similar work is one of the standard methods. It's not perfect, but is one of the better ways. With expereice of porting Sage to Solaris, I'd have a much better idea of the times to port to AIX or HP-UX. > I may have come across as portraying sage development > as too individualistic--much work is done by individuals, but the > level of a single grant with one or more PIs, their collaborators, > students, etc. with clear-cut goals and timelines has provided a good > level of organization that gets things done, but the funded grants > tend to be of narrower focus than all of Sage. Grants applications should have well defined goals - if not they would never be funded. > A steering committee might be a good idea, we have JSage which > somewhat fulfills this role. As a closed group, I think many of us would appreciate more openness, for more people to have an input. But ultimately William started the project, so he should have by far the most say of the goals. But I do think we need a set of goals, and some plan how to achieve them. > - Robert Dave -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Thu, Feb 3, 2011 at 11:34 AM, Emil Widmann wrote: > > On Feb 3, 3:22 pm, kcrisman wrote: >> > > It sounds quite ominous. >> >> > I thought the exact same thing. Very unimpressed. >> >> Though keep in mind it's probably a first draft. > > > For veteran contributors the opaque (but I'm sure it will improve) > policy of access to the steering committee might sound ominous. May I > draw your attention to the fact that for others, esp. first time or > potential contributors, similar issues apply. > Recently there was the following exchange about an offered binary > build for SUSE > http://groups.google.com/group/sage-devel/browse_thread/thread/a77bdb25b30c36aa > > Is it an idea that if a policy for the "top-down" (i.e steering > committee) is formulated, there should also be a formulated policy for > the "bottom up", i.e how to integrate new people in the process? Nearly everything in Sage is bottom-up, top-down is only for when that doesn't work and we need to move on. > Beside: > Was it already mentioned that the stackoverflow sage-advertisment > (which was the original starter for this thread) has already reached > the critical 6 upvotes to be featured on the main pages? > http://meta.stackoverflow.com/questions/74983/open-source-advertising-sidebar-1h-2011/77019#77019 > It currently has 8 up-votes and already "overtook" some other projects > which launched their adds earlier. > Cheers for the the people who made this possible Niles, Eviatar, Ivan > Andrus and H.Shilly :-) Cool. > Maybe it is also possible to continue to improve the "landing page" > http://wiki.sagemath.org/StackOverflowLanding > Is it an idea to mention the pending Windows port? I wouldn't until it's actively ongoing (unless it's clearly marked as a wishlist item). > There were some comments about to write proposals (to get grants) for > development, but I see H. Schilly has open a thread about Google SOC > 2011 with no response so far. For whatever reason, Sage has had a hard time getting accepted as a GSoC project, but it's probably worth looking into more when (based on past performance) the Python project gets funded. That being said, if anyone wants to go for it, please do! - Robert -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Thu, Feb 3, 2011 at 7:22 AM, kcrisman wrote: > >> > It sounds quite ominous. >> >> I thought the exact same thing. Very unimpressed. >> > > Though keep in mind it's probably a first draft. I would say that it's primarily a sounding board for the BDFL for when executive decisions need to be made. It's also a place for conflict resolution that is best handled off-list or to put an end to bikeshedding and a stabilizing force for, e.g., when new spkgs are proposed whether they're for the long term benefit of Sage (as opposed to the submitters, who are have a strong bias for, and the rest of the crowd, who either doesn't care or says "that sounds good" without much personal investment.) - Robert -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
We must move this discussion to sage-flame. Sorry, this is a serious waste of bandwidth. On Thu, Feb 3, 2011 at 11:08 AM, rjf wrote: > > > On Feb 3, 6:37 am, "Dr. David Kirkby" >> > It sounds quite ominous. >> >> I thought the exact same thing. Very unimpressed. >> > > You could always organize a fork of the project, and do > your own favorite things.:) > RJF > > -- > To post to this group, send an email to sage-devel@googlegroups.com > To unsubscribe from this group, send an email to > sage-devel+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/sage-devel > URL: http://www.sagemath.org > -- William Stein Professor of Mathematics University of Washington http://wstein.org -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On 02/ 3/11 02:07 PM, kcrisman wrote: I've updated the page:http://www.sagemath.org/jsage/ andhttp://www.sagemath.org/jsage/editors.html Thanks. Wow, this is very different from what JSage used to be, at least in theory. I've no idea how it used to be. It sounds quite ominous. I thought the exact same thing. Very unimpressed. -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? Dave -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Wed, Feb 2, 2011 at 2:03 PM, Robert Bradshaw wrote: > On Wed, Feb 2, 2011 at 1:21 PM, kcrisman wrote: >> >>> >>> A steering committee might be a good idea, we have JSage which >>> somewhat fulfills this role. >> >> ??? >> >> You don't mean the fantastically outdated >> http://www.sagemath.org/jsage/editors.html >> ... I've updated the page:http://www.sagemath.org/jsage/ and http://www.sagemath.org/jsage/editors.html -- William Stein Professor of Mathematics University of Washington http://wstein.org -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Wed, Feb 2, 2011 at 1:21 PM, kcrisman wrote: > >> >> A steering committee might be a good idea, we have JSage which >> somewhat fulfills this role. > > ??? > > You don't mean the fantastically outdated > http://www.sagemath.org/jsage/editors.html > ... > > Do you? Notwithstanding that this is a good idea (but one which has > seemed to always fizzle before, like 'editors' etc.). Well, that was the original intent, and you're right, that hasn't panned out like planned. E.g. see http://groups.google.com/group/sage-devel/browse_thread/thread/7c808e84427004/e12d852927e58d9d?lnk=gst#e12d852927e58d9d and http://groups.google.com/group/sage-devel/browse_thread/thread/3d55b95b6873a3f2/7e60b1544d523ec8?lnk=gst . Fortunately its use is rare, but if it were something more formal and involved, it might be more rightly called a steering committee. - Robert -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Wed, Feb 2, 2011 at 7:33 AM, David Kirkby wrote: > As a matter of interst, how many people do you expect make use of code > to solve Rubiks cube? Do you really think that should have been in the > main Sage library, or would it have been more appropiate to have such > functionality as optional item? Well, there are about 45 students enrolled in this course: http://people.math.sfu.ca/~jtmulhol/math302/ for which we use Sage extensively. -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Wed, Feb 2, 2011 at 7:33 AM, David Kirkby wrote: > On 2 February 2011 09:55, Robert Bradshaw > wrote: >> On Tue, Feb 1, 2011 at 6:21 AM, Dr. David Kirkby > >>> Sage is something people work on in their spare time, so you can't dictate >>> to people what they do. But if there was a plan, people could be encouraged >>> to work on what is considered important. Student projects could be based >>> around specific goals. >>> >>> We should also have status reports. See for example some of the archived >>> FreeBSD status reports. >>> >>> http://www.freebsd.org/news/status/report-2009-04-2009-09.html >>> http://www.freebsd.org/news/status/report-2008-10-2008-12.html >>> http://www.freebsd.org/news/status/report-2008-07-2008-09.html >>> >>> To me at least, it seems the vast majority of people ware working on what >>> interests them, >> >> Yes, exactly, though I would like to point out that while few things >> are of interest to the entire Sage community, most code that goes in >> is of interest to large groups of people. > > That's not the impression I get, when I've seen many times comments > that X is broken, but nobody is using X anyway. I've also seen > comments that "I'm probably the only one using feature Y" Things that are broken is a heavily skewed sample to things that are not used. > But I see no logical argument for having any code that is only of use > to one or two people. I actually agree here, especially now that Sage has more than one or two users. I might draw the line lower than you though (if a dozen people use it, put it in). > As a matter of interst, how many people do you expect make use of code > to solve Rubiks cube? Do you really think that should have been in the > main Sage library, or would it have been more appropiate to have such > functionality as optional item? As this gets brought up many times, let me clarify the history (I'm the one who added it). David Joiner was releasing his popular math book http://jhupbooks.press.jhu.edu/ecom/MasterServlet/GetItemDetailsHandler?iN=9780801890130&qty=1&viewMode=3&loggedIN=false&JavaScript=y and, among other things, expanding it to talk about Sage. Sage was extreemly new at this point, so this was a great chance to get exposure, and one of the examples was showing how to solve a Rubik's cube using Sage to demonstrate group theory. Of course the Rubik's group is a very special group, so solving it using the generic word problem is a very slow way of going about it, and I didn't want Sage to be known as "the software that takes 75000 times longer than it should to solve the Rubik's cube." Optimal solutions are a also a very interesting problem from the group-theoretic perspective, and so it made sense to put that in along with it. Now it's widely distributed in print, so removing it would be a bad idea (even if the marketing side of things was no longer an issue). >>> * No documented plan >>> * No real documented estimates of time scales >>> * No status reports for the project as a whole. >> >> Anyone could come up with a plan, but who would enforce it? > > Nobody could enforce it. I've made it very clear on a project where > people devote their time for zero financial reward, you can't force > them to do anything. > >> Who would >> allocate the resources to make it happen? > > Not everything would happen. Nobody will "make" it happen, but you > will increase the probability of good things happening if one has some > goals and plans. > >> Most large OSS projects have >> full-time staff as well as many non-paid contributors--we don't. > > Do you believe it would be easier to attract funding if those > considering funding a project could see a set of goals and plans? Or > do you think people/companies considering funding software projects > would not care if a project had a plan? Most grant proposals and other requests for funding have very specific plans, people, timelines, etc. attached to them. In light of your (and other people's) concerns, I think it would be very good if there were a more central location to see this, what people were working on, and status reports. I may have come across as portraying sage development as too individualistic--much work is done by individuals, but the level of a single grant with one or more PIs, their collaborators, students, etc. with clear-cut goals and timelines has provided a good level of organization that gets things done, but the funded grants tend to be of narrower focus than all of Sage. A steering committee might be a good idea, we have JSage which somewhat fulfills this role. - Robert -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Wed, Feb 2, 2011 at 8:49 AM, Aleksej Saushev wrote: > Robert Bradshaw writes: > >> On Tue, Feb 1, 2011 at 6:21 AM, Dr. David Kirkby >> wrote: >>> >>> and those changes get put into Sage, without any discussion >>> of what's actually needed in Sage, and what should be written as an external >>> program. >> >> I think part of this is due to the historical context in which Sage >> arose. Pre-Sage, the open source mathematical landscape consisted of a >> few large pieces (e.g. Pari, Gap, Maxima) and dozens of specialized >> libraries (gfan, ntl, ...) most of which were hard to build, needed >> manually managed dependencies, and didn't interoperate with each >> other. The Sage community is often accused of being full of more >> mathematicians than programmers, and though to some people manually >> configuring, compiling, and installing various interdependent >> libraries is all in a days work this is not what mathematicians enjoy >> spending their time doing (if they even have the background at all). > > FreeBSD ports collection and NetBSD portable pkgsrc exist for a decade > at least. They make all packages build with "make all", install with > "make install", and track dependencies. > >> Along comes Sage with it's kitchen sink strategy (and a huge amount of >> hard work to get all these systems to build out of the box) and it's >> hailed as "the easiest way to get X" for many X which were before only >> available separately. Since then it's grown as we now have many of >> these these programs working together, hundreds of thousands of lines >> of new code, and a (subjectively) nice Python and notebook interface. > > Along comes monolythic Sage that can't build on neither major BSD > platform, even though all principal components are there and Sage > is written in Python itself. That's false. Even if it were true, BSD is largely irrelevant to the point Robert is making, as it has such a small install base (certainly less than 0.1% of mathematicians use it). -- William -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On 2 February 2011 16:43, Jason Grout wrote: > On 2/2/11 10:33 AM, rjf wrote: >> >> 1. What happens if you don't have a plan? > >> >> 2. Who makes a plan? >> > > You have long experience with other open-source projects. Have they had > plans? (I'm really genuinely curious). Who made it? How > comprehensive/detailed was it? Was the plan a "success" (i.e., was it worth > making?) Was the plan followed? How did you give incentive to follow the > plan? > Jason Obviously that is for Richard to answer, but you also need to consider that a lot has been learned about software development over the years. The field has advanced since Richard was actively involved in some of these projects. Many software projects have failed, and people have analysed the reasons for the failure. http://en.wikipedia.org/wiki/Software_project_management#Project_planning.2C_monitoring_and_control states the most common reasons for failure are 1. Unrealistic or unarticulated project goals 2. Inaccurate estimates of needed resources 3. Badly defined system requirements 4. Poor reporting of the project's status 5. Unmanaged risks 6. Poor communication among customers, developers, and users 7. Use of immature technology 8. Inability to handle the project's complexity 9. Sloppy development practices 10. Poor project management 11. Stakeholder politics 12. Commercial pressures There's a little bit about planning on that page http://en.wikipedia.org/wiki/Software_project_management#Project_planning.2C_monitoring_and_control There are many models of software development, but most or all of them have elements of * Defining the goals/specifications * Planning how to achieve the above. * Modifying plans where necessary. * Reporting the status of the project. I think Sage would be in a better position to attract both * developers * investors to fund development if Sage was seen to have more clearly defined goals, and plans on how to achieve them. Dave -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Wed, 2011-02-02 at 10:43 -0600, Jason Grout wrote: > On 2/2/11 10:33 AM, rjf wrote: > > 1. What happens if you don't have a plan? > > > > 2. Who makes a plan? > > > > You have long experience with other open-source projects. Have they had > plans? (I'm really genuinely curious). Who made it? How > comprehensive/detailed was it? Was the plan a "success" (i.e., was it > worth making?) Was the plan followed? How did you give incentive to > follow the plan? Axiom has a set of goals, made by me, such as http://axiom-developer.org/axiom-website/currentstate.html This gives a place to capture ideas and long term plans. A "plan" might imply a schedule and, as far as I'm aware, nobody knows how to schedule software development. This is especially true of free software. Is it a success? Well, a lot of the tasks have been accomplished, some have been abandoned, and some will take years to finish (e.g. making Axiom fully literate). How did I give incentive to follow the plan? Ideas that were discussed and agreed upon were added to the list of goals. Some of them have been completed (e.g. the boot language is gone), some of them have died (e.g. the CCL port is dead), and some of them caused much controversy (e.g. competing with MMA, autoconf, boot language) and were "decided" by me. Those who disagreed forked. A project cannot be all things to all people and someone has to decide what the long term goals are. But I don't think that a "plan" is useful except maybe in the short term among a group of developers. Open source does not really attract "groups" in my experience. It is usually a set of single-person efforts. Tim Daly -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On 2 February 2011 09:55, Robert Bradshaw wrote: > On Tue, Feb 1, 2011 at 6:21 AM, Dr. David Kirkby >> Sage is something people work on in their spare time, so you can't dictate >> to people what they do. But if there was a plan, people could be encouraged >> to work on what is considered important. Student projects could be based >> around specific goals. >> >> We should also have status reports. See for example some of the archived >> FreeBSD status reports. >> >> http://www.freebsd.org/news/status/report-2009-04-2009-09.html >> http://www.freebsd.org/news/status/report-2008-10-2008-12.html >> http://www.freebsd.org/news/status/report-2008-07-2008-09.html >> >> To me at least, it seems the vast majority of people ware working on what >> interests them, > > Yes, exactly, though I would like to point out that while few things > are of interest to the entire Sage community, most code that goes in > is of interest to large groups of people. That's not the impression I get, when I've seen many times comments that X is broken, but nobody is using X anyway. I've also seen comments that "I'm probably the only one using feature Y" But I see no logical argument for having any code that is only of use to one or two people. As a matter of interst, how many people do you expect make use of code to solve Rubiks cube? Do you really think that should have been in the main Sage library, or would it have been more appropiate to have such functionality as optional item? >> * No documented plan >> * No real documented estimates of time scales >> * No status reports for the project as a whole. > > Anyone could come up with a plan, but who would enforce it? Nobody could enforce it. I've made it very clear on a project where people devote their time for zero financial reward, you can't force them to do anything. > Who would > allocate the resources to make it happen? Not everything would happen. Nobody will "make" it happen, but you will increase the probability of good things happening if one has some goals and plans. > Most large OSS projects have > full-time staff as well as many non-paid contributors--we don't. Do you believe it would be easier to attract funding if those considering funding a project could see a set of goals and plans? Or do you think people/companies considering funding software projects would not care if a project had a plan? > - Robert Dave -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Tue, Feb 1, 2011 at 6:21 AM, Dr. David Kirkby wrote: > On 02/ 1/11 08:50 AM, David Roe wrote: > >> I think most people agree that a Windows port is important. > > But there's no plan for Sage, which sets out priorities and reasonable > estimates of time. > >> But it still >> hasn't happened. My impression is that the reasons for that are primarily >> that it's >> 1) hard, >> 2) not interesting to most Sage developers. >> >> There's not much that we can do about the difficulty; if we want it to >> happen we need to address the second point. Sage isn't a project where we >> can really tell people that they have to work on something. Personally, >> I'm completely uninterested in working on a Windows port. > > I don't know how hard it is, but I got the impression from William only a > few months back that it did not need a lot of work. But I've come very > suspicious about time estimates from many Sage developers. > > One ticket I was aware was outstanding was that SYMPOW was not working. That > got fixed when I realised it was an issue on Solaris, so I sorted it out. > >> We've tried hiring someone to work on porting Sage to Windows, and it >> wasn't >> that successful. > > My understanding was that Microsoft sponsored a student for a short period > of time (2-3 months). It was blatantly obvious to me that it would have not > been done in that time scale. I think that was supposed to be a native port > too - not Cygwin. A native port is a *much* harder problem. > > To my knowledge, there was nobody else paid to work on a Windows port, but I > may be wrong. > > I know Micheal was paid to work on the *Solaris* port, but went off on a > tangent and did his own thing. To my knowledge, Micheal was the only full > time person paid to work on Sage. > > But if there was a plan for Sage, like there is for other projects, with > estimated dates for specific targets, and those kept slipping, then we would > be aware there's a problem. > > Regularly slipping time scales should then be fed back to the people making > the estimates. They would hopefully realise they were unrealistic in their > expectations. > > Once that is realised, more realistic time scales would be set for future > Sage goals. Then priorities could be set, based on knowledge of what are > realistic time scales. > > All this is pretty much standard software engineering principles. > >> Just waiting until people decide to work on it isn't >> achieving anything. One way we've traditionally had success in gathering >> momentum for a project is hosting a Sage Days workshop. One focused on >> Windows development might achieve something, if we can find the funding >> for >> it. > > Some of the problems seem to be firmly in the hands of people who have > written code in the Sage library, which simply does not work properly on > Cygwin. They should be able to sort that out. > > Some of the portability issues are not trivial IMHO, but just need hard > work. I agree it's not the most interesting thing. I also think the time > estimates I've seen are totally unrealistic. > > What is obvious to me is how close the correlation is between Cygwin issues > and code I'd previously identified as being very badly written. > > I can't help feeling William was unwise to start Psage before the Cygwin > port of Sage was complete. > >> The only other thing I can think of would be to hire someone, IF we can >> find >> someone with the necessary qualifications and determination. I don't know >> how feasible that is, or whether funding for that project would be >> available. I have to think that the people who might have funded it may >> be >> discouraged by previous failures. > > I personally would not let previous failures put me off. Micheal spent a > couple of years working on a Solaris port, but his failure did not put me > off. I knew it could be done. > >> Even though I don't want to work on it, I'll be a cheerleader for those of >> you who do. :-) >> David > > Sage is something people work on in their spare time, so you can't dictate > to people what they do. But if there was a plan, people could be encouraged > to work on what is considered important. Student projects could be based > around specific goals. > > We should also have status reports. See for example some of the archived > FreeBSD status reports. > > http://www.freebsd.org/news/status/report-2009-04-2009-09.html > http://www.freebsd.org/news/status/report-2008-10-2008-12.html > http://www.freebsd.org/news/status/report-2008-07-2008-09.html > > To me at least, it seems the vast majority of people ware working on what > interests them, Yes, exactly, though I would like to point out that while few things are of interest to the entire Sage community, most code that goes in is of interest to large groups of people. > and those changes get put into Sage, without any discussion > of what's actually needed in Sage, and what should be written as an external > program. I think part of this is due to the
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Tuesday 01 February 2011, kcrisman wrote: > I respectfully submit that this part of the discussion should move to > sage-flame. +1 -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99 _otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF _www: http://martinralbrecht.wordpress.com/ _jab: martinralbre...@jabber.ccc.de -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Tue, Feb 1, 2011 at 3:28 PM, Jason Grout wrote: > On 2/1/11 5:12 PM, kcrisman wrote: >> >> Maybe a few of us should get together and offer a bounty... > > Or write a grant! I don't think funding is the sole (primary?) bottleneck--if we had a (modest) pile of cash, who would we hire? I honestly can't think of anyone that has the time, expertise, and motivation right now. That being said, I am optimistic that it will happen. - Robert -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Tue, Feb 1, 2011 at 3:10 AM, Emil Widmann wrote: >> > While I use Sage daily on my research I decided that I could not use sage >> on my classes for freshmen students until it works on windows. > > I am curious, why is using the virtual machine image not feasable? We have a virtual machine. Obviously many people don't find this to be good enough. > On new computers it should run with acceptable speed. In classroom it > should be even possible to setup a simple server with the VM? I think for many (most?) classroom scenarios, setting up a server is by far the best option. Of course being able to install it on their own machines is still valuable (I do) but that group tends to not be as Windows-dominated. - Robert -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Tue, 2011-02-01 at 08:40 -0800, William Stein wrote: > On Tue, Feb 1, 2011 at 8:32 AM, William Stein wrote: > > On Tue, Feb 1, 2011 at 6:21 AM, Dr. David Kirkby > >> * No documented plan > >> * No real documented estimates of time scales > >> * No status reports for the project as a whole. > > > > If you think a plan as you describe it for overall Sage development is > > so important, why don't you make one? > > > > -- William > > How about this plan? > > 1. Make a plan. > 2. ??? > 3. Profit! > > -- William > There is a patent on that business plan. The Supreme Court just ruled that it is valid. I'm sure you'll be hearing from MicroGooglzon shortly. Oh, and step 2 is considered a trade secret, which you just revealed, so you've REALLY stepped in it now :-) Tim Daly -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Tue, Feb 1, 2011 at 8:32 AM, William Stein wrote: > On Tue, Feb 1, 2011 at 6:21 AM, Dr. David Kirkby >> * No documented plan >> * No real documented estimates of time scales >> * No status reports for the project as a whole. > > If you think a plan as you describe it for overall Sage development is > so important, why don't you make one? > > -- William How about this plan? 1. Make a plan. 2. ??? 3. Profit! -- William -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Tue, Feb 1, 2011 at 6:21 AM, Dr. David Kirkby wrote: > On 02/ 1/11 08:50 AM, David Roe wrote: > Some of the problems seem to be firmly in the hands of people who have > written code in the Sage library, which simply does not work properly on > Cygwin. They should be able to sort that out. ... > What is obvious to me is how close the correlation is between Cygwin issues > and code I'd previously identified as being very badly written. The situation might be clearer to you if you spent time working on the Cygwin port. So far, you've spent infinitely more time (at least several hours) complaining about the Cygwin port than working on it (0 hours?). > I can't help feeling William was unwise to start Psage before the Cygwin > port of Sage was complete. It would be unwise if my *only* goal in life was the stated Sage mission statement. I have to instead balance my own personal goals (and my own personal plan) with what is needed for Sage development. The Cygwin port currently has nothing to do with my fulltime job description or any of the grants I have. I think other Sage developers are also best served by finding a balance between their own personal goals and plans, and what is needed to move Sage development forward. When there is some overlap, we both benefit.When there isn't, no criticism (at least not from me)! > To me at least, it seems the vast majority of people ware working on what > interests them, and those changes get put into Sage, without any discussion > of what's actually needed in Sage, and what should be written as an external > program. > > * No documented plan > * No real documented estimates of time scales > * No status reports for the project as a whole. If you think a plan as you describe it for overall Sage development is so important, why don't you make one? -- William -- William Stein Professor of Mathematics University of Washington http://wstein.org -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Tue, Feb 1, 2011 at 7:53 AM, rjf wrote: > William Stein, for example, says > "His [RJF's] experience is not based on him actually successfully > having led > any nontrivial open source software development projects. He has no > credentials at all there, as far as I know. Yet, he is speaking > about exactly that topic. " > > Um, I suppose my experience with Berkeley UNIX would be relevant, > though > one could argue that (a) I wasn't a sole proprietor in terms of > leadership; > (b) It wasn't open source, but beholden to AT&T [though with > participation > of many sites], and (c) was overtaken by Linux and therefore not > successful? > (d) not relevant because it wasn't written in python? > > Some history.. > > http://www.wikilivres.info/wiki/Twenty_Years_of_Berkeley_Unix:_From_AT%26T-Owned_to_Freely_Redistributable According to that page you were one of 14 people who co-authored a grant to buy a computer, your group installed UNIX on it, and you asked somebody else at Berkeley to ask their student to write some code.There's no mention of you doing anything else at all on that page. - W -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Tue, Feb 1, 2011 at 3:21 PM, Dr. David Kirkby wrote: > I don't know how hard it is, but I got the impression from William only a > few months back that it did not need a lot of work. But I've come very > suspicious about time estimates from many Sage developers. I don't think it needs lots of work. I think the major outstanding issue is http://trac.sagemath.org/sage_trac/ticket/10247 . However, I've done _zero_ work on it in the last few months due to being busy with other things. Nobody one else has done any work either. It may not be a lot of work to get it done, but it's work that is not going to get done on its own. --Mike -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On 02/ 1/11 08:50 AM, David Roe wrote: I think most people agree that a Windows port is important. But there's no plan for Sage, which sets out priorities and reasonable estimates of time. But it still hasn't happened. My impression is that the reasons for that are primarily that it's 1) hard, 2) not interesting to most Sage developers. There's not much that we can do about the difficulty; if we want it to happen we need to address the second point. Sage isn't a project where we can really tell people that they have to work on something. Personally, I'm completely uninterested in working on a Windows port. I don't know how hard it is, but I got the impression from William only a few months back that it did not need a lot of work. But I've come very suspicious about time estimates from many Sage developers. One ticket I was aware was outstanding was that SYMPOW was not working. That got fixed when I realised it was an issue on Solaris, so I sorted it out. We've tried hiring someone to work on porting Sage to Windows, and it wasn't that successful. My understanding was that Microsoft sponsored a student for a short period of time (2-3 months). It was blatantly obvious to me that it would have not been done in that time scale. I think that was supposed to be a native port too - not Cygwin. A native port is a *much* harder problem. To my knowledge, there was nobody else paid to work on a Windows port, but I may be wrong. I know Micheal was paid to work on the *Solaris* port, but went off on a tangent and did his own thing. To my knowledge, Micheal was the only full time person paid to work on Sage. But if there was a plan for Sage, like there is for other projects, with estimated dates for specific targets, and those kept slipping, then we would be aware there's a problem. Regularly slipping time scales should then be fed back to the people making the estimates. They would hopefully realise they were unrealistic in their expectations. Once that is realised, more realistic time scales would be set for future Sage goals. Then priorities could be set, based on knowledge of what are realistic time scales. All this is pretty much standard software engineering principles. Just waiting until people decide to work on it isn't achieving anything. One way we've traditionally had success in gathering momentum for a project is hosting a Sage Days workshop. One focused on Windows development might achieve something, if we can find the funding for it. Some of the problems seem to be firmly in the hands of people who have written code in the Sage library, which simply does not work properly on Cygwin. They should be able to sort that out. Some of the portability issues are not trivial IMHO, but just need hard work. I agree it's not the most interesting thing. I also think the time estimates I've seen are totally unrealistic. What is obvious to me is how close the correlation is between Cygwin issues and code I'd previously identified as being very badly written. I can't help feeling William was unwise to start Psage before the Cygwin port of Sage was complete. The only other thing I can think of would be to hire someone, IF we can find someone with the necessary qualifications and determination. I don't know how feasible that is, or whether funding for that project would be available. I have to think that the people who might have funded it may be discouraged by previous failures. I personally would not let previous failures put me off. Micheal spent a couple of years working on a Solaris port, but his failure did not put me off. I knew it could be done. Even though I don't want to work on it, I'll be a cheerleader for those of you who do. :-) David Sage is something people work on in their spare time, so you can't dictate to people what they do. But if there was a plan, people could be encouraged to work on what is considered important. Student projects could be based around specific goals. We should also have status reports. See for example some of the archived FreeBSD status reports. http://www.freebsd.org/news/status/report-2009-04-2009-09.html http://www.freebsd.org/news/status/report-2008-10-2008-12.html http://www.freebsd.org/news/status/report-2008-07-2008-09.html To me at least, it seems the vast majority of people ware working on what interests them, and those changes get put into Sage, without any discussion of what's actually needed in Sage, and what should be written as an external program. * No documented plan * No real documented estimates of time scales * No status reports for the project as a whole. -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? Dave -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+un
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Tue, Feb 1, 2011 at 03:27, luisfe wrote: > On Feb 1, 3:41 am, "Dr. David Kirkby" wrote: > > On 01/30/11 03:27 PM, Jonathan wrote: > > Put another way, there should be a discussion about what Sage needs, how > urgent > > it is, and a plan drawn up. > > > > I thought porting Sage to Windows via Cygwin was seen as important, as it > will > > dramatically increase the number of users. But this seems to have > stalled. > > > > 2.5 years ago (June 2008 to be precise), Mike Hansen said "The first step > which > > should be done within a few weeks is to get a Cygwin version of Sage for > Windows." > > > > http://groups.google.com/group/sage-devel/browse_thread/thread/80cd1f... > > > > It was several months ago William said it would not take a lot of work if > him > > and Mike worked on it. IIRC, it would a couple of weeks of work. That was > before > > William start Psage, which seemed to be quite badly timed given the > Cygwin port > > status. > > > > This Cygwin related page: > > > > http://trac.sagemath.org/sage_trac/ticket/6743 > > > > has not been updated for a year, and another one: > > > > http://trac.sagemath.org/sage_trac/wiki/CygwinPort > > > > has not been updated for 4 months. > > > I would like to introduce someone to Sage, but I'm wasting my time if she > needs > > to learn Linux, Solaris, or buy a Mac first. So I'm suggesting she use > > Mathematica on Windows. As much as I don't like that idea, I don't feel > able to > > recommend Sage. If there was a Windows port, then I might change my mind. > > +1 to this > > For me, not having sage running on windows is a show-stopper. While I > use Sage daily on my research I decided that I could not use sage on > my classes for freshmen students until it works on windows. > I think most people agree that a Windows port is important. But it still hasn't happened. My impression is that the reasons for that are primarily that it's 1) hard, 2) not interesting to most Sage developers. There's not much that we can do about the difficulty; if we want it to happen we need to address the second point. Sage isn't a project where we can really tell people that they have to work on something. Personally, I'm completely uninterested in working on a Windows port. We've tried hiring someone to work on porting Sage to Windows, and it wasn't that successful. Just waiting until people decide to work on it isn't achieving anything. One way we've traditionally had success in gathering momentum for a project is hosting a Sage Days workshop. One focused on Windows development might achieve something, if we can find the funding for it. The only other thing I can think of would be to hire someone, IF we can find someone with the necessary qualifications and determination. I don't know how feasible that is, or whether funding for that project would be available. I have to think that the people who might have funded it may be discouraged by previous failures. Even though I don't want to work on it, I'll be a cheerleader for those of you who do. :-) David -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On 01/30/11 03:27 PM, Jonathan wrote: As one of the "non-mathematicians" (as a physical chemist who teaches quantum mechanics and kinetics = nonlinear differential equations and systems of differential equations, I'm not sure that is quite the right term, but I think you get the idea), I thought I should chime in. 1) I think SAGE has an adequate plan. I disagree. It is a community project. The successful open source projects I know about serve a need for the community(s) they serve, because the actual users contribute code that does what they want. Firefox, OpenOffice and FreeBSD are all successful open-source projects, but have a documented plans with at least projected time scales. If dates are regularly missed, then one needs to determine if they were unrealistic, and so allow more time for future plans. IMHO, Sage lacks a real direction/plan. Developers don't just add whatever they fancy to Firefox. Just because someone wants to be able to do something obscure in Firefox, their code does not get committed to the core. Instead they write an add-on https://addons.mozilla.org/en-US/developers/docs/getting-started which is then available for download. This keeps the basic Firefox code reasonably compact and easy to manage. If the author of an add-on does not develop it further and it fails to work with more recent versions of Firefox, then so be it. Is solving Rubiks cubes really needed in Sage, or would that have been better if it was an add-on, which people installed if they needed it? It appears to me that if someone wants some quite obscure functionality in Sage, they write code and it gets added to the library. That might be really useful to that person, as they use it as part of their research. But IMHO, unless it is generally useful to a reasonable number of people it should not be in Sage. Put another way, there should be a discussion about what Sage needs, how urgent it is, and a plan drawn up. I thought porting Sage to Windows via Cygwin was seen as important, as it will dramatically increase the number of users. But this seems to have stalled. 2.5 years ago (June 2008 to be precise), Mike Hansen said "The first step which should be done within a few weeks is to get a Cygwin version of Sage for Windows." http://groups.google.com/group/sage-devel/browse_thread/thread/80cd1fa0c2f48eaa/94e06945347d6466?lnk=gst&q=cygwin+mike#94e06945347d6466 It was several months ago William said it would not take a lot of work if him and Mike worked on it. IIRC, it would a couple of weeks of work. That was before William start Psage, which seemed to be quite badly timed given the Cygwin port status. This Cygwin related page: http://trac.sagemath.org/sage_trac/ticket/6743 has not been updated for a year, and another one: http://trac.sagemath.org/sage_trac/wiki/CygwinPort has not been updated for 4 months. Michael Abshoff was *employed* to work on the Solaris port of Sage, yet went off on a tangent and did things that interested him. I tried to help on the Solaris port at that time, but got frustrated that changes Micheal knew of were not put into Sage. I was simply wasting my time, so I gave up for a few years. The key here is that you need a few dedicated individuals directing the project and ensuring that it moves forward. But that is not happening. For them it needs to be a nearly full- time job. Not necessarily. I'm involved in the Jmol project and we depend on one person who does the bulk of the work. Finding these people is difficult because they need to be supported in some way. This means the software has to be important for a company or this person has to be an academic who can convince their institution that the work is worthwhile and scholarly. I know in the case of the Solaris port, some body was convinced to pay Micheal to do the port, but IMHO he did not do an alful lot. In fact, several of his changes just made things more difficult. 2) I agree that SAGE could use more exposure. I have found it better for my teaching than Maple, which my institution has a license for. I can't speak of recent Mathematica editions, but I know that 15 years ago I found serious problems with it and gave up on it. Anyway, there are lots of people who could use SAGE, but there are two key issues: a) for Windows an install that runs in Windows as an application would be nice; Agreed - see comments above. I would like to introduce someone to Sage, but I'm wasting my time if she needs to learn Linux, Solaris, or buy a Mac first. So I'm suggesting she use Mathematica on Windows. As much as I don't like that idea, I don't feel able to recommend Sage. If there was a Windows port, then I might change my mind. 3) I think the issue of crackpots and bad code dragging things down is not much of a problem. I agree. My example may be a little slower than many people's because I also have very little time to contribute to this, but I still think
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Mon, Jan 31, 2011 at 4:20 AM, Jason Grout wrote: > On 1/31/11 5:49 AM, Timothy Clemans wrote: > >> >> I think the first step is making it so one can easily edit the >> notebook if they built Sage from source. The test notebook would >> automatically be launched. Once you've launched the notebook you >> shouldn't have to touch the command line. > > > That's an interesting opportunity. Maybe the /src url, which apparently > currently shows the source tree, could have an "edit" link, like google code > or github does. We already ship (an old version of) codemirror. The edit > link could load the file into codemirror, allow an edit, check in the > changes, and then restart Sage. Edits on the notebook repository are > immediately live, and edits on the sage library would just require kicking > off a sage -br in the background (until some current projects I've been > hearing noises about fix that so that you don't have to do sage -br) > > It sounds possible, and almost immediately implementable for the notebook. > I suppose one nontrivial thing is maybe having some sort of user permission > to edit the notebook, and implementing the copying of the file and checking > in of changes (I certainly wouldn't want just anybody editing the public > sagenb.org notebook live!) Something like google code already lets you post patches, and it shouldn't be too hard to have a buildbot going in the background picking it up. For Python code the "build" overhead is minimal, and as long as you're not editing element.pxd, the feedback time shouldn't be too bad. (I wouldn't recommend rolling our own though unless we had to.) Editing the notebook itself online might be a bit dicey, but being able to swap out the backend is totally feasible (and something we should add to the patchbot). There's also the question of how little of Sage we could get away with copying to have many simultaneous users editing code. I wonder if a de-duping filesystem would be an easy solution. And for editing docstrings, adding examples, etc. it's a real shame one can't do that online. - Robert -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Mon, Jan 31, 2011 at 4:36 AM, Jason Grout wrote: > On 1/31/11 6:31 AM, Timothy Clemans wrote: >> >> On Mon, Jan 31, 2011 at 4:20 AM, Jason Grout >> wrote: >>> >>> On 1/31/11 5:49 AM, Timothy Clemans wrote: >>> I think the first step is making it so one can easily edit the notebook if they built Sage from source. The test notebook would automatically be launched. Once you've launched the notebook you shouldn't have to touch the command line. >>> >>> >>> That's an interesting opportunity. Maybe the /src url, which apparently >>> currently shows the source tree, could have an "edit" link, like google >>> code >>> or github does. We already ship (an old version of) codemirror. The edit >>> link could load the file into codemirror, allow an edit, check in the >>> changes, and then restart Sage. Edits on the notebook repository are >>> immediately live, and edits on the sage library would just require >>> kicking >>> off a sage -br in the background (until some current projects I've been >>> hearing noises about fix that so that you don't have to do sage -br) >>> >>> It sounds possible, and almost immediately implementable for the >>> notebook.. >>> I suppose one nontrivial thing is maybe having some sort of user >>> permission >>> to edit the notebook, and implementing the copying of the file and >>> checking >>> in of changes (I certainly wouldn't want just anybody editing the public >>> sagenb.org notebook live!) >> >> My thought is there would be two notebook servers running, the server >> you editing from, and the test server with the new code. > > > Ahh. That would be both safer and probably (slightly?) harder to implement. On a personal machine you probably don't need that for the rest of Sage but I think you do for the notebook. I don't want to be editing the notebook and then all the sudden not be able to edit anymore because one of my edits broke the notebook. Maybe a better first step is letting a personal machine user edit and run something like a Django project from the notebook. > > Jason > > -- > To post to this group, send an email to sage-devel@googlegroups.com > To unsubscribe from this group, send an email to > sage-devel+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/sage-devel > URL: http://www.sagemath.org > -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Mon, Jan 31, 2011 at 4:20 AM, Jason Grout wrote: > On 1/31/11 5:49 AM, Timothy Clemans wrote: > >> >> I think the first step is making it so one can easily edit the >> notebook if they built Sage from source. The test notebook would >> automatically be launched. Once you've launched the notebook you >> shouldn't have to touch the command line. > > > That's an interesting opportunity. Maybe the /src url, which apparently > currently shows the source tree, could have an "edit" link, like google code > or github does. We already ship (an old version of) codemirror. The edit > link could load the file into codemirror, allow an edit, check in the > changes, and then restart Sage. Edits on the notebook repository are > immediately live, and edits on the sage library would just require kicking > off a sage -br in the background (until some current projects I've been > hearing noises about fix that so that you don't have to do sage -br) > > It sounds possible, and almost immediately implementable for the notebook. > I suppose one nontrivial thing is maybe having some sort of user permission > to edit the notebook, and implementing the copying of the file and checking > in of changes (I certainly wouldn't want just anybody editing the public > sagenb.org notebook live!) My thought is there would be two notebook servers running, the server you editing from, and the test server with the new code. > > Jason > > -- > To post to this group, send an email to sage-devel@googlegroups.com > To unsubscribe from this group, send an email to > sage-devel+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/sage-devel > URL: http://www.sagemath.org > -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Mon, Jan 31, 2011 at 2:18 AM, William Stein wrote: > On Mon, Jan 31, 2011 at 2:12 AM, Timothy Clemans > wrote: >> On Mon, Jan 31, 2011 at 1:48 AM, Simon King wrote: >>> On 31 Jan., 07:13, William Stein wrote: On Sun, Jan 30, 2011 at 7:57 PM, Emil Widmann wrote: > But. > I strongly resent the comments and "spirit" of Prof. Fateman. Using > classifications like "losers" and "winners", "top producers" and "junk > submitters" he introduces very elitist terminology and patterns of > argumentation into this thread. This spawned terms like "bad apples" > and "crackpot" and moved the focus of the thread. Before it was > positive and open minded with the goal to spread the word of sage and > attract new people for contribution. Afterwards it had negative and > defensive tone and - worst of all - was full of doubt. ... > But sometimes it is not only important if an opinion is > right or wrong, but also which words, phrasings, lines of > argumentation or more general "categories of thinking" are used. Right > and wrong are just relevant in reference to a specific framework. And > it is my strong opinion, that this specific intellectual framework of > categorizing people should not be used on a public (or semi public) > forum about a volunteer open source project. >>> >>> Meanwhile I agree, and I apologise for providing some paragraphs about >>> "losers". One should keep in mind that such categories are not >>> objective and thus ought not to be applied to people (being volunteer >>> for an open source project or not). And you are right that the output >>> of a person (to which "right" and "wrong" might apply) must not be >>> confused with the person itself. >>> I think absolutely *anybody* has the potential to contribute usefully to the Sage project, and for it to be a net positive. Seriously. Anybody. Your grandma. Some people program, some people find bugs, some find typos in documentation, some write documentation, and some write bug-riddled prototypes that point the way or teach us a lesson. >> >> This is Sage's number one strength IMHO. I'm unskilled and give up >> quickly. However because of the culture and ease of building source >> and editing it I was able to create the Notebook's registration page. >> I think the key reason for encouraging unskilled contributors like >> myself is you get important contributions like the Notebook >> registration page that I doubt you would get otherwise. Heck Wikipedia >> changed the world because it encourages ANYONE to edit it. > > +1 > >> >> In my opinion making the Sage development process even easier could go >> a long way. I've often recently thought that people should be able to >> develop sage via the notebook without ever having to download Sage. I >> don't have what it takes to successful extend the notebook to do that. >> But it's at least an idea. > > It's a very good idea. In fact, it's been suggested to me a few > times in the last two months, most recently when I gave a talk to a > bunch of undergrad applied math majors at UW. They just *expected* it > to be possible to edit Sage over the web, like one can edit Wikipedia, > and were surprised when I said it wasn't yet implemented. > > I really hope we can figure out how to do this, this year. What > are the other *software* projects out there that can be dynamically > edited through the web? > I don't know of ANY projects that do that. http://wiki.sagemath.org/EasyQuickSageDevelopment I think the first step is making it so one can easily edit the notebook if they built Sage from source. The test notebook would automatically be launched. Once you've launched the notebook you shouldn't have to touch the command line. I think the second step would be to create HG patches from the notebook. Third step would be to create tickets, submit patches, etc entirely from the notebook. I have no interest in math anymore but I want to do web development entirely from the web browser. And I want to be able to launch web sites where ALMOST ANYONE can actively edit the site's code live. I started working on a prototype for a WolframAlpha competitor yesterday http://semanticeverything.ep.io/ and I want to make it so people can develop the site from within the site itself. > > > -- > William Stein > Professor of Mathematics > University of Washington > http://wstein.org > > -- > To post to this group, send an email to sage-devel@googlegroups.com > To unsubscribe from this group, send an email to > sage-devel+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/sage-devel > URL: http://www.sagemath.org > -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Mon, Jan 31, 2011 at 2:12 AM, Timothy Clemans wrote: > On Mon, Jan 31, 2011 at 1:48 AM, Simon King wrote: >> On 31 Jan., 07:13, William Stein wrote: >>> On Sun, Jan 30, 2011 at 7:57 PM, Emil Widmann >>> wrote: >>> > But. >>> > I strongly resent the comments and "spirit" of Prof. Fateman. Using >>> > classifications like "losers" and "winners", "top producers" and "junk >>> > submitters" he introduces very elitist terminology and patterns of >>> > argumentation into this thread. This spawned terms like "bad apples" >>> > and "crackpot" and moved the focus of the thread. Before it was >>> > positive and open minded with the goal to spread the word of sage and >>> > attract new people for contribution. Afterwards it had negative and >>> > defensive tone and - worst of all - was full of doubt. >>> ... >>> > But sometimes it is not only important if an opinion is >>> > right or wrong, but also which words, phrasings, lines of >>> > argumentation or more general "categories of thinking" are used. Right >>> > and wrong are just relevant in reference to a specific framework. And >>> > it is my strong opinion, that this specific intellectual framework of >>> > categorizing people should not be used on a public (or semi public) >>> > forum about a volunteer open source project. >> >> Meanwhile I agree, and I apologise for providing some paragraphs about >> "losers". One should keep in mind that such categories are not >> objective and thus ought not to be applied to people (being volunteer >> for an open source project or not). And you are right that the output >> of a person (to which "right" and "wrong" might apply) must not be >> confused with the person itself. >> >>> I think absolutely *anybody* has the potential to >>> contribute usefully to the Sage project, and for it to be a net >>> positive. Seriously. Anybody. Your grandma. Some people program, >>> some people find bugs, some find typos in documentation, some write >>> documentation, and some write bug-riddled prototypes that point the >>> way or teach us a lesson. > > This is Sage's number one strength IMHO. I'm unskilled and give up > quickly. However because of the culture and ease of building source > and editing it I was able to create the Notebook's registration page. > I think the key reason for encouraging unskilled contributors like > myself is you get important contributions like the Notebook > registration page that I doubt you would get otherwise. Heck Wikipedia > changed the world because it encourages ANYONE to edit it. +1 > > In my opinion making the Sage development process even easier could go > a long way. I've often recently thought that people should be able to > develop sage via the notebook without ever having to download Sage. I > don't have what it takes to successful extend the notebook to do that. > But it's at least an idea. It's a very good idea. In fact, it's been suggested to me a few times in the last two months, most recently when I gave a talk to a bunch of undergrad applied math majors at UW. They just *expected* it to be possible to edit Sage over the web, like one can edit Wikipedia, and were surprised when I said it wasn't yet implemented. I really hope we can figure out how to do this, this year. What are the other *software* projects out there that can be dynamically edited through the web? -- William Stein Professor of Mathematics University of Washington http://wstein.org -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Mon, Jan 31, 2011 at 1:48 AM, Simon King wrote: > On 31 Jan., 07:13, William Stein wrote: >> On Sun, Jan 30, 2011 at 7:57 PM, Emil Widmann wrote: >> > But. >> > I strongly resent the comments and "spirit" of Prof. Fateman. Using >> > classifications like "losers" and "winners", "top producers" and "junk >> > submitters" he introduces very elitist terminology and patterns of >> > argumentation into this thread. This spawned terms like "bad apples" >> > and "crackpot" and moved the focus of the thread. Before it was >> > positive and open minded with the goal to spread the word of sage and >> > attract new people for contribution. Afterwards it had negative and >> > defensive tone and - worst of all - was full of doubt. >> ... >> > But sometimes it is not only important if an opinion is >> > right or wrong, but also which words, phrasings, lines of >> > argumentation or more general "categories of thinking" are used. Right >> > and wrong are just relevant in reference to a specific framework. And >> > it is my strong opinion, that this specific intellectual framework of >> > categorizing people should not be used on a public (or semi public) >> > forum about a volunteer open source project. > > Meanwhile I agree, and I apologise for providing some paragraphs about > "losers". One should keep in mind that such categories are not > objective and thus ought not to be applied to people (being volunteer > for an open source project or not). And you are right that the output > of a person (to which "right" and "wrong" might apply) must not be > confused with the person itself. > >> I think absolutely *anybody* has the potential to >> contribute usefully to the Sage project, and for it to be a net >> positive. Seriously. Anybody. Your grandma. Some people program, >> some people find bugs, some find typos in documentation, some write >> documentation, and some write bug-riddled prototypes that point the >> way or teach us a lesson. This is Sage's number one strength IMHO. I'm unskilled and give up quickly. However because of the culture and ease of building source and editing it I was able to create the Notebook's registration page. I think the key reason for encouraging unskilled contributors like myself is you get important contributions like the Notebook registration page that I doubt you would get otherwise. Heck Wikipedia changed the world because it encourages ANYONE to edit it. In my opinion making the Sage development process even easier could go a long way. I've often recently thought that people should be able to develop sage via the notebook without ever having to download Sage. I don't have what it takes to successful extend the notebook to do that. But it's at least an idea. Maybe a key goal should be to get at one commit of a patch written by a quarter of students taking a class on Sage. Make Sage even more like Wikipedia. > > I almost agree. You are certainly right about my grandma. But I met > people who have substantial errors in their work and have a self- > esteem that would not allow them to acknowledge that there was > anything wrong at all. I don't mind the errors - it is the ignorance > that I can't stand. It is tempting to try and teach such person, but > the effort is wasted. > > One could argue that "such person drags other people down". But, > convinced by what Emil and William said, I think one should better say > that "some other people let themselves be dragged down". I guess there > are ways of self-defense that allow one to keep a positive attitude, > and that's better than to repulse someone. > > Cheers, > Simon > > -- > To post to this group, send an email to sage-devel@googlegroups.com > To unsubscribe from this group, send an email to > sage-devel+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/sage-devel > URL: http://www.sagemath.org > -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Sun, Jan 30, 2011 at 7:57 PM, Emil Widmann wrote: > But. > I strongly resent the comments and "spirit" of Prof. Fateman. Using > classifications like "losers" and "winners", "top producers" and "junk > submitters" he introduces very elitist terminology and patterns of > argumentation into this thread. This spawned terms like "bad apples" > and "crackpot" and moved the focus of the thread. Before it was > positive and open minded with the goal to spread the word of sage and > attract new people for contribution. Afterwards it had negative and > defensive tone and - worst of all - was full of doubt. > > What shall people think who have just learned about sage and consider > to spend time with the project? They might read this. Will they feel > comfortable under the argus eyes of the "top producers" , or will they > shrink under the burden to prove to be a winner and not a loser - or > even worse: "a bad apple". Or - will they just leave and move on? They should read this. Prof. Fateman opinions about Sage developers and how they should be judged carries little weight among the people who actually run the Sage project. ** Fateman does not speak for the Sage project. ** (maybe he should add that to his signature) In contrast, I do. (I started the Sage project, and run some things...)I think absolutely *anybody* has the potential to contribute usefully to the Sage project, and for it to be a net positive. Seriously. Anybody. Your grandma. Some people program, some people find bugs, some find typos in documentation, some write documentation, and some write bug-riddled prototypes that point the way or teach us a lesson. That's all useful. You're absolutely right that people reading the Sage lists and seeing Fateman spout off could easily not want to contribute to Sage as a result.So it's extra valuable that you wrote your email to provide some perspective. > Prof. Fateman is entitled to his opinion. It is obviously based on > long professional experience, and he can claim his experience proves > him right. His experience is not based on him actually successfully having led any nontrivial open source software development projects. He has no credentials at all there, as far as I know. Yet, he is speaking about exactly that topic. > But sometimes it is not only important if an opinion is > right or wrong, but also which words, phrasings, lines of > argumentation or more general "categories of thinking" are used. Right > and wrong are just relevant in reference to a specific framework. And > it is my strong opinion, that this specific intellectual framework of > categorizing people should not be used on a public (or semi public) > forum about a volunteer open source project. +1 > > Some points were made: > about a better webpage, about a better logo, about having a plan, > about other things that are not as perfect as they could be. I think > basically things are pretty good, but sure, there is always room for > improvement. > > My suggestions for improvements would be: > Consolidate the forum. It is the main communication platform of the > project (together with the trac system). It might be a good idea to > reduce to maybe 3 google groups (Devel, Support, Users). One thing > that bogs me is that in the current groups there are lists with no new > postings for long time, and then there are other lists where postings > fall "off the radar" very quickly, because there is much traffic and > the listing on the front page is rather short. I don't know if this > debatable at all, but there are other and more flexible forum/mailing > list packages out there, which give more possibilities with user > interaction (like attachements). Deleting other forums might alienate the people that lobbied for their creation, and who do use them, so closing the other forums is not going to happen. > Since it was said that sage needs more people with engineering > background: > I think a cool thing would be a forum for users, where they can > present their work with sage and also interact and work together on a > project. Something like Wolfram Demonstration project, but even more > community driven. So to say: give people the space to be an expert > user of sage and be a respected member of the community without being > a top notch programmer at sage-devel. That is a good idea. Why don't you research open source web apps that could provide something like that? I better there is something ready made, just like http://ask.sagemath.org was pretty much ready made. I would be happy to provide the hardware resources to host something. > The goal to be a "viable alternative" to the M's can only be reached if > it is accepted by users, not only in mathematics but also in applied > mathematics. It will be accepted if sage as a tool is accepted in the > respective "peer group". But the only chance to get this acceptance is > also to acknowledge those people as "peers", as members of the sage > commun
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
> > I believe there is an emerging discipline of computational > > mathematics which requires both a deep mathematical background > > and a deep programming background. Sage could make the claim > > that it is a good basis for an interdisciplinary degree or > > even a separate department that provides an equal focus on > > both subjects. If Sage, with both its mathematical and > > algorithmic focus, was brought forward to the NSF as a > > broad-curriculum basis I believe it could be funded as such. > > I think you are right. Here's a "little lemma" that points in that direction: > > > http://www.nsf.gov/awardsearch/showAward.do?AwardNumber=1020687&WT.z_pims_id=5741 > > and > > http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBMQFjAA&url=http%3A%2F%2Fbuzzard.ups.edu%2Fprivate%2Fnsf-ccli-proposal.pdf&ei=Yh1GTfiTN4n0tgP5pfWOCg&usg=AFQjCNFXFihZ_7BhSIDN2-yH9iUFbm3HDA > This is very interesting but does not differ a lot from the Mathematica approach. While I was at City College in New York I saw Mathematica used in many of the ways you are describing, including the inclusion of textbooks with examples, the MMA website, and in-class examples that are dynamic. One suggestion is to expand the proposal into areas that MMA cannot cover. Everything you've suggested seems to apply to courses in or near the math department. It might be useful to expand the proposal to include the cross-discipline work from the computer science point of view. More work needs to be done to talk about algorithms, their development, their efficiency, and ways that algorithms can be embedded in a mathematical type hierarchy. Textbooks that are oriented toward teaching mathematical algorithms in computer science courses would be valuable. I had a lot of this in my background because there was no such discipline as computer science; the courses were all taught by mathematicians. So, naturally, we learned how to program using gauss-seidel, method of false position, newton-raphson iterations, and other strictly mathematical algorithms. All we had was Fortran and Lisp. They no longer teach such mathematical algorithms in "computer science". I think that Sage could reach out to the computer science departments and introduce core Sage algorithms as a good basis for teaching. Optimally, there would be a separate department and degree for computational mathematics. The subject is deep, wide, vital, and would clearly represent a separate discipline. CompSci does not care about the algebraic issues and Math does not care about the language and embedding issues. I would expect the NSF to fund this as it sits squarely in the center of their mandate. In any case, this Sage effort you suggested above has my endorsement, for whatever that's worth. Tim Daly -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Sun, Jan 30, 2011 at 5:20 PM, daly wrote: > On Sun, 2011-01-30 at 13:52 -0800, William Stein wrote: >> On Sun, Jan 30, 2011 at 9:23 AM, daly wrote: >> > >> >> >> >> 3) I think the issue of crackpots and bad code dragging things down is >> >> not much of a problem. The reason is that it takes quite a bit of >> >> perseverance to get code into Sage. My experience with my Jmol >> >> contributions is an example. I would not claim to be the best coder, >> >> but think my Jmol contributions addressed some issues people had. >> >> And certainly the code is not yet ideal, but it does do most of what I >> >> understood people to want. Because of the load on people doing >> >> testing, it has taken months to get much feedback on it. This means >> >> anybody submitting code has to be willing to stick with it and prod it >> >> along over the long term. People who are not serious won't do this. >> >> My example may be a little slower than many people's because I also >> >> have very little time to contribute to this, but I still think you are >> >> unlikely to get really bad code included using the present model. >> > >> > To quote the above "This means anybody submitting code has to be >> > willing to stick with it and prod it over the long term". >> > >> > The real problem with Sage's development model will not show up >> > for a few years. >> >> How long do you mean by "a few years"? > The major packages, Maxima, Reduce, Axiom, Mathematica, Maple, > and others of that ilk are 30+ years old. So I would define > "a few years" as the time it took the project to move from > the primary authors to a "second generation" support role. > > How long will this take for Sage? Well, as I recall you have > said that you plan to move on to doing number theory work > rather than system development. Indeed, I suspect that the > pSage effort is a first move in that direction. I've written thousands of lines of code in the last few months. And I'm currently organizing (and actively participating in) numerous Sage development workshops this year. >> > At the moment most of the code being contributed >> > is supported by the original authors. >> >> I don't know what you're basing this vague claim on... >> >> > The algorithms are complex >> > and some implementations are only competitive when optimized into >> > Cython, despite the "Sage is Python" mantra. >> >> There is no "Sage is Python" mantra. Sage is a mathematical >> software system, some parts of which are written using Python, and the >> interpreted user language of Sage is indeed Python. > Umm...ok. It has been my impression that "Sage is Python" has been > one of the major bullet points of the project. I remember a discussion > about rewriting things like integration into python. But my memory is > not what it used to be so perhaps I'm mistaken. You're right, there are many, many discussion about implementing algorithms in Python. I think that's different than "Sage is Python", whatever that means. >> > The real problem will arise when these authors leave the project. >> > Code rots. People make simple changes. Linux changes libraries. >> > Who will be able to debug research-level elliptic curve code >> > when some minor, unrelated change breaks it? >> >> I can easily think of at least a dozen people immediately. But given >> that you're worried about "a few years", and you didn't define what >> this phrase means, it's perhaps not possible to answer your question. > > There is a distinction between "those who can" (e.g. Victor Miller) > and "those who will", especially if the bug is upstream. Tracing a > bug through the inheritance hierarchy, into Cython, and then into > an upstream linked library is not a trivial exercise. New people pop up regularly who can do that. If anything, youth, a fresh perspective, and the desire to fix the bug "no matter what" is vastly more valuable than being the original author. At the last Sage "Bug Days" (http://wiki.sagemath.org/days27) there were at least 10 people who I had never met before there, and some of them did "trace a bug through the inheritance hierarchy, into Cython, and then into an upstream linked library"... The best thing to do for Sage is to make it more and more developer friendly, open, and encourage more people to get involved.The typical talented and highly motivated people (especially the grad students and young postdocs) that come to Sage Days are often better at fixing difficult bugs in Sage than I am, because they are so motivated, they know enough math and programming background, and they can *think* clearly and logically. That's all it takes. > Pick a python-implemented algorithm of high complexity and we can > reconsider the point, possibly algorithms with subfield structures > and uniqueness of finite fields? Surely there must be some high > complexity algorithm in python that depends on upstream libraries. > Choose one. I can't think of any, except _maybe_ in graph th
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Sun, 2011-01-30 at 13:52 -0800, William Stein wrote: > On Sun, Jan 30, 2011 at 9:23 AM, daly wrote: > > > >> > >> 3) I think the issue of crackpots and bad code dragging things down is > >> not much of a problem. The reason is that it takes quite a bit of > >> perseverance to get code into Sage. My experience with my Jmol > >> contributions is an example. I would not claim to be the best coder, > >> but think my Jmol contributions addressed some issues people had. > >> And certainly the code is not yet ideal, but it does do most of what I > >> understood people to want. Because of the load on people doing > >> testing, it has taken months to get much feedback on it. This means > >> anybody submitting code has to be willing to stick with it and prod it > >> along over the long term. People who are not serious won't do this. > >> My example may be a little slower than many people's because I also > >> have very little time to contribute to this, but I still think you are > >> unlikely to get really bad code included using the present model. > > > > To quote the above "This means anybody submitting code has to be > > willing to stick with it and prod it over the long term". > > > > The real problem with Sage's development model will not show up > > for a few years. > > How long do you mean by "a few years"? The major packages, Maxima, Reduce, Axiom, Mathematica, Maple, and others of that ilk are 30+ years old. So I would define "a few years" as the time it took the project to move from the primary authors to a "second generation" support role. How long will this take for Sage? Well, as I recall you have said that you plan to move on to doing number theory work rather than system development. Indeed, I suspect that the pSage effort is a first move in that direction. However, a good computational mathematics platform is a "forever" thing in the sense that the results it gets ought to be forever valid. So given the difference between the startup timeframe and the lifetime timeframe of Sage there is a question of how to survive that transition. > > > At the moment most of the code being contributed > > is supported by the original authors. > > I don't know what you're basing this vague claim on... > > > The algorithms are complex > > and some implementations are only competitive when optimized into > > Cython, despite the "Sage is Python" mantra. > > There is no "Sage is Python" mantra. Sage is a mathematical > software system, some parts of which are written using Python, and the > interpreted user language of Sage is indeed Python. Umm...ok. It has been my impression that "Sage is Python" has been one of the major bullet points of the project. I remember a discussion about rewriting things like integration into python. But my memory is not what it used to be so perhaps I'm mistaken. > > > The real problem will arise when these authors leave the project. > > Code rots. People make simple changes. Linux changes libraries. > > Who will be able to debug research-level elliptic curve code > > when some minor, unrelated change breaks it? > > I can easily think of at least a dozen people immediately. But given > that you're worried about "a few years", and you didn't define what > this phrase means, it's perhaps not possible to answer your question. There is a distinction between "those who can" (e.g. Victor Miller) and "those who will", especially if the bug is upstream. Tracing a bug through the inheritance hierarchy, into Cython, and then into an upstream linked library is not a trivial exercise. > > > Who will even know that it is broken? Is it broken now? > > Yes, it is broken. It's computer software, after all. > > > And since the Sage code base is owned by other people with other > > goals, that is, all of the spkg files from upstream projects, > > the potential for code rot is much larger and the debugging > > problem is much harder. > > And for exactly these reasons there are far more people involved in > fixing bugs in various parts of Sage. If you total all the people who > have worked on code that is part of Sage during the last year, you > would likely easily get over 1000 programmers. I bet you can't say > that about Axiom (and perhaps not about Mathematica, Matlab or Maple, > either.) Also, the modularity of Sage makes the problem easier in > some ways. > > > Is the elliptic curve code failure due > > to Sage-owned python changes or spkg changes? > > Sometimes one, sometimes the other, sometimes both. > > > What happens when > > python itself changes and upstream packages make the move to > > python 3.0? > > There are no Python packages at all in Sage that involve elliptic curves. I agree that you win the pedantic point about elliptic curves in python. Pick a python-implemented algorithm of high complexity and we can reconsider the point, possibly algorithms with subfield structures and uniqueness of finite fields? Surely there must be some high comple
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Sun, Jan 30, 2011 at 9:23 AM, daly wrote: > >> >> 3) I think the issue of crackpots and bad code dragging things down is >> not much of a problem. The reason is that it takes quite a bit of >> perseverance to get code into Sage. My experience with my Jmol >> contributions is an example. I would not claim to be the best coder, >> but think my Jmol contributions addressed some issues people had. >> And certainly the code is not yet ideal, but it does do most of what I >> understood people to want. Because of the load on people doing >> testing, it has taken months to get much feedback on it. This means >> anybody submitting code has to be willing to stick with it and prod it >> along over the long term. People who are not serious won't do this. >> My example may be a little slower than many people's because I also >> have very little time to contribute to this, but I still think you are >> unlikely to get really bad code included using the present model. > > To quote the above "This means anybody submitting code has to be > willing to stick with it and prod it over the long term". > > The real problem with Sage's development model will not show up > for a few years. How long do you mean by "a few years"? > At the moment most of the code being contributed > is supported by the original authors. I don't know what you're basing this vague claim on... > The algorithms are complex > and some implementations are only competitive when optimized into > Cython, despite the "Sage is Python" mantra. There is no "Sage is Python" mantra. Sage is a mathematical software system, some parts of which are written using Python, and the interpreted user language of Sage is indeed Python. > The real problem will arise when these authors leave the project. > Code rots. People make simple changes. Linux changes libraries. > Who will be able to debug research-level elliptic curve code > when some minor, unrelated change breaks it? I can easily think of at least a dozen people immediately. But given that you're worried about "a few years", and you didn't define what this phrase means, it's perhaps not possible to answer your question. > Who will even know that it is broken? Is it broken now? Yes, it is broken. It's computer software, after all. > And since the Sage code base is owned by other people with other > goals, that is, all of the spkg files from upstream projects, > the potential for code rot is much larger and the debugging > problem is much harder. And for exactly these reasons there are far more people involved in fixing bugs in various parts of Sage. If you total all the people who have worked on code that is part of Sage during the last year, you would likely easily get over 1000 programmers. I bet you can't say that about Axiom (and perhaps not about Mathematica, Matlab or Maple, either.) Also, the modularity of Sage makes the problem easier in some ways. > Is the elliptic curve code failure due > to Sage-owned python changes or spkg changes? Sometimes one, sometimes the other, sometimes both. > What happens when > python itself changes and upstream packages make the move to > python 3.0? There are no Python packages at all in Sage that involve elliptic curves. But incidentally, when the Python dependencies of Sage fully support Python 3, then Sage probably will too. Matplotlib is a biggie that we're waiting on. > The problem isn't "really bad code". The problem is code rot. Both are problems. > What does a programmer need to know to maintain the system? > How can a new programmer join the project and contribute? > If it is not easy now it won't be possible later. That's an opinion. > How do we architect systems to survive the loss of the authors? Was scaring off most of the contributors to Axiom a few years ago a way for you test your theories on this? Maybe you could report on how that turned out. > How do we architect systems to survive the changing platforms? > Will Sage live? It will have at least a 6-year lifespan. :-) -- William -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Jan 30, 2011, at 4:27 PM, Jonathan wrote: > Anyway, there > are lots of people who could use SAGE, but there are two key issues: > a) for Windows an install that runs in Windows as an application would > be nice; b) for MacOS it would be nice to have a standard .app > bundle. The key would be to set the server running and include an > appropriate browser in the package (maybe just access Safari). > Anyway, what people have worked on so far falls a little short in > these two areas. I don't know if you are aware, but there is a Mac application bundle—it just isn't built by default yet. Incidentally, what needs to be done for that to happen? If you have looked at it and it doesn't meet some requirements, or you just have suggestions, I would be very happy to hear them either on or off list. -Ivan -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
> > 3) I think the issue of crackpots and bad code dragging things down is > not much of a problem. The reason is that it takes quite a bit of > perseverance to get code into Sage. My experience with my Jmol > contributions is an example. I would not claim to be the best coder, > but think my Jmol contributions addressed some issues people had. > And certainly the code is not yet ideal, but it does do most of what I > understood people to want. Because of the load on people doing > testing, it has taken months to get much feedback on it. This means > anybody submitting code has to be willing to stick with it and prod it > along over the long term. People who are not serious won't do this. > My example may be a little slower than many people's because I also > have very little time to contribute to this, but I still think you are > unlikely to get really bad code included using the present model. To quote the above "This means anybody submitting code has to be willing to stick with it and prod it over the long term". The real problem with Sage's development model will not show up for a few years. At the moment most of the code being contributed is supported by the original authors. The algorithms are complex and some implementations are only competitive when optimized into Cython, despite the "Sage is Python" mantra. The real problem will arise when these authors leave the project. Code rots. People make simple changes. Linux changes libraries. Who will be able to debug research-level elliptic curve code when some minor, unrelated change breaks it? Who will even know that it is broken? Is it broken now? And since the Sage code base is owned by other people with other goals, that is, all of the spkg files from upstream projects, the potential for code rot is much larger and the debugging problem is much harder. Is the elliptic curve code failure due to Sage-owned python changes or spkg changes? What happens when python itself changes and upstream packages make the move to python 3.0? The problem isn't "really bad code". The problem is code rot. What does a programmer need to know to maintain the system? How can a new programmer join the project and contribute? If it is not easy now it won't be possible later. How do we architect systems to survive the loss of the authors? How do we architect systems to survive the changing platforms? Will Sage live? Tim Daly -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Sat, Jan 29, 2011 at 12:13 PM, Simon King wrote: > Hi Volker! > > On 29 Jan., 19:38, Volker Braun wrote: >> People contribute to OSS because they have a itch to scratch, not because >> they read an ad. Only people that are interested in Sage will contribute to >> Sage. You need to focus on getting out the word that Sage exists and what >> its aims are. > > +1. That is how I became a contributor. +1 >> Potential contributors with less experience are not "losers" that "drag >> everyone down". Everyone started out as a novice. > > A "novice" is someone who just lacks experience. If one just lacks > experience then one can learn. I think an open source project is a > very good way of learning for a novice. Novices, feel welcome to Sage! > > In contrast, a "loser" is someone who lacks experience *and* self- > awareness. > > That's to say, a loser would attack a huge task (since s/he is not > aware that such task can only be tackled with a lot of background), > would create a huge chunk of code that doesn't really work, but by > lack of self-awareness would not acknowledge that it is flawed in the > basic parts. Then, some people would try to explain to that person > *why* it does not work, but, again by lack of self-awareness, to no > avail. > > Have you heard about "trisectors"? I hope I got the right translation > of the German word "Trisektierer". These are amateur mathematicians > who try to tackle classical compass and straightedge constructions. > Ignoring the fact that there is a proof that you can't trisect a > general angle using compass and straightedge, they write up their own > "proof" that it *can* be done, and send it to math professors. If the > professor can't resist to reply to the trisector and point out the > flaws, then the trisector would send back an even longer, even > wronger, and increasingly angry fake proof. > > Such people *do* drag people down. > > In the situation of Sage, there can be (i) experienced mathematicians > who are losers in programming, (ii) experienced programmers who are > losers in maths (but they are interested in maths, for otherwise they > wouldn't try to contribute to Sage), and (iii) = (i)+(ii). > > I don't know a protecting agent against losers, but I expect that the > "sociologists" in the open source community have developed appropriate > mechanisms. Kind of "don't feed the troll" (which also works in the > case of trisectors, as one professor once told me). I don't like the term losers, but I certainly agree that there are people who (non-maliciously) cause drag because they simply lack ability. Sometimes it's a matter of experience or background, but sometimes it's because they simply lack the talent. Unlike many tasks, I agree with the observation that the top 1% can be an order of magnitude more productive than the median, let alone the bottom. What we have going for us is that we don't have to pick the "winners" out ahead of time, as there is an enormous self-selection by the time one has something to contribute. The amount of effort I have wasted towards unproductive people has been vastly outweighed by the times I have reached out to help and the user/new developer has payed back in spades, and continues to do so over the years. This can be an issue for OSS projects, but from what I've seen is fortunately a very small one for us. +1 to having people of all backgrounds--there are many things to work on, and lots of the non-math ones are the most neglected, waiting for someone with the non-math interest to come and pick them up. - Robert -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On 01/28/11 10:06 AM, koffie wrote: A real programmer could also help with spreading his knowledge of good coding practices and software design patterns in the sage community. By reading this mailing list I sometimes get the feeling we have enough smart mathematicians, but not enough battle field tested diehard programmers. You need to differentiate people that know how to write code well, to those that know about best software engineering practices. They are different skill sets. -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? Dave -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Fri, Jan 28, 2011 at 2:06 AM, koffie wrote: > A real programmer could also help with spreading his knowledge of good > coding practices and software design patterns in the sage community. > By reading this mailing list I sometimes get the feeling we have > enough smart mathematicians, but not enough battle field tested > diehard programmers. Of course one would have to be very careful about this--as a newcomer coming in and telling everyone they're wrong may not be very productive. I think some of the difference is diference in perspective--the mathematicians want to use the software as much as (often more than) they want to create it, which leads to difference in software development philosophies. That being said, we should all be open to (and need) outside advice. - Robert -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
Re: [sage-devel] Re: FAQ suggestion: I'm a programmer, how can I contribute to Sage?
On Fri, Jan 28, 2011 at 4:39 PM, rjf wrote: > I think you really don't benefit by recruiting people who have, uh, > time on their hands and not much else. In fact, extra enthusiasm in > such individuals can be a real management problem. While this is true, we aren't offering anything. We don't (and won't) have an interview process, and we can't subscribe to the notion that "if a programmer doesn't have a job, they aren't worth hiring", in large part because we're asking the public at large to help. > I doubt that you benefit if you recruit unskilled, uneducated, > unemployable, unstable > .. unwashed? people. Bottom line, it's better to recruit people and get a few bad apples than not recruit at all. This is an open source project, and we have an editorial process. If somebody submits lots of junk code, they'll find the review process impossibly frustrating and almost certainly lose steam before taking up a significant amount of anybody's time. -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org