Live data from Hacker News

QuickJS JavaScript Engine

bellard.org

71–80 of 279 posts

Re: QuickJS JavaScript Engine

#71
post #69

Note that Bellard already wrote a (small) HTML/CSS engine for his Emacs clone. So we're only a small step away from Bellard-Browser.

Wait, he has an Emacs clone, too? EDIT: https://bellard.org/qemacs/

Looks impressive, I may have to try it out.

Too bad it's LGPL. I expected MIT because QuickJS was, and hoped for it because GPL is unethical[1].

[1] https://sdegutis.com/2019-06-26-why-the-gpl-is-unethical

Re: QuickJS JavaScript Engine

#73
Worth noting: the demo is a WASM-compiled instance of this engine. I'm not sure, but I think this might be the first example of a fully featured, potentially production-ready, JS VM sandbox running in the browser. (We're looking into safe ways to enable third party scripting of our own application, and such a sandbox would be a very nice tool to have in hand.)

Re: QuickJS JavaScript Engine

#74
post #62

Earlier quoted context omitted.

Do you know who his current employer is (if any)?

He has his own company now with another partner ( https://www.amarisoft.com/ ) where they work on and distribute the LTE software he wrote.

Well, the scrolljacking is evidence no one is infallible. ;)

Re: QuickJS JavaScript Engine

#75
post #73

Worth noting: the demo is a WASM-compiled instance of this engine. I'm not sure, but I think this might be the first example of a fully featured, potentially production-ready, JS VM sandbox running in the browser. (We're looking into safe ways to enable third party scripting of our own application, and such a sandbox would be a very nice tool to have in hand.)

Safari's JavaScriptCore has been available on WASM for some time:

https://wapm.io/package/jsc

Online demo of JSC.js

https://mbbill.github.io/JSC.js/demo/index.html

Re: QuickJS JavaScript Engine

#76

Earlier quoted context omitted.

That's a pretty standard range for high level consultants. Bellard can definitely bill well above that, if there are tasks that require his talent.

How much higher above $1k/hr can he bill?...

Someone like him wouldn’t be billing by the hour, but rather as a portion of overall value created. For the kind of non-trivial jobs worth his time, six figures at least.

Re: QuickJS JavaScript Engine

#78

Earlier quoted context omitted.

Wait, he has an Emacs clone, too? EDIT: https://bellard.org/qemacs/

Looks impressive, I may have to try it out. Too bad it's LGPL. I expected MIT because QuickJS was, and hoped for it because GPL is unethical[1]. [1] https://sdegutis.com/2019-06-26-why-the-gpl-is-unethical

The strawman is strong with that argument.

> But for most people, they are comfortable with this agreement. They don’t see it as a breach of freedom or liberty, but as a simple and just contract.

Having people sign away something that they are not fully aware of the implications of is not the same as people not caring.

If you presented software as "and at any time, this software you just paid $300 for, can be remotely disabled and you won't get your money back and you have no choice about it", people might be less willing to accept the status quo.

To use (yet another!) car analogy, if I buy a car and the manufacturer goes out of business, I can still get support from independent mechanics. Heck if there are enough customers, a new company may spring to life just to make replacement parts for the car! (This in fact happens super often, non-oem parts are everywhere.) Even after bankruptcy of the original manufacturer, an entire third party supply chain can exist and people can keep driving their cars.

Compare this to closed source software, where the software can literally just stop working one day, with no recourse.

People are slowly coming to realize this, especially as more and more software has a requirement to ping a server somewhere. IoT devices are helping bring this issue to public awareness.

GPL says "no matter what, YOU have the right to what is running on your computers, you can open it up and do what you want, or pay someone else to do the same."

How is it unethical that I should have control over the software running on my PC, in my house? The same PC my webcam and microphone are connected to? The same PC I use for online banking and email?

Nothing else in the world works like closed source software. Hardware manufacturers try, and there is a legal fight to try and make physical goods like software (sealed shut, unable to open, no third party parts), but traditionally anything I buy I've been able to disassemble at will.

Why should software be any different?

(Of course I say this as someone who has spent over a decade writing a closed source software... and I use Windows as my primary OS.)

Re: QuickJS JavaScript Engine

#79
post #67

Earlier quoted context omitted.

Is it hand-written as a single file, though? I'm assuming the release is the output of some script that does concatenation.

Some editors, like Emacs, make it very easy to work with one huge file, because you can have multiple independent views ("windows" in Emacs parlance) into the same file. It is - or maybe has been - quite common to work like this in LISP communities.

Yes.

As an Emacs programmer, I much prefer working in one 10kloc file than 20 500loc files. The later I find pretty overwhelming.

Re: QuickJS JavaScript Engine

#80

Earlier quoted context omitted.

Is it hand-written as a single file, though? I'm assuming the release is the output of some script that does concatenation.

From a cursory glance, it doesn't look like it's a bunch of files concatenated together.

It's C so it's harder to tell than other languages, since it doesn't have separate namespaces for everything. You can just write a bunch of functions and global variables in separate files and then act like they're all in the same file, and there's really no difference.
Post reply on HN