Re: [sage-devel] Giving Sage AI-based step-by-step equation solving abilities
Johan wrote: > As William stated, I think any functionality improving SageMath's appeal > for, say, educating high school students would be very welcome. My main > concern is how valuable what you propose with PRESS-like printing is in > this respect. > > You gave a printout of your current PRESS implementation earlier, for > solving a simple linear equation in one variable. That printout is > extremely verbose and very micro-syntactically oriented. My guess would > be that few high school teachers would wish to teach the simple isolation of a > variable technique that way. Unfortunately, what most mathematics teachers are teaching is not mathematics. This observation is described well by Scott Gray in the following blog post excerpt (Scott was a university mathematics professor, and he also designed and orchestrated the building of the O'Reilly School of Technology): http://patternmatics.org/temp/scott_gray.html Here are some passages from this blog post: "None of my students knew what they were talking about. Even students who got perfect scores on my written exams didn't really understand what it was that they were doing." "...students were simply emulating calculation techniques, without understanding where those techniques came from, or how to create them themselves." "...students would ask me to solve every type of problem they could find in the textbook. Even though I'd have them try the problems before showing them the solution, they were really preparing a decision matrix for a matching game. If the problem was like this, then they would do this; if it was like that then they'd do that, and so on." High school mathematics teachers are not qualified to decide how mathematics should be taught because they don't know enough about how mathematics actually works to be entrusted with this decision. In the future, K-12 mathematics teachers will be replaced by AI mathematics tutors. The software I am writing is being specifically designed for this purpose. > And students struggling with the technique > would mostly just become more confused ("undefine the binary '-' operator", > "change the association of +", etc.), and would fail building up > mathematical intuition but rather focus on the syntax. As Scott Gray's blog post indicates, the kind of mathematical intuition that most students are being taught to build up is the wrong kind of intuition. The right kind of mathematical intuition consists of the techniques that PRESS uses. These techniques are very syntax-oriented, but they are so simple and straightforward that even young children should be able to learn them without too much difficulty. Before I started testing my solver with students, I was also concerned that the rules it used might be too detailed for them. However, what I discovered is that many students found the high level of detail to be illuminating because for the first time in their lives they were seeing how mathematics actually worked with nothing being hidden from them. Having said that, the set of rules that are shown in the demo video are just the set I decided to experiment with first. The software can be easily configured to work with other sets of rules, and it shouldn't take too much effort to replace the rules shown in the demo with fewer more abstract rules. It is going to be interesting to discover which sets of rules are best suited for various educational goals. > In Denmark - and my impression is that the same goes for other countries > as well - high school curriculum has largely moved away from solving of > such equations using identities and "tricks". The cos(x+y) identities > etc. and similar are not even taught anymore. In algebra, students > mostly solve linear equations with 1 or 2 unknowns and second-degree > equations. Simple isolation involving logs and exponentials, and there's > also some simplification and/or factoring of e.g. polynomial fractions > involved in function analysis. Eventually I want to give my solver all of the abilities that PRESS has. However, this is mostly from a personal desire to understand everything there is to understand about how PRESS works. For most students, I think the best use of PRESS-based software will probably be for teaching them the fundamentals of how mathematics actually works. After they are comfortable with this knowledge, and proficient at using it, I think they should be taught how to program a conventional CAS instead of being taught PRESS's more advanced capabilities. Ted -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Giving Sage AI-based step-by-step equation solving abilities
Here is where the paper Richard mentions is located on the University of Edinburgh website: http://www.dai.ed.ac.uk/pub/daidb/papers/rp357.pdf Ted On Wed, Oct 12, 2016 at 7:35 PM, rjfwrote: > Bundy's bibliography does not include this paper, which includes my critique > of > PRESS > http://dl.acm.org/citation.cfm?id=43879 > > and which has Bundy as a co-author. > > I think that you would find (unless PRESS has been substantially changed) > that > PRESS has significantly fewer capabilities, returns results that are > incomplete > sometimes. Sometimes the results are mathematically wrong. For instance > how effective would your "solve" program be if it could not divide > polynomials? > > There may be some task at which the PRESS meta-level analysis is > useful, but it probably isn't improving "symbolic mathematical equation > solving" for > a CAS. > RJF -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Giving Sage AI-based step-by-step equation solving abilities
Thierry wrote: > such a tool could be interesting. However, we are lacking concrete > examples on PRESS abilities. It would be nice if you could provide some > examples (and perhaps benchmarks), especially for things that Sage's solve > command is not able deal with correctely (they are tons, just have a look > on https://ask.sagemath.org). The only example i could find in the > testing/ directory on the public reposiroty, is log(x,2) + 4*log(2,x) == 5 > (in Sage's notations), which does not tell much about PRESS abilities. Most of the research papers on PRESS are available on the following website: http://www.research.ed.ac.uk/portal/en/persons/alan-bundy%28bfb547ed-a4df-4a6c-b1be-8ecd9b13419f%29/publications.html?pageSize=all=0 The paper titled "Solving Symbolic Equations with PRESS" (which is in the 1982 section of this website) states the following about the kinds of equations PRESS was designed to solve: "The equations PRESS has been solving are largely taken from English A-level examination papers. Such examinations are taken by 18 year olds in their final year of high school, and are used to help decide suitability for university entrance. Particular papers used are those issued by the Associated Examining Board (A.E.B.), the University of London, and the University of Oxford. The years range from 1971 to 1979. Currently the program solves 69 out of 83 single equations and 10 out of 14 sets of simultaneous equations. Some typical problems are 4^(2*x+1) * 5^(x-2) = 6^(1-x) (A.E.B. November 1971) cos(x) + cos(3*x) + cos(5*x) = 0 (A.E.B. June 1976) 3*tan(3*x) - tan(x) + 2 = 0 (Oxford Autumn 1978) log_2 x + 4*log_x 2 = 5 (London January 1978) 3*sech^2(x) + 4*tanh(x) + 1 = 0 (A.E.B. June 1971) log_e(x+1) + log_e(x-1) = 3 e^(3*x) - 4*e^x + 3*e^(-x) = 0 (London June 1977) cosh(x) - 3*sinh(y) = O & 2*sinh(x) + 6*cosh(y) = 5 (A.E.B. June 1973)" Ted -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: Giving Sage AI-based step-by-step equation solving abilities
Simon wrote: > IMHO, most of SageMath isn't about education. So, why do you think its > inclusion wouldn't be useful? The main reason PRESS was created was so it could be used as a tool to study a heuristic search technique called meta-level inference. The primary goal was not to build a CAS that could be used as a tool. My thought is PRESS's main value for SageMath is educational in nature. I think that once a person has learned the techniques that are implemented in PRESS, they are better off using much more powerful CASs such as Macsyma, SageMath, SymPy, etc. for any real work they need to accomplish. Another reason for not including PRESS in SageMath is PRESS is not currently maintained :-) Ted -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Giving Sage AI-based step-by-step equation solving abilities
Richard wrote: > Nilsson's book was published in 1980. I suspect that, even at that > time, it was considered as having a fairly limited perspective. In 2014 Marvin Minsky stated that current AI researchers were years behind the AI research that was being done in the 1970s. In my opinion, he was correct. > As far as PRESS is concerned, it would be possible to import it entirely > into SAGE (assuming that PRESS is open source). I believe there is an open > implementation of Prolog, apparently fairly efficient, in Lisp. Since SAGE > includes a > complete Lisp system, it could also include a complete Prolog system. A few years ago I found the PRESS source code sitting on one of Edinburgh University's servers. I spent quite a bit of time modifying it to run on a modern implementation of Prolog (which was SWI-Prolog) because I had to learn Prolog first. When I contacted Alan Bundy to tell him I got PRESS running again, he said my email was a "blast from the past" (for those who don't know, Alan is the lead researcher on the team that developed PRESS, and he is still at Edinburgh). I gave Alan a copy of my modified version of PRESS and asked if he would please place it under an open source license. The version of PRESS that I modified was placed on GitHub around a month ago: https://github.com/maths/PRESS However, PRESS was not specifically designed for use in education, so I don't think it would be very useful to include in Sage. > In fact, I doubt that many students do the kind of step-by-step analysis > outlined, but take much bigger steps after learning just a little. What > they really do, I suspect, is study the examples in the text and study > the difference between the example and the problem. The PRESS researchers spent almost 15 years implementing into PRESS what they called "psychologically plausible" techniques for how they thought humans might actually be doing mathematics at mostly an unconscious level. These techniques are simply amazing, and I am convinced they will change the way mathematics is taught after they become widely known. Ted -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Giving Sage AI-based step-by-step equation solving abilities
William wrote: > The term "AI", especially in the 1990s, has a bad reputation among > some people, due to having massively over-promised and > under-delivered. It got hyped like crazy by both academics and > companies at certain points in the past.The term can -- in some > cases -- cause some people who have been paying attention to CS > research for a few decades (such as RJF) to cringe. > > For what it is worth, in recent years, there is a field that's been > labeled "machine learning", (which is of course closely related to > statistics, AI, etc.). The term "machine learning" is generally > viewed in a fairly positive light, since the practioners tends to make > more limited claims, and have had some impressive recent successes > (e.g., beating top human Go players, doing automatic language > translation, etc.). A very useful thing to know about the neural net type of machine learning that has been enjoying success recently (due to deep learning techniques) is there was a time around 2004 when even the top researchers in the area such as Hinton and LeCun couldn't even get their papers published because the broader machine learning community thought neural net AI had been proven to be a failure. It wasn't until deep learning researchers completely destroyed non-deep learning competitors in the ILSVRC computer vision competition in 2012 that these doubters were proven wrong. Just as the majority of people were wrong about neural net-based AI being ineffective, the majority of people are currently wrong about logic-based AI being ineffective. PRESS is an excellent example because it was one of the top AI programs that was developed during the 1970s and 1980s, and it works very well. There are a number of effective logic-based AI programs that have been developed since the 1970s which, like PRESS, have been mostly forgotten or ignored. The machine learning type of AI is indeed currently meeting with great success. However, most of this type of AI is of limited use in education because it is unable to explain how it arrives at the answers it provides. As Doug Lenat says, machine learning AIs can be thought of as "idiot savants" that have no understanding of the areas they are designed to work in. Logic-based AIs will become the dominant kind of AIs in the future because this kind of AI does understand its subject matter. > My position: Ted, whatever you want to call it, many thanks for > sharing your work with us Sage devs. It is really potentially very > valuable to possibly massively enlarge the range of people who might > use Sage. We sage devs have done relatively little in quite some time > to enlarge the potential user base of Sage itself. If a step-by-step equations solver that is based on PRESS does become part of Sage, I think it is important to advertise the fact that some of the most effective AI technology ever developed has been added to Sage, and that it has the potential to teach many areas of mathematics much more effectively than human teachers are capable of doing. Ted -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Giving Sage AI-based step-by-step equation solving abilities
Richard wrote: > I think that calling this Artificial Intelligence is probably unhelpful and > arguably wrong. But maybe you (and maybe the PRESS people) are > calling rules + search + evaluation as AI? I am currently reading a book titled "Principles of Artificial Intelligence" by Nils J. Nilsson. Two of its nine chapters are devoted specifically to search, and most of the chapters discuss rules. According to Nilsson's Wikipedia page, he is one of the founding researchers in the field of artificial intelligence. I call my step-by-step equation solver Artificial Intelligence because everything I have read so far on classic AI indicates that is what it is. Ted -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Giving Sage AI-based step-by-step equation solving abilities
Matthieu wrote: > Is this solver works only for systems of linear equations ? The solver I am writing is based on an AI program written in the 1970s named PRESS (PRolog Equation Solving System), and PRESS was designed to solve R Elementary equations, which can contain polynomial, trigonometric, exponential and logarithmic functions. I have not implemented all of PRESS's capabilities in my solver yet, but I am in the process of doing so. Ted -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Giving Sage AI-based step-by-step equation solving abilities
David wrote: > I think a graphical version of this would be useful as a sage-based > online high school math tutorial program, such as the khan academy > algebra modules. Are either of the following examples close to what you have in mind?: http://data.ssucet.org/temp/solve_steps_example.png https://www.youtube.com/watch?v=cy6bwNBkAK0 Ted -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
[sage-devel] Giving Sage AI-based step-by-step equation solving abilities
For the past few years I have been working on an artificial intelligence step-by-step equation solver for elementary algebra equations that solves these equations using steps that a human would typically use. Here is an example of what I have working so far: In> LineForm(SolveSteps(MathParse("(8*x - 2 == -9 + 7*x)"), _x)) 8*x - 2 == (-9) + 7*xThe original equation. (8*x - 2) - ((-9) + 7*x) == 0Subtract (-9) + 7 * x from both sides. (8*x - 2) + (-1)*((-9) + 7*x) == 0Undefine a binary '-' operator. (8*x + (-1)*2) + (-1)*((-9) + 7*x) == 0Undefine a binary '-' operator. (8*x + (-2)) + (-1)*((-9) + 7*x) == 0Arithmetic. (8*x + (-2)) + ((-1)*(-9) + (-1)*(7*x)) == 0Move occurrences of the unknown higher. (8*x + (-2)) + (9 + (-1)*(7*x)) == 0Arithmetic. (8*x + (-2)) + (9 + ((-1)*7)*x) == 0Change the association of * operators. (8*x + (-2)) + (9 + (-7)*x) == 0Arithmetic. ((-2) + 8*x) + (9 + (-7)*x) == 0Move a copy of the unknown to the right. ((-2) + 8*x) + ((-7)*x + 9) == 0Move a copy of the unknown to the left. (((-2) + 8*x) + (-7)*x) + 9 == 0Change the association of + operators. ((-2) + (8*x + (-7)*x)) + 9 == 0Change the association of + operators. ((-2) + (8 + (-7))*x) + 9 == 0Eliminate one copy of the unknown. (-2) + (8 + (-7))*x == 0 - 9Subtract 9 from both sides. (8 + (-7))*x == (0 - 9) - (-2)Subtract -2 from both sides. x == ((0 - 9) - (-2))/(8 + (-7))Divide both sides by 8 + (-7). x == (-7)Arithmetic. Is anybody interested in having step-by-step equation solving abilities like this added to Sage? Ted -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Digest for sage-devel@googlegroups.com - 23 Messages in 6 Topics
kcrisman wrote: I was as mentioning Geogebra to a student today, and decided to see what's up. In brief, a lot! So this is an FYI to the Sage community. snip People might interested in knowing that GeoGebra 4.0 uses the Java version of Reduce (http://reduce-algebra.sourceforge.net/) as its main CAS. The GeoGebra developers are also working on a JavaScript version of GeoGebra and a JavaScript version of Reduce has been created as part of this effort. Here is a link to the JavaScript version of Reduce in case anyone is interested in playing with it: http://206.21.94.61/misc/castest/minireduce/ This JavaScript version of Reduce runs in FireFox, Chrome, Safari, and IE9. It will also run in IE8, but it trigger the long running script dialog fairly often. Ted -- 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
[sage-devel] Re: Geogebra 4 coming (uses JavaScript version of the Reduce CAS).
Jason wrote: People might interested in knowing that GeoGebra 4.0 uses the Java version of Reduce (http://reduce-algebra.sourceforge.net/) as its main CAS. The GeoGebra developers are also working on a JavaScript version of GeoGebra and a JavaScript version of Reduce has been created as part of this effort. Here is a link to the JavaScript version of Reduce in case anyone is interested in playing with it: http://206.21.94.61/misc/castest/minireduce/ This JavaScript version of Reduce runs in FireFox, Chrome, Safari, and IE9. It will also run in IE8, but it trigger the long running script dialog fairly often. Yes, we (at least some of us) are definitely interested. Thanks for pointing this out! I thought your Yacas-based project (MathPiper?) was the CAS inside of Geogebra. Was I mistaken? MathPiper was the main CAS for GeoGebra up until around this past February. MathPiper has good potential to be a solid entry-level CAS, but in February I determined that it needed another year or so of development to be suitable for use by GeoGebra and GeoGebra 4.0 was scheduled to be shipped this August. Around that time I found an unadvertised Java version of Reduce sitting in the Reduce repository (called Jlisp) and with the help of the lead Reduce developer (Arthur Norman) I created a modified version of Jlisp that would work with GeoGebra. This modified version of Jlisp is called MPReduce for now. Sometime in late Spring the GeoGebra developers asked if it was possible to create a JavaScript version of MPReduce for use with the JavaScript version of GeoGebra they were working on so I ported MPReduce to JavaScript for them. Anyway, now that MPReduce is almost finished being integrated with GeoGebra, I have turned my efforts back to working on MathPiper because I think it is still better suited to be an entry level CAS than most commercial-quality CASs are. Ted -- 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
[sage-devel] SageIDE/MathPiperIDE: another way to make a desktop app for Sage
Since the topic of desktop-based apps for Sage has come up recently on this list, I thought it might be a good time to point out that a very good way to create a desktop-based GUI for Sage is to use one of the open source Java IDEs as a foundation. This is what I did when I created SageIDE a couple of years ago and I have been very pleased with the results. Of course, when I left the Sage project I renamed SageIDE to MathPiperIDE and converted it to use another CAS as its computation engine, but what I would like to focus on is the benefits of using this approach for creating a Sage desktop app. Here are some of the benefits: - Programmer-quality text editing capabilities. - Programmer-quality search and replace tool. - Edit modes for over 150 file types. - Easy-to-use declarative syntax highlighting extension mechanism. - Error highlighting. - Plugin-based extension mechanism with versioning and dependencies. - Dockable windows for the plugins. - The whole application is extensible using numerous scripting languages. - Solid 2D and 3D graphics capabilities. - Cross platform (runs on Windows, Mac, Linux, and Solaris). - Many other benefits. Anyway, if anyone is interested in playing with SageIDE/MathPiperIDE to get a feel for what a desktop GUI app for Sage might be like, it can be downloaded from here: http://mathpiper.org Ted -- 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
[sage-devel] Re: GeoGebra
mabshoff wrote: Since Sage takes inspiration from Mathematica in so many other areas, my thought is that using mathlink as a starting point for what a Sage API should look like would make sense too. I think that API is just ludicrously heavy and way to complicated. Sage development has always been guided by KISS and the above diagram is far from that ideal. I see webMathematica being used all over the web so to me the Mathematica API appears to be performing its job beautifully :-) Well, in the end there ought to be only one distribution - there is no point in forking the codebase. How can code that only talks to Sage through an API be used to fork Sage? In the very end I need to quote Linus: Talk is cheap, show me the code. As long as this is all planning and hand waving I see little benefit from having this discussion. But Michael, I *have* submitted code, quite a bit of it... I started participating in Sage about a year ago and at that time I prioritized the list of areas I could contribute in. At the top of the list was Sage's documentation because it was a mess (actually it still is, you guys *really* need to fix that) and that is when I began work on the Newbies book. As the Newbies book started to become useful, I decided to experiment with having an external language communicate with the Sage computation engine and I devoted a significant amount of effort into creating SAGEIDE: http://sage.math.washington.edu/home/tkosan/sageide/ I was very excited when I actually got it to work but when I posted it for evaluation, only one developer bothered to look at it. Wow, I thought, tha's strange, the Sage developers are usually so eager to evaluate new Sage-related things people make. Maybe I am just too new to Sage and need to prove myself more. Time passed and I saw that people were really wanting Sage to have 3D capabilities, but the Java3D in the browser approach was not working too well (I told people that using Java3D in the browser was a bad idea, but nobody listened). So I put a bunch more effort into adding Java3D to SAGEIDE and it worked beautifully! However, when I posted it for people to look at, there was still almost no response... Then I talked myself into thinking that Sage developers only got excited about code that was either added to the Sage computation engine or to the notebook (despite the fact that they had no problems looking at all kinds of python and AJAX-based applications that people would periodically find on the Net). Okay, I thought, I'm flexible, I'll adapt. I didn't have the mathematics background to contribute code to the computation engine (I still don't) so I started studying the notebook code (which was extremely painful, BTW, because it has almost no documentation). My first step was to get my mind around python better, learn JavaScript from scratch, and start digging into the notebook code. I decided that my first contribution to the notebook would be to figure out a good way to allow Java applets to communicate with both the client and server part of it. Yet again, I was very excited when I got it working and by this time I had even learned enough to create a spkg and a trac ticket for it: http://trac.sagemath.org/sage_trac/ticket/1510 I thought that surely by now I had paid enough dues to merit some attention from the core Sage developers (especially after volunteering to create the JMOL-src package on short notice over Christmas because it was needed ASAP. Robert will confirm that this was not a trivial task). But not one of you guys has bothered to look at the work I did, even after repeated requests to do so since it was submitted over 2 months ago... By this time I could not hide from the fact that the reason you guys were not looking at my submissions was because they were all written in *Java*. This became amply clear in the Wiris email. Show you the code? I've been trying to show you code for months now, but I can't force you to look at it :-) As you mentioned yourself there is plenty of work in trac to do. So far nobody else has jumped in on your side and volunteer his or her free time and energy to make things happen. Do you think that I was the only person who noticed the way I was being treated by you guys? Did it ever occur to you that a significant number of the people on my side learned to use Sage by reading the Newbies book and thought if Ted gets treated this way when he tries to make a contribution, how are they going to treat me? Also, it is kind of strange to complain that people don't jump in and help work through the trac tickets while at the same time expending almost no effort to write good documentation which clearly explains Sage's architecture, theory of operation, code organization system, etc. You guys keep promising to come through with stuff like this, but it never happens. The way things are now people are forced to needlessly waste much of their
[sage-devel] GeoGebra
On the support list, a high school teacher (Jacob) wrote: That would be a huge value to me. As a high school teacher, the features of GeoGebra almost completely fill the void of things I wish sage could do. The notebook widgets for Mathematica style demonstrations would fill quite a bit of the same void, but GeoGebra is already robust and has a ton of functionality. I love sage, but the high school definition of exploration generally means grabbing things and moving them around and seeing what happens. That is hard to accomplish in sage and it is what interactive geometry software like GeoGebra was designed to do. Sage is great for my calculus and statistics classes, but it falls short in Precalculus and Geometry where a much more tactile grab approach works well. If I could send data freely back and forth between the two I could create much more powerful concept demonstrations across the board in my class. The fact that GeoGebra can be driven by text commands and embedded as a java applet makes interfacing it with a system like sage seem possible. I am very excited about this possibility because for me it would complete sage's functionality. Jason Grout did some research on GeoGebra and found these examples: 1. Approximating an integral with sums: http://www.geogebra.org/en/examples/integral/loweruppersum.html 2. Trying to intercept an object in 3d by only adjusting direction, altitude, and velocity of a projectile: http://www.dean.usma.edu/math/people/Peterson/geogebra/parametric3d-ballistic.html I think this helps students realize how difficult the problem is to do by guessing and checking! Lots more english examples are at http://www.geogebra.org/en/wiki/index.php/English My question is, do the core Sage developers think that adding GeoGebra to Sage is a good idea or a bad idea? Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: GeoGebra
2) Would sage-devel be willing to expose a standard API that can be used to access the Sage calculation engine? Here is a description of the API Mathematica provides for reference: http://www.outbacksoftware.com/mathematica/mathlink-jlink.html Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: GeoGebra
On Thu, Feb 21, 2008 at 8:30 PM, mabshoff [EMAIL PROTECTED] wrote: sage-devel - the idea is that sage-edu rolls up a number of nice (initially optional) spkgs that get merged into Sage as they mature. The same applies to any extra code written by sage-edu. sage-edu should function as a test bed for various bits and pieces of code like the interactive widgets, which the research people have little interest in. I doubt you guys want to do your own releases, so sage- edu works as upstream, somewhat like currently the sage-combinat people do. It is my opinion that sage-edu should be a separate entity from sage-devel and that the main connection between the code that sage-edu creates/distributes and the Sage computation engine should be through a well-designed API similar to what Mathematica has: http://www.outbacksoftware.com/mathematica/mathlink-jlink.html Since Sage takes inspiration from Mathematica in so many other areas, my thought is that using mathlink as a starting point for what a Sage API should look like would make sense too. Now to spkgs. As the person who created the JMOL-src package, I don't want to have the 3rd party applets that sage-edu makes available to be forced to be distributed in source code form. Beyond this, sage-edu might eventually make dozens of education-oriented applets available and, if sage-devel does not want to deal with an education-oriented applet like GeoGebra, I don't see why it would have any interest in including education-oriented applets in Sage at all. If sage-edu is a separate entity from sage-devel, it will also need to have its own source code repository and releases. 2) Would sage-devel be willing to expose a standard API that can be used to access the Sage calculation engine? I doubt that is really needed. If somebody wants to implement some mathml abstraction layer (as Joel suggested below) that would be fine, What is needed is something like Mathematica's mathlink, not a mathml layer. Sage needs an API like this for the same reason that Mathematica needs one. but while in the past William has thought about splitting off the notebook as its own project I am not seeing that happening any time soon. Why not? The notebook's developers have stated multiple times that they would much rather do math-oriented development instead of work on the notebook. In the mean time, the current number of notebook tickets has reached 70. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] A library of wonderfully documented examples.
In a recent thread called Extreme Newbie Development Questions Jason Grout wrote: We really ought to set up a library of wonderfully documented examples of how to use Sage, something like the Maple application center or the Mathematica Demonstrations project. The current list of notebooks doesn't fill this need all the way because it is not organized or searchable (I don't think), and there are a lot of the published sagenb notebooks that contain one-off calculations that are not very helpful to someone trying to explore or learn how to use Sage. Stuff like the above worksheet should be easy to find and sort out from the other things. A wiki may be a perfect way to do this. People can add pointers from the wiki in certain categories to their published notebook page. This is something I am especially interested in because I am currently working through these issues in the Newbies book (which is mostly meant for high school students). Two questions I have are 1) What should the categorization system look like? and 2) What documentation guidelines should the notebook examples use? I spent quite a bit of time over Christmas coming up with the high school-oriented categorization scheme included below. For high school students it is looking like notebook examples should mostly show how problems in these categories are solved, both semi-manually and as automatically as possible. I am currently trying to determine good documentation guidelines for this purpose. I would very much like to see what a comprehensive categorization scheme for notebook examples would look like along with ideas for high school-oriented, and non high school- oriented, documentation guidelines :-) Ted 7 High School Math Problems (most of the problems are still in development) 7.1 Pre-Algebra 7.1.1 Equations 7.1.2 Expressions 7.1.3 Geometry 7.1.4 Inequalities 7.1.5 Linear Functions 7.1.6 Measurement 7.1.7 Nonlinear Functions 7.1.8 Number Sense And Operations 7.1.8.1 Express an integer fraction in lowest terms 7.1.9 Polynomial Functions 7.2 Algebra 7.2.1 Absolute Value Functions 7.2.2 Complex Numbers 7.2.3 Composite Functions 7.2.4 Conics 7.2.5 Data Analysis 7.2.6 Discrete Mathematics 7.2.7 Equations 7.2.7.1 Express a symbolic fraction in lowest terms 7.2.7.2 Determine the product of two symbolic fractions 7.2.7.3 Solve a linear equation for x 7.2.7.4 Solve a linear equation which has fractions 7.2.8 Exponential Functions 7.2.9 Exponents 7.2.10 Expressions 7.3 Inequalities 7.3.1 Inverse Functions 7.3.1.1 Linear Equations And Functions 7.3.2 Linear Programming 7.3.3 Logarithmic Functions 7.3.4 Logistic Functions 7.3.5 Matrices 7.3.6 Parametric Equations 7.3.7 Piecewise Functions 7.3.8 Polynomial Functions 7.3.9 Power Functions 7.3.10 Quadratic Functions 7.3.11 Radical Functions 7.3.12 Rational Functions 7.3.13 Sequences 7.3.14 Series 7.3.15 Systems of Equations 7.3.16 Transformations 7.3.17 Trigonometric Functions 7.4 Precalculus And Trigonometry 7.4.1 Binomial Theorem 7.4.2 Complex Numbers 7.4.3 Composite Functions 7.4.4 Conics 7.4.5 Data Analysis 7.4.6 Discrete Mathematics 7.4.7 Equations 7.4.8 Exponential Functions 7.4.9 Inverse Functions 7.4.10 Logarithmic Functions 7.4.11 Logistic Functions 7.4.12 Matrices And Matrix Algebra 7.4.13 Mathematical Analysis 7.4.14 Parametric Equations 7.4.15 Piecewise Functions 7.4.16 Polar Equations 7.4.17 Polynomial Functions 7.4.18 Power Functions 7.4.19 Quadratic Functions 7.4.20 Radical Functions 7.4.21 Rational Functions 7.4.22 Real Numbers 7.4.23 Sequences 7.4.24 Series 7.4.25 Sets 7.4.26 Systems of Equations 7.4.27 Transformations 7.4.28 Trigonometric Functions 7.4.29 Vectors 7.5 Calculus 7.5.1 Derivatives 7.5.2 Integrals 7.5.3 Limits 7.5.4 Polynomial Approximations And Series 7.6 Statistics 7.6.1 Data Analysis 7.6.2 Inferential Statistics 7.6.3 Normal Distributions 7.6.4 One Variable Analysis 7.6.5 Probability And Simulation 7.6.6 Two Variable Analysis 8 High School Science Problems 8.1 Physics 8.1.1 Atomic Physics 8.1.2 Circular Motion 8.1.3 Dynamics 8.1.4 Electricity And Magnetism 8.1.5 Fluids 8.1.6 Kinematics 8.1.7 Light 8.1.8 Optics 8.1.9 Relativity 8.1.10 Rotational Motion 8.1.11 Sound 8.1.12 Waves 8.1.13 Thermodynamics 8.1.14 Work 8.1.15 Energy 8.1.16 Momentum 8.1.17 Boiling 8.1.18 Buoyancy 8.1.19 Convection 8.1.20 Density 8.1.21 Diffusion 8.1.22 Freezing 8.1.23 Friction 8.1.24
[sage-devel] Re: Describing Sage as a Mathematics Computing Environment
Ted wrote: I like the concept of Sage being comprehensive, but how about using a more widely-used synonym for the word 'comprehensive' like 'universal'?: Universal Mathematics Computing Environment I tried using Universal Mathematics Computing Environment for a while but it is too long to say repeatedly in front of a group of people! I finally settled on simply Mathematics Computing Environment and this has been working well so far. Anyway, I have begun developing ways to describe Sage to average people based the concept of it being a Mathematics Computing Environment and here is a description I have started to use at the University where I teach in order to recruit students into a Sage-based class I am teaching: What is a Mathematics Computing Environment? Imagine taking a bunch of scientific calculators, all the great mathematicians from history, all the great computer scientists from history, a team of 2D and 3D computer graphics specialists, and placing them in an environment that allows them to easily work together in order to help you solve problems. This will give you an idea of what a Mathematics Computing Environment is like. They are the among the most advanced general purpose problem solving tools that humans have created to date and anyone who is doing mathematical, scientific, or technological work would benefit by having one. There are a number of commercial Mathematics Computing Environments available (such as Mathematica, Maple, MathCAD, and Magma). Unfortunately, the significant cost of these environments is too high for most people to afford. There are, however, free Mathematics Computing Environments available and among the best of these is Sage (http://sagemath.org). Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Online free sage notebook slowness
William wrote: If anybody out there is a java expert, this might be a good problem to look at, where this is loading images many many times using sage's 3d plotting can lead to problems. The problem might be related to how much memory is allocated to the Java plugin by default. Here is some information about jmol and memory I found on the jmol wiki: http://wiki.jmol.org:81/index.php/Jmol_Applet#Giving_JmolApplet_more_memory_to_work_with Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Adding JSON capabilities to SAGE
William wrote: If further testing is successful, I would like to have simpleJSON included in SAGE. What procedure do I need to follow in order to make an official software addition request? (1) Convince us it's a good idea. You basically just did that. (2) Create a trac ticket and then to attach some code that we can try it out. A simpleJSON spkg has now been created and more information about it can be found in its trac ticket: http://www.sagetrac.org/sage_trac/ticket/1510 William has added the following comment to this ticket which requests that the spkg be discussed on sage-devel before deciding on whether or not to include it in Sage: I think some sort of general voting and discussion should occur before including any new packages standard in Sage, especially ones that don't cover some very clear mathematical area that is completely unconvered by Sage (e.g., R and PolyBori? did address a clear mathematical area). In particular, it is _critical_ that there be more than one person who really wants the package to go in before we even consider putting it in. I suggest that: 1. simplejson be made an optional package, 2. there be a post to sage-devel to start some discussion about whether this actually belongs in Sage. That it is is easy to put in Sage (it's pure python) is a plus, but is definitely not enough of an argument (to put it mildly). Remember, every package that goes into Sage will cause Michael Abshoff, and me, and others headaches at some point, and will add to the horrendous problem we already have with packages getting out of date with upstream. Also, perhaps there should be somebody -- probably Ted in this case -- who very clear volunteers to keep the package up to date for the next year, and find somebody to take over if they can't continue. The above was quick brainstorming. It is not meant to be some well thought out procedure, which is something I don't think we have yet. -- William The purpose for adding simpleJSON to Sage is to give clients an object-based, language-neutral method for communicating with the Sage server. This package is not about adding mathematical capabilities to Sage, but rather, it is for allowing clients to more easily access the mathematical functionality it already has. I am specifically using simpleJSON to allow applets, which are loaded from a separate server into a worksheet, to pull data out of Sage. Allowing applets to be loaded from a separate server removes the need for them to be included with Sage itself which I think is a good route to follow. I have estimated that there are probably hundreds of math, science, and engineering-oriented Java applets in existence that are capable of adding value to Sage. My goal with these applets is to not only make them available in the notebook, but to also attract a significant number of their developers to the Sage project so that they can add even more value to it. If there is no easy way for these applets to communicate with the Sage server, however, there is not much point in embedding them in a worksheet. As for the idea of making simpleJSON an optional package, my thought is that there is little point in this. If a newbie Windows user wants to use a calculator applet in a worksheet because this is the level of technology they are comfortable with, they are probably not going to be very successful installing an optional package. Anyway, I researched a number of alternatives before choosing a JSON-based solution to this client communications problem. It is relatively clean and it seems to work fairly well. If people have alternative ways to solve this problem, however, I would like to hear them :-) Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Adding JSON capabilities to SAGE
William wrote: I propose the following: (1) Json support is made an optional package (2) Once there are some actual interesting uses of it, then we seriously consider making it a standard package. (This could be a week from now, etc.) +1 Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Adding JSON capabilities to SAGE
Justin wrote: It's not true that testing GUIs is in any way impossible (I believe several companies make such products, and make a pretty good living at it). However, I don't think there is a freely-available way to do it, and in this aspect, your point is well-taken, and reinforces to my being against splitting the functionality of Sage. Here are 3 open source Java GUI testers that may be useful: http://abbot.sourceforge.net/doc/overview.shtml http://www.uispec4j.org/ http://pounder.sourceforge.net/ Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Online free sage notebook slowness
William wrote: If anybody out there is a java expert, this might be a good problem to look at, where this is loading images many many times using sage's 3d plotting can lead to problems. When someone has this hanging problem occur, please open the Java console (its under Tools in FireFox) and send the information it contains to the list so we can study it. Thanks, Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Describing Sage as a Mathematics Computing Environment
Robert wrote: Mathematics Computing Environment is more what sage is, IMO. I like this too, and the suggestion comprehensive (if it doesn't make it too long). So I'd suggest something like Comprehensive Mathematics Computing Environment. I like the concept of Sage being comprehensive, but how about using a more widely-used synonym for the word 'comprehensive' like 'universal'?: Universal Mathematics Computing Environment Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Wiris -- something like the Sage notebook sort of
William wrote: Today at the AMS meeting Tom Boothby and I had a long talk with the people at the Wiris Booth: http://www.wiris.com/ Wiris is a closed source commercial math software company that makes a web-based interface to their own custom mathematical software. Was the idea of Wiris using Sage as an additional calculation engine for their client discussed at all? Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Wiris -- something like the Sage notebook sort of
William wrote: Was the idea of Wiris using Sage as an additional calculation engine for their client discussed at all? No. Wiris is a commercial company and I got the very strong impression that they view Sage as basically potential competition whose mere existence is bad for them. In fact, they're right to be worried, since there have been discussions on sage-devel about modifying Sage so that it could be rolled out in France/Spain for high school and college use -- and that is _exactly_ the current market of Wiris. I definitely suggested various times opportunities for collaboration, but I don't think they were interested at all and would rather we just didn't exist. This is what I suspected happened. The reason I bring this up is that I was just about to create some marketing materials which stated how much more powerful Sage was than a scientific calculator, and how people should seriously consider using Sage instead. I acquired a TI84 calculator recently and I was going to use it to show how Sage could absolutely run rings around it at a far lower cost. But then it came to me that instead of making TI an enemy, what I really wanted to see happen was for TI to embrace Sage and find ways to give their customers an enhanced level of service with it. TI might lose calculator sales to Sage in some areas, but if Sage is able to increase the use of mathematics in the world by, say, 5%, this should also expand the market for calculators which should benefit TI in the long run. TI should also be able to find other ways to make money with Sage. The reason this idea came to me was that I have followed Sun Microsystems very closely from about 1998 to the present and I watched how the open source community applied steady and relentless pressure to them during this period until they were transformed into an almost completely open source company. The transformation is so complete that they are even open sourcing their chip designs now and an increasing number of their upper-level managers are open source rock stars. The way that you and Tom describe Wiris' reaction to Sage and the idea of collaboration sounds very similar to Sun's reaction to open source before their transformation. What I am thinking is that, if an arrogant company like Sun can be transformed by open source, then companies like Wiris and TI can be transformed too with enough persistence. I was also pretty soundly criticized by someone else at the Wiris booth for (1) not using OpenMath/MathML for communication between different components of Sage, and (2) for not having an OpenMath output / input format for every Sage object. I'm not really interested in starting a discussion about this here on sage-devel -- all that OpenMath stuff is nice in theory, but it doesn't have much to do with the sort of problems Sage is built to solve. With Sage the goal is to create the best system we can using when possible very good existing tools -- and the question is how best to do this. OpenMath doesn't fit in at all for that problem. It may be very relevant for other problems later on; I don't know. The LaTeX -- OpenOffice translator I have been working on has forced me to think about LaTeX and MathML quite a bit and I think a separate thread on this topic would be interesting. Anyway, while I was researching translators, I located the following python program that translates LaTeX to MathML. Perhaps it would be useful to add to Sage?: http://sage.math.washington.edu/home/tkosan/misc/latex2mathml.py [EMAIL PROTECTED] ~/hp_backup/tmp/scripts/scripts $ python latex2mathml.py \frac{{x}^{2} }{7} math xmlns='http://www.w3.org/1998/Math/MathML' mfracmsupmix/mimn2/mn/msupmn7/mn/mfrac /math [EMAIL PROTECTED] ~/hp_backup/tmp/scripts/scripts $ python latex2mathml.py {{{3 \cdot \sin \left( a \right)} \cdot b} \cdot {e}^{\frac{4}{c}} } math xmlns='http://www.w3.org/1998/Math/MathML' mrowmrowmrowmrowmn3/mnmoâ /momi mathvariant=normalsin/mi/mrowmrowmo minsize=1(/momia/mimo minsize=1)/mo/mrow/mrowmoâ /momib/mi/mrowmoâ /momsupmie/mimfracmn4/mnmic/mi/mfrac/msup/mrow /math Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Sympy Plotting
Ondrej wrote: Speaking only for myself, I don't like java too. But I have a very narrow minded opinion here, I am sure others will not agree with me completely. I know it's GPL, but that's already more than a year (isn't it?), but it still isn't in Debian main, for some legal or technical problems. It is in non-free, so I can still install it with one command (apt-get install sun-java5-plugin) and it works out of the box in all browsers, but I am very picky, I don't want to depend on something that isn't in main (that includes Sage too for the moment). I hope Sage will get into Debian eventually, and java hopefully too. But I don't want to wait 30 years for that. :) One of the problems slowing down the complete availability of Java as open source is that some pieces of code are not owned by Sun and could not be released. Therefore, Sun and the community had to develop its own replacements, and those are not trivial tasks. Reinhold said Sun currently has early versions of the font rasterizer done, a cryptography component and the graphics rasterizer, which is in a pretty raw state. Sun was asked repeatedly who were the developers of these products and why they were so intransigent about releasing the code as open source, but Sun diplomatically declined. All Simon Phipps, chief open source officer at Sun would say is If people don't want to work with us we'll work around them. (http://www.internetnews.com/dev-news/article.php/3705326) There are a significant number of people inside and outside of Sun who are pushing hard to make Java completely free, including Sun's Chief Operating Systems Platform Strategist Ian Murdock (who some might recognize as the founder of Debian :-) (http://www.internetnews.com/dev-news/article.php/3676246) So there is a very high probability that Java is is going to be made completely free in a reasonable time frame. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Random surface in 3d using jmol
Here is an example where the points were randomly chosen (by sampling from a normally distributed random variable in x,y,z coordinates) and interpolated into a surface. http://sage.math.washington.edu/home/jkantor/picture_1.png and with opacity http://sage.math.washington.edu/home/jkantor/picture_2.png I am teaching a class this semester in which we will be building one of these 3D printers: http://reprap.org Would the ability to have physical versions of certain 3D models created in Sage be of interest to anyone? Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: basic java question
Robert, When you get a chance, version 2 of the jmol-src spkg is ready to test: http://sage.math.washington.edu/home/tkosan/misc/jmol-11.5.2-src-v2.spkg Thanks :-) Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: basic java question
Robert wrote: Works great for me. My only question is why you have .tar.gz files in the dependancies directory instead of just putting the source itself there (as the whole things is compressed anyways). I thought that people who were interested in the source version of this package might also like to see it perform the whole build process including the unpacking step from the original archives. Did you want to post a link to this up at trac? Okay. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Wiris -- something like the Sage notebook sort of
Tom wrote: This is a very nice start. But the original discussion was about Javascript vs. Java as a technology for enhancing the notebook. I think that Wiris provides a good example of what Java is capable of in this area but it would be unfair to compare the Javascript equation editor to Wiris CAS since the Javascript one is unfinished (I like what it can do so far though). Has anyone been able to find a finished Javascript-based equation editor that can be used for an apples-to-apples comparison with Wiris CAS? Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Wiris -- something like the Sage notebook sort of
Robert wrote: What is unfinished about it? Just because the author had/has more plans for it doesn't mean it isn't very useable now (more so, I would argue, than a drag-n-drop interface). Mouse positioning of the cursor, cut and paste, multiple fonts, font resizing, multiple equations on one sheet of paper, 2D plotting, 3D plotting, tabbed panes, etc. Moving on to DragMath's capabilities: load and save to disk, multi-language support, export to LaTeX, MathML, Maple, and Maxima along with the ability to add additional export formats (like Sage) by editing an XML-based configuration file. I know what Java can do and I have posted demo code which illustrates it running in the notebook. Now I want to see what Javascript is capable of because almost everything GUI-related I have seen which is written in Javascript seems unfinished to me when compared to Java GUI stuff. From what I have seen so far, Javascript is simply incapable of coming anywhere close to what Java can do. If it can, I would love to see actual running examples like I have been providing :-) Going back to the initial post in this thread, the Wiris people ...ended the discussion by telling us that their web-based interface is (going to be) much better than ours. I don't think they arrived at this conclusion by thinking that William and Tom were substandard programmers (which is obviously not the case). I think they looked at the Sage notebook and concluded they could have written an equivalent in Java with something like NetBeans in a day or two. Anyway, since I am one of the few Java developers on this list (and since I was mentioned by name in the original post) I felt it was my duty to provide arguments for the Java-side of this discussion. I have done this to my satisfaction :-) Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Wiris -- something like the Sage notebook sort of
boothby wrote I'd really prefer people to help out with the notebook, since homework already keeps me. stretched thin, and I'd rather be writing more mathematical code. But hey, y'all are volunteers -- do what you want. I am about 1/3 of the way through the O'Reilly JavaScript book and I think I will be able to help out with the notebook by the time I finish it. I have been spending time studying the notebook code and it is starting to make sense. What would be helpful, though, is if all the functions in the notebook had some comments added to them :-) Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Wiris -- something like the Sage notebook sort of
Tom wrote: Excellent idea, Ted. I took your idea, expanded upon it, and added standard scalable development concepts to accelerate the synergy of the web service protocols you've proposed. http://sage.math.washington.edu/home/boothby/web_service_architecture_joke.png (tongue firmly in cheek) That's quite funny :-) Anyway, in about the same amount of time it took you to put that together, I got a graphic equation editor working in the notebook. Just execute the following code in a notebook cell for a demonstration: html('applet id=mathrider\ width=540 height=322\ archive=Project.jar,AbsoluteLayout.jar,swing-layout-1.0.jar,jdom.jar,jep.jar\ code=Display.MainApplet.class\ codebase=http://sage.math.washington.edu/home/tkosan/mathrider/DragMath/applet/classes\ name=DragMath\ MAYSCRIPT /applet') Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Wiris -- something like the Sage notebook sort of
Justin wrote: Maybe it's just that my system senses my inate hostility to Java, but this doesn't seem to work well for me (Mac OS X, 10.4.11, Safari 3 Public Beta, whatever version of Java I have). I pasted the above snippit into the notebook, and evaluated it, giving me a sort of Java-looking subwindow. I could type a few things, but after I started clicking on icons, the interface ground to a halt, and icons got repainted in the wrong places as I clicked. Perhaps this would help?: http://www.apple.com/downloads/macosx/apple/macosx_updates/javaformacosx104release6.html Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Wiris -- something like the Sage notebook sort of
Justin wrote: Sorry; I should have noted the version installed here. I installed this last month, so that's not the issue. Does this code work? It is the standard GUI widget demo that is distributed with the Java development kit: #GUI widgets. html('applet id=mathrider\ code=SwingSetApplet\ width=695 height=525\ codebase=http://sage.math.washington.edu/home/tkosan/mathrider/SwingSet/\ archive=SwingSet.jar MAYSCRIPT/applet') Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Wiris -- something like the Sage notebook sort of
Justin wrote: Roughly the same behavior: snip It looks like this is a known issue: According to Apple specs OS X 10.5 Leopard already runs the newer Version (J2SE 1.5.0_13 and 1.4.2_16),. However, Tiger and Leopard use different build numbers, so problem seems limited to Tiger 10.4.10 and .11, and only if updated with Java Release 6 (installs J2SE 1.5.0_13 and 1.4.2_16 in OS X 10.4.10 .11). Previous Release 5 for Tiger (installs J2SE 1.5.0_07 and 1.4.2_12), as well as Safari 3 (in Combo Update 10.4.11) and all earlier Apple updates improved things quite a bit from the start, but from now on: better test those Apple updates on a non-Oanda-critical system. The full forum thread is here which discusses workarounds: http://www2.oanda.com/cgi-bin/msgboard/ultimatebb.cgi?ubb=get_topic;f=17;t=003729 Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Wiris -- something like the Sage notebook sort of
Justin wrote: In addition, it appears only some of the components of the equation are editable (in X+Y, I can select and change X and Y, but not +?), Double click on the operator to select it and then select a replacement operator from the pallet. and navigating between these components is not simple (TAB sometimes works, but not -?). tab moves forward through the equation and shifttab moves backwards. Some documentation is available here: http://www.dragmath.bham.ac.uk/doc/index.html Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Wiris -- something like the Sage notebook sort of
Tom wrote: The clicking dragging interface is *painful*. I can't see using that for anything more than a few symbols. I agree, the interface is not very usable. On the plus side, however, the application's core looks solid and the project looks fairly active: 0.6.2 Notes (2007-12-23 12:02) 0.6.1 Notes (2007-12-18 13:40) 0.6 Notes (2007-12-12 06:36) 0.5 Notes (2007-09-20 07:34) 0.4 Notes (2007-08-17 11:11) My thought is that there is a good chance they would improve the user interface if given some feedback. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: basic java question
Robert wrote: I ran into an error compiling Log4j12, any ideas. (I've been busy at the conference the last couple of days, but could look more into this maybe when I get home). I discovered that this was caused by a jar file I didn't know I had in my classplath. I am in the process of creating an isolated build environment for jmol on my PC and when it is finished I will try to fix this problem and see if there are any others. Thanks, Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Wiris -- something like the Sage notebook sort of
Francois wrote: And it is supposed to work with what? On Linux I get a blank page with firefox and konqueror - opera just went and crashed. I certainly won't take seriously a product of that kind, that I cannot test on Linux. It takes a while for the applet to load the first time. I had to wait for a minute or two for it to fully load. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Wiris -- something like the Sage notebook sort of
Harald wrote: but I'm more and more convinced that a huge java applet is not the best way for any webbased project. There are two things to consider: 1. it is much heavier, concerning load time/memory and so on. With bandwidth and memory capacity increasing exponentially, this is fast becoming a non-issue. it depends on installing java, that's not default on win32! But Java installs so easily on win32 that I don't know anyone who has a problem doing this anymore. Beyond this, Java runs reasonably uniformly across the major browsers which will avoid most of the multi-browser difficulties the Javascript notebook faces. Another plus is that most cell phones also run Java. and 2. on the javascript side, in the future a lot will change when there are good JIT compilers. this could make js-code possibly ~10-100x faster! Javascript will become quicker but what I am even more interested in are Java's huge libraries and the huge and growing amount of open source software that is written in Java. I don't see Javascript matching this any time soon, if ever. Beyond this, Java is still the most popular programming language in existence (http://www.tiobe.com/tpci.htm) and so it is an extremely safe bet by almost any metric :-) Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Wiris -- something like the Sage notebook sort of
Jaap wrote: With bandwidth and memory capacity increasing exponentially, this is fast becoming a non-issue. I've heard that before! But I don't believe this is the panacea! The exponential growth of computing indicates that by 2020, a $1000 computer will have the same capacity as a human brain. By 2050, a $1000 computer will have the same capacity as all the human brains on the planet. http://en.wikipedia.org/wiki/Image:PPTExponentialGrowthof_Computing.jpg http://www.kurzweilai.net/meme/frame.html?main=/articles/art0134.html? To me, exponential growth seems more like magic than anything else, even if it is just simple science :-) If these projections are even close to being accurate then computer capacity is not going to be a problem for Java. I truly believe that the real issue we will be dealing with in the not so distant future is the best way to upload Sage into human brains. Maybe java is popular, but ask your self why? Managers want it, but they usually don't know why! Java is one of the most popular languages for manager-free open source projects on sourceforge too: http://www.cs.berkeley.edu/~flab/languages.html I agree, though, that Java has a significant amount of hype associated with it and this is definitely a distraction. Ok, I once thought java was the way to go, but now I'm a convert. I hate java. Truth be told, I like programming in Python better than Java when this is feasible. For rich cross-platform browser-based applications, however, it is difficult to beat. E.g. why the hell the new jmoll graphics does not work on my Fedora 7 install from the sage command line? Some of this might be due to the quickness with which jmol was added to Sage so that it could be demonstrated at the AMS meeting. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Wiris -- something like the Sage notebook sort of
This is a fun thread :-) Anyway, what I am more interested in than specific Sage client types is a good way for all client types to talk with Sage. Here is Wiris's communication architecture: http://www.wiris.com/images/stories/architecture_en.jpg What I would like to have in Sage is a protocol like what Wiris seems to have which is general enough to be used even with something out of the ordinary like educational portal software. I would like to use the protocol to allow Java applets to communicate with Sage, but I would also like to use it to allow OpenOffice to communicate with Sage directly and SecondLife to communicate with it using its scripting language. Any ideas on what a protocol like this would look like? Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Wiris -- something like the Sage notebook sort of
William wrote: Just to break up the tension in this thread a little bit, here's my idea of what it might look like: http://sage.math.washington.edu/home/was/tmp/architecture_en.jpg The idea of separating the Sage computation engine from the notebook server looks interesting. I took that idea, expanded upon it and then added standard web service protocols (http://en.wikipedia.org/wiki/Web_service): http://sage.math.washington.edu/home/tkosan/misc/web_service_architecture.png Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Wiris -- something like the Sage notebook sort of
William wrote: It would be good for you to take a look at what Wiris does if you are interested in the Sage notebook. Here is a direct link to the demo applet. Just click the link, wait a bit for the applet to load, and then play with it. http://www.wiris.com/applets/CAS/en/cas_1_en.htm Ted Kosan, you might particularly find Wiris interesting since it is a 100% java app instead of javascript. ... They ended the discussion by telling us that their web-based interface is (going to be) much better than ours. The Wiris notebook Applet seems to provide a good opportunity to discuss notebook strategy. I like the AJAX notebook. But my position is that an AJAX-based notebook that is so good it pushes the limits of what AJAX can do would still be no where near as capable as a well-written Java Applet-based notebook. I think Java is at least an order of magnitude more capable than Javascript is and I don't see this changing anytime soon. Execute the following two blocks of code in separate worksheet cells for a further demonstration of this: #GUI widgets. html('applet id=mathrider\ code=SwingSetApplet\ width=695 height=525\ codebase=http://sage.math.washington.edu/home/tkosan/mathrider/SwingSet/\ archive=SwingSet.jar MAYSCRIPT/applet') #2D graphics. html('applet id=mathrider\ code=Java2DemoApplet.class\ width=695 height=525\ codebase=http://sage.math.washington.edu/home/tkosan/mathrider/Java2D/\ archive=Java2Demo.jar MAYSCRIPT/applet') So, if people want a notebook that can do everything the current notebook can do, plus is capable of doing everything that the Wiris notebook can do (and the Mathematica notebook for that matter), Java is the technology for the job for the foreseeable future :-) Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: First Sage Screencast
Timothy wrote: GHOP (Google Highly Open Participation Contest) contestant Benjamin Peterson created a 20 minute screencast introducing Sage. He followed my guidelines to a tea, see http://code.google.com/p/google-highly-open-participation-psf/issues/detail?id=301. Currently the best quality version released so far is at http://sage.math.washington.edu/home/tclemans/video/ghop/sage-screencast.avi. The screencast was excellent! I am going to use it immediately by making it available on my University's network and then sending out a mass email about it. Thanks :-) Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: basic java question
Robert, The jmol-11.5.2-src.spkg is ready for testing and it can be found here: http://sage.math.washington.edu/home/tkosan/misc/jmol-11.5.2-src.spkg Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: First Sage Screencast
Tim wrote: I'm unable to view this using RealPlayer, Quicktime, or mplayer on XP, OSX, or Linux. None of the sites have the codec available. Any idea where I can find the codec for one of these tools? I used mplayer on Gentoo to view the video and this is the codec it is using: Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4) I think the decoder can be obtained here: http://ffmpeg.org/ Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: basic java question
Its all building from source now. Here is the list of packages that needed to be created: commons-lang commons-logging commons-cli bcmail bcprov itext jmol-acme netscape vecmath-objectclub jmol It runs from the command line but I am not quite sure how to test it completely at this point so there may still be issues to deal with. I am going to clean up the scripts and then hopefully submit jmol-11.5.2-src sometime on Sunday. it would be good if somebody who knows java well could just whip this out. If nothing else I have learned to think twice before taking on just whip this out projects in the future :-) Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: basic java question
Robert, Do you think it is okay to manually edit the various build scripts to make them build as desired and then just record what was edited in the SPKG.txt file? Also, how much software can we require the user have pre-installed on their system before building jmol-src.spkg? At this point we require they have a Sun JDK and ant installed. How many of the following packages can we also require they have pre-installed (if any)? #ant-contrib. #apache commons-logging. #apache commons-lang. #bcmail -Bouncy Castle Crypto. #bcprov -Bouncy Castle Crypto The reason I am asking is that jmol will probably not be the only Java-based package to be added to Sage and, if dependencies like this are offloaded to the user's environment, they can be used by all Java-based Sage packages that need them. You had also mentioned adding an Ant spkg to Sage earlier. This is an interesting approach for dependency management, but if this route is taken there will need to be quite a few Java-based spkg packages created. Are we sure we want to bring Java-based packages into Sage in a big way? I know that Gentoo found it extremely challenging to get Java-based packages to work correctly with Gentoo. Here is an excerpt form a Gentoo Java manual: Bundled Dependencies One of the features of Java has always been compile once, run everywhere. A consequence of this is that Java developers traditionally bundle all library dependencies with their project's distribution. While this might be convenient for the end-user, it rapidly becomes problematic from a packager's point of view. For example, project A depends on C, and project B depends on C, and you have project A and B installed, then you'd have two copies of C installed to support it. And if there's new release of C with a bug or security fix , you would want both A and B to take advantage of it. Perhaps a better way to solve the jmol-src problem is to tell the builder to build the following jars on their own and then place them into the jmol jars directory before building jmon-src?: Acme.jar gnujaxp-onlysax.jar junit.jar vecmath1.2-1.14.jar ant-contrib.jar gnujaxp.jar netscape.jar commons-cli-1.0.jar itext-1.4.5.jar saxon.jar Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: basic java question
Robert wrote: Do you think it is okay to manually edit the various build scripts to make them build as desired and then just record what was edited in the SPKG.txt file? The route we have traditionally gone down is to place patch files in a patches directory and then apply them at compile time to whatever needs to be changed. Okay, I will do this then. Due to the circular nature of building ant, let us assume as a first task that users have a (recent) JDK + ant. Hopefully some of the dependancies can be mitigated if we avoid supporting really old version of java. Okay. If it looks like there are going to be several java-based spkg's in Sage, then I'd suggest making a java-deps package with the common ones, completely self-contained and build-able from source with the above. The jars would be placed in $SAGE_ROOT/local/java, and used/ copied from there to the appropriate places by the jmol (and other spkg) build scripts. For now then I will keep all dependencies inside the jmol-src spkg. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: basic java question
Robert wrote: There are several other dependencies that are provided as jar files that we'll need to build as well, so this is further from done than I had supposed. Here is a list of the jar files that come in the jmol tarball: Acme.jar gnujaxp-onlysax.jar junit.jar vecmath1.2-1.14.jar ant-contrib.jar gnujaxp.jar netscape.jar vecmath1.2-1.14.tar.gz commons-cli-1.0.jar itext-1.4.5.jar saxon.jar Here is what Gentoo lists as jmol's dependencies: COMMON_DEP= dev-java/commons-cli dev-java/itext sci-libs/jmol-acme sci-libs/vecmath-objectclub There is the following comment in the Gentoo ebuild script about netscape.jar: # We still have to use netscape.jar on amd64 until a nice way to include plugin.jar comes along. I had a hunch that the jaxp and saxon jars were included for older versions of the JDK that did not include these capabilities so I removed them and was able to achieve a successful build (I also removed junit.jar). Here is the reduced list of .jar files I was able to achieve a successful build with: Acme.jar commons-cli-1.0.jar netscape.jar ant-contrib.jar itext-1.4.5.jar vecmath1.2-1.14.jar Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: basic java question
Robert wrote: Here is the reduced list of .jar files I was able to achieve a successful build with: Acme.jar commons-cli-1.0.jar netscape.jar ant-contrib.jar itext-1.4.5.jar vecmath1.2-1.14.jar Excellent. Have you been able to build any of these? Perhaps we should have a dependencies directory at the top level of the spkg where we build all these, then copy the jars to the right place. The idea of a dependences directory sounds good. I have not tried building the support jars from source yet, but if you would like me to I can work on this. I think we can save also on build time by not building documentation and signed jars. Not building the documentation is easy to do because the code resides in its own target. However, the jar signing code is inside the same target that builds the jmol jars so it would require modifying the jmol build.xml file to bypass the jar signing. So, is it better to just let it sign the jar or to edit the jmol build.xml file so it bypasses the signing code? Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: basic java question
Robert Wrote: The idea of a dependences directory sounds good. I have not tried building the support jars from source yet, but if you would like me to I can work on this. That would be great. I built the support jars from source, but this process certainly is ugly. Here are the direct dependencies the support jars have: #ant-contrib. #apache commons-logging. #apache commons-lang. #bcmail -Bouncy Castle Crypto. #bcprov -Bouncy Castle Crypto #JUnit. JUnit can probably be removed if certain build scripts are edited, but then one is placed into the position of having to make the edits each time the dependencies are updated. I installed the above software on my system separate from the jmol spkg but if it is desired to build these dependencies from source too, then they will need to be checked for any dependencies they may have, and so on. Also, since a number of the newly-built jars are later versions than the existing jars, the jmol build.xml file needs to be edited to accommodate them. So how important is it to build the following jmol support jars from source vs. just using the binary versions that come with jmol?: Acme.jar commons-cli-1.0.jar netscape.jar ant-contrib.jar itext-1.4.5.jar vecmath1.2-1.14.jar Since the jmol project uses these binary jars, evidently they do not have very many people complaining about this :-) Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: basic java question
William wrote: I would very much like it if somebody would make a build-from-source version of the jmol package: http://sage.math.washington.edu/home/was/tmp/jmol-11.5.1.spkg See below. Any volunteers? I will give it a try. Are we assuming that the person installing the source-based jmol spkg has the JDK and the Ant build tool already installed? Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: basic java question
Robert wrote: I think it's safe to assume the JDK and ant, and eventually make an ant spkg if needed. (That's what I was planning on doing.) Okay, I will give this a try then and I hope to have something available within a few hours. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: basic java question
Robert wrote: Is there anything it doesn't do when you cd to the jmol directory and type ant? I think it should be a matter of adding this to the top of the spkg-install script, right? If ant is run immediately after unarchiving the jmol tarball, an error is generated because a keystore needs to be present for signing the applets. It took me a little while to figure out how to create a keystore but it is working now. I updated the SPKG.txt file to the new specification and I am making final adjustments to the spkg-install script. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: basic java question
I have jmol building/installing from source, but in the interest of saving time I am not going to go through the last step of making an actual spkg out of it because I have not done this before and it will probably take me some time for me to get it right. Here is a .zip file that contains the files needed to create a spkg: http://sage.math.washington.edu/home/tkosan/misc/jmol-11.5.2.spkg-src.zip Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Most Sage spkg's are out of date!
Michael.wrote: The documentation for each spkg can and will certainly be improved. We should stuff that information in the developer's guide (like the release manager guide I am currently writing, which will be added there at some point in time). I think that having guidelines like this which include Ondrej's package maintainers instructions and some ideas from Debian/Gentoo (like mandatory Change logs and project URLs in the spkgs) would be helpful for people like me who have very little package creation experience. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Describing Sage as a Mathematics Computing Environment
Tim wrote: Scientific Computing Platform? Alex wrote: I like mathematical/scientific computing system/platform/environment, with a very slight preference to mathematical over scientific and with preference to system or platform over environment since in my mind that restricts attention to the notebook, and Sage is more than that. and Marshall wrote: The phrase scientific computing is often interpreted in a fairly narrow sense, so I think Mathematics Computing Environment is better. Even that sounds too limited to me, although I am not sure what else to suggest. Comprehensive Computing Environment perhaps? What I am looking for is a way describe what Sage is to high school math teachers who have only ever used TI-83 level calculators. For this use I think it is important to have the word mathematics in the description because this is something they will instantly relate to. I like having the word computing in the description because it is a good way to start a discussion about the advantages of doing mathematics and computing together. Between environment, system, and platform, I am starting to lean towards system because most TI-83 users will probably not be able to grasp what a platform is the way a programmer understands it and environment is more restrictive than system. Mathematics Computing System sounds pretty good to me. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Most Sage spkg's are out of date!
Ondrej wrote: Nice thing about this is that there is no database, nothing. Just plain files, that can be fixed by hand. How would portage improve this? Portage is just editable text files too. I do not have any experience with Debian so it may also do the following things I describe below. If a Debian approach does things like this too, that would be great :-) Portage vs. spkg: When I look at the instructions for creating a spkg: http://www.sagemath.org/doc/html/prog/node24.html The first thing that catches my eye is (b) Put your files in that directory. So where do the files come from? I took a spkg at random (readline), extracted it, and tried to find out where to obtain its source code from. Here is all the documentation that the readline spkg contained: $ cat SPKG.txt Deleted some files from the doc directory from the standard distro, since it took tons of space; didn't delete anything else. I am not sure who last worked on readline because it does not say. If someone gave me the task of updating this spkg, I guess I would start googling to find out were to obtain the source code. In contrast to this, a portage package contains a script (called an ebuild) that automatically downloads the source code needed to build an application from wherever it lives on the Internet, checks the archive's integrity, unarchives it, applies patches, builds it, tests it, and installs it. Beyond this, all packages that the package depends on are checked to make sure they are present and if they are not, each one is installed first using the same mechanism. Here is the ebuild script for readline: readline-5.2_p7.ebuild # Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/sys-libs/readline/readline-5.2_p7.ebuild,v 1.9 2007/12/11 23:59:41 vapier Exp $ inherit eutils multilib toolchain-funcs flag-o-matic # Official patches # See ftp://ftp.cwru.edu/pub/bash/readline-5.1-patches/ PLEVEL=${PV##*_p} MY_PV=${PV/_p*} MY_P=${PN}-${MY_PV} DESCRIPTION=Another cute console display library HOMEPAGE=http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html; SRC_URI=mirror://gnu/readline/${MY_P}.tar.gz $(for ((i=1; i=PLEVEL; i++)); do printf 'ftp://ftp.cwru.edu/pub/bash/readline-%s-patches/readline%s-%03d\n' \ ${MY_PV} ${MY_PV/\.} ${i} printf 'mirror://gnu/bash/readline-%s-patches/readline%s-%03d\n' \ ${MY_PV} ${MY_PV/\.} ${i} done) LICENSE=GPL-2 SLOT=0 KEYWORDS=alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc ~sparc-fbsd x86 ~x86-fbsd IUSE= # We must be certain that we have a bash that is linked # to its internal readline, else we may get problems. RDEPEND==sys-libs/ncurses-5.2-r2 DEPEND=${RDEPEND} =app-shells/bash-2.05b-r2 S=${WORKDIR}/${MY_P} src_unpack() { unpack ${MY_P}.tar.gz cd ${S} # Official patches local i for ((i=1; i=PLEVEL; i++)); do epatch ${DISTDIR}/${PN}${MY_PV/\.}-$(printf '%03d' ${i}) done epatch ${FILESDIR}/${PN}-5.0-no_rpath.patch epatch ${FILESDIR}/${PN}-5.2-rlfe-build.patch #151174 epatch ${FILESDIR}/${PN}-5.1-rlfe-uclibc.patch epatch ${FILESDIR}/${PN}-5.1-fbsd-pic.patch ln -s ../.. examples/rlfe/readline # force ncurses linking #71420 sed -i -e 's:^SHLIB_LIBS=:SHLIB_LIBS=-lncurses:' support/shobj-conf || die sed } src_compile() { append-flags -D_GNU_SOURCE # the --libdir= is needed because if lib64 is a directory, it will default# to using that... even if CONF_LIBDIR isnt set or we're using a version # of portage without CONF_LIBDIR support. econf --with-curses --libdir=/usr/$(get_libdir) || die emake || die if ! tc-is-cross-compiler; then cd examples/rlfe econf || die emake || die make rlfe failed fi } src_install() { emake DESTDIR=${D} install || die dodir /$(get_libdir) mv ${D}/usr/$(get_libdir)/*.so* ${D}/$(get_libdir) chmod a+rx ${D}/$(get_libdir)/*.so* # Bug #4411 gen_usr_ldscript libreadline.so gen_usr_ldscript libhistory.so if ! tc-is-cross-compiler; then dobin examples/rlfe/rlfe || die fi dodoc CHANGELOG CHANGES README USAGE NEWS docinto ps dodoc doc/*.ps dohtml -r doc } pkg_preinst() { preserve_old_lib /$(get_libdir)/lib{history,readline}.so.4 #29865 } pkg_postinst() { preserve_old_lib_notify /$(get_libdir)/lib{history,readline}.so.4 } All ebuild scripts adhere to a well-defined specification (http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2chap=1) so a developer can look at any ebuild script in the portage tree and see the exact same format. For example, a short description of
[sage-devel] Describing Sage as a Mathematics Computing Environment
I am in the process of putting together some marketing materials for Sage and I need something more descriptive than just calling Sage math software. Since I started using Sage around a year ago, I have been trying to figure out how to categorize it. I discovered Sage through this Computer Algebra System (CAS) comparison table: http://en.wikipedia.org/wiki/Comparison_of_computer_algebra_systems but it has been suggested on the Sage lists to not describe Sage as simply a CAS because it is much more than this. The tutorial describes Sage as free, open-source math software, but I don't think that describing Sage as simply math software is adequate either. Here is how Wolfram Research describes Mathematica: Mathematica 6: The World's Most Powerful Global Computing Environment Mathematica is a complete technical computing environment that seamlessly integrates numeric and symbolic computations, interactive document capabilities, an advanced programming language, and powerful connectivity. They describe Mathematica as a Global Computing Environment which I think this is a more comprehensive description than CAS or just math software for what systems like this really are, but I don't think that this description will work very well for Sage because it does not have the word math in it. I think Wolfram can use this description because Mathematica does have the word math in it so that people who read the advertisement can infer that global means computing + mathematics. I really like the words computing and environment, though, so what about calling Sage a Mathematics Computing Environment? Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] GUI widgets in the notebook (was sage-2.9.2)
Harald wrote: Have you thought more generally about interactive cells? A widget included in the answer-cell, which assignes values to a local variable and then issues an update for reevaluation. I've just written feature request #1613 http://sagetrac.org/sage_trac/ticket/1613 ... On Dec 28, 7:56 am, Ted Kosan [EMAIL PROTECTED] wrote: html('applet id=mathrider code=org.mathrider.MathRider.class width=800 height=650 codebase=http://sage.math.washington.edu/home/tkosan/mathrider/; archive=mathrider.jar MAYSCRIPT/applet Hi, above code didn't work, but inserting it in Edit mode did the trick. Well, looks nice, but is just related, not really what i was thinking about. If I manage to put together an example of my idea I'll tell you. I looked into this and discovered that the reason the code did not work is because it had carriage returns placed into it by the email system :-) I think I know something of what you are thinking about. Here are a couple more applets you can try to see if I am getting closer to your vision (just remove all carriage returns except the one at the end before executing this code in a notebook cell): This applet demonstrates a bunch of GUI widgets that can be placed into the notebook: html('applet id=mathrider code=SwingSetApplet width=695 height=525 codebase=http://sage.math.washington.edu/home/tkosan/mathrider/SwingSet; archive=SwingSet.jar MAYSCRIPT/applet') And this one demonstrates dynamic 2D graphics that can be run in the notebook: html('applet id=mathrider code=Java2DemoApplet.class width=695 height=525 codebase=http://sage.math.washington.edu/home/tkosan/mathrider/Java2D/; archive=Java2Demo.jar MAYSCRIPT/applet') Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Most Sage spkg's are out of date!
William wrote: What should we do? Any ideas? People who work on Linux distributions, please speak up, except for saying don't bother with Sage, we already package everything above in Debian Since Gentoo is a meta Linux distribution (a distribution which is designed to build custom distributions) it contains the tools needed to automate package management and creation including: source code fetching, patching, dependencies, compiler configuration, package maintainer coordination, etc. It also has tools which automatically create CD and DVD images. It might be less effort overall to construct SAGE's package creation system and overall build system on top of something like Gentoo than to do it manually and coordinate everything with trac/wiki. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Most Sage spkg's are out of date!
Michael wrote: Well, if we were to limit ourselves to Linux systems that might be an option, but with the need to support OSX and Solaris [and in the futute Windows] I don't see this as something viable. Portage is nice, but it is the wrong tool for a cross platform toolchain. What we currently have is very KISS, and KISS works :) My understanding is that Portage can be used with OSX and Solaris: http://www.gentoo.org/proj/en/gentoo-alt/prefix/ What came to mind was to subset the Portage tree to make a Sage tree which only contains the software that Sage actually needs and then to copy and extend the Gentoo tools (which are mostly written in python) to serve the needs of Sage. Anyway, this seemed like an interesting possibility to explore if it was desired to automate the Sage build process at some point. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: sage-2.9.2
Harald wrote: Have you thought more generally about interactive cells? A widget included in the answer-cell, which assignes values to a local variable and then issues an update for reevaluation. I've just written feature request #1613 http://sagetrac.org/sage_trac/ticket/1613 I have been working on behavior that is related to this which uses applets. If you would like to see a partial demonstration of what I have so far, evaluate the following code in the topmost cell of a new worksheet: html('applet id=mathrider code=org.mathrider.MathRider.class width=800 height=650 codebase=http://sage.math.washington.edu/home/tkosan/mathrider/; archive=mathrider.jar MAYSCRIPT/applet The applet communicates with the server using JSON and it should be capable of dynamic gui-widget-driven evaluation and graphics updating when the SimpleJSON module is included in SAGE in 2.9.2: http://www.sagetrac.org/sage_trac/ticket/1510 Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: example of a Mathematica program from my lecture
William wrote: Ted, what functionality do you see as being most important for the scientific calculator target audience you have in your pie chart? I will reply to this question sometime later next week. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: example of a Mathematica program from my lecture
William wrote: MISSION STATEMENT: Provide as soon as possible a viable free open source alternative to Maple, Mathematica, Magma, and Matlab. When I read this mission statement, what doesn't come to mind is trying to convince people who are currently using these applications to switch to SAGE. My thought is that most users of these applications are perfectly happy with them. The way I view this mission statement is the same way the Ford Model T was a less expensive alternative to expensive American automobiles and the way the original Volkswagen People's car Beetle was a less expensive alternative to expensive German automobiles. Both of these automobiles were designed to allow the millions of people at that time who could not afford an automobile at all to finally afford one. The Beetle still holds the record for the highest production numbers for a single model, and the Model T holds second place. With this analogy, the M's will get you there in luxury but SAGE will get you there too. What I like about SAGE is it has the potential to allow orders of magnitude more people to get there than has been possible before. Here is a pie chart I created a while ago which shows this concept graphically: http://sage.math.washington.edu/home/tkosan/misc/sage_potential_target_audience.png It is my opinion that most of the people in the purple part of the pie chart will be notebook users. I have some experience with helping to maintain a small university computer network and I also have experience dealing with people who maintain high school networks. To me, the idea installing SAGE on individual lab machines is a maintenance nightmare, even if SAGE was windows-based and installed with the touch of a button. SAGE is huge, it takes a long time to install on a computer, and its upgrade cycle is so short that the IT people maintaining the lab machines will grow to dislike it immensely for having to install frequent updates. For this reason, and also those William stated about wanting to have all of one's worksheets available from anywhere, the only way I can see to provide SAGE to most of the people in the purple part of the chart is as a web service. What I like about the idea of having a windows port of SAGE is not to install it on clients (although many people still will, which is good too), but that windows-oriented IT people will be able to install it on their servers easier. I think the greatest percentage of users in the purple part of the chart are either high school students or college students. Here are my current thoughts on 2 strategies for making SAGE available to students. 1) US high schools (non-US high schools may be different). Problem: Getting the IT department in most school districts to install any kind of software is an exercise in frustration. Possible solution: Each school district has a Career Technology Center (these use to be called vocational schools) and most CTCs have an IT program that teaches students how to set up servers. The easiest way to make SAGE available to a whole school district is to get the district's IT class to set one up and maintain it. These IT classes have extra servers laying around and so finding one to devote to SAGE should be easy. 2) Universities. Problem: Getting the IT departments at most universities to install any kind of software is an exercise in frustration Possible solution: Have SAGE hosted at websites that are off campus. All mathematics applications need to be paid for one way or another, but finding funds at a university to purchase software (or a server to run it on) is often difficult. Even if funds are available, the red tape involved is often daunting. One way to pay for SAGE as a web service is to create a small pdf-format SAGE beginner's guide that SAGE web service providers can sell for perhaps $10. A teacher who wants to use SAGE in a class simply includes a given service provider's guide in the list of books that are required for the class. This gives most of the responsibility of whether or not to use SAGE in a class in the hands of the teacher instead of the IT department. Anyway, before SAGE there use to be thousands of dollars, a painful commercial license, and a painful installation process away. With SAGE as a web service, however, there has been reduced to the cost of a meal and 30 seconds away via a web browser. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: [sage-newbie] is there any way to copy jsfonts to word ?
Jason wrote: What about writing an openoffice function that converts an expression to openoffice equation format? For example, the above output is: {cos(1)} over {sin(1)} - {(sin(1)^2 + cos(1)^2) cdot (x-1)} over {sin(1)^2} + {(cos(1) cdot sin(1)^2 + cos(1)^3) cdot ((x-1)^2)} over {sin(1)^3} (just paste that into the equation editor of openoffice and the equation pops up in your document). The syntax is looser than latex, but I think it's probably doable and probably just a modification of the latex function. While it might be nice to insist on everyone downloading a latex macro and learning a bit of latex, having an openoffice export function makes Sage that much more accessible. I am in the process of writing educational materials which show high school students how to use SAGE with OpenOffice to create technical documents and an OpenOffice export function would be very helpful for this. Does anyone have a feel for how difficult it would be to write a function like this? Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Adding JSON capabilities to SAGE
William wrote If further testing is successful, I would like to have simpleJSON included in SAGE. What procedure do I need to follow in order to make an official software addition request? (1) Convince us it's a good idea. You basically just did that. (2) Create a trac ticket and then to attach some code that we can try it out. I have created the following trac ticket which contains an enhancement request for adding SimpleJSON to SAGE: http://www.sagetrac.org/sage_trac/ticket/1510 The ticket includes instructions which describe how to send JSON-based 2D graphics information to a notebook applet for interactive viewing. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: [sage-newbie] is there any way to copy jsfonts to word ?
William wrote: What needs to be done is to write in Python a latex -- open office format converter, probably with a bunch of regexp's, etc. How hard is that? Wouldn't regular expressions be inadequate for deciphering nested expressions like the following?: sage: a = cos(cos(cos(x))) sage: a cos(cos(cos(x))) sage: latex(a) \cos \left( \cos \left( \cos \left( x \right) \right) \right) For nested expressions, my understanding is that one would need to first generate something line an Abstract Syntax Tree using a latex lexical analyzer and parser and then process the tree in order to generate equivalent openoffice code. My background is not in Computer Science, though, so I may be wrong about this. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: [sage-newbie] is there any way to copy jsfonts to word ?
Ted wrote: Wouldn't regular expressions be inadequate for deciphering nested expressions like the following?: sage: a = cos(cos(cos(x))) sage: a cos(cos(cos(x))) sage: latex(a) \cos \left( \cos \left( \cos \left( x \right) \right) \right) For nested expressions, my understanding is that one would need to first generate something line an Abstract Syntax Tree using a latex lexical analyzer and parser and then process the tree in order to generate equivalent openoffice code. After studying this further, it looks like it is just a straightforward translation from latex to OpenOffice math format. I have been searching the net for code that does this already but I have not found anything yet. If the process is this simple, I wonder why there aren't a bunch of people who have done it already? Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: DVDs and Posters
Jason wrote: I think it's a perfect idea to have something to give people. Instead of giving people something physical at the show, another idea that comes to mind is to give out tickets that have a piece of information on them. In the next version of SAGE that is released after the show, include a function that accepts the information from the ticket and then prints another piece of information. This second piece of information is then submitted to the SAGE project and on a specified date the winner will be announced. A variation on this idea would involve solving a mathematical puzzle with SAGE in addition to entering the ticket information. Anyway, I would be willing to chip in $20 or so towards the purchase of a nice prize that would appeal to mathematicians. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Demo of 3D applets working in the notebook
Fernando wrote: I certainly wasn't trying to dissuade Ted from 'scratching his itch', I hope it didn't come across that way. Rather my suggestion was for what *I* see as possibly better tools to scratch said itch. I actually happen to *really* like Ted's idea of a local client that is a partner to the browser-based notebook, since I think there's a good role for both. You didn't come across that way :-) Per your suggestion, I looked at Enthought and it is very compelling. I did not know it existed before you mentioned it and I look forward to experimenting with it. One reason that I am currently working with JEdit/SAGEIDE is that I am interested in plugging SAGE into Wonderland (https://wonderland.dev.java.net/) and the code I develop for JEdit/SAGEIDE can be directly used for this. As part of this process, I am interested in helping to figure out a good protocol that can be used by any non-browser clients to communicate with SAGE. I currently have SAGEIDE communicating with SAGE using pickeled python objects and I have the Calculator applet communicating with SAGE using JSON. Between the two approaches, I am liking the JSON approach better because it is very language-neutral. What kind of communications protocol do you see being used between SAGE and Enthought? Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Adding JSON capabilities to SAGE
I have been experimenting with techniques for allowing Java applets to communicate with the SAGE server and the technique I like the best so far is to use JSON objects (http://json.org). I am currently using simpleJSON (http://undefined.org/python/#simplejson) on the SAGE server and I have it successfully communicating with an applet. What I like about JSON is that it is a language-neutral way to send data through a network that does not have as high an overhead as XML. Also, most popular computer languages have at least one open source JSON implementation available which makes the creation of SAGE clients in these languages fairly easy. If further testing is successful, I would like to have simpleJSON included in SAGE. What procedure do I need to follow in order to make an official software addition request? Thanks, Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Scientific calculator in the notebook
I have been working on ways to make SAGE as easy to use as possible for beginners because I am interested in encouraging high school students to use SAGE. The approach I have been working on recently is to embed a scientific calculator into the notebook that SAGE newbies should be able to start using immediately with zero SAGE training. The calculator is still at an early stage of development, but there is enough running that people can start playing with it. Here is a screenshot: http://sage.math.washington.edu/home/tkosan/misc/mathrider_applet.png And if people want to play with it, just open a worksheet in FireFox and evaluate the following text in a cell: html('applet id=mathrider code=org.mathrider.MathRider.class width=800 height=650 codebase=http://sage.math.washington.edu/home/tkosan/mathrider/; archive=mathrider.jar MAYSCRIPT/applet') At this point it only works in FireFox but hopefully it will eventually work in IE too. The Calculator, 2D plotter, and 3D plotter are not talking to the SAGE server yet, but the text areas in the Cell tab are. Type something simple like m = 7 into the Send text area and press shiftenter. The code will be sent to the SAGE server for evaluation and a response will be printed in the Receive text are. If one then goes to an empty cell in the notebook and enters print m, 7 will be printed. At this point I am still trying to get my mind around the details of the communications between the notebook and the server and I will probably be asking questions about the communications protocol in the near future. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Let's involve SAGE in the Google Highly Open Participation Contest
Timothy wrote: Just 8/9 minutes after sending my letter to Python GHOP two mentors wrote back that they would love to have Sage tickets. In fact Titus Brown says he has heard good things about Sage. http://groups.google.com/group/ghop-python/browse_thread/thread/247ff27b799d4c39 Wow, that was quick! It looks like your 11 hour investment of time paid off :-) I will try to send you some tickets this weekend which are related to adding problem solving examples to the Newbies book. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Scientific calculator in the notebook
Carl wrote: If the applet uses java.net.HTTPUrlConnection to talk to the server from Java, it doesn't have to log in separately... the cookies from the browser's login are automatically used by the Java communications. At least, it works for me, and this document indicates that it should be portable (unless we care about Netscape 4 :): http://java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/cookie_support.html I also experimented with using the AsyncHttpRequest class: http://swinglabs.org/hudson/job/SwingX-WS%20Continuous%20Build/javadoc/org/jdesktop/http/async/AsyncHttpRequest.html Currently, however, the applet is being served from a different server than the SAGE server it is communicating with. Doesn't this prevent it from contacting the SAGE server directly unless it is signed? Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Scientific calculator in the notebook
Jason wrote: It looks like you're using the trick of asking Sage to evaluate some text using cell id -1. This is a hack right now, as cell ids are supposed to be nonnegative numbers. Currently, though, the output directories are created and the right .py file is created and sent to SAGE. Problems can crop up if you happen to have two requests going to Sage simultaneously (one request overwrites the other since they're both for cell -1). Also, Sage complains that cell -1 wasn't defined before sending the text to it. I think there may be other places in the code where the id is assumed to be nonnegative. This is where I need to get my mind around the notebook code better. What I am doing now is the following: 1) When the applet launches, it injects an applet_callback function into the browser: win = JSObject.getWindow(this); win.eval(function applet_callback(status, response_text) { + document.mathrider.response( status, response_text );+ } ); 2) When the user enters code into the Send text area, the applet calls the async_request function and gives the applet_callback function as the callback (I have been experimenting with different values for newcell and id to see what effect they have): String code = sendTextArea.getText(); String encodedCode = URLEncoder.encode(code,UTF8); win.eval(async_request(worksheet_command('eval'), applet_callback, 'newcell=1id=11input=+ encodedCode +');); 3) The response method in the applet is called by the applet_callback function to handle the response: public void response( String status, String response_text ) { receiveTextArea.append(\nStatus: + status + Response: + response_text + \n); }//end method. Eventually, I see different parts of the applet communicating with the server concurrently. To enable multiple concurrent submissions to the server, I was thinking about maybe having response objects in the applet handle the replies. In light of this approach, I am going to have to study your enhancement proposals further to better understand how they would work. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Scientific calculator in the notebook
William wrote: By the way, do you have any thoughts about technical communication issues with the server when using Java versus using Javascript to implement the scientific calculator. I think Ted's calculator client is a Java applet, which might impact how it would communicate with the Sage server. The applet uses JSObject to access the javascript environment of the FireFox browser and it relies on the javascript notebook code in the browser for all communications with the SAGE server: http://java.sun.com/products/plugin/1.3/docs/jsobject.html This approach worked well for eliminating the need for the applet to log into the SAGE server and it automatically sets it inside the context of an opened worksheet. JSObject also enables the applet to do things with the worksheet like bind a text area to a cell for enhanced editing capabilities (like syntax highlighting, search and replace, etc.). It can also inject javascript code into the browser as needed. On the javascript side, it can call the applet's public methods. We should really really have a collection of simple example java applets that communicate with a sage server, to explain how that can be done. As soon as we come up with a solid applet communications technique, I can help with this. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Scientific calculator in the notebook
Nils wrote: Scientific calculator programs already abound. What I like about a SAGE-based calculator is that it can be advertised as being among the most powerful scientific calculators in the world. People can be told that this calculator is like the wardrobe in the Narnia series. When people use this calculator, its like falling into a mathematical Narnia that is as rich and interesting as Narnia itself. The other-worldly people who built the calculator (SAGE) can be thought of as living inside of the calculator and anyone who uses SAGE can enter that world and communicate with the world's creators :-) As a gentle introduction to sage, you might want to consider including a side- window where the sage commands that effect the same computation scroll by. That way, one could use it as a scientific calculator-to-sage translator and people might be able to pick up sage syntax while typing in on a familiar calculator. This is an excellent idea :-) My goal with this specific calculator is to change it into something that progressively exposes SAGE functionality until the user has evolved to the point of being an actual SAGE user. For example, I would like to change the memory functionality so that the results of calculations are saved in SAGE variables. I would also like to allow the user to bind SAGE scripts to the unused buttons of the calculator. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Please review letter to Python GHOP
Timothy wrote: I have spent about 11 hours working on a letter to the Project, Google Highly Open Participation group to get Sage involved in that contest. William and Ondrej were very helpful and reviewed several drafts. Please review, ask questions and give comments? Thank you! I have included some editing thoughts below with deletions in red and additions in green. I hope that the rich text mode worked and if not, let me know and I will send you my suggestions in a separate document. Ted Dear Python's Project for the Google Highly Open Participation group, I am a 17 year old home schooled high school student in Seattle, Washington and contributor to a Python based open source mathematics software project called Sage (http://sagemath.org). Onrej Certik, creator of SymPy (http://sympy.org), suggested that the Sage project participate in this contest as a Python project. I think that is a wonderful idea because in the Sage project there are a lot of many interesting and accessible problems to work on and many numerous ways for pre- university students to contribute time. I would like to get Sage involved in the contest by introducing Sage, planning Sage involvement, and writing and supervising tickets. I do not want to be a contestant. Sage is a massive extension to Python for all kinds of mathematical computing. The goal of the Sage project is to develop an open source alternative to the math software Maple, Mathematica, MATLAB, and Magma. To achieve this goal in a reasonable about amount of time, the Sage developers did not reinvent the wheel. Instead, the Sage project has produced a system with a wide range of functionality in almost less thanthree years by maintaining a distribution of the best available math software and writing a Python library that unifies the software and libraries and eliminates much of the complexity of many of these packages for the end users. Many people first started seriously using Python because of Sage. At every introductory talk on Sage, the advantages to using Python over other languages and its popularity are well emphasized. Thanks in great part to Python, Sage is an excellent system for teaching students about both math and computer science. Sage has a web environment called the Sage Notebook, and two free public notebook servers are available at http://sagenb.com and http://sagenb.org. A Sage worksheet is similar to a Mathematica notebook and, although it lacks many of the neat features of Crunchy, it does provide a fairly robust notebook system. Some of the features of it are Sage's features include user accounts, worksheet sharing, tab completion, infinite loop survival, two and three dimensional graphics, interactive documentation, and public notebook security. The Sage Notebook is also an excellent platform for creating mathematical art. A good example of that is a worksheet called New Found Spin at https://sage.math.washington.edu:8102/home/pub/11/. Although most of the focus of Sage development is on aiding cutting edge mathematical research, Sage has good support for elementary algebra, geometry, trigonometry, and calculus. Also, some of Sage's upper level mathematics functionality is accessible to many high school and college students. For example, in the summer of 2006, (under the direction of William Stein, lead developer of Sage), 24 talented high school students used Sage via the notebook in a computer lab to explore the congruent number problem and in the process were introducded introduced to the Birch and Swinnerton-Dyer conjecture (http://wstein.org/simuw06/). Then, in the next summer, another 24 students used Sage to comprehend Riemann's Hypothesis (http://wstein.org/simuw/). I think that there lots of are many ways that pre-university students can contribute to Sage. Timothy Clemans --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Scientific calculator in the notebook
William wrote: Finally, it would be really cool to have similar scientific calculators, but for special subject areas, e.g., graph theory, combinatorics, elliptic curves, etc. These would rock. I have a couple of thoughts related to this. 1) Not only can the applet inject javascript code into the browser, but it can also inject SAGE code into a worksheet. When a given applet launches, it can automatically inject code into the SAGE environment on the server which can be used by the user to interact with the applet. For example, a graphing applet might inject an object called cgraph into the worksheet and then the user might type the following into a cell to view the graph on the applet: cgraph(x^2, 0, 10) cgraph will know how to communicate with the applet it came from and each applet can even have its own unique protocol using this proxy object technique With approach, the applet code will be very loosely coupled with the SAGE server code and applet development can occur without having to coordinate with the SAGE developers very much. 2) It should also be possible for the SAGE server to inject a data file into the applet that tells the applet what kind of GUI to create. Also, JavaSE comes with a javascript interpreter. Therefore, javascript can be injected into the applet from the server so people can create their own applets using Javascript and then the scripts can be saved in the notebook and used as needed. This might make it easier for people to create their own custom calculators and other applets. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Java3D usable in any form?
Robert wrote: Actually, that is the point of gluegen-rt.jar--it lets one ship native code (so/dll/dylib) libraries within the jars themselves, and why there has to be singed code involved. Does the 4x4 applet still work for you if you uninstall java3d? Given that people already have to install java and fonts, I don't think that's too much of a penalty. Java is already installed on many machines, and it still works (though not as pretty) without the fonts. If the user is able to install java3d it would make things nicer, but often they can't (e.g. students using computer labs). Of course, the difficulty is that the versions of Java that people have installed varies and this causes support headaches :-) I am still thinking that a less error-prone way to give people SAGE/Java3D capabilities it to take your 3D applet, turn it into an application, and then bundle it with its own customized copy of Java SE which has been preloaded with the Java3D libraries. This will work for Windows, Linux, and Solaris. For the Mac, an installer can be made, or just user-friendly instructions created, on how to install Java3D. Companies have been using the bundled JVM solution to solve problems like this for years with excellent results. I am also thinking that a good way to use the Java3D application is in cooperation with the notebook by having it log into the server separately from the notebook. People can create 3D objects in the notebook, view them interactively in the Java3D application, and then send frozen images of the 3D scene back to the server for display in the notebook. This approach will require a protocol to be created that graphic clients can use to communicate with the sage server. I have been studying the possibility of using a protocol based on JSON because Java SE includes a Javascript engine, applets that are embedded into the notebook (like JMathPlot) can interact with the firefox browser's javascript environment using JSObject, and JSON is general enough to be used by any language, which opens the door for a wide variety of SAGE clients to be created. I am thinking that giving people the capability to create their own custom SAGE clients will probably be important going forward. As for student labs, people will just have to go through the same software installation request procedure that all the other software installed in the lab had to go through :-) Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Java3D usable in any form?
Robert wrote: I don't know that it would be any harder for the Mac--usually there's less of a need for an actual installer. However, in practice Java is fairly compatible platform-to-platform, and most computers already have it. My thought here is that I am unsure if Apple allows their Java implementation to be freely distributed. Also, how would one fire up the app from the notebook (especially if the server is remote)? I would treat the app as a normal app and just have the user launch it using the normal launch mechanism. Also, instead of launching the app from the notebook, one could launch the notebook from the app. I think that's one of the benefits of Sage--one can sit down at virtually any computer with a browser and start using it. I agree with this and I am not advocating that the notebook be abandoned. I am thinking, though, that there are definitely limits to what a browser-based application is capable of. The Mathematica player is an extremely rich application and so is texmacs. Just like the notebook is a step up from using SAGE from a shell, so too would a full-blown SAGE GUI application be a step up from the notebook. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Java3D usable in any form?
Justin wrote: My thought here is that I am unsure if Apple allows their Java implementation to be freely distributed. Why do you want to do that? Doesn't Java come with? If you want to use a specific version with your app, that might present problems of its own (bringing a 10.5 Java onto a 10.4 platform, ...). The problem is that JavaSE does not come with Java3D preinstalled. Even if one can get Java3D installed on a user's machine, the versions of Java3D will become out of sync over time, eventually causing support headaches. Another problem is that when the user upgrades their JavaSE installation, the new version will not have Java3D installed in it and the first thing people are going to do is to submit SAGE crash reports to the support list :-) My solution to this problem is to simply bundle a copy of the desired version of JavaSE, with the desired version of Java3D already installed in it, with the application. The app is then tested against this configuration and known to work with it. From what I've seen, having users simply download one archive file, unzip it, and execute a launch script is the simplest most trouble-free way to distribute a large Java application to users :-) Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Demo of 3D applets working in the notebook
MH wrote I got a message: Loading Java Applet Failed. Its exciting to see some work in this direction; interactive 3D objects are the final hurdle for sage, I think. If you click on the box where the applet would have been displayed it will bring up the Java console and it will contain the exception that caused the Applet not to load. My guess, however, is that you have an older version of Java installed and that you just need to update to the latest version. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Demo of 3D applets working in the notebook
William wrote: I have to say though, having tried the Java3d based 3d graphics that Robert Bradshaw wrote for Sage, that's going to be the way to go. It's incredibly robust and FAST even for huge complicated scenes. I mean, that library really feels professional / state of the art / like something people could write serious video games in and math graphics. I just don't see that for any other graphics-in-the-notebook option I've seen so far. My money's on Java3d. I have been studying this issue for a few months now and here is my current thinking on it. I agree that Java3D with SAGE would be an excellent combination, but I don't think we are going to get Java3D to run satisfactorily in a browser any time soon without it being a source of endless support headaches. This may change if Sun ever decides to bundle Java3D with JavaSE. In the mean time, this is one reason why I have been working on the SAGEIDE alternative to the browser-based notebook. SAGEIDE currently has Java3D running in it with few problems and here is a list of its other benefits: - Complete customization of the IDE using Python (via Jython). Extremely rich and powerful client-side 2D and 3D GUI extensions and applications can be created on top of SAGEIDE using Python syntax. - Syntax highlighting for SAGE source code along with an easy way to add syntax highlighting for any package that SAGE uses. - Can save code and objects on the client. - Contains all of the functionality of a typical programmer's text editor. - Has a plugin architecture built into it. The plugins can be written in a number of languages (including Jython) and they are easily installable from the web. - Is powerful enough to match anything the Mathematica notebook can do if people desire this level of functionality. Here is a current screenshot of SAGEIDE running a Java3D demo program: http://sage.math.washington.edu/home/tkosan/sageide/sageide_with_java3d.png And if people would like to try SAGEIDE with Java3D for themselves, it can be obtained here (Windows and Linux only for now): http://sage.math.washington.edu/home/tkosan/sageide Just follow the instructions in the README file. As for interactive graphics in the browser notebook, I think that the JMathPlot applet provides fairly nice capabilities that a number of users would probably like to use if they were available. JMathPlot is small, it doesn't depend on OpenGL being properly installed on the client, and it works right now. The main thing that is needed at this point is a solid SAGE/Client communications mechanism for rich graphic clients like SAGEIDE and the JMathPlot applet. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Tutorial to translate in french
Philippe wrote: as I said last week, I am willing to give a little help for the usage of SAGE in french educational system. One thing that showed to be important was the availability of a tutorial in french. I would appreciate some experts on that list (;-) to point me to an existing tutorial in English, to start with. Maybe there is an official tutorial. My public is not composed of researchers but of students, so i don't need stuff to explore Elliptic curves and Taniyama-Weil ;-) You may try looking at the SAGE Programming For Newbies book: http://sage.math.washington.edu/home/tkosan/newbies_book It was written for people who are absolute SAGE beginners and there are other educators who have started to adapt it to their educational needs. The book is written in OpenOffice and I think there is a French version of OpenOffice available (http://fr.openoffice.org). If the content meets your needs, it should be relatively easy to translate the book into French. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Demo of 3D applets working in the notebook
Here is a link to a demo of two 3D applets working inside of the notebook that I put together over the weekend: https://206.21.94.60:9000/home/pub/15/ When it asks for a certificate, just click OK, wait a little bit while the applets load, then place your mouse on a plot and drag. After you play with the applets for a bit, try creating a bunch more of them by pasting html(a.html_tag()) in cells and executing them. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: interactive widgets in the notebook
Jason wrote: I really like the technique of using Jython in the client because its like having a subset of SAGE on the client. Users can easily create GUI widgets with just a few lines of SAGE code. Jython can be included in an applet too. This is interesting. Can you expand on how you see Jython being used in the client (or how you already are using it), with maybe some hypothetical examples of creating GUI widgets or other things? After further research I discovered that a Jython Applet loaded from a remote server is unable to execute code entered by the user because of security restrictions. I am going to have to study this issue further. As for examples of how to use GUI widgets in the client, the 3D Applet demo I posted a little bit ago shows some of what I am thinking about. Perhaps the user wants a slider for changing the zoom level instead of a drawn rectangle. They could create a slider, hook it to the zoom object, and add the slider to the GUI with a few lines of code. Another applet I have been thinking about is a SAGE dashboard that would show in realtime all the objects a user has created in the current worksheet, all symbolic variables, the state of all executing cells, etc. The user could then add custom widgets and logic to this applet to suit their needs. Anyway, I think coming up with concrete examples will be easier after the communications mechanism between applets and the SAGE server has been determined. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: interactive widgets in the notebook
Jason wrote: Yeah! It works!! :) I've put a very alpha patch (against 2.8.13) up on trac #1322 that implements the following: I got it to work and I must admit its pretty cool! I'm going to have to think about the possibilities you have opened up with this approach. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Fwd: the E8 story
William wrote: You're right -- it would have been vastly better if it had said something like A SageOpenSourceMathSoftware Developer... In fact, that slashdot article generated very very few hits on sagemath.org. I think that A SageMath developer would have been just fine, especially since people can just type sagemath.org into a browser and go directly to the project website. Just out of curiosity, what would be involved in a name change from Sage to something like SageMath? Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: interactive widgets in the notebook
Robert wrote: Never seen that before, it looks pretty nice, and is BSD licensed. We looked around a lot about a year ago for open-source 3d applets but I never saw this. Can it graph arbitrary 3d shapes/polygons? It doesn't feel OpenGL accelerated, but I could be wrong. I think it can plot arbitrary 3d shapes and polygons but it does not appear to be OpenGL accelerated. I really like the technique of using Jython in the client because its like having a subset of SAGE on the client. Users can easily create GUI widgets with just a few lines of SAGE code. Jython can be included in an applet too. That is a good point. How big is Jython. The size of the jython.jar file is 1204789 bytes. I wouldn't be surprised if extension types were incompatible with Jython, which would rule out almost all Sage objects. Correct, C-based extension types do not work with Jython. There is virtually no sage/client communication in this code. Sage spits out a 3d object (in a standard .obj file) and the applet reads it in via a URL. This gives me the idea of making pickled Python objects available to the client via a URL. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: interactive widgets in the notebook
Jason wrote: I've been thinking about how to implement interactive widgets in the notebook. Things like sliders, buttons, etc., that allow interactivity like Maplets in Maple or the Manipulate command in Mathematica 6. What do you think about adding capabilities like the following to SAGE?: http://www.javaview.de/ Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: interactive widgets in the notebook
Jason wrote: I think something like this was the goal of the work done by Robert with the 3d graph viewer in Java that is (or at least, was) included in Sage. I think JavaView was looked at before and had some licensing restrictions (so couldn't be included in Sage), but others more knowledgeable than me can give better responses. I wasn't thinking about using JavaView (due to its licensing issues). I was interested in the level of excellence it was able to achieve with the approach it took. I can't help but think that programs like JavaView have set the benchmark for interactive mathematics graphics capabilities so high that approaches using JavaScript in a browser are unable to even come close to them. So, if the goal is to add excellent interactive GUI widget capabilities to SAGE, why not use a technology that has been proven to work extremely well with this type of application? :-) Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: interactive widgets in the notebook
Robert wrote: That is the (lofty!) goal. Take a look at sage/plot/plot3d/* to see a start, though much remains to be done. (I am speaking in terms of emulating JavaView, not the interactive stuff, though it could eventually go there too.) As a step towards something like JavaView, I have been experimenting with JMathTools: http://jmathtools.sourceforge.net It is not as sophisticated as JavaView, but it has fairly nice 2D and 3D viewing capabilities and the 3D is lighter weight than Java3D. I have JMathTools running in SAGEIDE and I have SAGEIDE communicating with SAGE using text and pickled objects (via Jython). I am not able to send SAGE types to the client at this point (only Python types) but perhaps in the future parts of SAGE can be loaded into the client's Jython environment to enable this. I really like the technique of using Jython in the client because its like having a subset of SAGE on the client. Users can easily create GUI widgets with just a few lines of SAGE code. Jython can be included in an applet too. Anyway, I have studied sage/plot/plot3d/* in the past but now I think I will study it again to see what kind of SAGE/client communications mechanism it uses. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Notebook enhancements
coding sprint sometime soon. What are people's top 3 requests for things to be implemented. I think mine are: (1) a way to empty the trash. :-) (2) sagenb.org is I *think* slow because there are over 1000 registered users, and somehow having a lot of user accounts seems to seriously impact performance. sagenb.com is still snappy in comparison. Fix this. (3) Add support for editing the html between cells without having to switch to edit mode. E.g., clicking to the left on a thin vertical line would change the html between cells into a plain text edit box, you edit, and click the (1) Make the top toolbar collapsible so that it does not take up valuable worksheet area unless it is needed. High schools often have older computers which are run at lower resolutions and they need all the worksheet area they can get. (2) Place a parameter in the notebook() function which allows the advertising area at the top of the notebook to be extended. For example, I would like the ability to have the SAGE notebook my university makes available to local high schools say something like SAGE Notebook: Sponsored by Shawnee State University. The additional text should also be capable of being a web link. (3) Allow worksheets to be unpublished. Ted --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---