Video is nearly 3 years old now, but I think it’s worth watching. Her presentation starts at around 2:30.
Basically, she explains how Redbean, a tiny (~450kb) and very fast C http server, works and how the same executable can be used to deploy it on most operating systems (she starts explaining that around 14:30)
Justine is also the mind behind Sector LISP, Lambda Calculus in 383 bytes, considerable optimizations to LLamaAI, plus several other things.
What she’s accomplished is, to me, astonishing and an impressive intellectual feat. I believe there’s a pretty big caveat that it only works on x86_64, i.e. not ARM. The latter being fairly popular and not uncommon.
It wouldn’t damage the impressiveness of her achievement to say “most OSes on x86.”
Yea, I forget where, but she’s openly lamented the rise of ARM for this reason. Not because it’s a small blemish on redbean and cosmopolitan libc (what redbean uses to be “universal”) … but, IIRC, x86 had gained such ubiquity that simply sticking with it for the sake of interoperability and backwards compatibility was/is probably worth it. However accurate that is, or viable in today’s tech world, I certainly resonate with the sentiment. And given what her and cosmopolitan libc seem to have accomplished (I’ve never used these things), it certainly seems like one of nice things we could have if we just did things in a nicer way.
No, it also works for ARM - you can even build a fat binary with an ARM -> x86 translation layer, i.e. one binary for both architectures!
Huh. In was just playing around with some samples from her page, and can’t get them to run on either AMD64 or ARM. What’s worst is that on my AMD machine I have Wine installed, and trying to run it fires up Wine (where it does eventually execute). You’re supposed to also be able to
sh
it, and if I do that they just fail. On an ARM, they just fail. I was unable to get any of the samples from he page to run.I haven’t tried compiling my own program, but if the download samples don’t run (for me), it doesn’t give me confidence in the solution.
I just tried the current redbean build on Linux AMD64, and everything worked as expected (both launching directly, and through
sh
). Which examples did you specifically try? Whichsh
version do you use (I have5.2.26(1)-release (x86_64-redhat-linux-gnu)
)?The
cosmopolitan
README has a section on the WINE thing, if you want to try and get it running.I tried all of the examples from her page about αcτµαlly pδrταblε εxεcµταblε. It looks like the page was written in 2020, so I’m assuming the binaries were compiled then, but that shouldn’t matter; I have Go binaries I built in 2021 that still run, and I have no doubt that it I could find an even older binary, they’d run too.
Those were their first tests, of course there is a high chance they won’t run on all system configurations (especially since things like WINE comparability were likely detailed later). You should try artifacts built with the current version of the format (3 IIRC) if you want to give it a fair shot.
Good to know, thanks.
llamafile also builds on that work, I believe (she’s the main contributor): https://github.com/Mozilla-Ocho/llamafile
I remember seeing something like this a while ago. Maybe she rediscovered the hack to make multiplatform executables on her own or she was inspired. nexe has existed for 11 years now.
That nexe looks nothing like cosmopolitan. Nexe compiles a node.js into a single exe for Windows and, from the readme, can create native binaries for other distributions (Linux, Mac), something that isn’t new to Nexe, you could do that with FreePascal way before Nexe. If you avoided OS specific calls, you could pull that since the early 90s with C, too.
Compiling the same codebase for N different platforms, generating N different native binaries, isn’t the same as having one single executable file that runs out of the box on significantly different OSs. Put it another way, she made a java that works without needing a JRE or JDK installed.
🤔 I swear I’ve seen this multiplatform single executable before. Maybe nexe isn’t it, but as soon as she whipped out the hexcode and talking about binary headers, it felt more than a dejavu. Someone did it years ago, put it in github, and it was called an abomination.
It’s very similar in vein to this script that can be executed by bash and powershell.
If you do find it, be sure to tell, I’d love to take a look
By “several other things” I presume you mean the cryptofascism.
Excuse me, what?
She’s a well-known well-documented part of the Silicon Valley cryptofascist movement. Her project names, like “cosmopolitan” and “ape”, are dog whistles.
yea, from what I’ve seen of her, you could say she’s part of or used to be part of a sort edge-lord techno anarchism that involves a good amount of “fuck you” trolling and embrace of the chronically online/urban life style. The “fascism” part here seems to come out of nowhere. The twitter post from Justine that that whole blog post hangs off of doesn’t exist anymore (and she’s active on twitter). In the end though, if she’s a bit nutty on how much better tech governance would be than ordinary government, I don’t resent her for that. And the sorts of things she’s building technologically certainly align with my interests.
What would “cosmopolitan” and “ape” be dog whistles for? Racism?
You’ll have to trust me from when I worked at Google at the same time as her. In particular, you’ll have to trust me that she called via public petition for an end to democracy and for Eric Schmidt to be installed as CEO of the USA and granted dictatorial powers; this is a flavor of fascism known as corporatism or corporate fascism. (Alternatively, you might trust the Internet Archive’s copy of the Guardian’s story from that time. The original petition isn’t up anymore.)
dog whistles
“Cosmopolitan” is a reference to a common component of anti-Jewish conspiracy theories and means the same thing as “globalist”. “Ape” is one of many common slurs for African-Americans and Africans. “Llamaphile” is part of a common “-phile” pattern of anti-furry slurs.
Hmmm yea. Put together, cosmopolitan and “ape” do point in a single direction. I still wouldn’t be surprised if it were trolling. But yea, interesting. Being hyped on SV as a Googler in 2014 seems to me to have been a thing (you might disagree!), so so that doesn’t surprise me either.
Thanks!
Well, shit. The fuck am I supposed to do?