Bootstrapping Urbit from Ethereum
51–60 of 172 posts
Re: Bootstrapping Urbit from Ethereum
#52Earlier quoted context omitted.
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?
> 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…
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.
Re: Bootstrapping Urbit from Ethereum
#53Urbit likes like an awesome idea. Are they shipping a product? Or it’s just theory for the moment? If it’s the second, any idea when we can expect to see the first products?
Re: Bootstrapping Urbit from Ethereum
#54Earlier quoted context omitted.
I'm one of those people that get it, so I'll try to explain it without going off the deep end and waxing poetically about planets or whatever. Urbit is a platform for building decentralized apps. To that end, it's a tightly integrated set of different features that play into that: an identity system so that all the apps can refer to the same people by the same handle, a typed RPC network for easy message sending, and…
This is a good, well-written explanation of the most reasonable, mainstream aspects of Urbit, leaving the impression that it's essentially like a P2P version of AWS Lambda. But of course, that's not all it is. It's also a ground-up reinvention of mainstream functional programming languages like Lisp, built on the foundation of an abstract virtual machine in which the "decrement" operation can be performed natively on…
As for ideological views: there are 4 million planets. They are, essentially, houses, but each one of those planets can also issue 2^16 "moons", which can themselves be their own people. I don't know the reasoning behind why 2^32, but I'm also not going to ascribe the reasoning to human worth any more than I would the author of IPv4. There are also 2^64 comets, which are their own ships outside the trust heirarchy, which really just means that they have a default karma of 0 because they have no cost, and so can be Sybil attacked - not that they can never get a positive karma, or that you couldn't use one indefinitely instead of a planet (just that it's be unwieldy). Saying Urbit can't scale bigger than IPv4 is kinda like worry that Hoon can't be programmed in Chinese - there are probably bigger problems, and it could be solved by just doubling the amount of galaxies. Hell, Urbit is open source. There would be push back against doing it, but there is nothing stopping that from being patched in tomorrow.
The most common thing I've see n called fascist in Urbit is it's identity system, and this Urbit+Ethereum spec seems to be a direct solution to some of it. Now, even buying a star you don't have to trust the owner of the galaxy you bought it from, because it's a redeemable token.
Re: Bootstrapping Urbit from Ethereum
#55Earlier quoted context omitted.
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…
> "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 (…
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".
Re: Bootstrapping Urbit from Ethereum
#56Earlier quoted context omitted.
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 clai…
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?
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?
Re: Bootstrapping Urbit from Ethereum
#57https://storage.googleapis.com/urbit-extra/etc/the%20not%20s...
My own perspective regarding these new decentralized platforms is that we're at the very tail end of low-hanging fruit in regards how easy the next generation of software innovation will be to explain to "your average layperson". The problems that decentralization are trying to solve are uniquely understood by developers, particularly people well-versed in the metagame of content, advertising, identity, and privacy on the web, which is a vast field filled with thousands of great reasons to consider decentralization, but are unfortunately hard to distill down into a 30-second elevator soundbyte.
Another problem is that having high-density conversations about software innovation is fundamentally absurd. Every software innovation is ultimately just "another way to write code", so you can boil down everything Urbit and IPFS and Ethereum are doing to "well, our current code for everything is this way, and it seems to suck, so we're going to try writing the code a completely new way". That's it. Every time someone asks "what can you even do with this thing?", the answer is "well, you can develop software on it".
Edit: Apparently the original article has been un-paywalled. Perhaps you can access it here:
https://medium.com/@IsaacSimpson/urbit-and-the-not-so-dark-f...
Re: Bootstrapping Urbit from Ethereum
#58Earlier quoted context omitted.
This is a good, well-written explanation of the most reasonable, mainstream aspects of Urbit, leaving the impression that it's essentially like a P2P version of AWS Lambda. But of course, that's not all it is. It's also a ground-up reinvention of mainstream functional programming languages like Lisp, built on the foundation of an abstract virtual machine in which the "decrement" operation can be performed natively on…
I'll admit, Hoon is weird. But complaining about Nock is like complaining about the JavaScript VM. You can JIT it and replace common functions to replace with calls to C functions instead. Nock defines the /results/, not how to get them. Jets are basically just because the Nock spec didn't want to have to outline a bunch of primitives that don't really matter, since they would be replaced with native calls anyways. A…
And I'm not saying the problem with that design decision is that it's amoral (let's stipulate that it isn't). I'm saying that it's extremely unconventional, a landmine of orthogonal ideology buried in the architecture of the system. Before committing to building a new product in someone else's framework, I'd want to know about all such weird decisions, and about why they are that way. Maybe Urbit's principles are compatible with the way you think about every possible aspect of how your system will interact with any of its users ever (since that's what you're buying into when you literally adopt an entirely new network to build against and deploy on). But maybe not!
Most framework designs coercively project opinions about whether the efficiency of register-sized addresses are worth the flexibility tradeoff, or whether it should be easier to define new URL patterns versus making it easier to dispatch the full complement of HTTP verbs, or whether closures are first-class or sum types are worth the complexity. Not a lot of programming environments ask us to determine what double-digit percentage of the world's population is too irresponsible to deserve an address. Again: their words (almost; I changed the order).
I'm trying to be careful not to use loaded terms like the f-word you just used, by the way. What I think about Urbit's founder is not necessarily the same as what conclusions I'd draw about this particular system, which is, I think, fatally flawed on its own demerits.
Re: Bootstrapping Urbit from Ethereum
#59Earlier quoted context omitted.
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…
> "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 (…
In many, many languages, a function is also an object.