Urbit for Normies
urbit.org
urbit.org
Urbit is a decentralized personal server platform. The platform seeks to deconstruct the client-server model in favor of a federated network of personal servers in a peer-to-peer network with a consistent digital identity.
I think every comment I've read so far contains an objection to being called "Normies," so I won't belabor that here. I will say that if the HN audience (highly interested, highly competent) tunes out before you can make your pitch you are doing marketing wrong.
Additionally, they mention that your ID accrues "reputation" on the urbit network, which makes it pretty ballsy to bring up comparisons to Reddit because their system of upvotes and "karma" is one of the major structural failings making their platform unsuitable for free speech (same thing here tbqh famalamalampai). Thus the behavioral problems of modern social media (excessive virtue signalling, witch hunts, shadowbanning) are only amplified by this system, the tyranny of the majority extended into every aspect of your networked computing experience.
Overall I think this is a cool idea for certain applications where it has potential, but they're not pitching it just for those applications, they're pitching it as a technology to replace the entire current internet model with, and that's just not going to happen.
* High (voltage) represents 1 and Low (voltage) represents 0 (positive logic) and
* High (voltage) represents 0 and Low (voltage) represents 1 (negative logic)
With this background, loobeans don't seem so strange anymore.
Here, there are none, except to be contrarian. Being contrarian is not the same as being clever, and this is very much not clever.
> Here, there are none, except to be contrarian.
I know that in electrical engineering, there exist good reasons. But doubt whether the reason for loobeans is to be contrarian. I rather suspect that if you look deeply into the architectural details of Nock, you will find a good reason for loobeans, too. In this sense, I suspect that loobeans are "contrarian" is rather a welcome side-effect than raison d'être.
It is contrarianism, pure and simple.
For instance there's a notebook, from the way this article talks about it I would assume it's a collaborative notebook (otherwise it's pretty boring). What kind of data structure is used to store it? How are edits communicated and conflicts resolved? Assuming conflicts require some domain-specific computation to resolve, where does that computation happen? Is there an access control list, or some secret that gives access? How would revoking access work? How do changes come in and out of the user agent/browser? Where is the program that manages this hosted? How do I get updates to that program?
This satisfies some long-held desire to unpack the mystery. But now that I know what it is, I know that in fact I'm not interested in it, and (unsurprisingly) it's not the future of computing.
It's pseudointellectual wanking, and that is the start and end of it. Don't bother paying it any attention, you will only waste your time.
I've peripherally know about urbit for, at this point, multiple years, and have not the first clue what it really is or does or attempts to solve.
Where every article fails is in saying how they accomplish it and what any of it means in practice. We're both baffled on that point.
His neo-reactionary thinking bled directly into the architecture of Urbit and I don't think there are very many "normies" out there who would support it, if they realized all of the long-term implications of a feudalistic social computing system.
>Parses a text string which contains a decimal number. In practice, this number is always '1'.
Amazing.
The app for example claims to be end-to-end encrypted peer to peer connections. Is this true? Is it implemented correctly? I'm not sure they could find a reputable security auditor who would willingly subject themselves to this codebase regardless of how much pay was offered.
As a consumer, what benefit does it provide to me? "Normies" are going to bounce way before they see what the answer is. Drop the derogatory term and tell me how this helps me from the start.
For someone as controversial a personality as the author is, he would be wise not to talk about himself alongside the technology.
How does it actually work?
If you frame it that way, it should be obvious that the "in-group" in this case would appear, on the surface, to be a bunch of deluded eccentrics, hardly anything to feel insulted about.
As it stands, the intent here seems to be to disarm the reader's own insecurities about how whether they are able to (or welcome to) grasp what the Urbit project is about.
[0]speaking as someone who is not an urbit user.
I ask because it seems to me there's nothing inherent at all about the use of any word, so whether or not "normie" is insulting comes down to the degree to which people tend to use it insultingly. And I believe common use is overwhelmingly derogatory.
There may be exceptions, of course, and you personally may even be more familiar with the exceptions than the typical usage.
I would say that my experience with regard to the use of the word "normie" is indeed different from yours.
Regardless, on a site called Hacker News, in an era where "geek" has a neutral or even slightly positive connotation (despite it's history and origins) I think the default should be to assess how an author actually uses a word, rather than how it often used in broader society.
Would you call yourself a normie?
Let's just say that my reaction to this article title was "Oh, this could be helpful to me!" and I was rather shocked at the negative reaction in the comments.
The goal of good UX is to eliminate question marks, except for the questions you want people to ask. Usually those are, "Cool, how much is it?" or "Where do I get it?"
I still don't know what Urbit is.
Take link sharing for example. Instead of going to a 3rd party site like Reddit or Hacker News, I would simply have a link sharing app on my Urbit virtual computer. Because I host the app, I have control of the links I share and who I share with, but I don't have to go through the rigmarole of actually deploying a LAMP stack (or whatever) or dealing with configuring a public IP address, firewall, CDN, authz/authn, domain name registration, or any of that stuff. I just say "share these links with these other people" and it just works.
Now, I don't know how that works under the hood. I don't even know if that actually works today (looks like it does?). But so long as I right about how I'm supposed to actually use Urbit, then I'd say the article was successful.
1. Try rewriting this and putting your use cases first.
2. Try explaining to people what it does for them. Why is this better than other platforms?
3. Next, give a little technical jargon ("decentralized personal server platform blah blah blah) and link to meatier standard stuff getting into the tech.
4. As a zillion other people have said, ditch the word "normie." If you have to spend that much time justifying the use of that word, it's probably doing a disservice to your marketing efforts.
Try something like: "Tech for the ordinary joe." or "High tech solutions for people who don't have or want a CS degree." or "Privacy and control of your data for everyone."
Not the best line. Don't see the point in marketing a p2p network to people who can't even use cli.
The plebs would end up authorizing liberal permissions to to watch some out-of-network UrbitTikTok video, even as we screamed at them not to. And the devs would be forced to enable some phone-home capabilities in exchange for access to their pro tools. Or go the jailbreak route and play a constant game of cat and mouse. In essence, if you're on the consumer side, it seems like you're not in a position to negotiate privacy terms regardless of whether you access the network in a centralized or p2p way.
So yes it absolutely involves a blockchain.
See: https://urbit.org/blog/why-urbit-probably-does-not-need-a-bl...
I would also like to see comparison with Keybase that actively competes in the same area, but actually has a viable product.
They solve a similar set of problems from completely different directions. Chiefly, they are both trying to create infrastructure for running distributed programs that run primarily on the devices of the user in such a way that the user has total control over their own data and not in a horribly inefficient way like blockchain-based dApps.
Urbit has a bottom-up approach while Holochain has a top-down approach. Urbit is about building powerful infrastructure for individual users to manage their own data and, from there, networks of users may be built that can run their own apps and share data amongst themselves however they like. Holochain instead starts by focusing on building networks of users that share data in a prescribed fashion, and how each user manages their own data outside of Holochain is up to them.
I see them as complementary, almost dual to each other. Urbit is about creating infrastructure for individuals that can then form networks, while Holochain is about forming networks that individuals can then join. Urbit starts as close to bare metal as you can get (its a whole operating system, programming language, and assembly-level instruction set) and starts getting thin around userspace, while Holochain lives entirely in userspace. Stack them on top of each other and your entire computer from the GUI all the way down to the processor instruction set is oriented around user data privacy and efficient distributed computing!
In a future where both Urbit and Holochain take off, people could use Urbit to manage their personal data and cryptographic property which would be fed into Holochain apps. There would be a bridge between the Urbit PKI and the Holochain PKI so that your identity in one is linked to your identity in the other.
Both projects aspire to create something like a "universal interface" along the lines of WeChat, except not a dystopian privacy invasion nightmare.
I could write more about this all day. If you have any further questions I'd be happy to answer. I'm mostly excited to have met someone else using Holochain and Urbit in the same sentence.
Both Holochain and Urbit emphasize composability. One of the main design patterns with Holochain are microservices that you can hook up together to make more complicated apps. This philosophy emanates from the receptor notion in Ceptr (the OS that Holochain is supposed to be distributed data integrity engine for). When I worked on Holochain I spent a lot of time going on about what sort of mathematics you'd need to do this well and without unintended side-effects: namely category theory, as category theory is a mathematical formalization of the notion of composability. Composition is a first-order concept in category theory and the whole point of category theory is to be able to think of things in terms of what they're composed of - this is a large chunk of the content of the Yoneda lemma. I believe that there is a good description of Holochain using category theory in the sense of David Spivak and his collaborators, and more generally that creating an entire operating system made of composable "atoms" like Ceptr would really benefit from that kind of theoretical backbone. I never got to the point of anything really worth sharing, though.
The one project that is going in that direction though is Statebox. They are designing a language for making distributed applications based on new ideas on composable Petri nets and how they can be used to represent symmetric monoidal categories. Work of Abramsky, Coecke, and collaborators has shown that in some sense, symmetric monoidal categories can be thought of as a general model for any kind of distributed computation, including quantum computing. Thus Statebox should be able to talk about things like blockchains, holochains, block lattices, whatever, all in the same categorical language. This will allow apples to apples comparisons, cross-compiling, and lots of other fun stuff. So Statebox is, in my mind, the most mathematically sound language that's in production for building composable systems of microservices. I think it would be really interesting to rewrite Holochain using Statebox.
Urbit attempts to achieve this level of composability by virtue of being written entirely in a purely functional language. Functional programming has many ties to category theory which is why this is the correct strategy, but Urbit actually tries to be as mathematically simple as possible. No category theory is really in sight (ok, some monads are hanging around now) and for the most part, nothing more than high school algebra is needed to understand how Urbit works. The whole system is actually much simpler than the Unix stack, it just doesn't look that way from the outside. Urbit follows the Unix philosophy of simple tools that just do one thing well. You can really start doing some magical things when all those tools are written in a purely functional fashion.
One other project I'm aware of that is trying to do the purely functional distributed apps thing is the Ambients protocol, but sadly I haven't put aside the time yet to learn about it.
See also postmodernism which I still believe to be long-form trolling by Derrida et al., yet has attracted considerable scholarship and wields enormous influence over culture.
The developer of Urbit is better known as an advocate for "neo-ractionary" ideas, which I believe includes things that look like neo-feudalism:
https://en.wikipedia.org/wiki/Curtis_Yarvin
https://en.wikipedia.org/wiki/Dark_Enlightenment
IIRC, some of these political ideas are reflected in the design choices of Urbit.
Also, the interpreter won't parse integer literals without thousands separators (which are periods). JackieChanMindBlown.png
Keywords are RUNES and RUNES have CHILDREN, CHILDREN can be RUNES and the programs chains the RUNES until there are no CHILDREN. Functions are GATES and tuples are CELLS and you run programs as GENERATORS from your SHIP's DOJO.