Hacker Newsnew | past | comments | ask | show | jobs | submit | linuxontheweb's commentslogin

I don't see the "binaryification" of the web platform happening any time soon (if ever). The web is (and should remain) fundamentally about the transmission of documents. Javascript+DOM allows for the dynamic updating of said documents, and this is what the main thread (asynchronous event loop) is all about. For all "heavy lifting," the logic should go into worker threads, where there isn't any DOM access anyway. I think a decent rule of thumb is that WASM modules should generally only be used in these kinds of off-the-event-loop types of worker threads.

(See https://linuxontheweb.github.io/ for my implementation of a new kind of web application platform where these kinds of ideas can start becoming a reality.)


I like the idea of the web / js / DOM being for documents, but if you look at all the new browser javascript APIs it’s clear we’re constantly moving further and further away from documents. Once developers have all these tools available they build things and the cycle continues towards what seems like a pretty complete application runtime environment within the browser.


As long as web applications are necessarily embedded inside of SCRIPT elements, which are themselves necessarily embedded inside of HTML elements, then documents will always have priority over applications.


There are basically two variants of the web: The document web and the application web. I think there's space for both.


> Tabs vs spaces, anyone? Vim vs Emacs? Maybe TS vs JS?

Tabs: Who needs all the extra bytes?

Vim: What. Even. Is. Emacs.

JS: 0 development toolchain dependencies are always the best number of development toolchain dependencies.


I'd love to start working with anyone who wants to turn the web into a solid platform for application development with Linux on the Web. It has been over a decade in the making, and is starting to become quite stable. It is almost entirely written in Javascript. Try it online at https://linuxontheweb.github.io/. The github repo is https://github.com/linuxontheweb/linuxontheweb.github.io


Ahh... my two favorite tech-related subject matters: Linux distros and the politics of browser choice. I'm currently trying to invert this entire discussion by putting a well-oiled Linux distro inside of the browser [1].

[1] For whoever doubts that a proper Linux distro can be created through pure Javascript running in a browser, you obviously haven't tried out https://linuxontheweb.github.io/ yet!


I don't know that anybody doubts this, but until you can run a browser as a UEFI boot option, you've just created a third layer of choice without doing anything to solve the first two.


Wouldn't launching a browser within a bare-bones X11 session in some kind of kiosk mode during system initialization be a proper solution?


You need to have an operating system to run a browser, unless you want to make a browser on bare-metal. I don't think you currently understand the topic very well.

Your project is essentially an incomplete implementation of a shell where all commands are builtins, and the interactivity is limited by what you directly programmed in JavaScript.

What you are trying to make is a lot harder than you think, you first need to emulate a CPU and go from there, not read whatever user types and try to behave like a Linux system, which ChatGPT can do already.


How does it work?

What shell it is using? It doesn't seem POSIXy (eg I can't `echo $$` to see the shell pid), and the filesystem is pretty bare


Everything is mainly just my own handcrafted Javascript. There is only one wasm module included so far (binjgb) to allow for the playing of gameboy games.

I've previously tried to implement all of those sorts of POSIX-isms, but I've recently been wanting to make the tradeoff where code simplicity and understandability trumps all other considerations. Then, when others start coming on board the project, we can start making determinations about what kinds of "proper" shell functions to support.

So, at this point, "bare yet dependable" is what I'm going for! You can actually get more feedback about the filesystem through the desktop interface. You can show an icon cursor by pressing the 'c' key, and then move it over a file icon. Then, just press the 'p' key to show the properties of the file.

Help page here: https://linuxontheweb.github.io/www/docs/help.html


Sorry but what I think you've done is just emulating a shell, not an actual Linux system. For that, you need to emulate some architecture that Linux supports, like x86/RISC-V/ARM. With that you should be able to boot a real Linux kernel.

One guy even made a RISC-V emulator inside VRChat using a shader[1]. Doing it in JavaScript will probably be easier, and I wouldn't be surprised if someone has done that already.

Until you emulate a CPU architecture and boot an actual Linux kernel, it isn't quite fair IMO to call it "Linux".

[1] https://blog.pimaker.at/texts/rvc1/


Fabrice Bellard has JSLinux to boot actual Linux in a web browser: https://bellard.org/jslinux/

Cool stuff


Well, there is technically no such thing as an "actual Linux system." There are mainly GNU/Linux systems. If one is using the word "Linux" from a high-level systems theoretical perspective, the they are speaking about a certain philosophy related to how they approach the question of performing general computations. So, it is from the "Unix philosophical" point of view that I use the word "Linux." This also seems to be the generally accepted way of using that word, because most people use it as a shorthand for something with much more cultural significance (i.e. the open source alternative to the Windows or Mac ecosystems) than the kinds of technical facts to which you are referring.


> There are mainly GNU/Linux systems

And yours contains neither GNU nor Linux, or as I’ve taken to calling it -(GNU+Linux).

It would be one thing if you had implemented a binary compatibility layer similar to WSL1, but what you’ve created seems to be a POSIX-like environment on the web.


At the most basic level, Linux means "Linux kernel", which you clearly don't have here. You can't run ELF files, you can't create processes, you can't load kernel modules, in fact the only things you can do are those that you directly emulated in JavaScript, which is a very different experience than interacting with a real Linux distro.

Your project has none of the capabilities that are very much expected when someone mentions "Linux", even in a broader sense.

In fact, I'm pretty sure your shell doesn't have some most basic abilities that a POSIX shell has (as another comment mentioned). See the manual page of e.g. dash shell and see what I'm talking about.

Emulating a shell can be fun, but it's clearly not the same as running an operating system. You should probably clarify that in the project README to avoid misinformation. Because otherwise, your project claims to be what it's obviously not.


Well, although I certainly can get enjoyment through never-ending hours of coding, I am mainly doing this project to get something to actually work.

I would tend to look at this project as an implementation rather than an emulation.

The current implementation of the shell is certainly in a highly bare bones state, but that can definitely change over time if that is in fact where the development process leads. If it gets to the point of being able to quack like a POSIX shell, then who's to say that it isn't really one?


If you are genuinely interested in creating a working shell, take a look at POSIX shell specification[1] and list of and functionality of command-line utilities[2].

If you implement most of it then you would be able to call your project a POSIX shell.

[1] https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V...

[2] https://pubs.opengroup.org/onlinepubs/9699919799/idx/utiliti...


Why not just call your system Unix on the web, if it is more borrowing from the Unix philosophy?

I don’t know what the Linux philosophy is. I think it is the kernel of choice for GNU based systems because it existed and was open enough to use, while Hurd was more philosophical (to the point where, when it was needed, it existed more as an idea than a thing).

Linux is where it is because they make pragmatic decisions when when necessary.


Ardour is epic. I'd love to start building something as solid as it for web-based audio tooling purposes on https://linuxontheweb.github.io/.


You port our build stack[0] to wasm, we'll port Ardour.

[0] https://nightly.ardour.org/list.php#build_deps


Okay, I think I've finally figured out why Linux on the Web [1] exists! I'll be able to help with a startup that enables freedom fighters to control the drones that will shoot down the drones that are being flown by the cops :-D !!!

So who's with me?

[1] https://linuxontheweb.github.io/


You really need a coherent model of physical reality in order to make much of a comment on the notion of freedom. Any such model will include laws as well as degrees of freedom. So with Sapolsky, we find a biologist who's never had a professional need to come face-to-face with the major issues within relativity theory or within quantum theory. And for those who are able to develop coherent models (e.g. string or M-theoretical), they are faced with a kind of mathematics of such infinite depth and subtlety that all you can do is surrender whatever childish Laplace-demonesque fantasies that you might once have had.

He just thinks: physics is hard and filled with technical stuff that must ultimately be "solvable." Maybe so, but if there are always an infinity of solutions, then there is obviously room for the concept of free will.


I have a prominent place on google under the term "the peace guy." I went out to LA in 2011, and just started holding my peace sign fingers in the air on Bruin Walk. You should see me in an image right next to the Bruin bear by going to https://www.google.com/search?q=the+peace+guy.

I've been in Florida since 2012, and I'm just starting to bring the ol' peace sign back now.

Funny story: I went to Silicon Valley in 2016, and was flying a sign about my project at the Googleplex when a group of fresh-faced Googlers approached me and asked if I was the peace guy from UCLA!

Back when I started doing it, Occupy Wall Street was just breaking out. Now it seems like us revolutionaries are going to need to Occupy Every Street...


I wanted to make Linux on the Web precisely because I knew that Unix Philosophy on the Web would never catch on.

"Linux" is merely the current pronunciation for the ideas that were coming out of Bell Labs in the 1970s.


I think Nietzsche was on to something with his concept of the noble classes, according to whom morality becomes fully life affirming, i.e. beyond good and evil. Everything else being based on the herd instincts of the "slave classes."


The problem with class is in the newborn baby. Does it have a class? In a room full of newborns can their class be determined? I don't think many people would seriously say so. That means class must be associated with nurture. And that is an inheritance from parents. That puts class in the same bracket as money. It is not inherent in the person.


It is in the nature of the atomic elements in the class of noble gases to not do much mixing with other elements.

We too are made up of atomic elements. In our case, it would be the precise combinations of these elements that would tend to make us more or less noble. This concept of "precise combinations of elements" also goes under the term, "genetics."

Regardless, the nurture vs. nature debate is indeed quite a thorny one.


Absolutely the most gobshit saddest part of Nietzsche, to me. I very much recognize the want & goal, to have a society that has character & soul & flavor, defined by good character, great works, and circumstance.

But my god, the idea that just having some half-layabout half-managerial luxury class that random waifs are born into? So gross. This seems like a sure way to have culture constantly destroyed, sacrificed, by unearned no goods, & manipulated into exploitation by nakedly self interested power mongers.

The article itself talks about a nearby concern, criminals, who will exercise flexibility,

> An honest person will never commit criminal acts but a criminal will readily engage in legal acts. Let us call such minority an intransigent group, and the majority a flexible one. And the rule is an asymmetry in choices.

I have a hard time imagining a class of blessed society defining people as being able to ever resist decaying into such flexibility, as being willing to self sacrifice to uphold a better society. Especially when they will constantly have to be negotiating with various intransigent elements.

It's interesting that the Dictatorship of Small Minorities is about, somewhat, populous minorities. There's still a bae of significantly squeaky wheels raising bloody hell.

Where-as in compare, this submission surfaced recently in the Apple/Jon Stewart discussion, where paying eternal uncritical lip service to various authoritarian global powers has become a funnel that capitalists find themselves having to walk down to insure continued market access. Those governments thus become taste-setters & content-setters for all global commerce, even though they do not represent the global desire; they are the intransigents. Rather than be for example a small minority of people who want an outright ban abortion, the small minority in this scenario are a handful of dictators & party watchdogs. https://news.ycombinator.com/item?id=37966643

Which is what it feels like aristocrats are & would become. A group mantled in their permission to be intransigent.


We might need to wait another generation or two before Nietzsche's stuff starts making proper sense. I've been feeling that there's going to need to be some sort of a global reckoning between communist and capitalist ways of thinking. The counter-culture movement from the 60's was just too pervasive to go away forever. That movement needed a breather to allow the tech industry to grow as much as it possibly could. If we are going to start seeing the end of growth in tech, a revolution-centric hippie scene could start re-emerging sooner rather than later. Once these issues start playing out, then I think we'll have a better understanding of how the future generations will relate to the idea of nobility. So I'm pretty confident that it won't have very much to do with the purely capitalist notion of "layabout managers."


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

Search: