7 ms·
Urbit is purposefully obfuscated. If you don't believe me, just take a look at the docs: https://urbit.org/docs/hoon/advanced/ https://urbit.org/docs/hoon/adva
by tree_of_item 10y ago
Urbit is purposefully obfuscated. If you don't believe me, just take a look at the docs:
https://urbit.org/docs/hoon/advanced/ https://urbit.org/docs/hoon/advanced/
There is no reason to gensym all of your concepts like this. It is different just for the purpose of being different: apparently you can't sell people on a "revolutionary technology" without appearing to be extremely different.
Nock is also not a good virtual machine. Recognizing blessed sequences of bytecode and replacing them with opaque blobs of code is not a valid approach to optimization. No one can actually run a pure Nock VM, so what is the point of having Nock in the first place?
Someone else on HN gave the best summary of Urbit I've seen yet: an elaborate cup and ball game, meant to give the impression of innovation and technical excellence.
- asimuvPR 10y agoIts ok to set yourself apart. But for some reason this feels very app.net in a way. Not to disrespect the projects or ceeators but the scope and ambitions were rather big.
- JonathonW 10y agoApp.net at least had a couple clear use cases in mind (twitter clone, notifications/pub/sub service), even if they weren't unique/compelling enough to sell people on the service. AFAICT, this platform has a broad scope without any kind of clear vision as to what they want to do with it. Maybe I haven't found the right part of their website yet?
- asimuvPR 10y agoIts probably not public yet. The mystery does help with marketing. Keeping people guessing is an age old tactic. Either way I'm interested.
- mjfl 10y agolink for earlier thread, interesting because creators responded: https://news.ycombinator.com/item?id=10435757 https://news.ycombinator.com/item?id=10435757
- Camillo 10y agoThere is what amounts to a direct claim of purposeful obfuscation here: https://github.com/cgyarvin/urbit/blob/master/doc/book/1-nock.markdown https://github.com/cgyarvin/urbit/blob/master/doc/book/1-noc... > We should note that in Nock and Hoon, 0 (pronounced "yes") is true, and 1 ("no") is false. Why? It's fresh, it's different, it's new. And it's annoying. And it keeps you on your toes. And it's also just intuitively right.
- emmelaich 10y agoFocus on the intuitively right. I think it makes sense for 0 to yes/true. Think of the Unix exit codes, and golang returns. No news is good (yes/true) news. edit: as to the "annoying" that's just Yarvin being cheeky. I really don't think it is too serious.
- hirsin 10y agoAnd S_OK in Windows also being 0. Seen that take down services with a misplaced parens... But to use it everywhere flies against the origin of it, which is current flowing vs not.
- kazinator 10y agoZero is good for "absence of failure". It's a "yes" in the sense that "this worked". Whereas any one of the myriad non-zero codes is "no, it didn't work". If we have a situation in which there are many numeric codes, exactly one of which means "success", it's probably best if that one is assigned zero.
- lisper 10y agoExcept that Curtis strongly (and snarkily) claims that Hoon is a typed language: https://news.ycombinator.com/item?id=11819810 https://news.ycombinator.com/item?id=11819810 item #3 (and subsequent discussion) So why are they punning integers and booleans in the first place?
- kazinator 10y ago
- 1ris 10y agoI absolutely agree that this is purposefully obfuscated. It's IMHO some kind of intellectual masturbation. You can see the same pattern for the essays Moldbug writes. But i disagree with you criticism of Nock. This is not only a good idea, this is brilliant. This should be adopted to javascript. If javascript now introduces a SIMD api this api will have to be supported until eternity, even if maybe different kinds of operations are accelerated in future cpus. And it add to this layers and layers of curft and complexity that javascript stacked in the last 5 years that are impossible to ever fix. It would have been better if there was a convention how to define a normal javascript function (e.g. add two arrays) that the javascript implementation can or not replace with a SMID accelerated function with the same semantics. This reduces the technical dept to almost zero.
- deleted 10y ago[deleted]