Live data from Hacker News

Fabrice Bellard Releases MicroQuickJS

github.com

541–550 of 594 posts

Re: Fabrice Bellard Releases MicroQuickJS

#541
post #504

Fabrice, Mr Bellard, O Indefatigable One, if you are reading this, I would love for you to make a JavaScript that compiles to assembly and works across Windows PE, macOS and Linux. Surrendering the various efficiencies of the V8 JIT bytecode in favor of AOT is entirely acceptable for the concision, speed and the chance to "begin again" that this affords. In fact, I believe you may already be working on such an idea!…

you might be interested in the future of https://porffor.dev/

Oh, this is excellent! I'm so happy with this. This is EXCELLENT! and what a beautiful website. Is this your project?

So cool. Where did the name come from? I am so stoked and glad that we are going to have a JS to native binary compiler. The best thing ever!

I was going to set up an AI automation to run on this against the autotests, but as I got started, I felt - why not just create a new language where I can pick my own concurrency paradigms and syntax? So I went with that instead.

So glad someone is doing this. What more do you know about this proejct, kind person?

Re: Fabrice Bellard Releases MicroQuickJS

#542

Earlier quoted context omitted.

It is not about artists per ce, it is about manipulative entities. For any manipulation to succeed, one has to create a fog, disorientation, muddy waters. AI brings clarity. This results in a lot of pain for those who tried to hijack the game in one way or another. From the psychological point of view, AI is a mirror of one's personality. Depending on who you are, you see different reflections: someone sees a threat,…

AI brings clarity . Do you mean that kind of clarity when no audio/video evidence is a proof of anything anymore? > This results in a lot of pain for those who tried to hijack the game in one way or another. I'm not quite sure if any artists, designers, musicians and programmers whose work was used to train AI without their consent tried to manipulate anyone or hijack anything. Care to elaborate?

It is not that clarity as in a "positive happy life". It is the clarity that frees you from perceptual distortions - if everything can be faked, one starts to question themselves what kind of information they are consuming.

Programmers willingly put their projects to the open source, and it's their consent by default unless there is a prohibitive license that explicitly denies AI training.

Artists, designers, musicians - I agree here, but this is the point where inflated egos usually enter the room.

When was the last time you have heard a song without autotune? If it was a machine all along for the last 20 years, why we should care now? Why we should care if 99% of artists do not care about us by pushing subpar materials down to our throats to "make it" (for them, of course)?

AI rebalances those asymmetries by bringing them to ground 0. Some people consider it as destruction, but some see a breeding ground for the future.

Re: Fabrice Bellard Releases MicroQuickJS

#543
post #225
post #208

Earlier quoted context omitted.

Re: TCO Does the language give any guarantee that TCO was applied? In other words can it give you an error that the recursion is not of tail call form? Because I imagine a probability of writing a recursion and relying on it being TCO-optimized, where it's not. I would prefer if a language had some form of explicit TCO modifier for a function. Is there any language that has this?

At least in Lua then the rule is simply 'last thing a function dose' this is unambiguous. `return f()` is always a tail call and `return f() + 1` never is.

What about:

return 1 + f()

?

Re: Fabrice Bellard Releases MicroQuickJS

#544

Earlier quoted context omitted.

AI brings clarity . Do you mean that kind of clarity when no audio/video evidence is a proof of anything anymore? > This results in a lot of pain for those who tried to hijack the game in one way or another. I'm not quite sure if any artists, designers, musicians and programmers whose work was used to train AI without their consent tried to manipulate anyone or hijack anything. Care to elaborate?

It is not that clarity as in a "positive happy life". It is the clarity that frees you from perceptual distortions - if everything can be faked, one starts to question themselves what kind of information they are consuming. Programmers willingly put their projects to the open source, and it's their consent by default unless there is a prohibitive license that explicitly denies AI training. Artists, designers, musicia…

> When was the last time you have heard a song without autotune?

Right now, 2025-12-25, 09:00 UTC, I'm listening to a song without autotune.

Everything But The Girl - Missing (Todd Terry remix)

And I can also find thousands of songs without autotune that were released on Spotify yesterday. Seek and thou shall find.

Also it's not clear how autotune is related to ego. No one pretends that autotune makes one a singer. It's but an effect, and quite artsy on its own when used properly. Does compressor relate to it too? Delay? Reverb?

"This song has too much ego, the reverb is 6dB louder than the dry signal"...

How does a sheer number of subpar artists caring only about money (which is of course a thing, but nowhere near a 99% thing, and maybe a problem for those who are too lazy to discern and search themselves) justify robbing truly sincere artists who share their soul with the listener?

Re: Fabrice Bellard Releases MicroQuickJS

#545
post #225

Earlier quoted context omitted.

At least in Lua then the rule is simply 'last thing a function dose' this is unambiguous. `return f()` is always a tail call and `return f() + 1` never is.

What about: return 1 + f() ?

No, the last thing is the +; which can't run till it knows both values. (Reverse Polish notation is clearer, but humans prefer infix operators for some reason)

Re: Fabrice Bellard Releases MicroQuickJS

#546
post #17

Clarification added later : One of my key interests at the moment is finding ways to run untrusted code from users (or generated by LLMs) in a robust sandbox from a Python application. MicroQuickJS looked like a very strong contender on that front, so I fired up Claude Code to try that out and build some prototypes. I had Claude Code for web figure out how to run this in a bunch of different ways this morning - I hav…

Since you're here and this is likely to become professionally relevant for me pretty soon, what is the best way you know of for securely running Python inside Python?

I was looking for something like Pyodide but runnable from Python, but that doesn't seem to exist quite yet. I can get a Python interpreter to run in wasmtime, but that doesn't have the Pyodide goodies like Micropip etc. Sadly, Pyodide itself seems fully married to JS, as it compiles to Emscripten and not WASI.

I'm almost tempted to just go with a small binary embedding V8 and running Pyodide inside V8 isolates or something.

(I know I can do this via Firecracker / GVisor / whatever, that is not the solution I'm looking for.)

Re: Fabrice Bellard Releases MicroQuickJS

#548

Earlier quoted context omitted.

It's fine, I can see the advantages. I just think it's a weird level of blindness to act like 1 indexing is some sort of aberration. It's really not. It's actually quite friendly for new or casual programmers, for one.

Is there any actual evidence that new programmers really find this hard? Python is renowned for being beginner friendly and I've never heard of anyone suggesting it was remotely a problem. There are only a few languages that are purely for beginners (LOGO and BASIC?) so it's a high cost to annoy experienced programmers for something that probably isn't a big deal anyway.

I think the claim might harken back to the days when programming was a new thing and mathematicians,physicists,etc were the ones most often getting started at it, if they had by training gotten used to 1 based indexing in mathematics it was probably a bit of a pain to adapt (and why R and Matlab,etc use 1-based indexing).

Thus, 1 probably wasn't "easier", it just adhered to an existing orthodoxy that "beginners" came from at the time.

Re: Fabrice Bellard Releases MicroQuickJS

#549

Earlier quoted context omitted.

He's one of my programming heroes but that's based purely on the sheer volume of high quality output he has. Can you elaborate a little about the methods you mention and how you analysed them?

Sure. You’ll notice no libraries, no CI, no issue tracker, written in C, no landing page, no dashboard. So much of the discussion here is about professional practice around software. You can become an expert in this stuff without actually ever learning to write code. We need to remember that most of these tools are a cost that only benefits for managing collaboration between teams. The smaller the team the less stuff…

Thanks for this. I'd appreciate your insights about his C style as well. I'm a lapsed C programmer myself.

Re: Fabrice Bellard Releases MicroQuickJS

#550
post #513

Earlier quoted context omitted.

No. https://en.wikipedia.org/wiki/Alef_(programming_language) https://en.wikipedia.org/wiki/Limbo_(programming_language) https://en.wikipedia.org/wiki/Newsqueak https://en.wikipedia.org/wiki/Communicating_sequential_proce... https://doc.cat-v.org/bell_labs/new_c_compilers/new_c_compil... It was amalgamated at Google. Originally Go used the Ken C compilers for Plan9. It still uses CSP. The syntax it's from Limbo/Infer…

That's wonderful how you tied those threads together to describe Go's philosophical origins. I'm having a great time exploring the links. And the parallel with NeXTSTEP is fascinating too, I've been interested in that part of software history since learning that Tim Berners-Lee created WorldWideWeb.app on the NeXTcube.

Not just philosphical; I've read somewhere that the first Go releases in order to bootstrap themselves they bundled the plan9 forked/simplified C compilers inside. Later releases are written in Go themselves.
Post reply on HN