Hacker News new | ask | show | jobs
by urbit 3673 days ago
Sorry, the server was struggling for a moment. We fixed it.

It's an OS admittedly in the metaphorical sense -- the same sense that your browser is an OS. That is, a platform that runs higher-level programs. Urbit doesn't run on bare metal, though it could, in the same sense that your browser could.

In fact, one way of describing Urbit is "the browser for the server side." In the same way that your browser replaces a bunch of individual client apps with one native client that's a platform for higher-level programing, Urbit s/client/server/. Does that help?

2 comments

so it is a place that will centralize all my credentials so it can fetch and parse my mail, IMs, stock trades, files, etc to then inter-process that to my liking and possible talk to a client on my phone or such?

why a chain of specialized posix programs would fail for that?

Yes, Urbit is (or at least is designed to become) a personal server which solves this problem among others.

One: a chain of specialized Posix programs would work for that. You would have to be someone who can manage a chain of specialized Posix programs, though.

Two: serving as a general-purpose stateful HTTP client is a subset of what Urbit does, though an important subset. It's also a server on a public network.

The second problem can also be solved with Posix programs, but it pretty much seals the requirement for a trained professional. It is possible to imagine a high-usability personal Linux (Sandstorm, for instance), but not really a high-usability general-purpose Internet server (at least if it implements social apps via decentralized protocols).

(In fact, it's not even clear that trained professionals are comfortable with decentralized protocols -- see under, Google doesn't even want your XMPP traffic, etc.)

Urbit may or may not be the perfect solution, but I think it's clear that if ordinary humans are going to have their own personal servers, they're going to need some kind of new system software.

You still haven't made it clear who is running 'my' urbit programs and why they are doing that.

If they are doing it for free this won't scale. If I am paying them why don't I just pay someone to maintain standard software.

I find this very strange because I love all of the work on distributed and decentralized systems. I am normally excited to read more about a new approach, but I still don't understand what you are trying to do and feel like I am just being fed marketing terms like "The browser for the server side" wtf? Do you mean CGI?

When I say "the browser for the server side," what I mainly mean is the isolation layer between the browser and the OS.

For example, suppose someone designing the first JS environment at Netscape had suggested that since JS is so great, you should be able to make POSIX system calls from it. Or link to locally stored libraries. Or use a language someone had heard of before. I think you'll agree that if this decision had been made, most people would never have heard of JS.

The browser is a second-level OS which provides a service no first-level OS offers; it loads applications almost instantly and sandboxes them securely.

Now, in theory, you could modify a Unix to solve this problem. Arguably, it's a problem any OS ought to be able to solve. We are certainly much closer with containers. But still, imagine what it would take to replace webpages with Dockerfiles. (sandstorm.io is the closest to something like this; definitely check them out as well.)

Urbit's semantics are isolated from the platform in just the same way. The job of a general-purpose personal server is very different from the job of a general-purpose client -- they have almost nothing in common. But the isolation layer over the current systems platform is the crucial element.

form the site, i get the feeling that to use urbit i have to be a programmer and a theoretical mathematician... but i confess i did not waste much time on it yet.
Actually, Hoon is designed as a functional language to be used by people who DON'T have a PHD in category theory.

Although I must admit it does look foreign at first because of the symbols, I found it very easy to learn. And believe me, I am not a theoretical mathematician.

So it's an OS in the sense that the JVM is an OS.