Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

How is this different than Ipython/Jupyter notebooks? Whys everyone freaking out about this.


A few differences. 1. You don’t have to install anything, so running (or forking) someone else’s notebook is as simple as clicking a link. 2. It’s reactive, which means simpler code and better feedback, particularly when building user interfaces or analyzing realtime data. 3. It runs in the browser so you have direct access to powerful graphics (and GPU computation): Canvas, SVG, WebGL. 4. You can quickly import code for reuse from other notebooks, making a notebook a kind of lightweight library as well as a human-readable document.


> 3. It runs in the browser so you have direct access to powerful graphics (and GPU computation): Canvas, SVG, WebGL

Jupyter is a web server. Notebooks run in the browser. iPython the kernel can run on the command line in addition to the browser.

> 1. You don’t have to install anything, so running (or forking) someone else’s notebook is as simple as clicking a link

Jupyter lets you clone notebooks with the click of a button.

Also, you can run Javascript from a Notebook cell, and there are Python libraries that interface with the JS visualization libraries, like Plotly.


Jupyter Notebooks run in the browser but what examples are there of being able to write Python and have the same kind of access to the DOM and graphics APIs like you have with JavaScript?


ipywidgets for creating interactive html widges & dashboards and Plotly, Bokeh, and nvd3 are 3 examples for visualaition that integrates Python with JS libraries.

Of course JS gives you full flexibility for talking to the DOM and graphics APIs, but web apps are not the main focus of data science. The web is just one possible means to presentation or collaboration.


[flagged]


You've crossed into spamming HN with those links, a long time ago in fact. Please don't do this.

It's fine to link to your stuff when it's relevant and serves good conversation. It's not fine to use HN just for promotion.


Were there objections by collaborators or in your own mind, of whether enough people would abandon Jupyter Notebooks to use Observable?

Or was it just not an issue, because you figured 1) not having to installing anything and 2) reactive would be enough to win converts?


basically if you have a bunch of code blocks that depend on each others' results - you don't have to remember which ones to update if you changed one, it will update automatically.

especially useful with data visualization/exploration, but also helps a lot if you have a complex sequence where it's easy to get lost and forget to recompute something. there's a youtube link in the comments here which explains a lot.


> you don't have to remember which ones to update if you changed one, it will update automatically.

Although I see how that would enable rapid iteration and make e.g. creating nice visualizations much easier, I don't think it should be mandatory. The user may want to control the state their notebook and variables are in manually.


> The user may want to control the state their notebook and variables are in manually.

Can you share an example where you’d want that behavior? Spreadsheet cells don’t ask you when they update themselves.


There's an option for that. It's needed if your spreadsheet is too big / your calculations are too expensive.


Thanks; that’s good to know!


Isn't that like saying you want to control your execution manually? Basically, this just get rids of the manual refresh button that would be required to sync pieces of dependent computations after code or data changes somewhere. It is as if the graphics were running in immediate mode being refreshed completely on every frame (a common goal for live programming systems).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: