Live data from Hacker News

Urbit: a personal cloud computer

doc.urbit.org

261–270 of 281 posts

Re: Urbit: a personal cloud computer

#261

The project is based on a fundamental insincerity, which makes me suspicious. All material about Urbit makes a big point of their minimal spec, again so in the linked piece: "The spec fits on a T-shirt and gzips to 340 bytes." What do people expect when they read a thing like that? I don't know about you, bit I'd expect that I could ignore the obfuscated strangeness of their higher level languages etc and just implem…

> "The spec fits on a T-shirt and gzips to 340 bytes.

If the spec expands does the guy wearing the t-shirt have to eat lots of pizza?

Re: Urbit: a personal cloud computer

#262
post #259

Earlier quoted context omitted.

The first sentence above is completely false. Eliezer Yudkowsky has explicitly stated that he has nothing to do with the reactionaries, and the latest stats on the friendly AI community (as gathered at lesswrong.com) show about 2% of members are neoreactionaries. Further, with FHI at Oxford, FLI at MIT, CSER at Cambridge, the Superintelligence book being endorsed by everyone from Elon Musk, to Stephen Haking, to Morg…

EY has made a point of saying that he has nothing to do with Moldbug, but ideologically there isn't much room between Moldbug-style techno-monarchism and the 'friendly AI' utopia. I'm referring more generally to the "Dark Enlightenment" than just neoreactionaries. In that group I include pretty much any group focused on alternatives to liberal democracy, with carve-outs for Marxists and fascists. EY fits comfortably…

EY definitely fits comfortably in the gerrymandered definition of Dark Enlightenment that you just created, as does a vast amount of people, including the Pirate Party for instance. EY himself would agree with you on this.

Whether this is what most other people mean with the terms you just used, is another point entirely.

Re: Urbit: a personal cloud computer

#263
post #176

Earlier quoted context omitted.

My take on that is that this design choice arrises from the anti-democratic authoritarian sentiments which (at least one of) the developers apparently hold. At least they have repeatedly expressed these sorts of sentiments in their rather long winded blog(s).

Have you considered that democracy is not actually immune to authority, and it's really a reflection of this, rather than a window into the designs of one crazy person? (hi Curtis) Maybe every system that comes along and says "impossible to be subverted by centralized governments" in reality is just saying "come and try to stop me, Federales". Do you think that is that what we all should be doing instead?

Actually, I have. I understand that there is complex tension between fundamental human rights (like freedom of expression, freedom of association, & privacy) and realities of the intrusion & abridgment of these rights carried out by various state security agencies and corporations.

I agree that any project which claims "impossible to be subverted by centralized governments" is just saying "come and try to stop me, Federales". Moreover, I feel that such claims are extremely difficult to substantiate (and so not particularly credible) and for the most part made by groups I'm not really motivated to associate myself with.

Speaking in a very general sense (having kept up with the news & goings on related to technology, privacy, corporate activities, and state security activities for the past few decades); it's my opinion that this tension is not only not in an ethically defensible or sustainable state, it's not in the state that most of the people in the western capitalist nations believe & expect it is.

So I find assertions like: "Despite messages between ships being encrypted, the founders state that they've purposely designed the network to make it as easy as possible for governments to regulate and control. It's not entirely clear why this is supposed to be a good thing." to be similarly worthy of skepticism and disconcerting as the "impossible to be subverted by centralized governments" claims. My feeling is that this statement translates fairly directly into "all user data is available to any corporate entity or state security agency for any purpose" and that this includes purposes like backchannel monetization through data aggregation and industrial scale warrantless surveillance & data collection.

It's pretty obvious to me that you are pretty invested in this project and I've only spent a few hours perusing the various docs, repositories, and blogs. So I'm fairly hesitant to make any sweeping statements or claims of certainty. So, with those qualifications in mind, my conclusion after my perusal is that this architectural design choice is unlikely to be a reflection of some sort of pragmatic policy coming from a non-ideological position of social responsibility that's striving to minimize any intrusion & abridgment of rights while still allowing for the realistic needs of businesses and state security agencies.

Frankly spoken, I personally find a number of the abstract concepts and architectural design choices in Urbit project to be fascinating and compelling. I've spent far too much time dredging around the information that is currently publicly available... Time I honestly can't afford. So it's really disappointing to me to find that there is a pervasive toxicity which is deeply intertwined with the project. My conclusion is that this toxicity makes the project broadly unusable (seriously) & and possibly even unfixable.

Elsewhere in this thread I saw someone claim that there were big things coming in a few months. If this is accurate I look forward to it. Perhaps there will be changes and new developments which will demonstrate my current assessment inaccurate. Honestly, that would make me pretty happy... but from what I've seen so far, I suspect that's really, really unlikely.

Re: Urbit: a personal cloud computer

#264
post #21

So let me get this straight. This project is going to define 1. A new computing model, similar to how combinators work. 2. A programming language which produces expressions involving these combinators. 3. An operating system built on the above. 4. A cloud computing environment built on the above. Sorry, but while interesting, this sounds a little too ambitious, even by HN standards :)

They already basically have all of the above, as a working tech demo. They actually had it like a year ago or more, but bits are missing or in progress still.

Ambitious failures with technically brilliant visions have happened before. enlightenment is not easy.

Re: Urbit: a personal cloud computer

#265
post #176

Earlier quoted context omitted.

Have you considered that democracy is not actually immune to authority, and it's really a reflection of this, rather than a window into the designs of one crazy person? (hi Curtis) Maybe every system that comes along and says "impossible to be subverted by centralized governments" in reality is just saying "come and try to stop me, Federales". Do you think that is that what we all should be doing instead?

Actually, I have. I understand that there is complex tension between fundamental human rights (like freedom of expression, freedom of association, & privacy) and realities of the intrusion & abridgment of these rights carried out by various state security agencies and corporations. I agree that any project which claims "impossible to be subverted by centralized governments" is just saying "come and try to stop me, Fe…

I know you said you are out of time, but that mention from above about "the founders state" was actually responded to by the founder, and he said he didn't agree (it actually sounded more like "I never said that" to my reading.)

I don't claim to know everything about how Urbit works. I do think that superficially, Urbit is more able to respond positively to a demand from a state that sounds like "we think your network is being used to recruit radicals and a subversive element that threatens the nation is using it to communicate operational details and plan their attacks. can you shut it down" than say, BitTorrent...

I mean, it's a centralized network where the leader is able to push out updates to the software, and in a future version you may not even need to ask for them to be downloaded or approve them before they replace your running kernel. This will be considered a feature by anyone who comes from at least a managed Windows domain.

So, it has the potential to carry out a "poisoned updates" type attack, like Apple could do to an iPhone. And the more that I think about it the more ways I can imagine that ~zod can fuck you up. It's true I am interested in this project, more than passively, I am a kind of stakeholder who owns a large part of the namespace. The only thing that keeps my ownership safe is a line of text in the git repository under ames.hoon where my public key is stored, generated by an app called :pope and interpreted by a crypto suite that I cannot audit, simply for lack of time and understanding.

So, if I've led you down the wrong path or led you to believe something about the code that simply isn't true, I apologize! I feel I have to admit this is possible, I may have grave misunderstandings or mischaracterizations about the current state of the software, and to add to it, things are also always still changing now. It's in active development, pre-alpha, not yet sure who the customers are. YMMV, take with a grain of salt.

Re: Urbit: a personal cloud computer

#266
post #248
post #210

Earlier quoted context omitted.

Your submarine "needs" ~zod to be found by anyone because: try=> ->- (sein ->- ... ~zod is your parent ship. Without him, you simply have no forwarding address. If your batz wizardry is sufficient and ~zod is not there (both of these are things that we are not counting on being true when you run Urbit for the first time) you will still get the same result in your terminal, you can reach out and contact other carriers…

What about something inspired by SFS (see section 2.4 and 3.7 in this IPFS paper)? http://static.benet.ai/t/ipfs.pdf

I will check it out. I was indeed hoping someone who knows the answer will come along and say "haven't you heard about this..."

Re: Urbit: a personal cloud computer

#267

Are there a lot of women using Urbit or something?

I always find the forceful use of female gender pronouns to be very odd. If you are conscious of and disagree with the general use of male gender pronouns, wouldn't you wan't to push the use of gender neutral pronouns?

Personally, I'd rather see the use of some of the new made up neutral pronouns than thinking swapping male to female pronouns is a viable long-term solution.

Re: Urbit: a personal cloud computer

#268
post #252

Earlier quoted context omitted.

> it also comes with a vocalization model that makes it easy to say out loud. > For instance, "=+", which more or less declares a variable, is "tislus." A lot of things like "=+" also start with "=", ie, "tis." You wind up learning about a hundred of these digraphs or "runes," which is a lot less than, say, Chinese. Uh... you realize this isn't helping to convince anyone? The project may well be brilliant rather than…

Don't worry - the test of a system is what it can do. If we were ready to show you what it can do, we'd have released it intentionally instead of unintentionally. It's very difficult for a language, good or bad, to compete on its own merits or even demerits. C is a better language than Pascal, but people didn't start programming in C because of that - they started programming in C because the native language of Unix…

On the other hand, if people had found C very difficult to program in, it probably would have hurt the adoption of unix.

In fact, if I understand the history, developers and sysadmins generally found C an improvement on their previous tools, and generally saw how it was so fairly quickly, without a lot of convincing.

You keep insisting that the... oddities of your language aren't really barriers, aren't as difficult as they seem, really aren't much worse than the conventional way to do things. But I think I've missed it if you've tried to explain why they are supposed to be better, what the justification is for such an unconventional approach, what it's supposed to actually accomplish to be worth it.

(beyond no reserved keywords in the domain of a-zA-Z, only reserved punctuation instead... which I don't think is convincing many people, who haven't really had much of a problem with reserved keywords).

(And the 'reserved keywords' thing doesn't even apply to your "lapidary" thing, which you insist really isn't that hard to deal with once you get used to it, which may or may not be true for people... but what makes it _better_, what's the point? Why not just use meaningful variable names everywhere, instead of taking an extra step to decide if it 'needs' meaningful variable names, or if instead obfuscated 'lapidary' variable names are sufficient? Maybe they're sufficient maybe they aren't, but what's the point, what's the harm in just using meaningful variable names in case they are helpful for a future reader?)

Re: Urbit: a personal cloud computer

#269
post #252

Earlier quoted context omitted.

Don't worry - the test of a system is what it can do. If we were ready to show you what it can do, we'd have released it intentionally instead of unintentionally. It's very difficult for a language, good or bad, to compete on its own merits or even demerits. C is a better language than Pascal, but people didn't start programming in C because of that - they started programming in C because the native language of Unix…

On the other hand, if people had found C very difficult to program in, it probably would have hurt the adoption of unix. In fact, if I understand the history, developers and sysadmins generally found C an improvement on their previous tools, and generally saw how it was so fairly quickly, without a lot of convincing. You keep insisting that the... oddities of your language aren't really barriers, aren't as difficult…

If you look below I've made arguments for all these things, but let me try to address them here. Compare

  ++  add
    |=  [a=@ b=@]
    ^-  @
    ?:  =(0 a)  b
    $(a (dec a), b +(b))
to

   attribute add {
     function(left-operand: atom, right-operand: atom)
     produce atom
     if equals(0, left-operand) {
      right-operand
     } else {
        recurse(left-operand (decrement left-operand)), 
                right-operand (increment right-operand))
     }
   }
As for the variable names, I can think of very few programmers who would insist that "left-operand" and "right-operand" are better names, in this context, then "a" and "b".

Using "a" and "b" accurately expresses the simplicity of the algorithm, and nothing could be easier to read. OLV in "add" says: there is nothing interesting here. "left-operand" and "right-operand" says: there is some semantic meaning here, which you have to trouble your brain to understand. But actually, it's just pointless wordiness - in this case.

As for the syntax, you no doubt can read my wordy example better. But a programming language is a professional tool, not a toy. Anything new demands a genuine investment to learn - this investment has to be paid off by actual productivity.

And people are, as I've said, much better at learning random associations than they think. Again, we've taught this syntax to everyone from Haskell jocks to JS cruft-jockeys to innocent CS 101 victims. The biggest problem - and it is a problem - is not that it it is hard, but that it seems hard.

Re: Urbit: a personal cloud computer

#270
post #202

Earlier quoted context omitted.

Wow, now I'm curious about the language. Looks like made-up gibberish at first sight: ++ lax :: lax:as:go |_ [her=ship dur=dore] :: per client ++ cluy :: cluy:lax:as:go ^- [p=life q=gens r=acru] :: client crypto ?~ lew.wod.dur !! ?. =(fak.ton r.i.lew.wod.dur) ~|([%client-wrong-fake her] !!) :+ p.p.q.i.lew.wod.dur q.q.i.lew.wod.dur (haul r.q.i.lew.wod.dur) ::

Suppose we wrote this with keywords. I can't stomach a naked keyword so I'll put a colon on the front. We might write: :function lax { :object :tuple{her: ship dur: dore} { :function cluy { :produce :tuple{p: life q: gens r: acru} :ifno lew.wod.dur :error :unless (equals fak.ton r.i.lew.wod.dur) { :record :tuple{%client-wrong-fake her} :error } :then { :tuple { p.p.q.i.lew.wod.dur q.q.i.lew.wod.dur (haul r.q.i.lew.wo…

The digraph operators are not a large problem for me. I'm used to Perl, so I'm sure I can master them. But what is a lew.wod.dur, and what is lax supposed to mean? What happened to variable names that made at least a nod to descriptiveness? Why do you think adding a two-word comment to a function is enough to make it all crystal clear?
Post reply on HN