Live data from Hacker News

Urbit: a personal cloud computer

doc.urbit.org

211–220 of 281 posts

Re: Urbit: a personal cloud computer

#211
post #184

I really like the foundations of this, but I like design - how could I start building a UX interface for this?

Spoiler: there is already/about to be a new interface you haven't seen yet. Do you mean the webshell, or the templating markup language? There is something you might want to look at called "Sail" Having trouble finding you a link, but there are some mentions about it here: https://github.com/urbit/urbit/search?utf8=✓&q=sail Ah.. https://github.com/urbit/urbit/blob/master/urb/zod/main/pub/...

and how long till Urbit can render marl marx and mane? aka how long till I can make a UX using web technologies that runs on Urbit?

Re: Urbit: a personal cloud computer

#212
post #184

Earlier quoted context omitted.

Spoiler: there is already/about to be a new interface you haven't seen yet. Do you mean the webshell, or the templating markup language? There is something you might want to look at called "Sail" Having trouble finding you a link, but there are some mentions about it here: https://github.com/urbit/urbit/search?utf8=✓&q=sail Ah.. https://github.com/urbit/urbit/blob/master/urb/zod/main/pub/...

and how long till Urbit can render marl marx and mane? aka how long till I can make a UX using web technologies that runs on Urbit?

All of that stuff works now. If you're asking how long until it's supported, I'm not an employee of Tlon, so don't ask me. I can tell you that most of this stuff is still very slow, even if it works.

Check out the demo app, you can click a button and increment a number on the page, and it generates an event that gets reflected out (through some like AJAX) through the server, back out to as many subscribers as are currently viewing the page in their javascript-supporting browsers, happens almost instantly.

I have to apologize I have no short instructions to get you to this demo, it exists but I'm sure it may still rust more before it becomes a priority to build things based on it. I'm not sure if you're meant to be impressed by this demo, but there's also twitter API client you can use to tweet which is more obviously useful if not quite as whiz-bang.

Re: Urbit: a personal cloud computer

#213
post #209
post #190

Earlier quoted context omitted.

> Peter Thiel is known for his financial support of... neoreactionarism Do you have examples?

Sure. He funds Eliezer Yudkowsky through MIRI; "friendly AI" futurism is at this point a branch of the "Dark Enlightenment". Thiel himself has famously said "I no longer believe that freedom and democracy are compatible".

I'm quite confident that Eliezer would object strenuously to this characterization!

Re: Urbit: a personal cloud computer

#214
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…

Wait, so they wrote their own bytecode, functional language (complete with compiler and libraries), functional operating system, TCP replacement, and distributed storage protocol? And will presumably write all their own apps, or some kind of interface layer that will allow non-Hoon code to run on their system efficiently? That has to be one of the most ridiculously ambitious projects I've ever seen. Good luck to them…

Perhaps it makes a bit more sense if it's explained that the original goal was to keep the whole codebase (outside of the C support layer, which adds no semantics) at 10Kloc. Unfortunately this is now rapidly slipping toward 20.

Of course, Kloc is a deceptive measure of algorithmic simplicity in a functional language, if compared to procedural. Also there is about another 15Kloc of C in the interpreter and another 10K that wraps an event layer on libuv.

Bear in mind that Urbit can also be seen as an ACID database on the log-and-snapshot principle - events are transactions. You can of course export application state to some other storage system, but you don't have to. (If you change the source code, your app reloads - you do have to write a function that maps your old state to your new state, though.) So there is a lot of strange futzing around with mmap at the bottom.

Re: Urbit: a personal cloud computer

#215
post #114

Earlier quoted context omitted.

It enables use (personal and especially corporate) with as little licensing fretting as possible.

Except that some jurisdictions in the world don't have the concept of public domain, so, in those places, this code is legally in a very weird place. It's much better (IMO) to assert copyright, and then release under the most permissive license possible.

Yes, some people have made this criticism. We'll be thinking about it.

Re: Urbit: a personal cloud computer

#216
post #54
post #36

Earlier quoted context omitted.

So in your opinion nothing is ever too ambitious? Or is it just that no one should every be allowed to utter the words "too ambitious?"

No, some projects can be too ambitious, including even recklessly or dangerously ambitious. But I'd rather hear that judgement from someone with a reputation for appropriate, successful ambitiousness, and with some supporting reasoning. The grandparent comment comes from a pseudonym linked to no evaluable projects. It offers a costless, totally-generic pooh-poohing of a real project as "too ambitious". But that proje…

Again, the contributor list in github is WAY misleading, because it accidentally somehow pulled in all the contributors of the libraries we bundled (eg, libuv). We need to fix this, I think.

Re: Urbit: a personal cloud computer

#217
post #207

Earlier quoted context omitted.

https://github.com/urbit/urbit/blob/master/urb/zod/arvo/eyre... What is pimp? What is pest seam marl? What do any of these names mean? What does any of this do? Forget not knowing the syntax, the names look like gibberish.

I think the classic analogy is "grep." But they are commented, at least: ++ pimp :: traced request $: ful=? :: | === HEAD fur=(unit mark) :: type goal hen=duct :: event trace som=seam :: logical request pez=pest :: request state sip=marl :: injected scripts == :: I think this is not at all an unusual data structure for one to find in an HTTP server, no? Now, this style (four-letter lapidary arm names, usually not non…

This Hoon code is very pretty but the English content of the names is extremely low.

I mean.. reading a programming language I don't know, okay.. I don't expect to be able to understand much. But syntax and semantics aside the names are a language of their own with no attempt at referencing anything that might even be a little bit similar.

It's as though every time you needed to name a concept you came up with a unique word for it. This reads like poetry in a language I will probably never understand.

The docs are written in English but I don't see a lot of signal in here and no real explanation of this vocabulary you've created.

I am having a hard time believing any of this. I would need to see an example of non-code communicative writing in this language. An email or chat excerpt, something with someone saying "call pimp with the seam to get the marl" or however you would phrase whatever it is. Do you verb these nouns? DO you use English prepositions and adjectives when discussing them?

I mean this is not just reading a programming language I don't know, it's reading a programming language with all the names in a foreign language. So even if I could understand broadly what's going on here.. I cannot.

Searching around the repo to try to find out wth `marl` is I found this:

    The fundamental hoon structure used to generate XML is a    manx. A manx is composed of a marx and a marl, representing an XML node
Yeah.. this is like esolang-level opaque. I'm afraid to even run this on my computer.

Re: Urbit: a personal cloud computer

#218
post #200

Earlier quoted context omitted.

Is the given text your attempt at eliminating reserved keywords by using nonsense as keywords? Other languages have simply decided to use contextual keywords, which preserves familiarity and flexibility.

Good lord, no! Hoon has no reserved words at all. The nonsense words are all names. This is entirely a style choice. The actual name syntax is roughly Lisp's - for instance, (my-long-function arg1 arg2) does the same thing (roughly) in Hoon as in Lisp. In the "lapidary" Hoon in which most of the kernel is written, facets (variable names, roughly) are meaningless TLV strings, usually CVC (consonant-variable-consonant)…

Please define "TLV", "OLV", and "lapidary".

Re: Urbit: a personal cloud computer

#219
post #75

I definitely was thinking about something like this , but not exactly this . I mean, yeah, the only way to save ourselves from damnation is to finally announce "enough of 70's!" and rewrite everything from scratch, so the idea is dear to me, but that actual implementation of the idea is… maybe "weird" is the right word. I'll continue reading, but I already have a feeling that after I'll get myself completely familiar…

I hope it will succeed but that it won't be the only thing that will succeed and that some will take inspiration from it to build something even better. Challenging the status quo as such is a useful property and showing that you can in fact reboot is useful as well. That said, the more I read about it (a couple of hours so far) the more I'm thinking it will not succeed because of some of the weirder philosophical de…

I prefer to think of it as: you can be "free as in beer" or "free as in speech," but not both. Sith Lord Zuck has set you free as in beer, but not in speech. Urbit will set you free as in speech, but not as in beer.

The difference is simply that while there are a limited number of Urbit identities (or at least memorable identities, ie, 32-bit "destroyers") in the world, and therefore they can't possibly be made free as in beer, neither I nor my evil minions have any practical power over a destroyer once we create it.

Moreover, if you genuinely think of any individual or organization involved with Urbit as evil, there are plenty of independent carrier-holders you can get a destroyer from. (~del, for instance, will ship destroyers when we do, I think. He's some guy in Rochester whom I don't know from Adam. So, we'll let him serve the first 16 million people who want to escape from our evil dictatorship.)

Yes, by default the normal way to get onto Urbit will feel like the normal way to get onto Facebook. However, even if you are initially issued and hosted by us, you can move your image at any time to any other host, or to your own machine. Currently there's no way to stop using your issuing carrier for network services, such as firewall hole punching, but this is obviously a 1.0 feature. By design, there is no sort of leverage you can't escape from.

So Urbit strikes a sort of balance between governed and ungoverned networks. The limited address space will hopefully make it economically impractical to abuse the network for profit - a spammer is always a Sybil attacker. But as a destroyer you are not ruled by any master you can't easily escape from. The only thing you can't escape is your own reputation. Which you shouldn't be able to escape from.

We should probably highlight this difference a little more in the doc...

Post reply on HN