Slashdot Mirror


Inferno Plugin for IE - An OS In Your Browser

anothy writes: "Vita Nuova has released a preliminary version of their Inferno plug-in for Internet Explorer (other browsers and OSs pending). this embeds Inferno, a small OS built around good security, a virtual machine, and an extention of the Unix "everything is a file" model, right into your browser. The plugin itself is 719Kb (smaller than Flash or RealPlayer) and provides most general OS services, including I/O, text manipulation, floating point functions, and graphics, including a Tk (no, it's not Tcl/Tk) implementation. These are the exact same Dis files that run on native Inferno (on raw hardware) or emulated on various other OSs. They also provide additional info on the plugin, including a little info on writing Inferno applications. Inferno's originally from the same lab at Bell Labs that gave us Unix, C, and Plan 9." See our previous article.

15 of 167 comments (clear)

  1. Inferno is the OS, Limbo the language by Carnage4Life · · Score: 3

    think it's not really an OS, just a shell. Whoever said "OS" was simply slightly misguided

    Inferno is an OS which can be gleaned by checking the Overview papers on Inferno, Limbo is the scripting/programming language for the inferno OS. The plugin merely allows you to run Limbo programs in a browser which is exactly what Java plugins enable one to do with applets.

    Grabel's Law

  2. Re:Doesn't look like an OS in a browser by plunge · · Score: 4

    When you get the plug-in you are essentially downloading the Inferno kernel. I know it's hard to understand in the Windows age, where the definition of "OS" for some reason now includes a media player, but it's certainly an OS. (I actually think the Widow Manager (WM) is evenincluded in the plug-in as well.) And incredibly small and portable one, which is great. Run the "shell" program, and look around. Inferno's real "power point" is that it can run practically anywhere, either native or emulated- and does a very efficient and good job at both. Plus, Limbo is a REALLY cool language. Forget talking into a mic and making the sound come out of your computer's speakers- with Limbo you just need a few lines of code to talk into a mic and make the sound come out of _another_ computer's speakers. Neat stuff- in fact if they'd let Inferno out of the secure no-networking box this plug-in puts it in, you could play with stuff like that.

  3. Re:Call me back.... by johnbates · · Score: 3
    You can. There's the source for a database file server in the Inferno subscriber's area on the Vita Nuova web site.

    With it you can mount the file server from Inferno and read and write to ODBC databases. The file server presents a name space that looks like this:

    /db/new
    /db/n/cmd
    /db/n/ctl
    /db/n/data
    /db/n/error
    /db/n/format
    /db/n/status

    Each open of the `new' file results in a new conversation with the server. You can send management commands to the `ctl' file, SQL commands to the `cmd' file, read the format of results from the `format' file and the actual result data from the `data' file. You can manipulate the database through the namespace, from a Limbo program, or even from the shell like so:

    mount -A tcp!localhost!6700 /n/remote
    {
    d=/n/remote/db/`{cat}
    echo 'connect cellar' >$d/ctl
    echo 'select name from wine' >$d/cmd
    cat $d/data
    }</n/remote/db/new

    Through the namespace you can control the format of the returned results, control transactions, connect to new databases, execute commands, and of course read the results.

    The server runs under Windows on a remote machine and connects to its local ODBC service. In common with all Inferno servers it then exports those services over a network (not just TCP/IP) to other Inferno systems using the Styx protocol.

    Its easy to write servers for other databases, and indeed other kinds of service. One of the nice things about such servers is that they can be explored using common commands like: ls, cat, awk, pwd, cp, echo, acme and even perl, i.e. without specialised interfaces in each program.

  4. Who cares? by pb · · Score: 4

    I never got past the Apple ][ emulator in Java.

    I bet Inferno doesn't have any games, either.

    Damn you, AT&T, and your Unix heritage. MacOS X will never have any good games. You're not going to take away my web browser too!
    ---
    pb Reply or e-mail; don't vaguely moderate.

    --
    pb Reply or e-mail; don't vaguely moderate.
  5. it's all you say and more by DrSkwid · · Score: 5

    the usual moaners saying "what's the point of that" bore me

    The point really is that you get the write once use anywhere philosophy. Ok so java has been there before but surely that fact doesn'e preclude someone else trying it out.

    The plan9, Inferno system of distributed computing through namespace binding is the true gift of this project. Although I did notice some of the Styx functionality has been removed for security (Styx is the network).

    You implement services by mounting your service as a file system. You can then execute all of your machines capabilities through echo & cat!!

    "So what!" I here the unimaginative cry well you can bind services from remote computers and use their capabilities in exactly the same way.

    want to play audio on MY computer
    roughly

    bind MyComputer\audio \hisaudio
    cat music.pcm \hisaudio

    and the audio plays out on my machine

    You imagination should take you from there.


    .oO0Oo.

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    1. Re:it's all you say and more by Chris+Locke · · Score: 4
      I did notice some of the Styx functionality has been removed for security

      Yup, I'm working on the security model right now (when I'm not reading /. !!!) Once we're happy with it, an update will be made available which will open up the networking support.

      We have some pretty cool applets available that use the networking. These will be put up on the vita nuova web site, with the plug-in update once the security model is right.

  6. Look on the bright side... by Yu+Suzuki · · Score: 4
    At least you're just running "an OS" instead of "GNU/Linux." Because then you'd have GNU's Not Unix's Not Unix's Not Unix's Not Unix in a browser in GNU's Not Unix's Not Unix's Not Unix's Not Unix in a browser in GNU's Not Unix's Not Unix's Not Unix's Not Unix...

    Oh dearie me.

    Yu Suzuki

    --

    Yu Suzuki
    Deamcast. It's thinking.

  7. What chance has this got - remember Tclets? by Argon · · Score: 4
    I don't want to sound cynical, but anybody remember Tclets? If you don't, head over to the Tcl Plugin at the now defunct scriptics. For all practical purposes this is a Java wannabe on the browser.

    What many folks may not realise is that Inferno was in fact written in answer to Java. Development started more than 6 years back when the first Netscape browsers were released with Java support. Java uses a stack based VM, Inferno used a register based VM.

    I remember me and my friends being pretty excited about Inferno (we were doing our post graduation). We thought Java really sucked. At that time everything was touted up as a Java alternative, including Perl (someone wrote a sandbox for Perl and was quite vociferous about it).

    Now six years later, I use the web with Java completely disabled and I really don't want a client side execution environment on my browser. Maybe javascript has it's uses (which was originally Livescript and Netscape changed it's name to hook on to the Java hype), but all these "execution environments" are simply browser bloat that I can live without.

    That is not to say Inferno is useless. I still think it's great stuff, just that I see no point in having it as a browser plugin.

  8. Re:Doesn't look like an OS in a browser by pb · · Score: 3

    1) Operating Systems provide services to applications.
    2) Inferno is an OS
    3) Limbo apps run on Inferno

    If, indeed, Limbo apps need services from Inferno to run, and the Browser Plug-in can do this as well, then it would follow that....

    4) The web browser plug-in is an OS for the same reasons that Inferno is.

    Apparently those required services are called "Dis". I catch the reference, but it's been a while since I read up on Inferno.

    In any case, it's definitely blurring the line for what an OS is and isn't. It's pretty far away from the hardware, in any case.

    But wasn't that what people were predicting? Wasn't that why Microsoft was afraid of Netscape, and then Java? "The browser is the OS"?

    That's right, folks. It's not just emacs anymore.
    ---
    pb Reply or e-mail; don't vaguely moderate.

    --
    pb Reply or e-mail; don't vaguely moderate.
  9. There is a point, but this isn't the solution... by DrWiggy · · Score: 3

    This looks to me as though it attempts to be a solution to a problem that hasn't really been defined yet. Java, Internet C, Inferno, whatever, they are all trying to address the same problem of portable code that is quick to write that can be embedded onto a user's desktop without an installation routine.

    The concept is pretty powerful, but nobody has actually turned around and asked why we would want to do this. In fact, nobody has really defined what it is we want to do. Because of that, we end up with a mish-mash of solutions, none of which quite hit the spot. At the moment Java is taking the lead because it has the largest user and developer base out of all of them. But I'm sat here, still thinking to myself whatever happened to "push" technology that was being touted 4 or 5 years ago?

    I can see the "point" to Inferno, as I can see the point to many projects like it, however I just don't think it will succeed. Looking at the page, it appears to be designed to handle embedded systems programs in a distributed manner. I'm kind of curious as to why I would want to do this in a browser. Nice idea, but as many people have pointed out, wrong application of the priniciple IMHO.

  10. no free lunch / Personal Java Plugin by q000921 · · Score: 3
    Yes, the Bell Labs folks write nice, clean, small code, and Inferno and Plan9 are powerful and well-designed systems. But there is no free lunch. The original Java VM was pretty small and light, too. Today's Java runtimes, however, are big and complex because people wanted them to do a lot.

    Java itself offers several levels of tradeoff between functionality and size. To me, the most logical choice for a browser plugin wouldn't be an entirely new language and runtime, something that requires a lot of retraining and retooling, it would be a version of Personal Java, something that could easily fit into a few hundred kbytes.

  11. Is that me in the mirror in the mirror in the... by mantis78 · · Score: 5

    An OS.
    A browser in an OS.
    An OS in a browser in an OS.
    A browser in an OS in a browser in an OS.
    An OS in a browser in an OS in a browser in an OS.

    How many recursion before we run out of memory and CPU cycles?

    Just wondering.

  12. sheesh... by Anonymous Coward · · Score: 3

    hmm, Inferno...so is this telling IE users to go to hell? ;)

  13. Hmm... by Have+Blue · · Score: 4

    OK, so I could run Inferno in IE in Windows in VPC in my Mac?

    But wait, what about OS X? Then I could run Inferno in IE in Windows in VPC in the Classic environment in my Mac.

    I wonder if any of the PC emulators could handle VPC itself. Then you could run Inferno in IE in Windows in Mac in Windows in Mac in Windows in Mac in Windows...

  14. Doesn't look like an OS in a browser by Carnage4Life · · Score: 5

    After reading the information on the plugin, I fail to see how this is an OS in a browser.

    The plugin allows you to run applications written in a specific language(Limbo) for the Inferno OS on your browser but isn't an OS in your browser from what I can see.

    This is more akin to being able to run Java applets in your browser via the Java Virtual Machine than any OS in the browser crap.

    From the Inferno plugin page
    The Inferno Internet Explorer plug-in allows a Limbo program to run inside a web page when displayed by Microsoft Internet Explorer 4 or 5. The plug-in executes Dis within a sandbox in the Inferno Dis virtual machine which provides the execution environment for all programs running under the Inferno Operating System

    Grabel's Law