On Thu, Jul 30, 2009 at 10:41 PM, Ondrej Certik <ond...@certik.cz> wrote:

>
> On Thu, Jul 30, 2009 at 11:20 PM, William Stein<wst...@gmail.com> wrote:
> >
> >
> > On Thu, Jul 30, 2009 at 10:02 PM, Ondrej Certik <ond...@certik.cz>
> wrote:
> >>
> >> On Thu, Jul 30, 2009 at 10:51 PM, William Stein<wst...@gmail.com>
> wrote:
> >> >
> >> >
> >> > On Thu, Jul 30, 2009 at 9:43 PM, Ondrej Certik <ond...@certik.cz>
> wrote:
> >> >>
> >> >> Hi,
> >> >>
> >> >> so I fixed most of the early bugs, here is my latest attempt:
> >> >>
> >> >> http://4.latest.pythonnb.appspot.com/
> >> >>
> >> >> it seems to be working reasonably well in most browsers I tried (FF,
> >> >> IE, Safari, Opera, Chrome, ...).
> >> >>
> >> >>
> >> >> Opera can't handle event.preventDefault(), which means that if you
> >> >> press shift+enter, the enter will still get propagated and the new
> >> >> cell will have 2 rows. I think it's a bug in Opera, but maybe there
> is
> >> >> some fix for this. All other browsers seem to work for me.
> >> >
> >> > I don't think we support Opera in Sage either, by the way.  We used
> to,
> >> > maybe, but even when we did it just felt so *SLOW* to render
> javascript
> >> > that
> >> > it wasn't really worth using so much.  I actually used Opera as my
> main
> >> > browser for years, but Firefox is definitely ahead now, in most ways.
> >> >
> >> >>
> >> >> It's not as polished as my original javascript version:
> >> >>
> >> >> http://pythonnb.appspot.com/
> >> >>
> >> >> e.g. the evaluate button is not there, and the blue line is not there
> >> >> yet either, neither is the blue focus rectangle around cells. I will
> >> >> not have time for the next month or so to work on this, but I am now
> >> >> confident that it can be done.
> >> >
> >> > It's really surprising to me that some of those things get messed up
> by
> >> > switching to pyjamas.  When I look at your pyjamas version with
> firefox
> >> > 3 on
> >> > OS X, I *do* see the blue bar, but it is in the wrong place, about an
> >> > "em"
> >> > too high.
> >>
> >> It's because in pyjamas I am using some pyjamas widget (I think
> >> RootPanel) that adds <div> after each element, thus the spacing gets
> >> wrong. To fix this, one just has to persuade pyjamas not to put any
> >> <div> in the html output and then it should be ok.
> >>
> >> But all these CSS style things always take me couple hours to fix, so
> >> I'll just leave it as is. It convinced me that it can be done, so
> >> that's all I wanted to know.
> >>
> >> >
> >> >>
> >> >> Look at the code here, that gets translated to javascript:
> >> >>
> >> >>
> >> >>
> >> >>
> http://github.com/certik/notebook/blob/ef396ef2eb3314ff787000cac7e34b1c08d9af6a/media/index.py
> >> >>
> >> >> It's all pure python and with pyjamas desktop it should be possible
> to
> >> >> run it on the desktop, e.g. in a python interpreter. I think in the
> >> >> long term, this is the way to go.
> >> >>
> >> >> Pyjamas is still developing, e.g. I contributed the initial urllib
> >> >> package into it (the index.py file above still contains my older
> hack,
> >> >> that calls javascript --- with new pyjamas, this is not needed
> >> >> anymore), etc.
> >> >>
> >> >> Anyway, I am looking forward, I think in couple years it will be
> >> >> absolutely common thing to have sophisticated web applications and we
> >> >> could write them in Python.
> >> >
> >> > Nice.  I have to say honestly that the idea of using pyjamas is the
> only
> >> > thing I've ever seen that made me personally have that feeling "I want
> >> > to
> >> > rewrite the javascript part of the notebook".  I'm really glad you did
> a
> >> > prototype of this so we could see what some of the issues are.
> >>
> >> I forgot how I got the idea to rewrite it, I think I just wanted to
> >> learn AJAX, so the best thing to learn it is to write it myself from
> >> scratch.
> >>
> >> But if I am going to write some new webapp from scratch, I am going to
> >> use pyjamas. For Sage notebook though, we may just continue improving
> >> the current one, as I am not much a fan of rewriting applications from
> >> scratch.
> >
> > You're right -- same here.     At least one I'm planning on doing next
> > quarter on the notebook will be all about "the devil is in the details"
> > polishing of the last few percent.
>
> Yep. There are things that I now don't like on the Sage notebook, like
> that if I click on a cell, the frame gets focused (that's ok), but the
> text moves by one pixel. I hate that. My javascript version doesn't do
> that, at least on firefox. In fact, it's just a CSS styles issue, so
> it's easy to fix -- but I wasn't sure if it's just on my firefox, or
> everywhere.


I also find that very annoying.  I've added it to my "hit list".


>
>
> Also, it seems to me the reaction to keys is a bit slow in the cells,
> if I press enter, the cursor first moves half way out of the cell and
> only then (maybe 0.1s) the cell gets resized. I hate that too, but I
> think my javascript version works better in this particular case, so
> we may just use my approach here, if it works everywhere.


This is partly because a lot happens with every keystroke, and the resizing
is complicated to make it work robustly on lots of different systems and
with lots of different input.  Your resizing code seems to work find, and I
would love to change to it!  Anyway, this sounds like something that falls
under polish and optimization.  That it is a problem was made much clearer
to me by playing with your demos too :-)


>
>
> Then just today I had to modify the notebook on about 5 places to
> change the executable to be called:
>
>
> http://github.com/certik/femhub_notebook/commit/4db3c0108ab4f8e44077899d879b8f1bd1927526
>
> so there should be some variable for that. Things like that, I think
> those are best fixed by improving the current notebook rather than
> rewriting it.
>

Agreed and agreed.

William

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to