Hacker News new | ask | show | jobs
by kovrik 3666 days ago
Agree. Feels like it was written by someone with schizophasia.

Like: https://urbit.org/docs/hoon/advanced/

What are they talking about? Dry/wet arms? Batteries? Metal cores? Bridges? Gates? Superpowers?

For me it looks like they've just replaced common concepts with random "cool" words, deliberately obfuscated the syntax and try to sell it as an innovation.

4 comments

You jumped straight into the 'advanced types' section of their high-level language documentation, which is quite different from most "mainstream" programming languages, so of course a lot of concepts are going to be very foreign to you. You might want to check out their talk at LambdaConf for a better overview of these: https://www.youtube.com/watch?v=I94qbWBGsDs
Also, I doubt they could handle it, their scope is huge: new OS, new programming language, networking, encryption, time, compilation, virtualization etc. I don't believe group of 5 unknown people can handle it.

Like, Urbit time: https://urbit.org/docs/hoon/library/3c/

Where the hell are timezones, Leap seconds etc.? They just store constants!

Not only that, they are incorrect constants. The definition for :cet, for example, is only correct for non-leap centuries. 2000-2099 has an extra day compared to 1900-1999, or its partner :qad, which has the opposite problem and assumes any 4-year span has a leap year.

Of course, the language has other problems too, like 'moar' being used as a serious part of the language's grammar, or worse, more nebulous verbs like 'snag', which makes the language even more difficult to understand for non-native english speakers. It's just an utter mess.

> difficult to understand for non-native english speakers

Au contraire! They managed to almost eliminate any advantage that programmers who speak english usually enjoy.

> Au contraire! They managed to almost eliminate any advantage that programmers who speak english usually enjoy.

What are those advantages?

When I was young and my English was really bad, I simply learned the keywords just as mathematical terms (i.e. if, else, for, while, break, next, goto, gosub, signed, class etc.) - I mean, they aren't that many (say 40 and you've covered most mainstream programming languages that aren't really verbose (OK, COBOL is an exception, but who uses COBOL ;-) ). This really isn't much harder than learning mathematical terms as sin, log, cos, exp, cot, asec etc. even if you know no word of English.

What really makes programming hard when you are not sufficiently fluent in English is that lots of documentation is only available in English (this was the main problem I had). And I don't see how Urbit is going to change that.

> documentation is only available in English

As a native english speaker, I'd like to politely disagree with this phrase! (and that was the GP's joke... since they're using so many made-up terms, it effectively isn't english).

Maybe their clean slate extends to calendars and other time measurement? :P
Timezones are so last century. We have wobnits now. They are like nanoseconds, but that's just a metaphor which is dangerous if taken too literally.
If you know about Yarvins other beliefs, the fact that t seems obfuscated makes quite a bit of sense in my view. I think it's a superiority thing for him.

At its core? I think it's kind of interesting. Would have been more useful if he had made it simpler to understand/develop in. In its current form, it seems like a vanity project to me.

Discounting Yarvin feeling superior, or others perceiving that, I am in favor of the 'start from scratch' here. Worst-case scenario it fails, and only drags a few bleeding edgers with it. If it succeeds, we have a whole new way to proceed without necessarily abandoning the old.

Just at the hardware level, we are forever, it seems, stuck in the von Neumann architecture with some recent hops to vector processing on GPUs and FPGA/ASIC/GPU hybrids. We need software for these new platforms if they divorce from the von Neumann machine. I am not calling for reincarnating Lisp Machines, but maybe its time to build and test new (not the same old) hardware and software,to see how it competes with this path we're on. Why not? Experimentation is fruitful one way or the other; you learn from your mistakes too.

I am interested in Urbit, and I can separate myself from Yarvin's political writings, the same way I could still concede that 1 + 1 = 2, even if Hitler had written a paper saying so without any of his views contained therein.

Yarvin admits the obfuscation by using different terms, or swapping 1 and 0 from their current boolean understanding, 'may hold water' per the bootleg YouTube video of the talk he just gave. I personally think when you are trying to usher in something different, it is helpful to shed old terms. So much weight is carried by words, good and bad. It sometimes helps to freshen up the lingo with the new or slightly-altered concepts. After having read a little Wittgenstein and the late Umberto Eco's works on semiotics, I am convinced language or signs carry significant biases that are useful to put aside or rename if it helps you to think of an old concept in a new light.

>After having read a little Wittgenstein and the late Umberto Eco's works on semiotics

Do you have any suggestions on good starting points? I found Tractatus Logico-Philosophicus to be a rough introduction to Wittgenstein. I'm also curious what Eco you'd recommend; I've only read his novels and essays.

I've only read two of Eco's fictional works: The Name of the Rose, and Foucault's Pendulum. I loved them both, but then I picked up The Island of the Day Before, and didn't finish it. I have also read his essays.

The book I was referring to was Theory of Semiotics by Eco. I picked it up in 1982 or 83, after having read The Name of the Rose, and I honestly didn't know what Semiotics meant until I spent 20 minutes reading it in the bookstore (no Googling then!).

I had read Tractatus Logico-Philosphicus around the same time, 1983 or so. I read most of it, some pages multiple times, but I didn't finish it. I only grasped enough to know I wasn't going to change my major to Linguistics. I was hopping off of references in the bookstores the way I now follow links down rabbit holes.

I should revisit these works now that I have some more years on me!

Wittgenstein only really published two works: The Tractatus and Philosophical Investigations, in which he completely revises his approach. Read the latter.
Ironically non-inclusive, elitist language is a mainstay for leftists too.

EDIT: Read Marxists.org, it's incredibly unapproachable to the layman that didn't complete high school let alone middle school.

Elitist language can be used by any group to partition themselves from others. I'm sure many groups (formal and informal) do it.

That said, I believe there has to be a floor to the language level you choose, and it's reasonable to use "high school English" as that floor. Besides, I checked out that link (history section) and didn't see anything that screamed "overly clever"...

The comparison to marxist texts is more pointed if they were unapproachable not just to the layman, but to people proficient in (non-marxist) political economics -- which is arguably the case.
I'm not sure why that's ironic. Extremists tend to have a lot in common in their overall approaches, even if they may be violently opposed on the specifics.
I dived into urbit a while ago, and the way it is described makes sense. It's a completely new paradigm and trying to fit naming from popular programming languages would only lead to confusion. You have some new things, built on top of other new things and so on. When trying to describe higher level abstraction layer you can't afford to spend 2 sentences to describe each element from the lower one. So sure, you could go with some smart sounding names, but they would need to be much longer and they would make things seem more complicated than they are in reality.