On Sun, May 25, 2008 at 4:50 AM, Ondrej Certik <[EMAIL PROTECTED]> wrote: > >>> Thanks very much for your email. I just tried Knoboo with sympy and it >>> indeed works nice. Some minor things could be improved (like showing >>> were the next cell starts, as it was not immediatelly obvious for me >>> where I should click by mouse and start typing), >> Yes, this is very needed. The default style is almost identical to >> Mathematica, >> but we have a more explicit (i.e. pretty cells) brewing. Thanks for >> the feedback! > > Please leave the Mathematica like style, I like it. Only a little > frame where one should click would be useful. > >>> My idea is to run it on the google app engine. That way it will scale >>> really well and for free (as opposed to serving it from my own one >>> server, that would soon become overwhelmed). Also I want to run it >>> without having to log in (just like you don't have to login to start >>> python, you just type "python", so I want it to be the same -- you >>> just type the web address and that's it) -- but that should be easy to >>> implement. >> Most definitely. One mode of Knoboo will definitely require no login, >> this is not completely implemented, but all it basically requires >> is setting some defaults in the authentication code, so 'no login mode' will >> seamlessly work with the existing code, we just need to write those defaults. > > Sure, that's not a major thing. > >> >> >> Do you think there is some obstacle (twisted? sqlalchemy?) >>> that would prevent it or make it too difficult to port knoboo to >>> google app engine? >> Certain limitations of the of google app engine >> (no outgoing RPC connections, you must use BigTable, no starting sys >> process, etc) >> would make it so knoboo won't work immediately on google app engine. >> There are other solutions out there that suit running an online code notebook >> much better, i.e. a cheap VPS. Nothing is totally free in all senses >> of the word ;) > > I installed knoboo with sympy on my VPS here: > > http://knoboo.sympy.org/ > > Anyone feel free to create an account and play with it. I.e. create a > new notebook and do: Cool! There are still several outstanding bugs that can crop up, but the general 'feel' is there. We are making improvements all the time, so hopefully we can get you to do 'svn update' again soon :)
> > In[1]: from sympy.interactive import * > In[2]: sin(x).series(x, 0, 5) > Out[2]: x - 1/6*x**3 + O(x**5) > > to get a feeling how it looks like. > > However, when 2000+ users create an account and start using it, it > will be as slow (actually slower) than sagenb.org. So that's not the > way to go. > > So how hard do you think it will be to get it running on the google app > server? Fairly hard (?). google app engine is perfect for a huge set of website/web applications, but they are some down sides. For example, if you want to have a database in your app, you have to code your app to BigTable (the google database), which borders on verdor lock-in IMHO. Also, running an online programming notebook like Knoboo has many needed features like handing system process; being able to stop, stop, interrupt these running process, and this is another thing that is fundamental in knoboo, but disallowed in google app engine. Anyways, I really think that handling 2000+ notebook users is a really awesome problem that I would love to solve, but unfortunately on my servers I dont have 2000+ users yet, so trying to solve the problem of lots of users without lots of users would be premature optimization, and we all know what the root of that is :) That said, I would love to work on this problem. So I have a proposition: You continue to run knoboo, have lots of user some, see how it breaks (doesnt' scale) and I will work on optimizing those parts. Sound good ? Thanks, Alex > > Well, if there is some other option to make it fast, we don't have to > be using google app server, but as you can see at knoboo.sympy.org, it > will simply not scale well. So I think the app server is basically the > only way. > >> >>> >>> I think I'd like to have both -- a simple online shell without a >>> login, that would just work and be fast. And a full featured notebook >>> interfaces with logins, much like the current knoboo. But the latter >>> is imho not that needed, as one can use sympy through Sage at >>> sagenb.org already now. My idea is to have something like sagenb.org, >>> but faster (more responsive) >> >> We are *very* serious about web app performance, it is one of our main goals. >> >> >> Take these two features already in knoboo: >> >> * We never send html to create any of the dynamic features in knoboo >> (e.g. cells), we instead send >> the most minimal raw data in JSON format, then dynamically create the >> html structure on the client >> with javascript DOM functions. >> >> * We have already starting adding javascript minimizing functionality, see >> http://trac.knoboo.com/browser/trunk/knoboo/knoboo/scripts/jscompile.py >> this type of optimizing makes a big difference in load times and >> responsiveness. > > Excellent, looks good. > > Ondrej > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to sympy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sympy?hl=en -~----------~----~----~----~------~----~------~--~---