• @selfMA
    link
    English
    151 year ago

    this is awesome! it fits well with a lot of the (mental) notes I made tracing Urbit history as part of a deconstruction of the earlier inroads technofascism made into the wider tech world. some loose notes to expand on a couple topics:

    • very little of Urbit is actually original. the language itself (called hoon if I remember correctly) is a lambda-calculus-heavy ML with a Lisp-style type system and runtime, with all the names changed to blur the line between Yarvin’s bad ideas and the ideas from computer science that Yarvin implemented poorly
    • notably, hoon inherits the computational inefficiency of lambda calculus but none of the safety of ML or the usability of Lisp. the resulting language is an awful cacophony
    • these sources were most likely used not because Yarvin is any good at functional programming, but because Urbit was a partially successful attempt to insert yarvin’s ideas into the conversation on places like hacker news, where paul graham primed a bunch of folks to accept both Lisp and right-wing libertarianism as the same bundle of ideas
    • the few unique parts of Urbit are interesting only in that they seem to be early attempts at things we’ve seen done by other techfash projects. for example, Urbit claims to be decentralized, but hoon programs are permanently linked to code controlled by the Urbit foundation (most likely still owned by Yarvin even though they claim otherwise), which compliant Urbit implementations must pull from the network (also controlled by the foundation). this allows programs to be effectively broken on the whim of whoever controls their access to their upstream dependencies, effectively making whoever controls the foundational Urbit libraries the rulers of Urbit’s neo-feudal network — and it’s built so that swapping out those dependencies is as hard as possible. I haven’t checked the implementation to see if it prevents changing the meaning of downstream programs yet (because hoon code is brain rot — see the example linked above)
    • I need to dig through Reddit and find the AMA, but yarvin claims that Urbit is the first and only functional language that can pull functions and dependencies from the network. this is false and he probably knows it — Eelco Dolstra’s foundational paper on the Nix package manager was published (this is from memory, probably not accurate) about a year and a half before Yarvin’s first blog post on Urbit, and there are enough similarities between the two that I don’t know if I want to call this a coincidence

    last time I brought this up on r/SneerClub, some weird fascist found the post and made the mistake of linking Yarvin’s original blog posts, which are kind of hilarious. I’ll dig them up and link them here when I can

    • Steve
      link
      English
      101 year ago

      where paul graham primed a bunch of folks to accept both Lisp and right-wing libertarianism as the same bundle of ideas

      PG gets off way too lightly as a mere annoying vc most of the time. There is plenty of sneer project potential in each of his pointed, dumbly confident “essays”

      • @kuna
        link
        English
        6
        edit-2
        11 months ago

        deleted by creator

        • Steve
          link
          English
          41 year ago

          This is a masterpiece. Thanks for sharing, I’d not seen it before.

          • David GerardOPMA
            link
            English
            41 year ago

            back before Maciej’s brain was also eaten by worms

            • Steve
              link
              English
              41 year ago

              I hope you’re gonna put all this knowledge in a book one day

      • @selfMA
        link
        English
        51 year ago

        oh fuck yes there is. I posted his latest LinkedIn-style blog essay about “how to love your work” (from a guy who doesn’t need more money) on TechTakes a few weeks back. at some point I need to start pushing on paully g’s “father of modern Lisp” nonsense, cause there’s a lot there that doesn’t add up either

        • Steve
          link
          English
          51 year ago

          Did he ever release the “dialect” of lisp he was working on?

          • @selfMA
            link
            English
            51 year ago

            he did! it died almost instantly because it’s a mediocre language built by someone with no idea why Lisp is good and it requires you to install a much better Lisp to use it because it’s not even self-hosting. I was hoping arc’s failure would be when the shine came off of his image as a Lisp hacker, but the tech industry isn’t that smart

            here’s one I’ve been wanting to ask for a while: did anything of value come out of paully owning a Lisp machine?

            • Steve
              link
              English
              41 year ago

              Arc is designed for exploratory programming: the kind where you decide what to write by writing it.

              Haha, fucking wot?

              • @selfMA
                link
                English
                41 year ago

                aka don’t ask for docs because you’re supposed to learn the language by making the REPL crash. paully really doesn’t know anything about good Lisp

                also I just remembered his second attempt at reinventing Lisp, which was much lazier. no website for that one, just a couple of text files, cause he did the bare minimum of what arc couldn’t (a metacircular compiler, theoretically, but nobody can run it) and then just decided that was good and dropped the project

                paul! I’ve seen someone compile Lisp into pure lambda calculus! it was fucking insane! nobody is impressed with this basic shit!

                • Steve
                  link
                  English
                  31 year ago

                  I mentioned his The Acceleration of Addictiveness essay in a recent blog post because Nir Eyal seems to have justified his whole “habit-forming” brand on it.

    • @selfMA
      link
      English
      8
      edit-2
      1 year ago

      the links I mentioned:

      • yarvin’s Reddit AMA warning: high level of smarmy fascists. I can’t find the post where he claims Urbit is the only networked functional language so it might be elsewhere
      • the original Urbit spec, lots to sneer at here as yarvin decides Urbit is best described as how neo-feudal martians would write software
      • @dgerard@awful.systems linked this in the masto thread but it’s too important not to link: one of Yarvin’s later tech specs with less obfuscation, which literally calls the network address space digital feudalism

      e: holy shit I revisited that last link

      The $2^64 question is thus: who are the dukes?

      My answer is simple. The dukes are the developers of Urbit. They created it - they get to own it. This is standard Lockean libertarian homesteading theory. Lend a hand - earn a slice. Thus Urbit, unlike most open-source projects, offers a rational motivation for contribution.

      this is the most mask off description of the fake decentralization crypto projects build on (and Urbit might have invented, unless we can dig up prior art) I’ve ever seen

      • @selfMA
        link
        English
        71 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

    • @gerikson
      link
      English
      71 year ago

      For funself-flagellation, I checked out Yarvin’s original Nock/Hoon docs, available here:

      https://github.com/cgyarvin/urbit/tree/master/doc/book

      It contains the following classic sentence, which is basically Urbit in a nutshell:

      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.

    • mx alex tax1a - 2020 (3)
      link
      fedilink
      48 months ago

      @self at one point we tried to figure out how to make Urbit, like, do anything, and every time we got close, yarvin would move something around. we eventually caught on and walked away, hopefully less than a footnote in their history

  • @TinyTimmyTokyo
    link
    English
    81 year ago

    “TempleOS on the blockchain”

    Ok that’s some quality sneer. A bit obscure and esoteric, but otherwise perfect for those who know anything about Temple OS.

    • David GerardOPMA
      link
      English
      91 year ago

      also unfair to the memory of Terry Davis

        • @selfMA
          link
          English
          51 year ago

          watching every TempleOS thread on the orange site immediately turn to bullying Terry was around when I decided I was done with those assholes

    • @bobtreehugger
      link
      English
      7
      edit-2
      1 year ago

      Temple OS is/was a crazy impractical project, but it makes way more sense than urbit, which last time I checked didn’t even have a simple way to add 2 numbers.

  • @blakestaceyMA
    link
    English
    61 year ago

    “Urbit” sounds like a failed grocery-delivery service.

      • Steve
        link
        English
        51 year ago

        The web has become one big wordpress template

        • @selfMA
          link
          English
          5
          edit-2
          1 year ago

          their Bootstrap guy quit so they couldn’t use the theme where the stock photos animate in under the marketing copy as you scroll

          you know the one if you’ve ever been unable to discern what a startup does from reading their website

  • @gerikson
    link
    English
    61 year ago

    I’m active on lobste.rs and from time to time the resident alt-right commenters and fash-curious try to push Urbit.

    I composed a reply to an old thread but didn’t post it, so I’ll just copy it below


    https://lobste.rs/s/c5gp8j/understanding_urbit#c_bdghos

    Let’s focus on technology.

    Yes, let’s, and let’s focus on the fact that the technology behind Urbit is obscure enough to be considered poetry

    https://urbit.org/docs/tutorials/arvo/ford/

    %bake

    Tries to functionally produce the file at a given beam with the given mark and heel. It fails if there is no way to translate at this level.

    %boil

    Functionally produces the file at a given beam with the given mark and heel. If there is no way to translate at this beam, we pop levels off the stack and attempt to bake there until we find a level we can bake. This should almost always be called instead of %bake.

    %call

    Slams the result of one silk against the result of another.

    %cast

    Translates the given silk to the given mark, if possible. This is one of the critical and fundamental operations of ford.

    The Urbit project cloaks itself in the trappings of open source development, but the true knowledge is literally esoteric[1]. It’s explicitly exclusionary, as evinced by their own documentation:

    Urbit OS is a solid alpha. We use it every day to coordinate and chat about the future of Urbit. You’re welcome to join. Our standards are high, so we aren’t asking everyone to use Urbit OS yet.

    Investing in an open-source project, whether as a developer or as an advocate, is a commitment of time and attention. Before committing, it’s good to know what aims the project has.

    [1] meaning that to contribute, you not only have to be invited, you also have to internalize a bunch of purposefully obscure terms.

    • @selfMA
      link
      English
      41 year ago

      meaning that to contribute, you not only have to be invited, you also have to internalize a bunch of purposefully obscure terms.

      getting people to write shit like “slams the result of one silk against the result of another” with a straight face is absolutely the result of indoctrination, because by the time you’ve learned all the bullshit terminology, you’re in too deep to admit none of it is unique and all of it is garbage

      for example, I’m pretty sure if I look I’ll find out %boil is just Nix’s derivation but very limited and written in asshole language by fascists. but even though I’ve described Nix as fucking incomprehensible, at least it’s not trying to be

      • Steve
        link
        English
        51 year ago

        by the time you’ve learned all the bullshit terminology, you’re in too deep to admit none of it is unique and all of it is garbage

        Is straight out of a product marketing text book. Macromedia mastered it in the software space in the late 90s

        • @200fifty
          link
          English
          5
          edit-2
          1 year ago

          oh man, I had forgotten about all the silly theater-themed names for everything in Shockwave/Director. They toned it down in Flash and used more normal words like “library” and “instance” instead of “cast” and “actor” or whatever, though I guess we still ended up with “stage” to describe the viewport

  • @bitofhope
    link
    English
    51 year ago

    Is “u/acc” some kind of a pun or reference I’m not getting?

    Anyway, Homespring didn’t need blockchains or racism to be about as comprehensible as Urbit, yet a lot funnier.

    • David GerardOPMA
      link
      English
      51 year ago

      “e/acc” is short for “effective accelerationism”, a condensed version of Nick Land’s bad ideas.

      This became trendy with neoreactionaries, who tagged themselves with “e/acc”. It’s a reasonably reliable way of spotting incredibly blockable little shits.

      It’s dumb enough there’s a KnowYourMeme on it:

      https://knowyourmeme.com/memes/cultures/eacc-effective-accelerationism

      so Urbit is riffing on the meme.

  • David GerardOPMA
    link
    English
    41 year ago

    good lord Lemmy pulled in the whole post as a preview. the linked version has paragraphs and is preferable.

    • @200fifty
      link
      English
      41 year ago

      smh someone forgot to call nl2br

      • @selfMA
        link
        English
        31 year ago

        you’re right and it’s killing me how much I want to fork lemmy

        • @kuna
          link
          English
          3
          edit-2
          11 months ago

          deleted by creator

          • @selfMA
            link
            English
            41 year ago

            I like that “if I need to pop open the hood it better not be PHP in there” is their motivating factor for choosing lemmy too

            • @bitofhope
              link
              English
              41 year ago

              Don’t worry, I relate

  • Steve
    link
    English
    41 year ago

    EthCC casually hosting Urbit presentation in Paris next week

    • @selfMA
      link
      English
      31 year ago

      While the Urbit tech stack is clearly insane (some say it’s on purpose), The urbit identity layer is interesting and useful. You basically buy your username as a NFT, and that username is bound to signing keys, ip address and ethereum wallet. This makes it quite practical as an identity for chat / social network. This identity is on the eth blockchain and thus nobody can steal it / ban you, which is a unique value proposition.

      that entire thread is a carnival of bad takes so the orange site can carry water for yet another fascist, but I do love when I stumble upon a system where the NFT portion is a no-op and the person describing the system is doing their best to not notice

      • @blakestaceyMA
        link
        English
        31 year ago

        You basically buy your username as a NFT

        Christ, I can smell the microwaved taquitos from here.

      • David GerardOPMA
        link
        English
        3
        edit-2
        1 year ago

        Hochstein is how do i put this 100% on board with Urbit’s political side, which is why this is a long article about why you should pretend that doesn’t exist.