Earlier quoted context omitted.
The whole notebook doesn't recompute only cells that are dependent on the cell that changed. This is extremely powerful because you never end up with stale cells that are showing incorrect values.
This is extremely counterproductive , because I want results you're calling "stale" to use as a reference or inspiration. I don't want to destroy old results just because I changed some parameter value to test an idea.
Introduction to Pluto.jl
71–80 of 117 posts
Re: Introduction to Pluto.jl
#72Earlier quoted context omitted.
These are usually small aggregates and summaries, so I just display them in notebook output. It does make it take a bit longer to scroll through the notebook to find something, but that's what being disciplined with organization is for.
Sorry, I'm not sure I'm following your argument. Are you saying your notebooks hold state that's easily reconstitutable, and so it's not actually such a big deal to regenerate your "precious state"?
Re: Introduction to Pluto.jl
#73Earlier quoted context omitted.
This is extremely counterproductive , because I want results you're calling "stale" to use as a reference or inspiration. I don't want to destroy old results just because I changed some parameter value to test an idea.
If you’re so attached to that data, you should probably do something to save it other than let it sit in RAM or maybe an old plot in a random notebook.
Re: Introduction to Pluto.jl
#74Earlier quoted context omitted.
That is fine if you are working sequentially, but often tasks involve going back to the original data and doing some wrangling. data -> model(data) -> output(model) So if you go back to mess around with the data, your model and output could be or would be recomputed, which you would need to do eventually but not while making iterative tweaks. Another commenter suggested adding checkboxes which is a good idea, althoug…
I think the ideal user-friendly system would switch between automatic and manual recomputation depending on expected time of recomputation and expected time until the user triggers another recomputation (and clearly indicate which cells need recomputation to make them reflect the latest state of the system). If you’re editing a file path, for example, you don’t want the system to read or, worse, write that file after…
Re: Introduction to Pluto.jl
#75Earlier quoted context omitted.
> I really wish the Julia ecosystem would stop assuming that you always interact with your computer through the Julia REPL and started supporting proper command line interfaces. What does it even mean? What is a CLI interface for a programming language if not a REPL ?
I also do not really get the complaint, but it is along the lines of people wanting to write `julia-pkg install Pluto` instead of `julia -e 'using Pkg; Pkg.add("Pluto")'`. It seems it is a big pet peeve for some people.
As someone who has never used Julia... Wow, that looks exceptionally painful compared to most other modern languages.
Re: Introduction to Pluto.jl
#76Earlier quoted context omitted.
Python has a decent command line argument parser in its standard library, and there are several even-better options in the 3rd party library ecosystem, e.g. https://pypi.org/project/click/ .
Julia has ArgParse.jl for 3rd party argument parsing. It seems pretty fully featured.
Re: Introduction to Pluto.jl
#77I've always thought this was the most annoying quirk of notebooks in general, so it's nice to see a different take.
Re: Introduction to Pluto.jl
#78It was much better.
Re: Introduction to Pluto.jl
#79Yet, trying Pluto, it seems to be outrageously slow and clunky. Is it expected? Sometimes it takes a few seconds to do something. I'm not talking about the initialization (which is still a shame, but that's a different issue). I'm talking about running individual cells with simple code. This is unusable as of today, at least on my 3-year old laptop.
Re: Introduction to Pluto.jl
#80Earlier quoted context omitted.
Pluto notebooks are Julia scripts, usable at the command line. Edit: Pluto uses Julia's package manager; moreover, Manifest.toml can be used to pin all of your project's dependencies so the notebook is repeatable, from a code perspective.
That's good to know. But I was talking about the package manager and starting the Pluto server.
> julia -e "using Pluto; Pluto.run()"
Also, package manager can be used from inside Pluto. To install somethin, you can just write in a cell
> using Pkg
> Pkg.add("Package Name")