no excerpts yet cause work destroyed me, but this just got posted on the orange site. apparently a couple of urbit devs realized urbit sucks actually. interestingly they correctly call out some of urbit’s worst points (like its incredibly high degree of centralization), but I get the strong feeling that this whole thing is an attempt to launder urbit’s reputation while swapping out the fascists in charge
e: I also have to point out that this is written from the insane perspective that anyone uses urbit for anything at all other than an incredibly inefficient message board and a set of interlocking crypto scams
e2: I didn’t link it initially, but the orange site thread where I found this has heated up significantly since then
Tired of dealing with shitcoins from the crypto currency world? Too bad, because we’re making shit-urbits now.
At least “Plunder” is an honest name.
PLAN is an evaluation model for a purely-functional database.
Actually, this “purely-functional database” phrase is a bit misleading, it’s an attempt to describe a novel programming paradigm for which we don’t yet have good vocabulary.
this novel programming paradigm is just urbit’s badly plagiarized Nix store combined with Nix’s lazy evaluation semantics and large parts of Nix’s syntax (with pointless extra bits stuck on, as is tradition). not one citation in the whole thing, of course
and these fucking doofuses still use Nix to build their shit! they’re gonna claim with a straight face this bullshit is so novel they can barely describe it?
but also, y’all wanna see what Lisp s-expressions look like on urbit brain?
holy fuck this one is just painful
e: imagine if Lisp looked like this fucking cacophony (a basic HTTP hello world that uses a bunch of library functions for the difficult parts)
Just visually, that looks like some unholy forth dsl, rather than lisp.
lol, Plunder the coherent version of Urbit, eh
Urbit is a ball of mud
Can’t say I disagree.
@self Why don’t they just double-down on evil and market it as the OS for supervillains? There’s a perfectly good bacronym for it already—SPECTRE, the Software Executive for Cryptocurrency, Intrusion, Terrorism, Revenge and Extortion. (Maintainer: Ernst Stavro Blofeld. And he doesn’t use git, he uses sccs—collaborators get the shark tank.)
I am really very pleased to see that the hackernewses are starting to react to Urbit the way they’ve already been reacting to crypto
I think Urbit exists not because it’s actually meant to work or do anything, but because Yarvin wanted the aesthetic of being a hacker founder tech guy. Proximity to tech folks was his bread and butter, right? Otherwise he’d need to get a real job and couldn’t spend all his time generating bullshit.
the use case for Urbit is as a techfash identifier. Only one sort of person has an Urbit ID in their bio. For this use case, it works perfectly.
Tuple<"Do you expect these chucklefucks to ever release a full stable 1.0 let alone 2.0?", "Perhaps one day Urbitals will release a text I'm simultaneously drunk enough and not too drunk to read.">
BTW the latter string in English evaluates to
false
.Omfg I have a coworker who writes stuff like this it’s actually uncanny
I am just now learning about Urbit 🤔
That’s the downside of the XKCD unlucky ten thousand.
I am sorry.
There have actually been multiple attempts at doing actual computer science from a starting point of Urbit.
Here’s one I wrote up in 2017, whose proponents were so outraged at the Ethereum plan that they forked, and wrote their fork’s constitution in Lojban.
Oh hey, small world; I operated a star for that fork. However, I no longer think that Urbit’s codebase is worth reusing, and I’ve stopped participating. Instead, I developed a Hoon alternative (Cammy) and decided not to pursue Arvo compatibility.
I just want to say, as someone who’s pretty well-versed in functional programming and has a decent grasp of category theory, that wiki article is absolutely impenetrable to me. I get that it’s an esolang so the goal isn’t a broad audience, just thought I’d share my perception. It looks very cool still, and I do want to understand it.
Thanks! For an esolang, that is a compliment. Cammy does a lot of things differently, but it’s okay to just look at it as an alternative syntax for expressing diagrams. Bring your own Cartesian-closed category, etc.
how is the experience of developing for an Urbit-like ecosystem? everything I’ve seen as an outsider indicates it’s fairly painful, but from an esolang perspective I suppose the pain is the point
Not just development, but even just basic maintenance of a star is onerous. Worse, there’s no guide on how to do it: no notion of security and privacy, no data-integrity recommendations, no backups or testing, and almost no information on key management.
It’s so bad that, if you look at Cammy, you won’t see any sign of Urbit. You’ll just see a language which designates total functions, provably halting, with basic toolchains for compiling and running. No Arvo whatsoever. I did reuse the word “jet”, but I’ve provided an entire theory of jets and holes so that every Cammy jet is implementable in raw Cammy; there’s no C code.
Also, although it isn’t obvious from the esolang wiki, Cammy is designed to subvert copyright and punish folks who build up private repositories of Cammy code. I figure that if we can have fascist toolchains, then we can also have antifa toolchains.
Sorry for going NSFW, but I figure that my candor in the present will save somebody time and effort in the future.
this is really interesting! thank you for sharing; doing deep dives into urbit can be fairly mentally punishing so I appreciate the first-hand account
it sounds like nobody with experience running any kind of service in prod has had hands on urbit — the administrative bits you mentioned are all the basics you’d want to run a system at any scale, and it’s embarrassing that urbit has none of them after all these years
from what I’ve skimmed so far, Cammy is impressive! notably its wiki article explains everything in standard computer science terms (including explaining things in terms of lambda expressions, which I appreciate) and I get the impression a lot of work went into making it fairly comprehensible for an esolang (as opposed to Urbit, with the opposite goal). I’ll definitely take a closer look at this later tonight, as having a reference “hoon’s non-evil little brother” is definitely useful for understanding Urbit by contrast
there really should be more antifa software licenses in the world. I’ve been exploring options myself to represent similar ideas in the code I release
I didn’t find the thread you are talking about, but I found this instead, which is probably much worse.
(Edit: I did eventually find the thread!)
Oh, lordy.
oh christ, that’s worth its own thread if you’d like to post one
the original thread for this one had 4 points and 0 comments at the time so I didn’t link it, but I probably should have in case it picked up. I’ll try and find it again
my mistake, there’s gold in the orange site thread
e: ah, we found it around the same time!
The power here is supposedly that no authority can override your desires on your plunder system because it will eventually be a frozen spec, and so virtual machine runtime implementations that are correct must run any program from any time after the freeze. That means a vm I make today will run programs a thousand years from now (probably inefficiently) and a vm created in a thousand years must run programs from today. Theoretically speaking.
Yes that’s what a spec means. Like wow I can write
puts("Hello, world!")
and it does the same thing on every ANSI C compiler, how novel!this is an incredibly bad idea for security of course, and is in any case is a garbage version of what javascript VMs already do successfully (much to javascript’s detriment, in some cases)
Dev is asked why it’s called “Plunder”
Think of it as being a Scheme implementation: Racket, Stalin, Larceny, Plunder.
TBH this is the first time I’ve heard of a Scheme named after the notorious Soviet dictator. What’s next, a Lisp called Hitler?
it’s weird that they omitted the historical MIT projects that led to scheme (PLANNER, Conniver, SCHEME(r, they ran into a filename length limit when implementing)) but found time to mention an obscure Lisp with no impact that stopped updating 16 years ago
maybe cause in the actual historical context of Lisp-1 names, “plunder” doesn’t even fit the pattern
deleted by creator