For geeks mainly. Skip over this if you don’t want to read about this nerd stuff. And it’s long, which is apropos for the topic.
I feel like Homer Simpson and Clown College.
I had taken a look at Urbit sometime back around 2015-2016 and decided it was too alpha to really care about. Besides, Moldbug was running the show and if the project went anything like his posts, it was going to be long winded and not really say all that much.
I bumped into again recently, looked at Nock and Hoon (Nock is kinda like the assembly language, and Hoon a higher level functional language for Nock kinda like C meets Haskell but not really), and said “Urbit? Pfft, I can’t use that.”
I closed the browser tabs and walked away. I closed them, dammit.
And now I’ve spent a few hours each day for the past week setting up my own comet, reading up on Urbit, Nock, Hoon, and playing around in the environment.
Let me back up a bit.
For quite some time, I’ve being thinking about personal servers and networks that were disconnected from the Internet, either by choice or by a SHTF event. I even set up a local mirror for my Debian-flavored systems. Lately, as the tech giants succumb to the SJW far left insanity, secured ownership of data and the ability to communicate is something I feel is important.
I wanted a system for personal communications and data storage that was easy to maintain, upgrade, and extend.
I decided the existing milieu of OSes, program languages, databases, etc, could solve the first half and some of the latter, but it would take work. Work I couldn’t get done in a reasonable amount time and I had too many irons in the fire already to stress over it.
And yet I couldn’t drop the concept.
If I believed their website, Urbit could, to various degrees, take care of both sides of the problem.
Part of the success of our current version of the Internet is that it grew a lot like human languages: it grew in fits and starts, stealing from other systems it rubbed up against, modifying when needed to fill unforeseen gaps and environmental changes.
Urbit, if I may mangle the analogy, is more like Esperanto. Or maybe Quenya. In any case, it has been constructed from the ground up designed to address some of the shortcomings of our semi-lawless frontier territory and open brawling Internet.
So, what is Urbit?
“Urbit is a new clean-slate system software stack. A nonpreemptive OS (Arvo), written in a strict, typed functional language (Hoon) which compiles itself to a combinator VM (Nock), drives an encrypted packet network (Ames) and defines a global version-control system (Clay). Including basic apps, the whole stack is about 30,000 lines of Hoon.”
As a clean-slate stack, they’ve tried to tackle the problem from a different perspective, building something that doesn’t necessarily repeat the same problems of our existing world yet has its own strengths, quirks, and tumbles.
“Urbit also invents a lot of alien technical jargon. We admit that this is annoying. Abstractly, it’s part of the clean-slate program: words smuggle in a lot of assumptions. Concretely, changing the words does indeed change the concepts; for instance, we say type informally to mean any one of three quite different concepts: span, mold, or mark.”
Indeed, the language used borders the nonsensical. Hoons, runes, molds, and marks. Cores, arms and vanes. They are trying to redefine how we think about systems, network architecture, program design, digital identity, etc., and to that end they tossed out common terms like objects and functions. In Hoon, you don’t have objects, you have subjects. All variable scoping is on the subject-level and only on the subject, so properties and variables are basically the same thing in Hoon.
It’s crazy. It’s bizarre. It has things like this: “Most Urbit data is in Clay, a distributed revision-control vane. Clay is like a typed Git. If we know the format of an object, we can do a much better job of diffing and patching files. Clay is also good at subscribing to updates and maintaining one-way or two-way automatic synchronization.”
And “Nock is frozen, but Arvo can hotpatch any other semantics at any layer in the system (apps, vanes, Arvo or Hoon itself) with automatic over-the-air updates. Updated code is loaded from Clay and triggered by Clay updates.”
I’ve just scratched the surface of this mad adventure. There’s more in there, a lot more. Galaxies, stars, planets more.
So what is good for?
Well, right now, nothing but to build itself. It is barely usable even then.
But, and here’s where that handwaving imagination kicks in, but if this works, people can own their data. Not Google, not Facebook, not Twitter. In fact, those companies couldn’t exist in their present form in the Urbit universe because you own the data, you set what APIs you consume, what you authorize and what you don’t. Your Urbit will be your digital identity under your control, and much easier to use than creating your own stack and running your own Linux box in the cloud. In theory, that is. Everything works in theory.
People are trying to break out of the corporate digital monopolies we’ve created. Urbit is showing a possible path out of that mess, in to a completely new environment with a different Weltanschauung, a different way of viewing our digital selves.
If Urbit is any sort of a real world example, it won’t be easy. At least, not from a build-everything-from-scratch approach. But Urbit also shows it’s within the realm of possibility. There’s nothing mystical, holy, or eternal about the way we compute today. It works because it’s convenient and it’s convenient because it works. Build a better mousetrap and people will flee MySpace for Facebook.
To say Urbit is an audacious undertaking is putting it mildly. If nothing else, it’s a work of a mad engineer, tinkering in his lab, playing with powers man wasn’t meant to know, producing things never seen before. Whether those things are a boon or a doom to mankind still needs to be determined.
There’s are lot of ways this could fail. And I mean a lot of ways. Go anywhere that isn’t Urbit.org, say Reddit or HackerNews, and you’ll find lists of reasons why this is doomed to be a massive, finger-point-and-laugh, failure.
But it’s entire possible this project really is up Moldbug’s alley. He’s smart enough to start, and he might be just not smart enough to stop.
There are lessons we can learn from Urbit to reclaim Western Civilization. It won’t be easy, the way isn’t certain, we have to cast off some things we’ve been doing for years, it’s going to take hard work, we have lots of ways we can fail, things won’t work or be convenient, but the payoff is an environment where we can control our destinies and not be controlled the globohomo agenda. Maybe we will have to rethink old concepts, tweak them, then use new names for the variations. New wine, new bottles.
As we move forward, you can be assured we’ll be mocked, ridiculed, reviled, treated like idiots, scoffed at, and attacked in a sundry of ways. Shrug it off. What we are doing is important, not for just us, but for our children and grandchildren.
And let’s never forget that we have an ace up our sleeves: Our faith Christ the Lord.