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.
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
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.
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:
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.
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.
the usual moaners saying "what's the point of that" bore me
.oO0Oo.
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.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
Oh dearie me.
Yu Suzuki
Yu Suzuki
Deamcast. It's thinking.
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.
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.
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.
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.
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.
hmm, Inferno...so is this telling IE users to go to hell? ;)
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...
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