TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

An Introduction to Pluto

179 pointsby visvivaover 4 years ago

10 comments

meemoover 4 years ago
The Pluto-based homework assignments on <a href="https:&#x2F;&#x2F;computationalthinking.mit.edu&#x2F;Fall20&#x2F;" rel="nofollow">https:&#x2F;&#x2F;computationalthinking.mit.edu&#x2F;Fall20&#x2F;</a> are really nice.<p>They have checks, hints, and interactive plots that update based on your answers. It&#x27;s really satisfying to get this immediate feedback. The content is great, too, which helps.
tikejover 4 years ago
Besides language design, existence (and starting adoption) of such autonomous (in this case from Jupyter) projects in Julia makes me enthusiastic about this language future.<p>Sure, Python is not going anywhere (it is a nice language after all) but it wasn&#x27;t made with scientific computations in mind and it shows. I think sooner or later it will make way for Julia in that domain (and hopefully also some others).
snicker7over 4 years ago
It is linked in the article, but I would like to draw attention to the wonderful JuliaCon talk presenting Pluto:<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=IAF8DjrQSSk" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=IAF8DjrQSSk</a>
leephillipsover 4 years ago
Pluto is like Jupyter, but with no hidden global state, and it’s git friendly. It’s specialized for Julia.
评论 #24990662 未加载
sischoelover 4 years ago
There is another Julia package called Revise.jl : <a href="https:&#x2F;&#x2F;github.com&#x2F;timholy&#x2F;Revise.jl" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;timholy&#x2F;Revise.jl</a><p>When loading Revise.jl in a Julia REPL session, it keeps track of all packages loaded afterwards and if the code is changed in one of the packages it automatically updates the functions provided by that package. As far as I know this does not work (yet) for structures that have been changed though.<p>The cool thing is now, that it seems as if one can also use Revise.jl in a Pluto notebook - when the code of a package loaded in a Pluto notebook is changed, then also the cells in that notebook are run again with the updated code.
评论 #25005239 未加载
lxeover 4 years ago
&gt; Much of Pluto&#x27;s interactivity and visualization is based on Observable, an interactive notebook for JavaScript, which the Pluto authors credit for being their inspiration.<p>Observable (<a href="https:&#x2F;&#x2F;observablehq.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;observablehq.com&#x2F;</a>) is a spiritual successor to Mike Bostock&#x27;s (d3) <a href="https:&#x2F;&#x2F;bl.ocks.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;bl.ocks.org&#x2F;</a> that&#x27;s very useful for data visualization or just general JS-based data exploration.
Jugurthaover 4 years ago
In case you work with Jupyter, there&#x27;s nbdime[0] for better integration with git.<p>Here is how we do things (in the context of machine learning as a team working together on a project using our platform[1]. This may not be relevant for solo&#x2F;portfolio projects with few or no expected deliverables):<p>We use notebooks interactively just to get something we can schedule as a long-running notebook. We don&#x27;t run training jobs in interactive mode: we schedule the notebook and it&#x27;s pretty much fire and forget and no hidden state. It runs against a Docker image, and you can close your browser if you want at that point, we have both the computation and the output as it runs. Or you can keep tweaking the notebook, schedule that tweak, and keep on tweaking. We do that to decouple experiments from human time. Users can publish AppBooks, and then try different params using an automatically generated form from the notebooks so we can fiddle with params in a form without opening the notebook. We do that to be able to try things from a form, as in on our phone or allowing a domain expert to train models without the whole notebook experience overhead. This is particularly useful when we use features that the domain expert wants to be able to tweak. We just expose them and let them do their thing.<p>We do this to track experiments as we automatically detect models, parameters, and metrics without having to write tracking&#x2F;saving code. All this allows us to have ready models for deployment, which we can do easily. We do that to allow people to deploy their own models instead of asking someone, and be able to use, and let others use the models simply by sending HTTP requests or using a form, instead of bothering with models and their dependencies.<p>For the collaboration aspect, we use near real-time collaboration to help someone troubleshoot or go over code with someone, and then commit changes. We automatically save checkpoints so people can go back and forth.<p>We mainly use Python and we built around Jupyter. We took a look at other notebooks but, in our experience, stylesheets aren&#x27;t what held our machine learning projects back in the past and we decided to keep using Jupyter adding functionality as &quot;natively&quot; as possible. More embarrassingly, we didn&#x27;t come from a front-end background but from an ML background, and built this around our workflow to enable us to execute projects.<p>- [0]: <a href="https:&#x2F;&#x2F;github.com&#x2F;jupyter&#x2F;nbdime" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jupyter&#x2F;nbdime</a><p>- [1]: <a href="https:&#x2F;&#x2F;iko.ai" rel="nofollow">https:&#x2F;&#x2F;iko.ai</a>
MaikuMoriover 4 years ago
Would love to see Pluto for Python. This fixes key annoyances I have with Jupyther.
评论 #25004243 未加载
评论 #25006149 未加载
watersbover 4 years ago
&quot;Pluto is a new computational notebook for the Julia programming language.&quot;<p>The first sentence of the article, excellent. Many times, something is mentioned here on HN and even after clicking sound on a number of with pages, I still don&#x27;t know what they are talking about. This look at Pluto is exactly what it says: a good introduction to a Jupyter system for the Julia programming language.<p>Maybe the title of this HN post could change to say that?
评论 #25011316 未加载
ngcc_hkover 4 years ago
“ Briefly, these are its global hidden state and its incompatibility with version control.” If so, other language?