I love the intention and think many readers here on HN are unlikely to appropriately value Urbit (and decentralization broadly), but it seems some of Urbit's lessons were not learned.
I love the intention and think many readers here on HN are unlikely to appropriately value Urbit (and decentralization broadly), but it seems some of Urbit's lessons were not learned.
Plunder is a definition of what they want to become a foundational system of computation that will allow past, current, and future systems to run any program.
This is achieved by three parts:
Plan is the computational model. It defines four things, pins (basically, global singletons), laws (defined functions), apps (partially applied functions), and nats (natural numbers). There are 5 axiomatic operations defined as well.
Sire is a language used to bootstrap the plunder system. I don’t get how that works yet but it seems like an implementation detail we don’t need to know unless we’re developing a new plunder virtual machine runtime.
Cogs are processes running in the virtual machine runtime that interface with calls to system hardware. They’re the programs you’re running on your virtual machine, like a message (email) client. I don’t get how this works yet, but again that seems like a detail for plunder cog programmers.
The rest of the strange words are generally urbit terms that aren’t a part of plunder. Arvo seems like the urbit operating system, nock is its bytecode like plan, hoon is a language that compiles to nock, and terms like noun or subject are just terms within the urbit model like pin or law.
None of this stuff is alien language. I think the concept here is that the program is the data is the state is the program. If you look at the state of a plunder system it’ll effectively be a big serialized string of the plan language.
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.
(1) maintain the tradition (mistakenly) established by Urbit
(2) create an artful and amusing atmosphere for the ingroup
(3) filter and keep curious normies out
None of these are reasons I can get behind.
I've been following along w/ Plunder for the past 10ish months out of personal interest, and I find the terminology to be about as straightforward as one can expect for a technical domain which is quite complicated.
perhaps this document is more straightforward? feedback is welcome.
https://git.sr.ht/~plan/plunder/tree/master/item/doc/PLAN.md
No, your traditions are a mistake. (How do you like it?)
Plunder is not an obscurantist project, and intends to be straightforward and easy to understand.
~/projects/plunder ‹master› » grep -i urbit -r . | wc -l
5
I've been following along w/ Plunder for the past 10ish months and I essentially "bounced off" of Urbit's (imo) opaque terminology, opting to learn Plunder instead as it seemed much more concise and better conceptually distilled. not knowing Urbit has not been much of a hindrance. so I think the "guilt by association" you are seeing comes more from the framing of the above gist, which was aimed at an Urbit audience & cross-posted to HN by someone not associated w/ Plunder.As for decentralisation, can a system that appears to be so explicitly bound in hierarchy actually be said to be decentralised? Certainly it seems to be a distributed system, but AFAICT the actual power in the system is entirely centralised, though delegated through various layers. Maybe I'm just not reading it right, which would be their intention I guess...