[IPython-dev] what goes wrong with %%file
MinRK
benjaminrk at gmail.com
Tue May 14 16:53:29 EDT 2013
On Tue, May 14, 2013 at 12:35 PM, Brian Granger <ellisonbg at gmail.com> wrote:
> On Tue, May 14, 2013 at 11:27 AM, MinRK <benjaminrk at gmail.com> wrote:
> >
> >
> >
> > On Tue, May 14, 2013 at 12:23 AM, Fernando Perez <fperez.net at gmail.com>
> > wrote:
> >>
> >> On Mon, May 13, 2013 at 8:30 AM, Brian Granger <ellisonbg at gmail.com>
> >> wrote:
> >> > I still favor %%file and adding the prompt to overwrite.
> >>
> >> We have clear evidence of repeated user confusion with this, and it's
> >> an ambiguous name for something that's an action (and a potentially
> >> destructive one, at that). This is a case where user feedback (in
> >> this case collected by Greg) is showing us there's a real usability
> >> problem, we just need to fix it.
> >
> >
> > Excluding every destructive consequence mentioned so far, since the empty
> > cell issue is long-since addressed in master.
> >
> >>
> >>
> >> Furthermore, making it by default interactive is going to cause all
> >> kinds of unexpected problems in automatically managed notebooks and
> >> scripts that will now block a process when they try to open a prompt.
> >
> >
> > That is true of all notebooks with interactive elements, what makes
> %%file
> > special?
>
> I agree - if a user wants to get rid of the interactive element for
> these purposes, they can simply add the --overwrite flag.
>
> >>
> >> A rename to a verb term, along with the option of an interactive flag
> >> for those who clearly want that mode (and hence aren't worried about
> >> auto-execution) addresses cleanly both issues.
> >
> >
> > so if it were called `fwrite` or `writefile`, it would be okay to
> clobber by
> > default? Renaming it doesn't make it any less destructive, and the
> > destructive behavior is still implicit.
>
> My original intention with %%file is that people would never touch
> these files through any other means, so the overwrite wouldn't be a
> problem. But upon further thinking, I agree with Min that
> overwrite-by-default is just a bad idea.
>
> > I don't think there's any value in a non-default interactive behavior -
> > either clobbering by default is fine, or it is unsafe and should be
> > confirmed - safety being non-default won't ever be used.
>
> I agree.
>
> > I'm fine renaming to `fwrite` without changing any behavior, if that
> makes
> > more sense than prompting for overwrite, I'm just surprised that it seems
> > to.
>
> The name "%%file" is conceptually close to what the magic does = it
> writes/saves/creates a *file*. What you call the action
> (write/save/create) is ambiguous, the end result (file) is not. I
> don't want to pick a name that emphasizes the ambiguous part of the
> magic while underplaying the perfectly clear part (file).
>
> The name "%%fwrite" requires users to make the non-obvious conceptual
> jump that "f" = "file". That is a step back.
>
> If we do change the name (I am open to it but not thrilled about it) I
> would prefer something that makes its purpose more obvious:
>
> %%writefile
> %%savefile
>
> I also prefer names that order words in a grammatically sensible
> manner (%%writefile rather than %%filewrite)
>
The alternative argument here is that starting with `file` is more
logically hierarchical / discoverable. `file` is the most relevant keyword,
so it should be the start, which would make the magic more easily found,
especially among completions. I'm torn, because both have disadvantages and
neither is very good.
>
> Cheers,
>
> Brian
>
> >>
> >>
> >> Cheers,
> >>
> >> f
> >> _______________________________________________
> >> IPython-dev mailing list
> >> IPython-dev at scipy.org
> >> http://mail.scipy.org/mailman/listinfo/ipython-dev
> >
> >
> >
> > _______________________________________________
> > IPython-dev mailing list
> > IPython-dev at scipy.org
> > http://mail.scipy.org/mailman/listinfo/ipython-dev
> >
>
>
>
> --
> Brian E. Granger
> Cal Poly State University, San Luis Obispo
> bgranger at calpoly.edu and ellisonbg at gmail.com
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20130514/29800a66/attachment.html>
More information about the IPython-dev
mailing list