Live data from Hacker News

Bootstrapping Urbit from Ethereum

urbit.org

161–170 of 172 posts

Re: Bootstrapping Urbit from Ethereum

#161
post #61
post #48

Earlier quoted context omitted.

Right, but you could do that with any P2P overlay network with any embeddable VM. Why use the very unorthodox one that Urbit came up with? I really think that's the question people are asking when they say they don't understand Urbit. Not, "why would we want to do what this system claims to let us do", but rather, "why would we want to do it that way ?"

Do you have something in mind? Using GNU Social as a convient whipping-post, it's built on PHP and MySQL and Salmon and PubSubHubbub and... The point of Urbit is to be a cobherent, self-contained platform. Every other decentralized app I've seen had to reinvent several wheels and can't interact with each other because of it. Urbit has a typed versioned filesystem exposed as a global namespace, typed RPC with a diff/p…

[deleted]

Re: Bootstrapping Urbit from Ethereum

#162

Every time I read something about Urbit I am reminded of the Lewis Padgett short sci-fi story, "Mimsy Were The Borogroves" [0], [1] describing children discovering alien future toys, and subsequently via use of those toys learning to manipulate reality in incomprehensible ways. I still have not been able to figure out if there's actually something that amazing about Urbit, or if behind the obfuscated terminology ther…

Take a look at https://github.com/tibru/tibru for an explanation of why the underlying technology is poorly chosen and how systems of this type don't need to be esoteric

Re: Bootstrapping Urbit from Ethereum

#163
post #81
post #72

Earlier quoted context omitted.

I think urbit started out as a pomo critique of modern academia and tech, with heavy jargon and wheel rebuilding. Then, some other people started taking it seriously. I’m not sure if that is the best or worst outcome for this kind of joke.

Moldbug hates pomo though. Pretty sure the dude doesn't read anything that was written after the year 1900.

That is so pomo.

Re: Bootstrapping Urbit from Ethereum

#164

Earlier quoted context omitted.

>>finally he plays the same semantic shellgame with his words he plays with his political essays, to convince you that the horrible political views he has aren't so horrible. I suggest you leave your ideological biases out of your assessment of Urbit the technology. We all have our political beliefs - mine are hard libertarian, yours are hard feminist/leftist - but hopefully we can put those aside when assessing tech…

Are you implying that anyone who hates neoreaction is a hardcore feminist/leftist or is there context I'm missing?

No I'm not implying that. I'm describing the OP's political beliefs, based on his previous comments.

Re: Bootstrapping Urbit from Ethereum

#165
post #83

Earlier quoted context omitted.

> not all of the last 30 odd years of systems and programming research was pointless. Indeed, which is why it's a shame our primary server OSes (Unix-likes) can't incorporate them. Urbit can. As for what are the approaches different, there have been many words spilled over that, but here's a few examples to wit, most of which exist in one or two other systems, but aren't widely used: - All events are transactions, do…

> Persistent connections with exactly-once messaging. Disconnection is just seen as long latency. Bullshit. https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf Unless you and Yarvin really think there's a valid answer to the 2 Generals problem... Im sure there's a Fields medal in there if you do. "Every major message queue in existence which provides any guarantees will market itself as at-least-once delivery. I…

Urbit claims, like you, exactly-once messaging is impossible: https://news.ycombinator.com/item?id=14666015

But that doesn't mean we can't provide systems where, for all practical purposes, it is a guarantee.

Another way to think about it: SHA1 cannot provide a unique hash for every possible set of content - there are overlaps. This is the pigeonhole principle.

Yet, we have entire systems designed around assuming SHA1 is and will always be a unique hash for a piece of content (Git), and, for all practical purposes, it is a guarantee good enough to work despite that.

Re: Bootstrapping Urbit from Ethereum

#166

Earlier quoted context omitted.

> Persistent connections with exactly-once messaging. Disconnection is just seen as long latency. Bullshit. https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf Unless you and Yarvin really think there's a valid answer to the 2 Generals problem... Im sure there's a Fields medal in there if you do. "Every major message queue in existence which provides any guarantees will market itself as at-least-once delivery. I…

Urbit claims, like you, exactly-once messaging is impossible: https://news.ycombinator.com/item?id=14666015 But that doesn't mean we can't provide systems where, for all practical purposes, it is a guarantee. Another way to think about it: SHA1 cannot provide a unique hash for every possible set of content - there are overlaps. This is the pigeonhole principle. Yet, we have entire systems designed around assuming SHA…

>Urbit claims, like you, exactly-once messaging is impossible: https://news.ycombinator.com/item?id=14666015

>But that doesn't mean we can't provide systems where, for all practical purposes, it is a guarantee.

Nuh huh. Dont you play wordgames with me. Exactly-once messaging is PROVEN impossible.

And I, unlike the rest of you Urbiters, actually use standard terminology when understanding the last of 60 years of CS.

> [Blablabla unrelated blather]

Your point?

Re: Bootstrapping Urbit from Ethereum

#167
post #83

Earlier quoted context omitted.

> not all of the last 30 odd years of systems and programming research was pointless. Indeed, which is why it's a shame our primary server OSes (Unix-likes) can't incorporate them. Urbit can. As for what are the approaches different, there have been many words spilled over that, but here's a few examples to wit, most of which exist in one or two other systems, but aren't widely used: - All events are transactions, do…

> Persistent connections with exactly-once messaging. Disconnection is just seen as long latency. Bullshit. https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf Unless you and Yarvin really think there's a valid answer to the 2 Generals problem... Im sure there's a Fields medal in there if you do. "Every major message queue in existence which provides any guarantees will market itself as at-least-once delivery. I…

From the second link:

> FLP and the Two Generals Problem are not design complexities, they are impossibility results.

Two generals, in its impossible form, isn't applicable here. For example, this proof[0] depends on the deterministic form being impossible to solve in a finite number of messages. But why would we care about doing it in a finite number of messages? By that measure, at-least-once delivery is impossible too, yet neither you nor the blogger seem to have a problem with that. The solution is easy and common: send a message, ack new messages, retry if you don't receive an ack, never ack an ack, and always ack a dupe. As long as you aren't disconnected forever, this will give you at least once delivery.

FLP only applies in the case of faulty processes. Specifically, FLP arises because the faulty process must either (1) ack the message before handling it, or (2) handle it before acking it. (1) fails if it crashes after acking before handling, causing it to forget it ever received the message (at-most-once). (2) fails if it handles the message, but doesn't persist that fact to disk, so that when the dupe is received it doesn't know it already handled it (at-least-once).

Urbit processes events transactionally (like a database), so you're guaranteed that if you received an ack it's because the other person has persisted that message or its results, and it won't forget about (i.e. they've persisted any state changes related to it). No faulty process, no problem. FLP impossibily doesn't apply.

I suggest actually learning about proposed solutions to problems rather than recalling that someone convinced you they were impossible to solve. Proofs are powerful because they're incontrovertibly true, but they only apply if their conditions are met.

[0] https://en.wikipedia.org/wiki/Two_Generals%27_Problem#Proof

Re: Bootstrapping Urbit from Ethereum

#168

Earlier quoted context omitted.

Urbit claims, like you, exactly-once messaging is impossible: https://news.ycombinator.com/item?id=14666015 But that doesn't mean we can't provide systems where, for all practical purposes, it is a guarantee. Another way to think about it: SHA1 cannot provide a unique hash for every possible set of content - there are overlaps. This is the pigeonhole principle. Yet, we have entire systems designed around assuming SHA…

>Urbit claims, like you, exactly-once messaging is impossible: https://news.ycombinator.com/item?id=14666015 >But that doesn't mean we can't provide systems where, for all practical purposes, it is a guarantee. Nuh huh. Dont you play wordgames with me. Exactly-once messaging is PROVEN impossible. And I, unlike the rest of you Urbiters, actually use standard terminology when understanding the last of 60 years of CS. >…

From all reference I have read, the phrase "exactly-once messaging" does not have a strict technical definition. Neither of your links define or use the exact term "exactly-once messaging". If you can point me to a definition of this specific phrase's standard terminology, I would be grateful. But, I cannot find one.

I don't understand why you address me with such a hostile tone. What have I done to deserve this? You accuse me of playing word games, but this is not my intent. I am just trying to have a conversation about the technical aspects of a system.

Re: Bootstrapping Urbit from Ethereum

#169
post #83

Earlier quoted context omitted.

> not all of the last 30 odd years of systems and programming research was pointless. Indeed, which is why it's a shame our primary server OSes (Unix-likes) can't incorporate them. Urbit can. As for what are the approaches different, there have been many words spilled over that, but here's a few examples to wit, most of which exist in one or two other systems, but aren't widely used: - All events are transactions, do…

Rust uses Hindley-Milner type inference. OCaml uses Hindley-Milner. Swift apparently uses a variant of the system with more features. None of these make use of monads or anything rooted in category theory. https://en.wikipedia.org/wiki/Hindley%E2%80%93Milner_type_sy... HM is a type system that also gives you an algorithm to infer types without having to do the "List foo = new ArrayList ()" dance from languages withou…

Arguably optionals are monadic.

Re: Bootstrapping Urbit from Ethereum

#170
post #169

Earlier quoted context omitted.

Rust uses Hindley-Milner type inference. OCaml uses Hindley-Milner. Swift apparently uses a variant of the system with more features. None of these make use of monads or anything rooted in category theory. https://en.wikipedia.org/wiki/Hindley%E2%80%93Milner_type_sy... HM is a type system that also gives you an algorithm to infer types without having to do the "List foo = new ArrayList ()" dance from languages withou…

Arguably optionals are monadic.

Optionals are also "applicative", but Haskellers used them for a long time before applicative functors became popular. A concept can support a certain way of thinking about it without everyone needing to think that way :)
Post reply on HN