Live data from Hacker News

JupyterLite – WASM-powered Jupyter running in the browser

github.com

31–40 of 68 posts

Re: JupyterLite – WASM-powered Jupyter running in the browser

#31

Earlier quoted context omitted.

Any substance on why we shouldn’t be doing it or why it’s stupid? What’s the alternative? Should researchers all learn Kubernetes and AWS and deploy their own environments?

The problem with Jupyter is that it impedes common-sense practices like version control, reproducibility, and automation. If you're spending the time and effort to rent these big servers, why not spend the 5 percent of the effort and do it right? Jupyter exists mostly because analytics/math guys are too lazy to spend a day learning software development practices. Must be some sort of us-vs-them point of misplaced pri…

> Jupyter exists mostly because analytics/math guys are too lazy to spend a day learning software development practices

Bahahahaha, yup those dang lazy mathematicians just shooting themselves in the foot and forcing us to deal with it! /s

Your preferences for software development are irrelevant. The value is in delivering the math to the end user. Using GCP, kubernetes or JavaScript to do that is an implementation detail. Sorry to tell you this, but you're a servant to those dang lazy analysts and without their insights, you're worthless.

Re: JupyterLite – WASM-powered Jupyter running in the browser

#32
post #23

Earlier quoted context omitted.

Java bytecode got translated to native too Think we've just got better at runtimes over time (JIT, intermediate formats etc.) and WASM was designed to be good for this rather than needed to work with an already exising bytecode

Reflection and other language features preclude direct translation of Java bytecode to machine code, whereas WASM is designed to be a portable assembly language, closer to the IL of GCC or LLVM.

java -XX:+PrintCompilation prints all methods/loops generated to native code

The reflection API has two issues, a security check each time you call a method and the arguments being transformed to objects. The code is still generated to assembly code but the assembly code is slower because of that overhead.

Re: JupyterLite – WASM-powered Jupyter running in the browser

#33

Earlier quoted context omitted.

Any substance on why we shouldn’t be doing it or why it’s stupid? What’s the alternative? Should researchers all learn Kubernetes and AWS and deploy their own environments?

The problem with Jupyter is that it impedes common-sense practices like version control, reproducibility, and automation. If you're spending the time and effort to rent these big servers, why not spend the 5 percent of the effort and do it right? Jupyter exists mostly because analytics/math guys are too lazy to spend a day learning software development practices. Must be some sort of us-vs-them point of misplaced pri…

I think that's a misguided take. I'm a software developer and data scientist (of sorts). Jupyter is an extremely convenient tool for adhoc data analysis. By default it gives you easy visualizations and inspection ability, allowing you to verify intermediate computation before rerunning.

It's easy to convert a notebook into a script with version control, reproducibility, and automation.

Re: JupyterLite – WASM-powered Jupyter running in the browser

#34

Earlier quoted context omitted.

The problem with Jupyter is that it impedes common-sense practices like version control, reproducibility, and automation. If you're spending the time and effort to rent these big servers, why not spend the 5 percent of the effort and do it right? Jupyter exists mostly because analytics/math guys are too lazy to spend a day learning software development practices. Must be some sort of us-vs-them point of misplaced pri…

> Jupyter exists mostly because analytics/math guys are too lazy to spend a day learning software development practices Bahahahaha, yup those dang lazy mathematicians just shooting themselves in the foot and forcing us to deal with it! /s Your preferences for software development are irrelevant. The value is in delivering the math to the end user. Using GCP, kubernetes or JavaScript to do that is an implementation de…

You misunderstood.

The guy above correctly said that Jupyter is nice for ad-hoc analysis kind of work. The problem is that when you've reached terabytes of data and tens of cores you're not "ad-hoc" anymore.

Too often the math guys try to avoid responsibility by claiming they're doing "ad-hoc" work when they're clearly not anymore. It's convenient, yes, but leads to a bad place eventually.

Re: JupyterLite – WASM-powered Jupyter running in the browser

#35

Earlier quoted context omitted.

> Jupyter exists mostly because analytics/math guys are too lazy to spend a day learning software development practices Bahahahaha, yup those dang lazy mathematicians just shooting themselves in the foot and forcing us to deal with it! /s Your preferences for software development are irrelevant. The value is in delivering the math to the end user. Using GCP, kubernetes or JavaScript to do that is an implementation de…

You misunderstood. The guy above correctly said that Jupyter is nice for ad-hoc analysis kind of work. The problem is that when you've reached terabytes of data and tens of cores you're not "ad-hoc" anymore. Too often the math guys try to avoid responsibility by claiming they're doing "ad-hoc" work when they're clearly not anymore. It's convenient, yes, but leads to a bad place eventually.

I understood fine. The problem is trying to formalize "ad hoc" versus "production development" practices as if they're meaningful.

There isn't some golden truth of software development that analysts are too lazy to learn and implement. There's the problem and then there's solutions. Complaining that Jupyter-based development doesn't adequately accomdate version control or some other whistle commonly used in software development is some peak developer entitlement.

Re: JupyterLite – WASM-powered Jupyter running in the browser

#36

Earlier quoted context omitted.

> Jupyter exists mostly because analytics/math guys are too lazy to spend a day learning software development practices Bahahahaha, yup those dang lazy mathematicians just shooting themselves in the foot and forcing us to deal with it! /s Your preferences for software development are irrelevant. The value is in delivering the math to the end user. Using GCP, kubernetes or JavaScript to do that is an implementation de…

You misunderstood. The guy above correctly said that Jupyter is nice for ad-hoc analysis kind of work. The problem is that when you've reached terabytes of data and tens of cores you're not "ad-hoc" anymore. Too often the math guys try to avoid responsibility by claiming they're doing "ad-hoc" work when they're clearly not anymore. It's convenient, yes, but leads to a bad place eventually.

> The problem is that when you've reached terabytes of data and tens of cores you're not "ad-hoc" anymore.

Not in any meaningful way, the code to explore a 50MB data set on a little machine looks the same as the code to explore a 50GB data set on a big machine, so of course one doesn’t need version control more than the other.

> Too often the math guys try to avoid responsibility by claiming they're doing "ad-hoc" work when they're clearly not anymore. It's convenient, yes, but leads to a bad place eventually.

This is a moralistic argument. The economic argument is that the primary artifact of research is insight, not code, so getting to that novel insight as fast as possible is paramount. Putting version control, tests, or other ceremony into the exploration loop is a pointless cost. Productionizing that insight can happen later in a more traditional software development workflow. It’s similar to how we write proofs of concept without the intensive testing effort that we would go into if we were writing production software.

Re: JupyterLite – WASM-powered Jupyter running in the browser

#37
post #9

Earlier quoted context omitted.

It's convenient to directly open a notebook from a browser download or a slack message without having to fire up jupyter in a terminal and navigate it to that temp file.

I use vscode to open and run notebooks using the jupyter plugin. Works great. Don’t need to fire up the browser

Vscode is now my go-to for opening and running notebooks. The issue I had with the normal jupyter was it it's support for normal python files were bad. With vscode I can work on both normal python files and notebook files in the same window without much overhead

Re: JupyterLite – WASM-powered Jupyter running in the browser

#38
post #20

Earlier quoted context omitted.

There are crucial differences between Java applets and JS. - Applets tried to render their own GUI, Wasm doesn't and defers to the browser. - applets needed a big, slow to start and resource hungry VM. Wasm is running in the same thread your JS is also running in, it's light, and loads faster than JS - Java and flash were plugins, which needed to be installed and kept up to date separately. Wasm is baked into your br…

You must view the browser with JS and WASM as a unit. The browser renders it's own GUI too, it's not OS native The browser uses lots of resources too. The browser is kind of a plugin to the OS and must be updated separately. Java nowadays is pretty fast too. Java VM serves a platform for multiple languages like Scala, Kotlin, Clojure. Let's face it, the browser is the new JVM and a soon it gets the same permissions l…

> a soon it gets the same permissions like the JVM to access the file system and such

Like... never?

We get better systems as we get more experience. That's why C# was better than Java, Java today is better than Java was when C# launched. That's why we now have amazing languages like Rust and also that's why the same problems will never be the same given we have a ton of experience with VMs, docker, sandboxing in browsers etc.

Re: JupyterLite – WASM-powered Jupyter running in the browser

#39
post #9

Earlier quoted context omitted.

It's convenient to directly open a notebook from a browser download or a slack message without having to fire up jupyter in a terminal and navigate it to that temp file.

I use vscode to open and run notebooks using the jupyter plugin. Works great. Don’t need to fire up the browser

Pycharm is also excellent at this. My biggest problem with the normal jupyter interface is years of reflex that Ctrl+w is for deleting words. Quite annoying in a web browser.

Re: JupyterLite – WASM-powered Jupyter running in the browser

#40
post #27
post #2

Despite Pyolite has a miserable performance (20MB of downloads), the overall project direction is correct. I said this already 10 years ago: We don't need more cloud computing but need to empower users end devices again. Jupyter is typically operated on powerful notebooks and not on mobile devices.

Unfortunately we will need more cloud computing. If you're watching what's going on in the ransomware and cyber insurance space, small and many medium-sized companies that require E&O coverage for their contracts are not going to be able to afford to run on their own equipment.

Good. People who are bad at administering computers will stop doing it, and will focus on what they're good at.

Then, we can use the on-demand nature of cloud services to reduce their power consumption. Simultaneously we can move that consumption into renewable-powered datacenters. This is literally better for everyone.

Post reply on HN