Jupyter/Python has been game changing for me.<p>I'm not a commercial software developer, but a scientist working on technology development. I've been programming for 30+ years.<p>Jupyter has become my lab notebook. In the past, I always had illegible, disorganized notebooks, files, and program code, all over the place. A Jupyter notebook lets me organize all of that stuff in one place, in a narrative fashion, allowing me to reconstruct what I did, long after I've forgotten the details. The reasons for open communication of methods and results to the public, also apply to internal work.<p>My notebooks become my reports. I've abandoned PowerPoint, and my colleagues, including managers, don't seem to mind. Seeing the actual work might actually give them a feeling of involvement, like inviting them into the lab. They're also a good way of communicating a prototype of a process to the software development team, when an idea ends up in a product. Even if they don't like Python, the programmers can read and understand it.<p>I can actually run some of my data acquisition code directly within Jupyter. A code cell that spits out an inline graph is practically the default interface for a lot of this kind of work, so I don't have to build a unique GUI for every kind of test. This speeds up incremental refinement of an experimental technique, even if the routines that I write end up in a "straight" Python program when it's time to let an experiment run for a few hours or days.<p>Granted, Jupyter won't turn bad programmers into good. Learning good programming methods is still a gap in the education of scientists.
Probably the longest time-to-knowing-what-the-hell-this-thing-actually-is I've ever seen on HN. Clicked on the link, clicked on a Github link, clicked to the Github root, clicked on the link to the project's site, clicked on the first item in the table of contents, got a vague idea what it was.<p>I feel grumpy and old. :(
There's also a newer alternative called Zeppelin:<p><a href="https://zeppelin.incubator.apache.org" rel="nofollow">https://zeppelin.incubator.apache.org</a><p>Comparison: <a href="https://www.linkedin.com/pulse/comprehensive-comparison-jupyter-vs-zeppelin-hoc-q-phan-mba-" rel="nofollow">https://www.linkedin.com/pulse/comprehensive-comparison-jupy...</a>
I find Jupyter great for the single-user use case, but I'm often frustrated with how it "breaks" with version control, when collaborating.
For some background on the direction of the Jupyter project, check out this recent talk at PyData Amsterdam (<a href="http://pydata.org/amsterdam2016" rel="nofollow">http://pydata.org/amsterdam2016</a>) by Min Ragan-Kelley & Thomas Kluyver.<p>They talk about how Jupyter has "evolved from a Python-specific tool to a general data science tool that supports many different languages."<p><a href="https://www.youtube.com/watch?v=T385txAYSt8" rel="nofollow">https://www.youtube.com/watch?v=T385txAYSt8</a>
If you use Atom, I would highly recommend looking at <a href="https://atom.io/packages/hydrogen" rel="nofollow">https://atom.io/packages/hydrogen</a> It uses Jupyter under the hood to do some serious inline magic.
I had my first experience with Jupyter last weekend when I was trying to learn about document clustering with Python. It seems like a cool idea, but in practice ended up being kind of annoying: <a href="https://github.com/brandomr/document_cluster/issues/7" rel="nofollow">https://github.com/brandomr/document_cluster/issues/7</a>
Thanks for the feedback on the announcement blog post. I added a short description and link to the project home page at the top of the blog post after reading the feedback here. Thanks!
It's fun to play with code and try out new ideas in such a rich interactive environment. When you want to get the work done in production scenario, the shortcomings of unable to use version control and the overhead of interactive environment just kill it.<p>What works is that you get a subset of your data and try to develop some code to process it and generate a handful of graphs. You can then save the code in its true text form and edit with your favorite editor, and run it on your real data.
While working on a data science team some months ago, these notebooks helped me build something that explained, in detail and at a high level, the implementation details of an algorithm to sales and others not familiar with data science techniques. It was awesome and so easy.<p>I also used them when we did a capture the flag contest to help explain visually how a multi time pad vulnerability works.
"The Jupyter Notebook is a web application that allows you to create and share documents that contain live code, equations, visualizations and explanatory text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, machine learning and much more."<p><a href="http://jupyter.org/" rel="nofollow">http://jupyter.org/</a>
One of our data analyst had fun drawing all the shots from Kobe during his whole career.
He did everything on jupyter, which I discovered at that moment, and was mind blown on how well it worked and how powerful it is.<p>I don't think I would ever use this tool as a seasoned software engineer, but I can definitely see the power it has for newer people who want to learn, or simply people like him who know a little bit of code and just wanted to run it.<p>Congrats to the team building this tool!