Mozilla has announced a new tool for scientific comunnication: Iodide Original blog post
In the last 10 years, there has been an explosion of interest in “scientific computing” and “data science”: that is, the application of computation to answer questions and analyze data in the natural and social sciences. To address these needs, we’ve seen a renaissance in programming languages, tools, and techniques that help scientists and researchers explore and understand data and scientific concepts, and to communicate their findings. But to date, very few tools have focused on helping scientists gain unfiltered access to the full communication potential of modern web browsers. So today we’re excited to introduce Iodide, an experimental tool meant to help scientists write beautiful interactive documents using web technologies, all within an iterative workflow that will be familiar to many scientists.
What i find interesting is the direct mention of julia:
We’ve spoken to folks from the R and Julia communities about compiling those languages to WebAssembly, which would allow their use in Iodide and other browser-based projects. Our initial investigation indicates that this should be doable, but that implementing these languages might be a bit more challenging than Python. As with Python, some cool workflows open up if you can, for example, fit statistical models in R or solve differential equations in Julia, and then display your results using browser APIs. If bringing these languages to the web interests you, please reach out — in particular, we’d love help from FORTRAN and LLVM experts.
If i understand correctly, a Web Assembly port of Julia is necessary to acomplish their goal, and this would greatly help the efforts of code sharing (like this discourse post)
It would be really cool if Julia can compile to webassembly easily. I know of the Charlotte.jl effort. My understanding is that since Julia compiles to LLVM IR it’s possible to compile to Webassembly “relatively easily” except the part of Julia that calls things like BLAS.
We had a prototype of Julia running in Iodide, but looks like that has bitrotted a bit and no longer works. We’ll have to get back at this at some point.
It’s pretty different. Iodide is 100% client side execution of code, which means it only works with Julia when we 100% figured out the WebAssembly compilation - so Iodide pretty much can’t offer Julia right now.
Of course client side execution will have the advantage, that one doesn’t need to have a server running on which to execute the Julia code! That’s why we’re also working a bit on the Julia-> wasm compilation, to also offer client side Julia execution. It’s a slow process though, which doesn’t have a huge priority right now.
Iodide also doesn’t have the whole “lets freeze all data + used software etc” in a docker container and publish it as an article with a DOI, which is 100% reproducible
Not working for me on the work computers. Will try at home, work tends to block random things from the internet. When I press run, it says the pluggin has been downloaded but the right hand side become a page with a unhappy face, the same unhappy face when Chrome crashes. So I am assuming it might be work blocking some content.