🤠 Pluto developer call, 2022-05-02 🤠
heyllo Yayyy hurray Check the new PlutoSliderServer-powered website about climate science: https://margo.plutojl.org/
To discuss
fons: Backend testing Pluto
Paul: BetterFileWatching.jl
Paul: Functors & Base.show
Machine Status UI
CPU
MEM
Time left in JuliaHub
Time left outside of JuliaHub (Battery)
Should/Can we save Bind state in metadata? (API:
set_cell_metadata
/get_cell_metadata
, send anCustomEvent
("input"
,get_cell_metadata
[:bindsomething
]))T shirts please!
BetterFileWatching.jl
Working on the Windows issues...
Will it work on all platforms that Pluto works on? We'll try! Maybe we need to figure out a way to not use BetterFileWatching.jl when not available on the platform.
Callable structs & Base.show
Example, this should work:
Multiple definitions for C
Combine all definitions into a single reactive cell using a `begin ... end` block.
UndefVarError: `C` not defined in `Main.var"workspace#4"`
Suggestion: check for spelling errors or missing imports.
Here is what happened, the most recent locations are first:
Multiple definitions for C
Combine all definitions into a single reactive cell using a `begin ... end` block.
2.0
UndefVarError: `c` not defined in `Main.var"workspace#4"`
Suggestion: check for spelling errors or missing imports.
Here is what happened, the most recent locations are first:
- from This cell: line 1
c()
This is a similar problem to #326: defining a Base.show method for a type changes how it is displayed, but this is not reactive. That's why you get two different outputs here:
1
Coooool 1
Solutions
Why not run them during the definition of A
itself? Because A
needs to be defined before Base.show or the callable. So they should be ordered.
UndefVarError: `DoesNotExist` not defined in `Main.var"workspace#4"`
Suggestion: check for spelling errors or missing imports.
Here is what happened, the most recent locations are first:
Why not a normal reference? Like: every reference to A
also references Base.show(.., .., ::A)
. Because it can create a cycle that was not there before. Example:
UndefVarError: `A` not defined in `Main.var"workspace#4"`
Suggestion: check for spelling errors or missing imports.
Here is what happened, the most recent locations are first:
UndefVarError: `A` not defined in `Main.var"workspace#4"`
Suggestion: check for spelling errors or missing imports.
Here is what happened, the most recent locations are first:
🙌 Maybe we can use the soft definitions idea to solve. Maybe soft references, where every reference to A
also has a soft reference to its callable definition, and its Base.show method.
Testing
We might want to use a testing package for our julia backend tests because:
It's not easy to run only some of the tests: https://github.com/JuliaTesting/ReTest.jl
Cool features like diffing: https://github.com/ssfrr/TestSetExtensions.jl
Timing inside tests (already implemented)
Allow a testset to be retried multiple times, like our filewatching tests
Pluto tshirts!
Which color??
We could use the birds!! From https://plutojl.org/plutocon2021
on the front
nothing on the back
Jupyter notebook with a "... is not defined" error on the back
How P chooses tshirts: first on the stack
Machine Status UI
CPU
MEM
Time left in JuliaHub
Time left outside of JuliaHub (Battery)
Should/Can we save Bind state in metadata? (API:
set_cell_metadata
/get_cell_metadata
, send anCustomEvent
("input"
,get_cell_metadata
[:bindsomething
]))T shirts please!
2022-05-02