Live data from Hacker News

JupyterCon: I don't like Notebooks [slides]

docs.google.com

41–50 of 112 posts

Re: JupyterCon: I don't like Notebooks [slides]

#41
post #28

I only use notebooks in R (via knitr). Unless you choose to cache specific blocks by flagging it, it re-runs the whole notebook from scratch every time... So personally I haven't had any of these problems before. Further, the rendering is static, so you can't really choose to run things out of order either.

If you use notebooks inside R-Studio (like I imagine 99% would do) you click ctr+enter inside a code block and that block and only that block is executed, and below, the output of that block is rendered.

Re: JupyterCon: I don't like Notebooks [slides]

#43
Notebooks were not created as a way to implement and organize software. You can do that with code files.

Jupyter Notebook is a presentation software, for demonstrating something to yourself or others. There is hardly anything comparable to build interactive demonstrations. You'd have to implement a (multi-paged?) GUI application, or a web application. Just plain html output may cut it for certain use cases, but still more painful.

And I've done more stupid stuff than that. For example I have a demo recording and showing EEG data. And a snake game implemented as a widget with Bokeh output. And live-update graphs from FlightGear. Lately I've started experimenting with controlling my 3D printer from the notebook.

Re: JupyterCon: I don't like Notebooks [slides]

#44
post #32

I absolutely love Jupyter as a computer science student who uses it a lot to fiddle with new concepts, create visualizations, or write markdown reports with annotated code. I do agree with some points, though. The problems with state felt sort of overstated (heehee), but it obviously is an issue. I always wonder why the menu option Kernel -> Restart & Run All is not a first class citizen, with a big red button at the…

Looks like pycharm is starting to support Jupyter notebooks, although not very well right now (I couldn’t get it it to work).

Re: JupyterCon: I don't like Notebooks [slides]

#45
Some of this is interactive development vs static development. A lot of the IDE features and stuff you get in "static" development, you could imagine getting into notebooks one day. The thing I don't know any good way to deal with is cached state during development.

If I have to get data that takes 15 minutes to query, another 10 to preprocess, and then maybe a few more steps before it's ready to put into my algorithm and start poking around, notebooks shine. In an IDE you could (and I often do) use have cached datasets partway through the process saved to disk, as mentioned in OP. But that's a hack too. And it still takes a minute or so to load and process anyways if cached.

So the options are

1) Shitty practices, but I can write try new changes on your data immediately.

2) Better practices, wrapped in caching hacks, but I have to wait minutes between every single change.

Re: JupyterCon: I don't like Notebooks [slides]

#46
I feel like I haven’t really dealt with this out of order execution madness this guy and some others are talking about here, usually I end up with like 2-5 big cells that I use, typically just a “init everything cell” a “run simulation/training cell”, and then some plotting cells and other “utility cells” that I use to poke at things.

I’ve been moving functionality to modules when I can too which helps minimize the amount of code actually in the notebooks, and I also will break up code into different notebooks (occasionally saving/loading specific variables between kernels) when it makes sense to. Maybe all this is helping a lot, have you all needed notebooks with dozens of cells as this presentation mentions?

Re: JupyterCon: I don't like Notebooks [slides]

#47
post #39
post #36

Earlier quoted context omitted.

> They aren't fun That's subjective. > don't have anything to do with technical content Most public presentations / speeches contain a few jokes. They don't have much to do with the technical content either, but they help people pay attention and ease in the speech. It's not like we don't have enough boring powerpoint presentations already. It's also not like those going into the trouble of compiling the slides and s…

If I want to get a laugh I go to stand up comedy show, theater, cinema,... not to a developers conference.

Well, others don't compartmentalize things so tightly.

Most would welcome one or more jokes in a developer speech. So much so, that it's common advice for any kind of public speaking and presentation to add a few jokes to lighten the mood (you can find thousands of articles, books, and public speaking training sessions advising about this).

Some of the best technical speakers add humor in their presentations (often lots of it, e.g. Raymond Hettinger).

Re: JupyterCon: I don't like Notebooks [slides]

#48
post #20

I wish we didn't have a culture of being bitterly angry in our talks.

How is this bitterly angry? It's light-hearted, almost irreverent, witty, respectful to the community and understanding of the fact that it's being critical and might not be well-received, so makes efforts to mitigate that.

Re: JupyterCon: I don't like Notebooks [slides]

#49
I love notebooks! They are an excellent tool, if used judiciously.

They are really practical for situations where you want to play around (er even outright work with) principally not with code, but that code's output.

You see, I give lots of trainings.

Notebooks offer me an excellent way to mix commands, their output, and explanations into a single document with little effort. I'm able to show my students exactly what happens (including the literal messages), going step-by-step.

They are wonderful to create exercises.

However, for my use case, the notebook is the output (perhaps rendered as PDF).

Rules I've adopted for my own training notebooks:

  * the first lines are to print the versions of all things I'm using, e.g. "git --version" for git trainings
  * I use "restart&run all" frequently
  * obviously, notebooks are version-controlled, including their output
  * before checking in, prove that "restart&run all" provides exactly the desired result
Having said all that, I'd never use a notebook to write actual programs. It feels weirdly impractical, to the point that I was wondering of the presentation was actually presenting reality, or a strawman (I'm not doubting the veracity of the description, I just had a hard time accepting it as real).

Re: JupyterCon: I don't like Notebooks [slides]

#50
post #22

Earlier quoted context omitted.

I disagree. The memes give me memory cues when I think about the talk later. I have a visual memory so maybe this is why? Also they are lighthearted and fun and life is short so why not have some fun even when being serious?

They only work in that capacity if you already watch a lot of memes, so they effectively act as a shibboleth (in-group out-group separator) for separating people who spend a lot of time on reddit from those that don't.

They still help a lot to keep the audience alerted as long as they are funny or surprising without meta information. Adding "Confused Nick Young" to underline, well, how confusing some features are, will still be understood perfectly well by those who see it the first time. On the other hand, memes like "Scumbag Steve" [2] are indeed problematic, because there is no way to understand the point the author wants to make without prior knowledge.

------

    [1] https://knowyourmeme.com/memes/confused-nick-young

    [2] https://knowyourmeme.com/memes/scumbag-steve
Post reply on HN