TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Iodide: An experimental Mozilla tool for data exploration on the web

300 点作者 pablobaz大约 6 年前

16 条评论

simula67大约 6 年前
It is funny how the world wide web was invented for the purpose of improving scientific publishing. It revolutionized everything <i>but</i> scientific publishing. Scientists still seem to be publishing their research as PDFs with citations written at the end of the page
评论 #19387384 未加载
评论 #19387882 未加载
评论 #19387351 未加载
评论 #19387402 未加载
mrkstu大约 6 年前
Instead of being targeted directly at scientific markets, I&#x27;d love to see a more generalized &#x27;smart document&#x27; version of this. The promise of HyperCard, Glue, OpenDoc and even OLE of compound, programmable documents is something I&#x27;ve been looking for for decades.<p>I&#x27;d love to see someone come up with a path taking something like this or Jupyter and have it target a wide market and extend the capabilities in an accessible way. I think you&#x27;d blow half steps like Airtable out of the water.
pablobaz大约 6 年前
&quot;Over the next couple months, we added Numpy, Pandas, and Matplotlib&quot;<p>The python data stack running in web assembly!
评论 #19384725 未加载
dlukes大约 6 年前
It&#x27;s impressive how streamlined matplotlib plotting is and how well it works -- you just import matplotlib and start plotting, you can have multiple interactive plots alongside each other. Especially compared to Jupyter, where it&#x27;s unfortunately sort of clunky (interactive plots first have to be enabled with %matplotlib notebook, and then you can only have one at a time, you have to manually &quot;freeze&quot; the previous one before you start a new one, or weird stuff -- overplotting -- happens).<p>To be clear, I love Jupyter, and I think it&#x27;s especially great for teaching beginners (especially because it has &quot;real&quot; cells, as in GUI widgets, though I do get the appeal of a flat plain text format for advanced users). But plotting has been a bit of a stumbling block, whereas the way it works in Iodide blew me away.
smackay大约 6 年前
This is the future I want: tools so anybody who has the inclination can publish interesting things for anyone to see.<p>Imagine if web servers were just standard containers and services which anyone could upload applications to. That would take us to a decentralised internet once again. No more centralized, fossilized, web application with stacks that are impossibly complex that only the original developers could change. All the power and innovation would be put in the hands of the content creators once more and the internet would just be infrastructure. Sound familiar? I hope so.<p>Time to program like it&#x27;s 1999.
评论 #19387898 未加载
mindcrime大约 6 年前
There is a sense in which this is pretty cool... even <i>very</i> cool. And I&#x27;m all for anything that makes scientific &#x2F; data-oriented analysis and exploration more accessible.<p>But on the other hand, I remain unsure that it makes sense to continually try to push <i>everything</i> into the browser. Take:<p><i>Iodide documents live in the browser, which means the computation engine is always available. Whenever you share your work, you share a live interactive report with running code. Moreover, since the computation happens in the browser alongside the presentation, there is no need to call a language backend in another process. This means that interactive documents update in real-time, opening up the possibility of seamless 3D visualizations, even with the low-latency and high frame-rate required for VR.</i><p>I mean, yeah, OK, there are aspects of this that make sense. But there are always tradeoffs. Take, for example this point: <i>&quot;there is no need to call a language backend in another process&quot;</i>. This also means that you&#x27;re limited to the processing power available on your local machine, which is - BTW, being shared among everything running on your computer.<p>I&#x27;m not saying that Iodide is bad, mind you. But it - like any other tool - may not be appropriate for everything. As a corollary to that, I think it might be a fun experiment to see what it would take to provide an ability to move the computationally expensive parts between the local computer and a remote $BEEFY_HOST in a seamless way.
kasperset大约 6 年前
Interesting to see this tool along with Observablehq.
codeisawesome大约 6 年前
I like that when scientists don’t like a tool they write a white paper complaining about it (the HAL paper linked in this article) =D
j0e1大约 6 年前
&gt; Pyodide: The Python science stack in the browser<p>You have convinced me to try this now!
ZeroCool2u大约 6 年前
The SWE in me is very enthusiastic about this. I love the push that Mozilla is making with WASM in really practical and tangible ways.<p>That being said, I have a hard time seeing myself moving from Python to JS for any &#x27;real&#x27; data science work when I get a lot of the more advanced viz features here for free from libraries like plotly without having to touch JS and with similar or better performance. Not to mention, I don&#x27;t have any desire to move away from PyCharm after getting comfortable with and really taking advantage of of its full feature set.<p>I think for small projects this could be very useful, especially with GDocs style real time collaboration, but for now I can&#x27;t see myself or my teammates taking advantage of this.<p>That being said, I vote full steam ahead and lets see where this takes us!
评论 #19386353 未加载
评论 #19390344 未加载
评论 #19387681 未加载
eggy大约 6 年前
I want to see APL ported to this, specifically Dyalog APL. APL is such a great math&#x2F;data language, and with Co-dfns for GPU computing it would be great. Shen [1] would also be cool on this.<p>[1] www.shenlanguage.org
评论 #19390425 未加载
kbumsik大约 6 年前
I just read the documentation of JSMD, which is Iodide&#x27;s flavor for Markdown [1].<p>So they made a Markdown syntax which is capable of running JS and Python, and they name it JSMD.<p>Just nitpicking but they probably want to come up with a more suitable name other than JSMD. I&#x27;m genuinely amazed by this project though.<p>[1]: <a href="https:&#x2F;&#x2F;iodide-project.github.io&#x2F;docs&#x2F;jsmd&#x2F;" rel="nofollow">https:&#x2F;&#x2F;iodide-project.github.io&#x2F;docs&#x2F;jsmd&#x2F;</a>
评论 #19390237 未加载
ktpsns大约 6 年前
I like how the first comment at the end of the page asks:<p>&gt; It’s like JupyterHub, but for people who only know javascript?<p>That also was my feeling. And since Jupyter is language agnostic, why not just run a JavaScript kernel, such as <a href="https:&#x2F;&#x2F;github.com&#x2F;n-riesco&#x2F;ijavascript" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;n-riesco&#x2F;ijavascript</a> . It looks somehow as if Iodide is exactly that.
评论 #19388585 未加载
bayesian_horse大约 6 年前
I was trying to make coroutines work through the javascript event loop, such that you could basically &quot;await&quot; any javascript Promise (or wrap a Promise in an awaitable).<p>So you&#x27;d have things like &#x27;await sleep(1)&#x27; which would be implemented with a Promise and setTimeout. Or &#x27;await fetch(&quot;&#x2F;api&#x2F;v1&#x2F;list&quot;)&#x27;.<p>Unfortunately I haven&#x27;t gotten very far yet.
评论 #19386339 未加载
评论 #19386176 未加载
kbumsik大约 6 年前
After having a quick look, I found that they use Emscripten and it is capable of compiling it to JS (asm.js) as well as WebAssembly. So the whole Pyodide stack can be compiled to JS.<p>I&#x27;m wondering how the performance looks like when running Pyodide stack on JS.
评论 #19387247 未加载
xvilka大约 6 年前
What is the difference with Jupyter&#x2F;JupyterLab?
评论 #19387658 未加载