martian-computing

CS 498MC Martian Computing at the University of Illinois at Urbana–Champaign

View the Project on GitHub davis68/martian-computing

Launchpad

Learning Objectives

My instinct was always that Urbit’s delivery schedule should be as long as possible. For me, there are always two Urbits: the Urbit that exists, and the Urbit that should exist. To invent the latter I have to inhabit it. When I look at the present, I try as hard as possible to look at it from the perspective of the future – that’s where my head should be. (Yarvin, “A Founder’s Farewell”)

We made it through.

We made it through the whole muddy course and laid eyes at last on the shiny Nock crystal at the center. (I think Urbit is more like Jupiter than Mars!)

How do we think about Urbit, moving forward, and more importantly, what can we take away from this study that will benefit our future software development?

APL developer Aaron Hsu addressed the issue of what he called “programming churches” (coherent schools which can inculcate development practices for the non-hero programmer) as well as affordances, in his 2020 LambdaConf talk, “Modern APL in the Real World: Theory, Practice, Case Studies”. His claim is that software communities only succeed if they create the environment where good code production can flourish. “This [social and psychological aspects] is the most institutionalized incompetency in the programming community.” Urbit as a community is entering upon this phase as the closed Tlon kernel development process opens and begins to flower into an active developer community centered on the Urbit Foundation.

Let’s start by covering what I think is still missing from your education. We’ll then discuss the Urbit project and its place in the Internet ecosystem today.

What Else

The kernel is small but rich, and there are some topics we didn’t cover yet:

The Tlon team has released a developer’s guide with a good outline of how to think about development on and with Urbit.

You have a solid foundation now to sally into kernel development, application development, or to just use Urbit’s graph-store as a third-party backend database.

Competitors

To put it a slightly different way, Web APIs are the I/O of a modern cloud computer. Existing programming environments aren’t designed first and foremost for driving this I/O channel. A new environment needs to be – so this is the focus we’re working toward right now. (Yarvin, AMA)

Competition abounds for each of the things that Urbit seeks to accomplish. I have been able to identify the following projects which have some overlap with Urbit’s intent. None of them unify the concepts as extensively as Urbit, however.

Some of these compete directly with aspects of Urbit, such as Sovrin. Others could work quite compatibly, such as Bittorrent and IPFS. It’s easy to imagine a payment processor interface on an Urbit, or an IPFS interface with Clay.

Systematic Critiques

(I ask these questions for discussion, but defer my own opinion on them.)

Will Urbit rise like the ARPANET or fall like Xanadu? To really pull this off, Urbit will have to become equivalent to blogging, tweeting, Reddit/forums, Facebook/social media, GitHub, email, and markets/auctions. That’s no small task, but many of the building blocks are in place. What Urbit still lacks is the killer app that makes it indispensable to everyone and initiates a preference cascade.

Parting Remarks

Life on Mars

What do you take away from the Urbit project? If it fails to achieve its own goals, what broader lessons about software development, community formation, and systems design can be learned and ported to future endeavors?

I don’t know if Urbit is “the” fix to our systemic technical governance problems. I think it’s a reasonable bet, and the core values of privacy, data ownership, and identity are all dear to me.

Urbit is of a kind with Bitcoin and other technologies adjacent to crypto-anarchism, cypherpunks, Extropianiasm, and other movements of technocratic hope. I share many of those hopes myself, of leveraging our technology to increase human freedom rather than to corral it, mine it, and merchandise it. You now know enough, at least, to judge for yourselves how well Urbit contributes to such a vision.

I close with an image of the Apollo 10 command module in orbit around the Moon in 1969. To me, this is the single most hopeful and powerful image from all of human history: the certainty that we can build outwards and onwards forever.