Yarvin claims to have worked for six years on the first 42 lines of code, as if compensating for the logorrhea of his writing on politics with the extreme concision of his vision for computing.
this doesn’t make sense. imagine someone bragging that they spent 6 years on the first paragraph of their novel. you’d think they were a terrible author (or at least suffering from terrible writer’s block), not that those words must be the most perfect and concise thing ever put to paper
weirdly, the 6 year gap means that Yarvin claims to have started on Urbit the same year Dolstra’s first Nix paper was published. that looks like a weirdly unforced admission to plagiarism to my eye
so I did another deep dive and found out that, for some reason, the Urbit org archived its original git repo at https://github.com/urbit/archaeology (and has done so several times, check the number of “archaeology” repos in the git org). the earliest commits in that repo are from a 2010 version of the RE2 regular expression library. the first Urbit commit is from 2013, when https://github.com/cgyarvin/urbit was cloned on top of that RE2 code (for some reason) which formed the original Urbit org Urbit source tree
cgyarvin/urbit is much more interesting, since it’s the real original Urbit, and it resembles the fucking mess I saw the first time I heard about Urbit (not that modern Urbit isn’t also a fucking mess). its initial code commit is January 31, 2010, which included the early pre-obfuscation Urbit spec and a bunch of files implementing extremely basic functionality. some notable things here:
- obviously nothing here is a 42-line magically concise function. actually, nothing here works — it takes yarvin about a month to get even basic functionality working from this initial code dump
- there’s some pre-2010 stuff in here! the directory spec/nock contains versions of a really loose description of a function named
nock
from 2008. it’s kind of boring — a lot of the transforms look like they came from a lambda calculus textbook. this matches Yarvin’s pattern of creating “original” work by taking existing computer science and adding a bunch of unnecessary shit to it — lambda calculus was already Turing complete, and it encapsulates all these same ideas much more clearly than Yarvin’s vacuous language spec - I counted and the initial nock isn’t 42 lines either
- still no sign of Urbit’s core functions before 2010, and it doesn’t look like
urbit-infer
orurbit-render
have implementations, though yarvin obfuscating the code with stupid names and a painful directory layout (seriously, check it out) obviously makes it hard to tell
conclusion: Yarvin’s even stupider than I thought if it took him 6 years to come up with this basic shit, and I’m starting to hone in on 2009 as the year he went from making a boring shit version of lambda calculus to making a shit plagiarized version of Nix