Hacker News new | ask | show | jobs
by olympus 3198 days ago
Urbit has been around for a few years and has done nothing to clear up the confusion around it. I think at this point it is safe to say that any claims of Urbit being a revolutionary form of computing are hogwash.

This is probably similar to how Scientology got started. Nobody really believes in it, but are too afraid to strongly denounce it because they don't want to be the one who "doesn't get it." So they all just go along and get sucked further along down the rabbit hole. The difference between Scientology and Urbit is that Scientology managed to rope in a few celebrities and gained some sustaining mass. If Urbit wants to make it big, they should pay Zuckerberg and Musk to evangelize it, and then everyone will be falling all over themselves to be part of it.

1 comments

That's... a baffling claim.

Urbit is well documented, in easy-to-understand terminology, from low level, to high level: https://urbit.org/docs/ https://urbit.org/docs/nock/definition/ https://urbit.org/docs/hoon/concepts/

The code is open source, under MIT license: https://github.com/urbit/urbit

Heck, urbit even shows up to Hacker News semi-regularly: https://news.ycombinator.com/threads?id=urbit

What backs your claim they have done nothing to clear up the confusion about it?

My main claim was that Urbit isn't revolutionary. It is really just a Unix server and programming language. However, in an attempt to seem more sophisticated they invented new words so that nobody could figure out what it was. Urbit is purposely obtuse in their terminology, when they really could just use words that programmers already know and use. Here's some examples from the documentation you linked:

"A value in Hoon is called a noun" - or you could just call it a value.

"A gate is a Hoon function" - or you could just call it a function.

"A core has no exact equivalent in conventional languages, but the closest equivalent is an object. An object has methods; a core has functionally computed attributes (arms). An arm that produces a gate is the Hoon equivalent of a conventional method;" - or you could just say that objects in Hoon (the language) can have methods and attributes, and you would never need to invent the core/arm/gate terminology.

They try to give themselves an out by saying stuff like "Hoon has concepts like all these abstractions, but they remain false cognates." When you dig into it, the only unique things are the words. It's like children trying to come up with a code- "instead of door we'll say blorp and instead of close we'll say bleep. Now bleep the blorp before we continue inventing our code.

> "A value in Hoon is called a noun" - or you could just call it a value.

A "value" sounds like an abstract concept. A noun is one of two things: a natural number or a pair of nouns. Calling it a "value" makes it sound much more abstract than it is.

> "A core has no exact equivalent in conventional languages, but the closest equivalent is an object. An object has methods; a core has functionally computed attributes (arms). An arm that produces a gate is the Hoon equivalent of a conventional method;" - or you could just say that objects in Hoon (the language) can have methods and attributes, and you would never need to invent the core/arm/gate terminology.

A core is not an object in any meaningful sense. You can create stuff that looks like objects with them, but they're used for a lot more than that. For example, all gates/functions are cores, but there's no sense in which you'd call those "objects".

> They try to give themselves an out by saying stuff like "Hoon has concepts like all these abstractions, but they remain false cognates." When you dig into it, the only unique things are the words. It's like children trying to come up with a code- "instead of door we'll say blorp and instead of close we'll say bleep. Now bleep the blorp before we continue inventing our code.

The thing about revolutionary concepts is that their underlying principles are different than what you're used to, so if they look similar on the surface, you're lulled into thinking they're basically the same. But anyone who's put significant effort into programming in Urbit will tell you the system is fundamentally different. Not in the sense of "you could never understand what's going on here"; but rather, "we made these few different design decisions in the beginning, and that permeates everything".

For example, all gates/functions are cores, but there's no sense in which you'd call those "objects".

To me, all you're doing here is describing an object-based language in which functions are first-class. Obviously, Urbit didn't invent this concept. Its predecessors used normal names for these terms. Why does Urbit invent new ones?

We could productively stay focused on just this one example, and see if there's a better reason for Urbit to call its objects "cores" and its methods or attached functions or computed attributes "arms".

> To me, all you're doing here is describing an object-based language in which functions are first-class. Obviously, Urbit didn't invent this concept. Its predecessors used normal names for these terms. Why does Urbit invent new ones?

That's a pretty (unintentionally) misleading description of it. What is an object? An Urbit function has basically nothing that an OOP object has. No class, no inheritance, no attributes, and no methods. It's just a way of encapsulating a formula (VM assembly expression) in a way that's convenient to call with formulas. It uses the the "core" pattern because it's convenient.

"Arm" is a pretty specific term that refers to the way an "element" of a core is represented in the core. When you want to map a particular use of cores to its underlying representation in the "core" pattern, you want to be able to talk about specific data structures.

In general, Urbit errs on the sides of giving names to concepts that could only otherwise be described in multiple sentences. Most projects just don't give names to those concepts. Urbit needs better human descriptions of its concepts, but using traditional names for them would be misleading.

How are these not problems that every VM for a high-level programming language also addresses?
> A noun is one of two things: a natural number or a pair of nouns

To most of us, a "noun" is a person, place, thing, idea, or feeling.

I started replying to the other stuff you were saying, but I started getting this feeling like you're in on the joke and I'm not.

To most of us an "object" is something you can touch. We overload these terms all the time.
> A core is not an object in any meaningful sense. You can create stuff that looks like objects with them, but they're used for a lot more than that. For example, all gates/functions are cores, but there's no sense in which you'd call those "objects".

In many, many languages, a function is also an object.

"It is really just a Unix server and programming language."

You should read https://urbit.org/posts/overview/

The whole reason Urbit exists is that Unix + the internet is broken and needs a complete overhaul

Re: the different names, there are slight differences between gates and functions, but I agree they're not important enough to merit the change in name. But hey, it takes a purist to spend 15 years rewriting the whole stack from scratch!

Yep. Unix and Linux are broken.

So instead, I should load up Urbit, locate on a planet, spin up a garglemitz on the spitzenspeil with the hoon japing over the nock.

If you add Xenu, Body Thetans, e-meters, I think you might be on to something!

--------------------

No seriously. There are wrong things with the monolothic kernel as well as microkernels. Theyre design tradeoffs. But none of the existing, well established methods throw away the language of computing of the last 60 years. Some tech stacks may add a new type, but they are able to describe why a new classification is needed, and how it fits iin the existing model.

What Urbit is doing, is polluting the namespace by turning existing nomenclature into some sort of technofreakish cult. Up is now down. Down is now blarbbliboop. And anyone questioning the "Master" is berated and denigrated by means of 'lack of intelligence'. You all should be defending your way and means.

Because in my eyes, you all are wrong until you can start integrating standard and normal nomenclature - because it's hiding something unsavory.

Best comment so far - you put words on what disturbs me so much about Urbit. It takes the technobabble to a whole new level. I don't care if they succeed, I want no part of it.
Thank you.

Given my proclivities in the occult, I do indeed have to watch out for real life cults. Now, I know this document is primarily for esoteric religion, it also very much applies to cults in other senses. But there's a few that really sticks out with me.

http://www.neopagan.net/ABCDEF.html

To me, this is a damning list of reasoning that Urbit should be considered a Cult, and thusly stayed away from. The only exception I give is, is to peeling back their crypto-jargon for any new concepts of computer science we in the larger community should document, understand, and use.

Interacting with this community only leads to poisonous cult mindsets that can easily damage your mind. Beware.

________________________________________________________________

1. Wisdom/Knowledge Claimed by leader(s); amount of infallibility declared or implied about decisions or doctrinal/scriptural interpretations; number and degree of unverified and/or unverifiable credentials claimed.

Go look up anyone under Curtis Yarvin. Even in the HN thread. He is "The Master", and you are just too stupid to understand his pure clear thought.

2. Wisdom/Knowledge Credited to leader(s) by members; amount of trust in decisions or doctrinal/scriptural interpretations made by leader(s); amount of hostility by members towards internal or external critics and/or towards verification efforts.

The evidence here is the appropriate HN posts, that give scorn for highlighting major issues with the language, choices in the network architecture, and choices elsewhere in Urbit as a whole. Anyone questioning anything with Urbit is either attacked, derided, ignored, or pushed aside usinng "Whataboutism".

3. Dogma: Rigidity of reality concepts taught; amount of doctrinal inflexibility or “fundamentalism;” hostility towards relativism and situationalism.

You need to Arvo the hoon into the lolwut iron branch thats in a wet case. WHAT HOW DARE YOU NOT UNDERSTAND. You're just stupid, I guess.

4. Censorship: Amount of control over members’ access to outside opinions on group, its doctrines or leader(s).

By definition, they all use Urbit to communicate. I looked in Freenode #urbit , and its something "superior" called tahc.. Yet if you look how Urbit works, any higher class user can disable sub-users' accounts. They call them stars/planets. Whatever. But your superior owners of your network block/address can censor you. And since it's federated, NOT decentralized or distributed, your id is easily blocked.

5. Isolation: Amount of effort to keep members from communicating with non-members, including family, friends and lovers.

Insert all the completely new jargon. Instead, it separates users from IT anywhere else. This is the same thing Scientology does, so people feel special and "connected" only within their clique. Of course it doesn't translate out, so it can be used as a differentiator of "Those who know".

6. Dropout Control: Intensity of efforts directed at preventing or returning dropouts.

Lockin is their way of handling this. Obviously they aren't holding guns to your head. But it's more of not wanting to cut losses because there "could" be something.

7. Grimness: Amount of disapproval concerning jokes about the group, its doctrines or its leader(s).

Mencius Moldbug / Curtis Yarvin. I need say no more.

________________________________________________________________

Please identify one concrete computing action that I cannot do with Linux/Windows/Mac that Urbit enables.

In other words, what is Urbit's "Killer Feature"? Cause I'm not seeing one.

And a runner up question: Is Urbit still heavily dependent on unreleased root node code? In other words, is this distributed computing just a load of hype covering over a overly complicated star topology?

This is a great question.

The best way i've found to describe Urbit as a product is a decentralized, open source version of WeChat. No, nobody really cares about privacy, but I think the argument is that for the consumer there is the potential for a way better experience. If all of your data is in one place, as a consumer, you only ever need to enter it once. More interestingly, all of your apps can work together in a seamless way that's currently impossible with the current paradigm. Your maps app has ubers and lyfts driving around on it, with yelp/opentable postings on all restaurants, etc.

On the developer side, you save so much time not reimplementing identity, payments, reputation, etc., everytime. There are more reasons why Urbit is better for developers, but I won't go into them here. Checkout the whitepaper...it's a little dense, but there is logic there:

Now, to your question. WeChat won at chat and once they owned communication / identity, it was fairly easy to move into payments and everything else. Urbit has a classic chicken & egg problem: its tech is designed to be better at doing everything for everybody. The current stack is already much more robust and better suited than urbit for most if not all one-off 'killer apps.'

So, you're right, they need to find the first killer app, equivalent to WeChat's 'chat'. I've been following the project for years, and the answer to this question has eluded me. However, recently, I finally heard the first solution which felt like the completely right solution to me, and I believe they're pursuing it.

Yes, some of the language is pompous and unnecessarily 'verbose'(being generous). Yes, they could do a better job explaining the problem in laymen's terms. However, I can tell you that the people behind this project are very intelligent and very serious. And, of course a little crazy..but you have to be a little bit to attempt something on this magnitude...right?

>However, recently, I finally heard the first solution which felt like the completely right solution to me, and I believe they're pursuing it.

What's that?

hazarding a guess: a secure social integration layer for cryptocurrency?

now that i'm thinking about it, this has to be the answer

> Is Urbit still heavily dependent on unreleased root node code? In other words, is this distributed computing just a load of hype covering over a overly complicated star topology?

Urbit has always been fully open source as far as I know (at least since 2013). It is true that Tlon runs some of the galaxies and stars that most people use, but that's just because other galaxy owners haven't decided it's worth it to do so (because Tlon is doing a great job of it).

So, there are absolutely no "Killer Features" then? That was my primary question, which you refused to answer.

That's what I suspected.

Edit: Quote from your post-- "However, recently, I finally heard the first solution which felt like the completely right solution to me, and I believe they're pursuing it."

Yet no answer.

See my comment above.
That's not decentralisation. That's federation.
(You might have hit reply on the wrong post? This is all stuff orthogonal to my point.)