I appreciate the design notes, but there is a strange dissonance in the concept.
The text reads: "Urbit has to be just as usable as any widely used app in 2017. For a personal server, the usability bar can't be Unix."
Just above this, there is a screenshot of a browser displaying the following: "OK, ~ravmel-ropdyl is coming online. Ping 734ms, DNS Waiting, :talk Waiting"
...which, well, looks exactly like '70s Unix usability.
I also find it odd that Urbit wants to conquer the world, yet the design is so attached to entering ASCII sequences on a command line. This severely limits the platform's international usability. Their programming language's syntax page even proclaims "To make ASCII great again, we've mapped each punctuation glyph to a syllable":
https://urbit.org/docs/hoon/syntax/#-glyphs-and-characters
The problem with using all these ASCII punctuation marks is that many of them are hard or even impossible to type on various international keyboards. It doesn't seem like non-English users were ever considered when the decision was made to "make ASCII great again".
On a more conceptual level, marrying a supposed futuristic redesign of the Internet to a 1960s character set just seems off. Today's computing increasingly happens on touchscreens, but Urbit's I/O model is happy to settle for the ancient paradigms of teletype terminal emulation and ASCII streams.
The whole thing has a weird retro-futuristic vibe to it, like it's more of an art project about a computer system that the Mad Men would have used to update their websites in some alternate reality.
I really don't think that worrying about what symbols Hoon uses is productive. There are tons of worse things to say about Urbit than "once it becomes bigger than C, how will Japanese people code it"
Arabic and Japanese people have been using C and Javascript just fine, so I'm not sure even in the hypothetical future it would be a problem. And if it is - Hoon has keyword style now ("|- a/@ (add 5 a)" can be written (":gate a/@ (add a 5)"), or barring that the language rune parser can be replaced with a simple gsub in the source.
Hoons runes are really just names for which AST node it is, so it would be trivial to make a smartphone Hoon editor that works like Scratch or Lisp instead of textual.
Hell, Hoon compiles down to Nock, so you don't even have to use it, just write another language that targets Nock instead.
Japanese is actually not the best example of "bracket pain" - in order to type in Latin script at all, you need to shift completely away from "native" input, as the various methods for typing kanji and kana tend to be some variant of lookup (via eg pronunciation) - select (like tab completing identifiers).
Thus, it makes a lot of sense to simply switch input modes and maybe even keyboard layouts.
Now, for something as close to English as Norwegian - you have a rather different touch layout due to having 29 letters. This is actually one reason I like python - less gymnastics due to less curly brackets.
Another problem with using ascii, is that now even code comments need to be in English character set in practice. Never mind function names etc.
Utf-8 by default is actually great in the programming languages that support it.
Don't mistake "have been tolerating absurd limitations of C" with "greatly enjoying the backward limitations of ASCII".
I'd actually have to check if Urbit supports utf8 code. I want to say yes, since the compiler internals technically can, but it's probably not hooked up correctly.
Are there any languages do this right? Even if identifiers can be utf8, they still have English reserved words. Maybe something like Forth, where the entire language is redefinable. Or, I dunno, Smalltalk.
It's not just Arabic and Japanese. My Swedish/Finnish MacBook keyboard doesn't have the | and ~ characters printed anywhere on the keyboard. To type them, you just have to remember where they are. That's ok for me as a programmer, but doesn't work for anyone closer to a general user, which Urbit seems to expect because these symbols are used extensively in the command line UI.
Realistically there's no reason the interface can't simply autoconvert some arbitrary unicode character into a |, and leave that as an extension for anyone to add to whatever arbitrary language
It matters for reading/writing code, having uniform syntax, but it hardly matters for a general user's usage (in fact, I'm just talking about an alias, and its not so troublesome).
And regardless, this special character issue likely exists for any character; I imagine few are consistent among all languages, appearing on all keyboards.
So its just a pick your poison and stick with it situation, and whaddyaknow, English is still the most common internet language, and perl/bash have already ensured that most programmers have had to deal with these characters for decades
I agree on the dissonance, that rankled me too. What does "as usable as any widely used app" mean, in the context of a hobbyist OS for hackers who have already committed to learning a weird new functional programming language?
I interpreted that whole bit to mean "We tried to make a commandline-free UI frontend for it and failed." But I am glad they're trying to make it more usable! Last time I installed it, using the commandline from the web interface was really clunky, you pretty much had to be at a shell.
I wanted to like Urbit (I write p2p software), but their connection with alt-right and ant-democratic reactionary movements is a deal breaker. To say it doesn't affect technical decisions is naive. Have you ever wondered why their network layout is like little hierarchical fiefdom? And not flat p2p? It's no accident and deeply related to political and social beliefs. It's dystopian and isn't the future I want.
That network topology is actually quite logical and doesn't say much about politics.
P2P connectivity almost always requires a third party to do a three-way handshake. In IPv4 this is because of NAT, and in IPv6 it's usually still needed due to stateful firewalls. Having stable upstream nodes allows rapid bootstrapping of a P2P network by providing known stable points to act as introducers. You can do it in a less hierarchical fashion, but at the expense of performance and stability and possibly security unless you are very careful (see: sybil attacks).
Curtis' political views are what they are. I fundamentally disagree with the core thesis myself-- while I do have problems with pure democracy I see no evidence that aristocracy is in any way superior. But at the same time I believe in treating others' views with respect and respecting their right to hold them. I also must point out that Curtis' views are often hysterically misrepresented and exaggerated, and I doubt he has much to do with today's alt-right which is more of a populist phenomenon. In fact I could see a neo-reactionary calling the alt-right "demotic", which as far as I recall is the term they use for rhetoric of that style.
Neoreactionaries/Dark Enlightenment bloggers are fellow travelers with the alt-right. There's always a verbose woolly-headed (pseudo)intellectual movement that accompanies the vulgar street brawlers and vandals.
Didn't say they weren't, but you don't win conflicts like this by blacklisting. Ideological blacklisting makes you appear intellectually weak and leads people to think the opposition must have something to say that you can't counter. Censorship and blacklisting is something people do when they can't win the argument on merit.
I agree with you. Monarchists and HBD and so forth need to have their views dragged out into the order and debated vigorously with. I'm just saying that NRx and alt-right are on the same side of the spectrum.
If that network layout is unsuitable, then that's reason to dislike Urbit. If not, it seems weird to complain that their political opinions are causing them to make unobjectionable technical decisions.
I've been (rightly) downvoted for pointing this out on HN in the past, but one of the main developers associated with the Urbit/Hoon/Tlön/Uqbar/etc project is someone active in the alt-right (although there may be something to say about whether or not that has anything to do technically; I wouldn't know or particularly care).
It doesn't make sense to call him active in the alt-right since his blog finished in 2011 and the alt-right didn't exist back then. You probably mean neo-reaction which is highbrow right-wing idiocy and not populism.
The text reads: "Urbit has to be just as usable as any widely used app in 2017. For a personal server, the usability bar can't be Unix."
Just above this, there is a screenshot of a browser displaying the following: "OK, ~ravmel-ropdyl is coming online. Ping 734ms, DNS Waiting, :talk Waiting"
...which, well, looks exactly like '70s Unix usability.
I also find it odd that Urbit wants to conquer the world, yet the design is so attached to entering ASCII sequences on a command line. This severely limits the platform's international usability. Their programming language's syntax page even proclaims "To make ASCII great again, we've mapped each punctuation glyph to a syllable": https://urbit.org/docs/hoon/syntax/#-glyphs-and-characters
The problem with using all these ASCII punctuation marks is that many of them are hard or even impossible to type on various international keyboards. It doesn't seem like non-English users were ever considered when the decision was made to "make ASCII great again".
On a more conceptual level, marrying a supposed futuristic redesign of the Internet to a 1960s character set just seems off. Today's computing increasingly happens on touchscreens, but Urbit's I/O model is happy to settle for the ancient paradigms of teletype terminal emulation and ASCII streams.
The whole thing has a weird retro-futuristic vibe to it, like it's more of an art project about a computer system that the Mad Men would have used to update their websites in some alternate reality.