JS/UIX is an UN*X-like OS for standard web-browsers, written entirely in JavaScript (no plug-ins used). It comprises a virtual machine, shell, virtual file-system, process-management, and brings its own terminal with screen- and keyboard-mapping.
JS/UIX is an UN*X-like OS for standard web-browsers, written entirely in JavaScript (no plug-ins used). It comprises a virtual machine, shell, virtual file-system, process-management, and brings its own terminal with screen- and keyboard-mapping.
I am trying to pick my jaw off the floor. This is incredible!
No doubt we will soon see posts asking, “why?” I think it’s because of the “wow factor.”
All I can say is… wow!
I’m running a web browser, FireFox, on a UN*X-like OS (Linux) and this will give me a UN*X-like OS inside the browser which is already running on a UN*X like OS.
The wonders never cease…
No autocompletion. Pffffft.
I like this idea. good job
haha, I don’t think he implemented the shell you had in mind. This is about a 12 on the 1 to 10 coolness factor. This guy is a pretty decent javascripter with alot of time on his hands. I’m having fun going through his fake directories…very imaginative.
I just tried out the shell and I am pretty impressed. the file system appears to work as does vi. I wouldn’t want to rewrite vi in C much less JavaScript. If this is real I’m very, very impressed. Although I’m not sure how you woul duse this…
OK, I’ll bite. What good is this?
If you run the “features” command, you’ll find this from the author:
What For?
First of all, because it’s possible.
Second this could well be the basis for some fail-safe remote-job-systems needing a local environment for command parsing, interpretation and/or execution. Think of ‘rlogin’ to a remote host (via a CGI-process) for an example.
Someone should really create a JS/UIX OS X widget 😉
Even it’s easy to get src from it. He should open source it.
NO GCC!!!!
IF they implemented gcc into this, this will be hands down the coolest system of the week!!!!!!!
just.. wow.
that is AMAZING!
Wow…Holy jumping mother of Tux o_O
hohoho this is incredible!
I’ve always wanted to write a UNIX like os in javascript and this finally shows it can be done!!!
dunno what to say
i’m amazed. that must have been fun project to create 🙂
Found in /etc/motd:
Aliquando preterea rideo, iocor, ludo, homo sum. (Plinius iun.)
Well, now if anybody could translate that… I don’t know latin.
Another OS for competition in the OS wars! ^^ j/k
That is just… cool
When he ports bb to this, I will be impressed.
😉
I mean, this is totally awesome.
I have a great deal of respect for this programmer.
of course it is useless, but still i’m impressed. it looks cool, it is fast, and i liked the green-on-black console 🙂
“Every time after I laugh, joke, play, I am human.”
Or something like that.
What is the root password?
If you go up one level, and click on Products/Demos, you see: “A demo-compiler in JavaScript:
EAL compiles an algorithmic language to bytecode and executes it using it’s own runtime-engine.”
I don’t know what you would do with it, but very cool!!!
This ranks up there with Text Mode Quake in the “useless but cool” category.
this is so cool!
thank you so much for sharing with us!
This is awsome. He made vi in javascript, but not emacs! NOOO.
Also, some stuff doesn’t work like rm -rf, and asterix on the command line. Oh well. Maybe he’ll fix it in v2!
If it was more complete it might be a neat platform for training people on the command line, especially if you could give them complete virtual file system scenarios to work with.
WOW!
Reality check time.
Everyone seems to be losing their shit over this project. From what I understand, the entire thing is written purely in javascript, yes? Javascript is remarkably similar to python, for those of you familiar with high level languages. That means that all the filesystem, shell, process management, etc, were written in a high level language. I dunno how many of you are programmers, but writing these things in a high level language is significantly easier than writing them in a language like C. Something like a filesystem can be thrown together in no time whatsoever. Basic process managment takes half an evening if you do it in C; I imagine doing it in python would take minutes.
So writing each of the basic components, while requiring some skill and a firm understanding of OS principles, is not exactly earth-shattering. When I did a course in operating systems in my undergrad, we did all this in C…much more difficult than javascript.
Once you have the basic components, throw together a few programs that take advantage of these facilities that emulate common unix programs (and they are emulations, not ports) and you have this system.
Is it cool? Absolutely. Was it a good idea? I wish I’d come up with it myself! Is it useful? Almost certainly; someone just has to think of a use for it. But for those of you who are gushing over the technical brilliance of this project, consider that an OS in a high level language is a hell of a lot easier to write than an OS that sits on top of the actual metal. So pick your jaws up off the floor, go compose yourselves, maybe change your underwear, and come back in a bit.
Wow
But for those of you who are gushing over the technical brilliance of this project, consider that an OS in a high level language is a hell of a lot easier to write than an OS that sits on top of the actual metal.
But they still had to write drivers to run on all those browsers: Mozilla, Firefox, Konqueror, even closed hardware such as Internet Explorer and Opera. 😀
On a serious note, I think most people were not aware of how much you can do with JavaScript, and that’s why they are so impressed. I was surprised, too, when I first saw it.
About the “use” for it: he probably just wanted to show his skills in browser scripting, to impress potential customers (the guy is a professional webdesigner).
..consider that an OS in a high level language is a hell of a lot easier to write than an OS that sits on top of the actual metal…
You mean, like, climbing mount everest with all your limbs is a hell of a lot easier than if you had no limbs?
This looks neat. My question is what does the vm look like? It would be neat to be able to run my code on in it. Really give the system a trying out. While it would be completely unfair of me to expect everything to run right the first time, being able to do even the most basic tasks would be nice. If there’s any documentation on what the op codes are I’m sure someone has some lex and yacc laying around and could have a simple c compiler up and running in a day or 2.
Also, being able to save the file system somehow wouldn’t be a bad thing. Granted, this is Javascript.
All in all, it’s a neat demo.
“Javascript is remarkably similar to python”
hell no! dont put python and javascript in one sentence. just dont do it.
How about a port of X?
That’s FANTASTIC.
First time I’ve gone ‘OMFG’ at something on-screen in a long time.
Useless, but very very funky and cool. Great work to the author – thankyou for sharing it with us!
Looks pretty good, but I can’t get it to work in firefox, only it runs slowly in IE. Any ideas?
It run it on my Firefox and it just fine and fast…
http://www.vitanuova.com/inferno/plugin.html
You can run Inferno OS (made by original UNIX designers from Bell Labs) in IE as a plugin. And it isn’t just a hack that emulates the most common features of “unix.” This is the real deal.
i am not a javaScript programmer but if it support pixel by pixel rendering you can make a basic Graphic Server.
i look at the code and it`s not so difficult.
the diffrence of this OS to a “REAL” OS is that he run it on a VM ,because of that he dosn`t have to worry about memory managment coz the object are managed by the VM and not by the OS.
I must add my own wow!!!. This has the potential of rendering the undelying OS irrelevant. what about a web-based file system that runs off any OS and is accessible over https. What about a
web-based office suite that renders MS Office and openOffice irrelevant. I can go on and on. This is potentially huge. Wow!!!
“Javascript is remarkably similar to python”
hell no! dont put python and javascript in one sentence. just dont do it.
http://www.crockford.com/javascript/javascript.html
I don’t know much about js, but according to that article, javascript is just “Lisp in C’s Clothing … Functions are first class. It has closures. You get lambdas without having to balance all those parens”. Now that doesn’t sound too far from python does it?
This guy should work for google
The interesting thing is this thing has basic shell scripting. That means, that (provided you don’t use features unsupported in his implementation) you can code all sorts of interesting programs that can run on top of this. However, it does not appear to have a native machine language, so you can’t code something like a compiler for C (unless your compiler translates the C program into a shell script). The only other problem is there is no way to save stuff, unfortunately – so you’d have to type (or paste) all your scripts in if you want to use them in a new session, and forget about persistent file storage.
As for the root password, if you check the code, you can find the encrypted root password, and the function to encrypt a string to that format. To unencrypt it is an exercise for the user, it seems. Though, the OS lets the regular user get away with too much as nonroot, anyways. For example, you can just remove files from /bin/.
JavaScript is more like a Self, if Self had a retarded C-like syntax.
I can’t stop laughing when I log in into that system. It’s soo cool! I was amazed that I can even write a file in VI, or even redirect my ls -l output to a file. This is really cool! Too bad it can’t access my local filesystem. The downside is it’s rather slow. Try to do ls -l /bin and you’ll know what I mean.
But still… this is AMAZING!
seems to be able to login as arbitrary user but can’t login in as root. where is the root pass?
btw the same site has lots of other javascript games and goodies. check it out.
Now, could one actually store a mini-harddrive in a cookie? Then the OS could have local storage…
Cookies have a very small size limit, plus do you have just a mount, or do you want edits outside /home/<user> to be persistent? If so, just the housing telling which files have been edited would eat your budget.
As for the root password, if you check the code, you can find the encrypted root password, and the function to encrypt a string to that format. To unencrypt it is an exercise for the user, it seems. Though, the OS lets the regular user get away with too much as nonroot, anyways. For example, you can just remove files from /bin/.
The root pw is in the documentation (see link at the bottom of the page).
As for the root password, if you check the code, you can find the encrypted root password, and the function to encrypt a string to that format. To unencrypt it is an exercise for the user, it seems.
If it’s got a decent encryption function you won’t be able to unless you use brute force.
I ran the JS/UIX page in Mozilla Firefox and mozilla used 938 MB of memory!!!
what about this http://computadora.de, now its pay per view, but be my guests
user: carlos.vemces
pass: 321321
not available anymore?!?
Cooollll wwhooowww….
There is even VIM in there.. woww.. can create my file.. wowww…
To address some of the comments:
* No, it didn’t take that much time to code, in fact it was done while curing a flue (with the terminal gui already in place).
* Yes, it’s much easier to do in high level language. You don’t have to handle memory, variables and so on. But there are other obstacles to be overcome like the strictly single threadded nature of JS (no wait(), no interrupts).
* Root password: That’s the bonus for all those who read the docs. But here it is: machtNix (German slang for doesn’t count)
* Why? Yes, there are some possible applications for this. But it’s also a statement on what an interactive webpage could be. And some kind of alpinistic statement (Why did you climb that mountain? Because it was there.) And, yes, partly for the WOW-effect. At least I stopped when it suffided to that cretera. 😉
* Future: Maybe there’ll be a new version with a more complete VM and JS emulated in JS to implement a secure userland domain and better process management. That could serve as the basis for an open project.
Thanks for visiting.