Live data from Hacker News

Urbit: a personal cloud computer

doc.urbit.org

141–150 of 281 posts

Re: Urbit: a personal cloud computer

#141

This is fun stuff. Reading around a bit I found this: "While nowhere near the simplest such automaton known, and certainly not of any theoretical interest, Nock is so stupid that if you gzip the spec, it's only 374 bytes. Nock's only arithmetic operation is increment. So decrement is an O(n), operation; add is O(m * n)... " Don't they mean 'subtraction' rather than 'add'? edit: This is so fascinating, it has me total…

I'm not sure on the specifics here, but I'd have thought that subtraction would be O(n). To perform n - m on a simple register machine with only increment, you just count from m up to n (and count from 0 up to n, outputting 0 if you reach n, since subtraction is partial).

EDIT: It seems they are going for a naive implementation where subtract just repeatedly calls decrement, so yes, that's going to be O(m*n).

Re: Urbit: a personal cloud computer

#142
post #89

Earlier quoted context omitted.

That logic is like X "oh, so X is always zero, huh?"

Nevermind the fact that the parent post believes its possible to quantify "exactly the right level of ambition," the poster believes that the only people that should be "allowed" to comment on whether or not something is too ambitious should be people that are currently undertaking ambitious projects themselves. This smacks of privilege. Not everyone is or can be in a position to pursue ambitious projects. To say tha…

I've not suggested anyone be 'barred' from commentary.

Rather, if you want to dump generic negativity on a real, delivering project, you should justify why your negativity is relevant, for example by documenting your own related efforts.

If you want your cynicism to be respected, then yes, that's a privilege that needs to be earned. You can always say it, but it should be called-out as empty bullshit until backed with detailed reasoning or experience.

Re: Urbit: a personal cloud computer

#143
post #102

Earlier quoted context omitted.

Can you, for example, spell out what you mean by "you really want your data model to be acyclic and not require GC"? What is cyclic about the "data model" in e.g. Go or Lua?

I can field that one. If a has A reference to B and B has a reference to C and C has a reference to A, then we have q cycle. Cycles play merry hell with garbage collectors and reference count destructors. Languages that force references to be a strict tree or DAG get cheap destruction in return - see C++ without pointers for example - I pop a local object off the stack and it's gone, along with all its children - no…

Rust does let you do circular references with Cell or Rc>, but yeah, the standard assumption is that there are no circular references.

Re: Urbit: a personal cloud computer

#144
post #129

Oh, Urbit! Where to begin?... First of all, this is staggeringly brilliant. You should pay attention to it in the coming months. I am not sure if it's destined to be the future, but I sure as hell hope it is. I had the privilege of interning at Tlon, the company working on Urbit's development, this summer. It owns most of the namespace (Personal cloud computer IP addresses, essentially.) and is where the architect of…

https://github.com/urbit/urbit/blob/master/urb/zod/arvo/ames... There are hundreds of lines of noise. This makes perl and forth look absurdly readable. What on earth do the directory and file names mean? I dunno how familiar people on HN are but the original author of urbit is Mencius Moldbug, a neoreactionary blogger. His style of writing is absurdly obfuscated and purposely impenetrable if containing some interesti…

He does have really odd political views. I know HN shouldn't be about politics, but this was a really interesting read:

http://www.thebaffler.com/blog/mouthbreathing-machiavellis/

It looks like he thinks that the benevolent-dictator-for-life model is how countries should be run. And Peter Thiel seems to agree with him.

Re: Urbit: a personal cloud computer

#145

This is fun stuff. Reading around a bit I found this: "While nowhere near the simplest such automaton known, and certainly not of any theoretical interest, Nock is so stupid that if you gzip the spec, it's only 374 bytes. Nock's only arithmetic operation is increment. So decrement is an O(n), operation; add is O(m * n)... " Don't they mean 'subtraction' rather than 'add'? edit: This is so fascinating, it has me total…

I'm not sure on the specifics here, but I'd have thought that subtraction would be O(n). To perform n - m on a simple register machine with only increment, you just count from m up to n (and count from 0 up to n, outputting 0 if you reach n, since subtraction is partial). EDIT: It seems they are going for a naive implementation where subtract just repeatedly calls decrement, so yes, that's going to be O(m*n).

It depends on what the n means in O(n). If n means anything other than "the number of digits of x" (i.e., n = log(x)), then this is absurdly slow.

Re: Urbit: a personal cloud computer

#146
post #102

Earlier quoted context omitted.

Can you, for example, spell out what you mean by "you really want your data model to be acyclic and not require GC"? What is cyclic about the "data model" in e.g. Go or Lua?

I can field that one. If a has A reference to B and B has a reference to C and C has a reference to A, then we have q cycle. Cycles play merry hell with garbage collectors and reference count destructors. Languages that force references to be a strict tree or DAG get cheap destruction in return - see C++ without pointers for example - I pop a local object off the stack and it's gone, along with all its children - no…

So "you really want your data model to be acyclic" means, "you want your programming language to forbid construction of cyclic data structures"? So, for example, connected graphs are not objects you can represent?

Re: Urbit: a personal cloud computer

#147

Earlier quoted context omitted.

I'm not sure on the specifics here, but I'd have thought that subtraction would be O(n). To perform n - m on a simple register machine with only increment, you just count from m up to n (and count from 0 up to n, outputting 0 if you reach n, since subtraction is partial). EDIT: It seems they are going for a naive implementation where subtract just repeatedly calls decrement, so yes, that's going to be O(m*n).

It depends on what the n means in O(n). If n means anything other than "the number of digits of x" (i.e., n = log(x)), then this is absurdly slow.

The n is just n: it's the number you are subtracting from. Of course, it's impractically slow, but I believe it's just example code in a opening tutorial for the Nock language.

Re: Urbit: a personal cloud computer

#148
post #128

Earlier quoted context omitted.

x ∈ (A ∩ B) = (x ∈ A) * (x ∈ B) if "x ∈ A" equals 1 when x is in the set A, 0 when x is not in the set A. Using "indicator functions" like this also gives you a nice formulation for probability and integration, etc. that falls apart if you use 1 to represent x ∉ A. edit: I should add that I'm not claiming "you can't build measure theoretic probability from this formulation of booleans" is a strike against the project…

I don't see how you lose boolean algebra, you just need to flip * and + in your equations. x ∈ (A ∩ B) = (x ∈ A) + (x ∈ B) (and) x ∈ (A ∪ B) = (x ∈ A) * (x ∈ B) (or)

You lose the ability to write step functions as

g(y) = ∑ᵢ cᵢ × (y ∈ Aᵢ)

which is useful when you define integrals and expectations:

E g(Y) = ∫ g(y) f(y) dy = ∑ᵢ g(cᵢ) P(y ∈ Aᵢ)

where Y is a random variable with density function f. Any integrable function can be approximated as the limit of step functions, so this is a well-behaved way to get a general theory of integration.

Of course, one could replace (y ∈ Aᵢ) with 1 - (y ∈ Aᵢ) if one wanted to use "0" to represent the event (y ∈ Aᵢ) and "1" to represent its complement and not affect the truth of the math, but then there will be lots of termf floating around just to convert the notation into the terms that you need for the math.

Re: Urbit: a personal cloud computer

#149
post #20

Urbit is a weird thing that feels like it comes from a parallel universe of computing. It's a bit hard to wrap your head around it at first, but it has some neat ideas. I like this article which introduces it: Urbit is perhaps how you'd do computing in a post-singularity world, where computational speed and bandwidth are infinite, and what's valuable is security, trust, creativity, and collaboration. It's essentially…

"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."

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).

Re: Urbit: a personal cloud computer

#150

Earlier quoted context omitted.

https://github.com/urbit/urbit/blob/master/urb/zod/arvo/ames... There are hundreds of lines of noise. This makes perl and forth look absurdly readable. What on earth do the directory and file names mean? I dunno how familiar people on HN are but the original author of urbit is Mencius Moldbug, a neoreactionary blogger. His style of writing is absurdly obfuscated and purposely impenetrable if containing some interesti…

He does have really odd political views. I know HN shouldn't be about politics, but this was a really interesting read: http://www.thebaffler.com/blog/mouthbreathing-machiavellis/ It looks like he thinks that the benevolent-dictator-for-life model is how countries should be run. And Peter Thiel seems to agree with him.

That is quite actually one of the creepiest things I've read in a while. I've always been fundamentally uncomfortable with a certain wing of Valley thought, but man, even I didn't think it went that far and in such lofty halls.
Post reply on HN