Urbit: The good, the bad, and the insane
I also did a deep dive on Urbit a few months back (shameless plug: <a href="https://blog.janissary.xyz/posts/urbit" rel="nofollow">https://blog.janissary.xyz/posts/urbit</a>), and I really agree with the author for the most part.<p>Definitely the most concerning part of Urbit, for me at least, is the obscurantism of Hoon. Much like the author says, it's totally incomprehensible to anyone who hasn't read through every bit of the (lacking imo) documentation. Even a domain-specific language with a familiar syntax would be better, since at least a first-timer could grok basic logic/structure at first glance. This only compounds the security concerns, since reviewing any Hoon code requires being a domain expert  - I doubt any security/crypto researchers will want to take a few weeks to learn Hoon just to audit something as obscure as Urbit. Hoon even has a kind of Lisp-y feel to it and Lisp lends itself well to the purely functional goals of Hoon/Nock, so I don't see why they couldn't have just made Hoon a Lisp.<p>On the whole however, I'm hesitantly optimistic about the project. Most other works aiming to address Internet centralization just seem like band-aids (federated social networks still have problems with moderation/deplatforming, self-hosting just means running it in someone else's data center, etc.), and Urbit seems to be one of the few things willing to deal with the fundamental problems from the ground up.<p>Also, I'm kind of glad the author didn't mention Urbit's  original author despite most other posts on the topic feeling the need to mention it. He's long since left the project but it seems as though it'll never be rid of his influence. At this point I just feel bad for the maintainers/users that will constantly be associated with the guy from now on.