6 ms·
This may as well be magic as far as I'm concerned. When I first saw http://bellard.org/jslinux/ http://bellard.org/jslinux/ I just about shat myself. This is de
by staunch 13y ago
This may as well be magic as far as I'm concerned. When I first saw http://bellard.org/jslinux/ http://bellard.org/jslinux/ I just about shat myself. This is definitely another level of awesome. Well done.
- ghayes 13y agoThis really is extremely well done [and I'd like to see the unminified source]. The next feature I'd want to see is networking support. I love the idea to be able to run my entire dev setup in an emulated browser session [e.g. ruby, rails, redis]. That would be a game changer on how I'd develop.
- javanix 13y agoAt 2000 kIPS you may have a few generations of javascript engines to go before we get there. That's not meant to take away from this project - it truly is amazing what can be interpreted in the browser now.
- tekacs 13y agoJust for reference's sake this does vary a fair bit by computer and browser - mine never drops below ~8kIPS and runs mostly at ~15kIPS (and up to ~23kIPS). Whilst this is nothing like the several orders of magnitude required for more capable interactive behaviour, it does make my load times noticeably faster than those claimed on the page. :) (I'm Chrome on Linux, i7 4th Gen, incidentally)
- deleted 13y ago[deleted]
- kuschku 13y agoI'm getting here > speed 1640kIPS on the old Nexus 7, don't you mean 8kkIPS? (This value was the average while booting Linux)
- Hello71 13y agopsst, the SI prefix for 10^6 is M
- antsar 13y agoYou mean to say, 10^7 isn't KKK?
- tekacs 13y agoAbsolutely so, yes. Thanks. :) 8 - 23 MIPS ain't so bad, right?
- wnesensohn 13y agoFor reference, that's about as fast as a Motorola 68030 @50MHz [1] which was used in the AppleIIx, and while that was no slouch when it was released, you wouldn't want to run a modern development environment on such a machine either ;) [1] http://en.wikipedia.org/wiki/Motorola_68030 http://en.wikipedia.org/wiki/Motorola_68030
- dkersten 13y agoA little faster than an Arduino and a little slower than a PIC24. Not too bad.
- gngeal 13y agoDynamic translation of x86 sequences could give you some boost, as could use of asm.js.
- Dylan16807 13y agoSome things would do badly at that speed. But serving basic web queries would be fine, and give you a better feel for what is slow when milliseconds spent processing turn into actual seconds.
- chris_mahan 13y agoAbsolutely. This would be awesome.
- RaphiePS 13y agoI think it would be really cool to link this up with some of the Chrome App API's (TCP/UDP networking, serial). Then you could distribute lightweight programs without bothering with Emscripten or Native Client.
- rrrene 13y ago> That would be a game changer on how I'd develop. Why? I'm honestly curious since I can't imagine any big advantages over more "classic" setups ...
- vidarh 13y agoGo to any machine with a browser, log in, and have your dev environment pop up in the same state it was when you left it somewhere else, yet all running locally rather over some VNC connection or potentially laggy ssh connection. Log out, and have the state persisted.
- stonewhite 13y agoMust plug http://www.koding.com http://www.koding.com here. It is a "social" development platform supporting rails, mysql etc.
- benjamincburns 13y agoI'm presently working on networking (OpenCores ethmac) support for the jor1k[1] OpenRisc emulator. The plan is to push ethernet frames out over a web socket, and pipe them into a tun interface on the server via a node/python/C/whatever backend. From there, do whatever you want using your OS' standard networking tools (if you have specific needs for the server-side of this which go beyond using your os' standard tools, please let me know). If you're interested in this, please do make plenty of noise at me to finish. I've got a flight back to the East coast from Portland on Sunday, so I'm hoping I can get most of the browser code finished by then. After that I'm going to be somewhat distracted through the end of January, as I'm moving from Charleston, SC to Christchurch, New Zealand. I could use a bit of motivation to get this done. 1: http://s-macke.github.io/jor1k/ http://s-macke.github.io/jor1k/
- s-macke 13y agoI am really looking forward. If you have any wishes for an image with some tools, please let me know. Lynx, elinks, dillo, ssh, netcat, telnet ... whatever you want. Then I have to think about a demo. Maybe we can allow very limited access to some websites.
- benjamincburns 13y agoI think the biggest thing I'm overlooking right now is randomized MAC generation. I need to take a look at whether or not the ethoc driver will attempt to read the MAC from hardware before loading its own. If so, I can randomize MACs in my ethmac.js, or even make a backend service assign them to guarantee uniqueness. Otherwise I think it'd be great to get an image together with all of those tools, especially Lynx. It'd be great if I could make the HN submission to the demo page via the emulator itself. However for now if I can get an ICMP echo I'll be happy. I think when it's ready I'm going to set up a full-access reCaptcha-protected demo on DigitalOcean or AWS and see what happens. If people don't abuse it and if the bill isn't too bad, I'll leave it up. If not, I'll worry about how to do a restricted demo. It would be nice to get a network-friendly game in there, though. Another great demo that we'd have difficulty with is browser-in-browser. Chrome-in-chrome, firefox-in-firefox. That would, however, be the ultimate sandbox. Anyway, get in touch with me via e-mail or better yet, Skype (see profile). We can coordinate better there.
- benatkin 13y agoOr PHP. Ruby's interestingness to performance ratio is not high.
- _ak 13y agoWith emscripten, anything is possible nowadays. And it blows your mind.
- facorreia 13y agoAnything has been possible since 1999. Anything at all. http://www.zombo.com http://www.zombo.com
- NIL8 13y agoI can't stop laughing. That was so weird and funny that I almost forgot what I was doing here on HN.
- Mithrandir 13y agoRelevant xkcd: http://xkcd.com/855/ http://xkcd.com/855/
- chubot 13y agoWait how does this differ from JSLinux? Aren't they doing the same thing? Also, this isn't just an x86 emulator, right? If it can boot linux, it's emulating the entire PC platform, not just x86. Very impressive of course. But I am interested in a comparison vs jslinux (also not open source).
- g3 13y agoYes, it's very similar to the jslinux project. However, I added more hardware (it can boot a real bios: seabios). Also, I'll make this open source.
- why-el 13y agoKeep us updated when you do. :)
- tectonic 13y agoVery much looking forward to the open source release!
- chii 13y agogreat to hear you are opensourcing this! I had a quick look at the minified source. its pretty hard to decipher (method names have been renamed too), unlike traditional minification which you can recover by just reformatting.
- annnnd 13y agoAFAIK most of minificators also shortened variable / function names - are there any that don't do this? (take a look at minified jquery.js for instance)
- jhgaylor 13y agoCss get minified by removing whitespace because the keywords are important.. Javascript can have some magic done to it to reduce character count because only the consistency of the keywords matters.
- acqq 13y agoI just ran Bellard's JSLinux (#) on my retina iPad with iOS 7. It works! Booting took 15 sec. Claims 20 bogoMips. And I can type the commands in it and execute them: First I tap to the edit box on the right, the keyboard rolls in, then I tap in the "console." The commands work. I just don't know how I'd type ctrl-Keys without the physical keyboard. Copy.sh ends with unimplemented GP handler however for anything I've tried. #) JSLinux: the PC emulator is written in Javascript with the emulated hardware: 32 bit x86 compatible CPU, 8259 Programmble Interrupt Controller, 8254 Programmble Interrupt Timer, 16450 UART, Real Time Clock, IDE interface and hard disk. http://bellard.org/jslinux/tech.html http://bellard.org/jslinux/tech.html