Announcing Neptune.jl (now updated to multi-line cells!)

Yes @compleat, you should do you! Congratulations on your package, which seems like a very good idea. But this discussion might give some insight on Pluto.jl. Everything about that package strikes me as one person’s grand vision. It’s quite a remarkable and novel idea. It’s also an experiment, and the developer is taking their idea and seeing how far it can go. Sometimes purity of vision is important for an experiment to be falsifiable. If you were

and are

Just as you in response to a suggestion, maybe they

Even if you believe

we should salute them, just as we salute you. You have provided valuable insight on the workflow and needs of the data scientist, and demonstrated that ideas from Pluto.jl might well be taken elsewhere. Open source software allows us to explore many different approaches, some developed by one collaborative group, others forked and taken in a new direction. Thank you (and Pluto.jl) for sharing with everyone.

42 Likes

What about a dual windows/tabs IDE where on one side you have

  • a DAG of cells (based on their time lines) where one can manipulate visibility, (re-)evaluation, reactivity on/off, reorder (with a limit based on cells dependencies), etc.

And the other side

  • A cell editing windows with previous version/evaluation available. Possibly several cells could be automatically available (based on selection and dependencies to other opened cells)

This is a very rough idea it could combine pretty well with exporting to various format, and adapt to the needs of the user.

EDIT: I didn’t want to hijack Neptune.jl ANN, but it could be a future path for such an IDE :stuck_out_tongue:

Well said!

I am not against Neptune being extended - as long as the extensions would not distract from the simplicity of the basic functionality. For me, the simplicity of the ‘default’ experience (and that includes not having too many distracting or confusing choices) is paramount - I would like it to be useable by elementary undergraduates and absent-minded types (me?) alike. If there are (almost unnoticeable) options which lead to much greater power to expert (and intellectually energetic) users, so much the better! [Thanks for the comments/ideas]

I’ll be just waiting for a moment when someone announces Saturn.jl that will have optional reactivity. There is no right way — reactive or not, I think it should just be togglable and up to a user to decide on the fly.
:sweat_smile:

10 Likes

I have a neptune notebook now, and it is all pretty - the uninteresting code is hidden, text is markdown etc. When I reopen the notebook, and want to run all the code I currently only see the option of manually un-hiding code in each cell, run it, and re-hide the code. That kind of defeats the purpose - is there a way of rerunning the entire thing, or better yet, a section, in a more automatic fashion?

Try
Neptune.run(run_notebook_on_load=true)

This is supposed to work, but I haven’t used it.

ah there. i’ve been vocal about the close-minded approach in pluto. fork is good for this case.

I still hope that instead of a fork, there could just be a package that pirates various internals of Pluto to add modes like a non-reactive mode.

I can’t really imagine a fork getting the same level of vigorous development that Pluto is getting.

12 Likes

At the same time, I could imagine explicitly supporting such things could drastically slow down that very development.

9 Likes

Generally speaking, from a practical perspective, I think it is best to offer collaboration in cases like this, but also be ready to move on and do your own thing in case there is no interest from the other parties.

It’s not like these decisions need to be final. Collaboration can always happen at a later stage, after exploration. OTOH, too much coordination can slow down exploratory projects.

17 Likes

any option to automatically process multiline cells?

1 Like

Yes, there was a pull request that fixed this and I merged it, but is there another step I need to do? [This is my first package in the Registry]

after testing and merging, feel free to update the version number and tag a new release with the registry bot.

Hi. OK. Thanks I’ll try to figure out how to do that.

GitHub - JuliaRegistries/Registrator.jl: Julia package registration bot.

@compleat It’s good that you proposed code,
and I would also have long running cells to “grey out” sometimes.
But it might be wise to tone down (like you did here) in other more recent threads as well:

Developers often say no either for good reasons, or because it’s not the right time for them.

Let me share a story of a few people who wanted to steer the wheel,
and only managed to disgust the maintainer (hundreds of hours per year of quality work…)
(remove ederag from maintainers by ederag · Pull Request #575 · projecthamster/hamster · GitHub).

Their main concerns would have been solved by now (safe estimate),
had they been smarter.
(Or if someone else had sent early enough this kind of warning).

Hence I sympathize with the Pluto developers who are doing an amazing work (please go on !),
and thus should be spared disrespectful comments, unnecessary repeated criticisms
as well as empty criticisms.

5 Likes

There is absolutely no offense intended (or I think given) here - just a clarification of positions, and a very clear statement of why I thought Neptune was necessary.
I maintain that Pluto is fantastic, and I wish Neptune were not necessary, but it is.

8 Likes

It is great that no offense has been intended, however it seems that offense has been received on a number of occasions (or pretty close at least). It would be interesting to sit down with Sarah Lanier to see how different cultures interpret some of the statements made in this thread. And then write our posts for the most sensitive cultures.

3 Likes

Thank you for your thoughts.

On this, I don’t have much more to say, except to express my gratitude that there people like yourself with enough time on their hands to be able to offer us advice on our sense of Decorum and Political Correctness.

5 Likes