this post was submitted on 13 Jul 2023
6 points (100.0% liked)

SneerClub

989 readers
1 users here now

Hurling ordure at the TREACLES, especially those closely related to LessWrong.

AI-Industrial-Complex grift is fine as long as it sufficiently relates to the AI doom from the TREACLES. (Though TechTakes may be more suitable.)

This is sneer club, not debate club. Unless it's amusing debate.

[Especially don't debate the race scientists, if any sneak in - we ban and delete them as unsuitable for the server.]

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] self@awful.systems 4 points 1 year ago

I decided to head the acasualrobotgod off at the pass and torture myself by reading through the early Urbit spec in full (whose content is completely different from the one @gerikson@awful.systems posted), and I found something interesting; the info I gave above about Urbit taking ideas from Nix isn’t quite accurate. the reality is much worse.

so yarvin’s specs are meandering as fuck of course, but eventually they get to some kind of point. in short, Urbit’s main computational function consists of two other functions.

  • urbit-infer knows how to pull code from the network, cryptographically verify its integrity, and transform (build) it. this is Nix’s fetchurl and half of Nix’s derivation function.
  • urbit-render takes the output of urbit-infer and stores it in a unique path in Urbit’s pathspace. this is the other half of derivation.
  • the Urbit pathspace is a set of paths on a storage device with the invariant that every path must uniquely represent an output of urbit-infer, and that the existence of a path guarantees that its contents are the output of urbit-render for that path’s instance of urbit-infer. this is just Nix’s core data structure, the Nix store, copied wholesale into Urbit but with a much stupider uniqueness algorithm

now note that Nix is actually a lot older than I indicated before. it was first released in 2003, and Eelco Dolstra’s first paper on it was published in 2004, 6 years before Yarvin’s first posts about Urbit. that 2004 paper featured details on derivation, fetchurl, and the Nix store, all of which exist almost unchanged in modern Nix

a lot of the differences between Urbit and Nix (like pathspace forks) seem to be attempts to work around implementing the trickier parts of the Nix evaluation model

given the big similarities in functionality and structure between the Urbit computational function and Nix’s core functions and data structure, the wide span of time during which Yarvin could have read the Nix paper (and Dolstra published about Nix several more times between 2004 and 2010), and Nix’s obscurity until around 2015, I’m willing to upgrade my suspicion to an accusation:

Urbit’s core functionality is a shitty, plagiarized version of Nix, but intentionally crippled to keep Yarvin in control

this has got to be my last Urbit deep dive for a while, but I figured it couldn’t hurt to write up some notes here in case Urbit starts marketing hard again