Hi DG,

Thanks for your long explanation. Let me respond to some of your comment
inline.

DG Said
> Sorry, NOT acceptable. I do NOT want to have to change every single
> notebook. Why should I?

The solution I gave you does not requires you to change every single
notebook. You can set your setting permanently within you custom.js file.

>
> I think there are many people who dislike the auto-save option. I will
> give you just one example.

Yes, like there were many people that lost data because no auto-save was in
place. And we had a large number who asked if we could do that and how they
could help to implement this, and we even exposed a configuration option to
set in your custom.js, which you are free to use.

I even liked you a group of user that made an extension for this to be
easier to configure.

> I like to have a master version of the notebook, then I want to
> experiment. When I experiment, I just DON"T SAVE. So the master remains
> unchanged. With autosave, my master notebook will change WITHOUT ME
> NOTICING. You say, you can revert to the last manual save, but that's a
> useless feature because next time I edit the master notebook, I may want
> to make a permanent change, after which I will manually save. This save
> will now contain both the desired changes as well as the unwanted one.
> Now I have lost the ability to revert. It's a complete mess. Please don't
> ask me to change my habit, which I have formed in decades of using
> computers--not going to happen.

I have been using computer for decades as well. I'm not always happy with
how things work, and I submit patches. That's how I ended up working on
Jupyter. Thing change also for good. Your browser crash ? You work is
saved. Your computer fell in water, things are on git/mercurial/svn/time
machine. We even provide pluggable content manager that track more than one
version if you like. Contributors have even written extensions that allow
to commit with from within a message!

> Regardless of whether the Jupyter notebook developers agree or not, many
> of us have some very good reasons why we want to turn off auto-save
> PERMANENTLY. It should be an easy option and a user's choice.

Sure do it, from custom.js, it's made for user configuration, and just
waiting for you. And that persistent across reload/refresh/reboot...

>
> Just please make a version of the custom JS file work. Is it too much to
> ask? Don't make us conform to the tool, make the tool conform to what the
> user wants.

Well, custom js is arbitrary code. Let's be optimistic and assume there are
32 symbols availlable in javascript. a-z space, {}, (), and a couple of
number, just to get 2**6. There already 2**60  custom.js possible with 10
caraters ! Imagine the number od options you have !

More resonably:

$ ipython --help-all | grep -e '^--[A-Z]' | sort | wc -l
106
$ python -m ipykernel --help-all | grep -e '^--[A-Z]' | wc -l
91
$ python -m notebook  --help-all | grep -e '^--[A-Z]' | wc -l
112
$ jupyter nbconvert  --help-all | grep -e '^--[A-Z]' | wc -l
179

So that's about 500 configuration option only for the backend (many of
these can't be auto discovered like that, and you have additional plugins).
And not all configuration options are counted, in particular the javascript
one.

So if you wish to help us write the User interface for these we would
happily guide you and include your Pull requests.

Shameless plug, notebook 5.0 will come with a UI to configure users
shortcut !

> Sorry for the rant, I get pretty worked up by things like those, having
> been burnt several times...

Sorry that has caused you trouble. I know loosing data or minutes of works
can be quite hard. I pested against GMail the other day for stupidely
pressing ESC and it does not save as draft if you don't have a recipient
apparently. I learn my lesson. You should not be afraid by writing a
maximum lines config files (my vimrc is 300 line long that's starting to be
scary) custom js is not that hard.

I know it can be hard to start, I think that the options you need are:

    Jupyter.notebook.minimum_autosave_interval

Custom.js should be in your config directory ~/.jupyter/custom/custom.js
IIRC it comes with a large commented example on how to configure a few
thing. Might be a bit out of date though.


Paul Said

> DG,

> Perhaps you could take a stab at pulling together a pull request on
> Github. Many jupyter developers work very hard on it on their own time.
> It's impossible for them to anticipate every use case. And at any rate,
> their hard work has culminated in the creation of very powerful tools
> that are provided absolutely free as in both beer and speech. When you
> stop to think about the lineage of the notebook in context of Fernado's
> original "afternoon hack" on the standard python REPL, it's quite
> remarkable.

Thanks you Paul, that's deeply appreciated. We do think deeply about
everyone and we have to make some hard decision sometime. Keybinding closer
to Emacs or Vi ? Star Trek or Star Wars ? More seriously yes there are
behavior that don't suit everyone. We tend to weight toward newcomers, and
have reasonable safe default.It can be annoying but we expect that advance
users that are annoyed are sufficiently skilled to: 1) figure it out 2) ask
hints at how to do it.

> As a user, I've come across the situation you describe. We're all
> different in this world, but my firs thought was to use the File menu to
> create a copy, work on that, then incorporate any changes into or
> overwrite the notebook.

Thanks that's a good thing possible as well. If you have any other tips,
let us know.

And to everyone if you figure out how to do it from custom JS, or tried the
extension and found it amazing, we'll be at the Docathon next week, it
would be fantastic to summarize some of the tips and tricks that are in
this thread and polish them in a nice pull-request against or docs !

And kudos the awesome often under-advertised work of the folks from
IPython-contrib/Jupyter-contrib, hope they submitted a talk to JupyterCon !

Thanks !
-- 
Matthias

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/CANJQusWMrqRx0vt7TrT64%2BAayc_f_YLT%3DaJDcSdsMEpJu8GmJQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to