6 HN users recommended this talk4 months2020–2021score 6
Years with an HN recommendation, 2007–2026
HN recommends it as an enthusiastic demo of spreadsheet-like reactive notebooks, which commenters think new notebook projects should copy.
Fons van der Plas introduces Pluto.jl, a reactive notebook for Julia that tracks references between cells and re-runs affected cells when code changes. The talk was given at JuliaCon 2020.
“I think every new notebook project should take ideas from Julia's Pluto” (HN, 2020)
The game changer for ordinary technical programming folks from JuliaCon 2020 is the introduction of a new "reactive" notebook, Pluto.jl. "Reactive" means that -- unlike Jupyter -- it automatically updates the whole notebook, like a spreadsheet, when you change a value in any cell. I am a Julia and Jupyter newbie, but I picked up on it easily. Watch the following video made by Pluto's creators: [this video] Go here for Pluto installation instructions: [link] One thing that tripped me up, which is a generic Julia REPL issue: You enter the Julia package manager with "]" on the Julia> command line -- but how do you exit the package manager? Answer: Either Backspace or Ctrl-C.
Introduces Pluto, a reactive notebook that updates like a spreadsheet.
I think every new notebook project should take ideas from Julia's Pluto: [this video] Working directly with the source files is just one of the niceties it has.
Presents Pluto ideas that new notebook projects should adopt.
I think notebooks are great for building a presentation / reports of a data exploration, but I agree that they shouldn't represent programs. Rstudio won't export an R-markdown notebook to PDF without rerunning all cells sequentially. It's great for keeping the code "in check", but for things that takes hours to run, it can be quite annoying. I do think most of the problems with notebooks go away if you somehow force sequential running before presenting it to other people. Another really cool take on notebooks are Julia's Pluto Notebooks. Like a spreadsheet, there is no sequence that cells are run in. Everything is updated simultaneously. It's kinda hard to explain, but the JuliacCn presentation on these is absolutely wonderful: [this video]
Really happy to see that the good ideas from Observable notebooks are being copied elsewhere. I don't use Julia myself at the moment (although I think it's a beautiful language), but I know some people who will be very happy with this! Also, the playful enthusiasm in the presentation video linked in the description just makes me smile: [this video]
The Pluto notebook for Julia does exactly the same. It creates dependencies between code cells and data automatically. If you change any data or code, that code ripples through through the rest of the notebook. So e.g. you could bind a slider to a variable and if that variable is used in a plot, dragging that slider will modify the plot in realtime. Demonstration of Pluto.jl here: [this video]
Demonstrates automatic dependencies and sliders updating plots in real time.
The closest may be Pluto.jl [this video] In Pluto plots, calculations get bound to data and when you change that data the effects immediately ripple through. Personally if I work with table data in Julia, I will use it with something like Table Tool [link] It lets you view and edit a CSV file. Saving and loading CSV files from Julia is very quick anyway. You can use a couple of key strokes to bring back a previous command. You also got some newer ones such as Tad: [link]
Shows Pluto's changes rippling through calculations and plots.
It's mentioned in the video [1], it does static analysis of the code to create a graph of dependencies (for example which cell uses a variable defined by another cell), so when you update any cell it will find what cells are affected by the change (the downstream nodes on a directed acyclic graph) and only evals the code on them (instead of running everything). Julia is particularly good for those kind of code analysis since it's a very Lispy language. It also does a trick of creating new modules to manipulate scope to make deleted variables/import/cells invisible (and therefore free to be garbage collected). [1] [this video]
Explains how Pluto builds a dependency graph between cells.
Video list and Hacker News comment labels from HackerTube (prompted by @karpathy), released under ODC-By 1.0, built on the open-index/hacker-news archive. Hacker News data is provided by Y Combinator; comments remain the work of their authors. Video titles, channel names and thumbnails belong to their creators and are shown via YouTube. HackerTube Watch is an unofficial edition. Data export of 2026-10-31.
8 Hacker News comments
From the HN archive; up to 20 kept per video, favoring different commenters. Recommendations first.
Read more
Read more
Citations, criticism and jokes
Read more