pmdulaneyon Hacker News • Recommends
On “JuliaCon 2020 in Retrospective”
#pluto.jl#julia#reactivenotebooks
91K subscribers • 17 videos on Hallway
Intermediate. Assumes working knowledge.
47K views6 years ago7 recommendations
Tools and practiceProgramming languagesOpen sourceData engineering and warehouses
Fons van der Plas introduces Pluto.jl, a reactive notebook system for Julia that automatically updates cells based on a dependency graph.
Introducing a fresh, new notebook system for rapid prototyping! Pluto understands global references between cells, and reactively re-evaluates cells affected by a code change. At JuliaCon, we will show how Pluto can liven up your workflow. Whether you’re a scientist, a finance professional or an engineer, you use notebooks like Jupyter to tell a story. You fiddle a bit with your code, running cells here and there, and when you’re done - you restart the kernel and keep your fingers crossed that it’ll all work together when you press “run all”. 🙋 In Pluto, things work differently. When you change a variable, Pluto automatically re-runs the cells that refer to it. And when you delete a cell, the variables, methods and imports from the old code disappear. Unlike Jupyter or Matlab, there is no mutable workspace, but rather a one-to-one correspondence between variables and code. 🚨 Reactivity is not just fun for mathematical tricks! It guarantees that the code you see exactly matches the variables you're working with, eliminating bugs before you even knew you had them. ⚡ Your notebook becomes interactive by splitting your code into multiple cells! Changing one cell instantly shows effects on all other cells, giving you a fast and fun way to experiment with your model. And to really spice up your notebook, you can use HTML sliders, or even custom JavaScript widgets, to drive your Julia variables. Change λ = 5 to @bind λ Slider(), and all cells that use λ are controlled by a slider. 💾 Notebooks are saved as pure Julia files and can be exported as rich documents with cell output to HTML or PDF. By separating source code and output, you can take full advantage of git for version control and you can import Pluto notebooks as if they are written in a regular editor. After a live demo, the second part of the talk will unveil some of the tricks that power Pluto. The core concepts are: - static code analysis to find global definitions and references in cells; - directed graph of cells, which tells Pluto which cells to run, in which order; - managed workspace for code to live in, and cleaning the workspace in milliseconds; - responsive connection between JavaScript clients and Julia. Pluto is written in pure Julia, which comes with two benefits: first, it’s easily installable as a package without requiring Python - you only need Julia and a web browser. Second, it is ready to be improved by Julia developers who we hope to inspire at the conference. Pluto is an exciting project to work on, and we are eager to hear your ideas! Resources Pluto.jl home page: plutojl.org/ Pluto.jl repository: github.com/fonsp/Pluto.jl Contents Opening Introduction Why we made Pluto? Programming is easy, programming languages are powerful, but our environments are 70s vintage Jupyter notebooks: strong points and pain points Alternatives to Jupyter Enter Pluto. Live demo Pluto doesn't allow multiple expressiWhat people say. Recommended as an excellent presentation of Pluto.jl, highlighting its reactive spreadsheet-like execution model and advantages over Jupyter.
pmdulaneyon Hacker News • Recommends
On “JuliaCon 2020 in Retrospective”
snicker7on Hacker News • Recommends
On “An Introduction to Pluto”
mathnmusicon Hacker News • Recommends
On “Niex: Jupyter Notebooks but Using Elixir”
wodenokotoon Hacker News • Recommends
On “Bad Data and Data Engineering: Dissecting Google Play Music Takeout Data”
vanderZwanon Hacker News • Recommends
On “Pluto.jl – a reactive, lightweight, simple notebook”
socialdemocraton Hacker News • Recommends
On “Ditch Excel and Use Julia Data Frames”
socialdemocraton Hacker News • Recommends
On “Ditch Excel and Use Julia Data Frames”
ddragonon Hacker News • Mentions
On “Pluto.jl – a reactive, lightweight, simple notebook”