Re: [sage-devel] Giving Sage AI-based step-by-step equation solving abilities

2016-10-13 Thread Ted Kosan
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

2016-10-12 Thread Ted Kosan
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, rjf  wrote:
> 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

2016-10-12 Thread Ted Kosan
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

2016-10-12 Thread Ted Kosan
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

2016-10-12 Thread Ted Kosan
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

2016-10-12 Thread Ted Kosan
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

2016-10-11 Thread Ted Kosan
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

2016-10-10 Thread Ted Kosan
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

2016-10-09 Thread Ted Kosan
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

2016-10-09 Thread Ted Kosan
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

2011-08-12 Thread Ted Kosan
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).

2011-08-12 Thread Ted Kosan
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

2010-01-31 Thread Ted Kosan
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

2008-02-22 Thread Ted Kosan

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

2008-02-21 Thread Ted Kosan

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

2008-02-21 Thread Ted Kosan

  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

2008-02-21 Thread Ted Kosan

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.

2008-02-16 Thread Ted Kosan

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

2008-01-30 Thread Ted Kosan

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

2008-01-23 Thread Ted Kosan

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

2008-01-22 Thread Ted Kosan

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

2008-01-22 Thread Ted Kosan

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

2008-01-22 Thread Ted Kosan

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

2008-01-21 Thread Ted Kosan

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

2008-01-21 Thread Ted Kosan

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

2008-01-21 Thread Ted Kosan

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

2008-01-21 Thread Ted Kosan

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

2008-01-18 Thread Ted Kosan

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

2008-01-17 Thread Ted Kosan

  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

2008-01-11 Thread Ted Kosan

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

2008-01-11 Thread Ted Kosan

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

2008-01-10 Thread Ted Kosan

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

2008-01-10 Thread Ted Kosan

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

2008-01-09 Thread Ted Kosan

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

2008-01-09 Thread Ted Kosan

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

2008-01-09 Thread Ted Kosan

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

2008-01-09 Thread Ted Kosan

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

2008-01-09 Thread Ted Kosan

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

2008-01-09 Thread Ted Kosan

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

2008-01-09 Thread Ted Kosan

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

2008-01-09 Thread Ted Kosan

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

2008-01-08 Thread Ted Kosan

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

2008-01-08 Thread Ted Kosan

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

2008-01-08 Thread Ted Kosan

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

2008-01-08 Thread Ted Kosan

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

2008-01-08 Thread Ted Kosan

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

2008-01-07 Thread Ted Kosan

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

2008-01-06 Thread Ted Kosan

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

2008-01-06 Thread Ted Kosan

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

2008-01-06 Thread Ted Kosan

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

2008-01-05 Thread Ted Kosan

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

2008-01-04 Thread Ted Kosan

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

2008-01-04 Thread Ted Kosan

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

2008-01-03 Thread Ted Kosan

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

2008-01-03 Thread Ted Kosan

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

2008-01-03 Thread Ted Kosan

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

2008-01-02 Thread Ted Kosan

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

2008-01-02 Thread Ted Kosan

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

2008-01-02 Thread Ted Kosan

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

2008-01-02 Thread Ted Kosan

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!

2007-12-31 Thread Ted Kosan

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

2007-12-30 Thread Ted Kosan

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!

2007-12-30 Thread Ted Kosan
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

2007-12-29 Thread Ted Kosan

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)

2007-12-28 Thread Ted Kosan

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!

2007-12-28 Thread Ted Kosan

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!

2007-12-28 Thread Ted Kosan

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

2007-12-27 Thread Ted Kosan

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

2007-12-23 Thread Ted Kosan

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

2007-12-21 Thread Ted Kosan

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 ?

2007-12-14 Thread Ted Kosan

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

2007-12-14 Thread Ted Kosan

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 ?

2007-12-14 Thread Ted Kosan

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 ?

2007-12-14 Thread Ted Kosan

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

2007-12-14 Thread Ted Kosan

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

2007-12-11 Thread Ted Kosan

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

2007-12-10 Thread Ted Kosan

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

2007-12-07 Thread Ted Kosan

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

2007-12-07 Thread Ted Kosan

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

2007-12-07 Thread Ted Kosan

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

2007-12-07 Thread Ted Kosan

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

2007-12-07 Thread Ted Kosan

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

2007-12-07 Thread Ted Kosan

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

2007-12-07 Thread Ted Kosan
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

2007-12-07 Thread Ted Kosan

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?

2007-12-04 Thread Ted Kosan

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?

2007-12-04 Thread Ted Kosan

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?

2007-12-04 Thread Ted Kosan

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

2007-12-03 Thread Ted Kosan

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

2007-12-03 Thread Ted Kosan

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

2007-12-02 Thread Ted Kosan

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

2007-12-02 Thread Ted Kosan

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

2007-12-02 Thread Ted Kosan

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

2007-12-01 Thread Ted Kosan

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

2007-11-30 Thread Ted Kosan

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

2007-11-30 Thread Ted Kosan

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

2007-11-29 Thread Ted Kosan

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

2007-11-29 Thread Ted Kosan

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

2007-11-29 Thread Ted Kosan

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

2007-11-28 Thread Ted Kosan

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



  1   2   >