Why Jupyter is Data Scientists' Computational Notebook of Choice (nature.com)
Jeffrey M. Perkel, writing for Nature: Perched atop the Cerro Pachon ridge in the Chilean Andes is a building site that will eventually become the Large Synoptic Survey Telescope (LSST). When it comes online in 2022, the telescope will generate terabytes of data each night as it surveys the southern skies automatically. And to crunch those data, astronomers will use a familiar and increasingly popular tool: the Jupyter notebook. Jupyter is a free, open-source, interactive web tool known as a computational notebook, which researchers can use to combine software code, computational output, explanatory text and multimedia resources in a single document. Computational notebooks have been around for decades, but Jupyter in particular has exploded in popularity over the past couple of years. This rapid uptake has been aided by an enthusiastic community of user-developers and a redesigned architecture that allows the notebook to speak dozens of programming languages -- a fact reflected in its name, which was inspired, according to co-founder Fernando Perez, by the programming languages Julia (Ju), Python (Py) and R.
[...] For data scientists, Jupyter has emerged as a de facto standard, says Lorena Barba, a mechanical and aeronautical engineer at George Washington University in Washington DC. Mario Juric, an astronomer at the University of Washington in Seattle who coordinates the LSST's data-management team, says: "I've never seen any migration this fast. It's just amazing." Computational notebooks are essentially laboratory notebooks for scientific computing. Instead of pasting, say, DNA gels alongside lab protocols, researchers embed code, data and text to document their computational methods. The result, says Jupyter co-creator Brian Granger at California Polytechnic State University in San Luis Obispo, is a "computational narrative" -- a document that allows researchers to supplement their code and data with analysis, hypotheses and conjecture. For data scientists, that format can drive exploration.
[...] For data scientists, Jupyter has emerged as a de facto standard, says Lorena Barba, a mechanical and aeronautical engineer at George Washington University in Washington DC. Mario Juric, an astronomer at the University of Washington in Seattle who coordinates the LSST's data-management team, says: "I've never seen any migration this fast. It's just amazing." Computational notebooks are essentially laboratory notebooks for scientific computing. Instead of pasting, say, DNA gels alongside lab protocols, researchers embed code, data and text to document their computational methods. The result, says Jupyter co-creator Brian Granger at California Polytechnic State University in San Luis Obispo, is a "computational narrative" -- a document that allows researchers to supplement their code and data with analysis, hypotheses and conjecture. For data scientists, that format can drive exploration.
Economics Nobel Laureate Paul Romer Is a Python Programming Convert
Especially when that code provides a competitive advantage in grant proposals.
Anecdotal, but I do 90% of my python 'development' in Jupyter Notebooks.
For work I can make a nice notebook and have it generate a PDF for archiving. It'll output to LaTeX, html, .py and a number of other formats.
Now you can include multiple languages in the same notebook including R and Matlab, both popular in their own niches of use.
Knuth tried to teach us to do this decades ago, but nobody listened.
Then we will analyze what guides the planets and understand what steers the stars.
Jupyter is something that is relatively unique, useful in its field, and *not* crammed down the throats of people for whom it isn't really relevant.
I applaud the way that project is executed, adopted, and evangelized as being on point and solidly executed...
XML is like violence. If it doesn't solve the problem, use more.
In early nineties, my experiments used to generate 5 terabytes of data a day (limited by ability to store and post process. the telescopes had capability of generating much larger data. In fact in late 70s and early 80s, it was common to generate terrabytes of data a day in radio astronomy VLBI experiments. These were stored on regular video cassettes (7 GB/tape). A single experiment will use anywhere from 5-25 recorders simultaneously 24 hrs a day.
Was never meant to operate this SAN.
Stupydr for stupider. Trying to be hip is square. Get with the times.
Indeed, this struck me from the article:
Basically, we're in no way qualified to make stuff to display brain imaging, but we'll teach you how you can.
Suddenly I'm very intrigued. I've been bashing away with Excel making representations of two years of performance data on our servers, and now I'm wondering how much easier this would have been with Jupyter.
Sounds quite interesting.
How long until Microsoft/amazon/google/facebook/autodesk/stratasys by up this Jupyter? Probably as soon as I download it...
My favorite counterpoint to the benefits of notebooks.
If you come from your mindset of replacing Excel, yes it is.
However, if you come from the mindset of using it as the prodcution code for the backend model for your startup, then no.
I can see how it works great for prototyping, experimenting, and one-off type work especially when all the users of the tool will be reasonably familar with it.
But I wouldn't use it to run production code behind a website. Maybe you'll build your prototype version of the model in there, and then port it to a production framework.
For decades, we talked about Knuth's literate programming. Jupyter is finally an open source tool that made it usable for everyone.
There is no better way to explain the use of a library than making a Jupyter notebook available.
Most of my Python use lately is for one-off analytics with heavy libraries. Jupyter suits this workflow very well.
IPython already has decent hooks for IDEs (PyCharm, Spyder), but I hope this gets even better.
Nowhere in the TFA was it suggested to build your website, or start-up company off of Jupyter. Just that it's an intuitive, easy to use, powerful, and has a lot of community support and development. Basically the right tool for the job. But no one says is the best tool for every job.
It's also not going to run Skynet, so you can cross that off your list.
I love jupyternotebooks. But it's matlab. Well a broken inferior matlab. I do like python syntax better than matlab but that's just a sugar.
The upcoming Jupiterlab is a slavishly copy of the matlab ide.
It reminds me of how Linux desktop managers were always copying the last generation of windows.
I'm not complaining! I use mint and it owes a lot to windows too.
Mint however is actually superior to windows now.
But look at something like staroffice libre office. Ow... the pain. It's like a bad ms office 5, except you can only use it if you have thumbtacks in your shoes. They copied everything that was bad just so it was the same.
Jupiter is really nice and I use it in preference to matlab because it's so portable and I can use other python packages. But unless you used matlab you may not realize it's just a fast follower of ideas already tested out by matlab
Some drink at the fountain of knowledge. Others just gargle.
OP is right. This is just literate programming.
There's literally nothing novel about it; it's just the right place and right time (and a slew of Slashvertisements don't hurt either).
Sagemath has more libraries (and can deal with jupyter notebooks too)
BLAST PROCESSING HERE WE COME
Having said all that... the order of execution isn't really fixed. Unlike Excel where making any change normally recomputes everything affected, making a change in a notebook doesn't recompute anything untill that 'cell' is executed.
This means the 'execution state' doesn't necessarially match what's in the notebook (it reflects the state of the cells based on the order they were executed in, which isn't guarenteed to be top-to-bottom but rather whatever order you triggered them in.)
So, if you're a programmer and used to running code in a debugger, you're fine. If you're not.. well, yeah. Potential for confusion. Except programmers normally only go so far with this and then go "oh my programs state no longer matches reality, time to re-launch the process" Newbies won't know about that.
Software pirates use R.
R! R! R!
"But no one says is the best tool for every job." I wish someone knowledgeable would explain which jobs Jupyter is good for, and which it isn't. I see claims here by one poster, and then a reply below that post saying they're all wrong... Doesn't generate trust, at least not for me.
For the record, I do a lot of Python programming (including object oriented, which one poster said you couldn't do in J, and the very next poster said you could; case in point). Also XML, LaTeX, and finite state transducers, with Literate Programming thrown in (special purpose XML, the Python code is not done in LP). And all under version control. But it's not clear to me what, if anything, I'd be gaining by putting all?/some? of this in Jupyter.
in the original article
https://www.nature.com/articles/d41586-018-07196-1
there is a link to a live jupyter demo
link is broken
isn't that modern fadish software ? broken by the time you hear about it ?
Emacs uber alles
Maybe they just don't know how to write functions and shit and they just copy/paste some hacked code that just works for their cases.