HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
cgyarvin
urbit
C2012–2024
cgyarvin / urbit

urbit

Urbit: an operating function

12Distinct people
12Mentions
0Explicit recommenders
97GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Urbit: an operating function

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year12 dated mentions

Observed mentions: 2012-04-07 01:14:33 UTC to 2024-08-23 07:12:14 UTC.

012342012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20122013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC202
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC101
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC000
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC413
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC202
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101

What Hacker News says

12 sources
For all Yarvin waxes on about how a technocratic dictator should run things, so it would run more efficiently like a company rather than a bureaucracy, his own company seems like a dumpster fire. If you want our countries to be ran like Urbit, count me out. Doesn't matter if I'm called a "duke" in your "digital feudalism."[0] [0] https://github.com/cgyarvin/urbit/blob/6ac688960687aa9c89d4d...
In 'Wartime CEO': Urbit's Founder Returns in Shakeup at Moonshot Software Project
I found this after coming up with my own #spokenDSL for binary at https://github.com/ttobbec/rubble (pt-BR). I found mental math became a lot easier after practicing it a little bit. Might be a good way to teach kids binary. Tell them nothing about bases, conversions, or anything, just give them decimal numbers with a different name, wait for the phonetic patterns to take hold, then show them what's behind it. Urbit's Hoon also takes the approach of coming up with phonetics for ASCII symbols, which I find great. https://github.com/cgyarvin/urbit/blob/master/doc/book/3-syn...
In Spoken Binary (and Hexadecimal)
For a toy project of mine, I needed a way to encode small programs to send around. I originally wrote a interpreter for the MIPS instruction set, but then I encountered Urbit's functional machine language, "nock", and switched right over to that. It ended up being a much much simpler interpreter with more compact program encodings and a lot fewer arbitrary-feeling decisions involved. Nock also turns out to be a really straightforward compile target for lisp-like languages. Nock is confusing to approach, but it is really very clever. I would recommend learning it if you are in the mood for a puzzle! Nock: https://github.com/cgyarvin/urbit/blob/master/doc/book/1-noc... My project's nock VM: https://github.com/PeterReid/hoplight/tree/master/vm
In Urbit in 2017
The language designer must be a fan of writing assembly language, combined with some LISPy syntax, or something... that's the closest analogy I can think of from looking at it. Maybe it requires some IDE type of editor to make it comprehensible. From the authors: Its syntax is entirely novel and initially quite frightening. [...] If I can summarize Hoon's goal, it's to be the C of functional programming. [...] On the other hand, the apparent complexity of Hoon is very high. When you open a Hoon file, you are confronted with an enormous avalanche of barely structured line noise. Again this reminds us of C, which makes no attempt at the kind of abstract prettiness we expect from a Pascal or a Haskell. Learning Hoon involves learning nearly 100 ASCII digraph "runes." Is this a hars
Read the rest
h learning curve? Of course it is. On the other hand, it is not a mathematical task, but a mechanical one. It is trivial compared to the task of learning the Chinese alphabet, memorizing the Qu'ran, etc, all rote mental tasks routinely performed by normal human 11-year-olds. From the languages even more confusing documentation: https://github.com/cgyarvin/urbit/blob/master/doc/book/0-int...
In Urbit Is Building a 'Virtual Galaxy' for Bitcoin Nodes
I find the original blog posts [1] a really interesting read. Nowadays Urbit is indeed full of buzzwords, “your personal cloud computer” and the like. But initially, Urbit was this [2]: > Urbit is a new programming and execution environment designed from scratch. Any resemblance to existing languages or operating systems is coincidental, cosmetic, or inevitable. It was based on this idea: suppose that a different civilization (Martians specifically) had invented computing long before humans. Then by now they would have perfected it. What would their system look like? Urbit is an attempt to rethink computing without the bias of human research and our current intuition. At the heart of Urbit is Nock, a “functional assembly language”. Zero is intentionally used to denote “true” to defy programmer intuition. [1]: https://moronlab.blogspot.com
Read the rest
In Urbit Is Building a 'Virtual Galaxy' for Bitcoin Nodes
No. I did a project on Urbit for an OS course. It is deliberately obfuscated. For example, take the specification of Nock, the lisp-like "assembly code": https://github.com/cgyarvin/urbit/blob/master/doc/book/1-noc... The symbol evaluation is designed to take whoever is trying to program in Nock in circles around the specification. It makes even the most basic operations unnecessarily verbose and hard to memorize. To increment a number, you must put it adjacent to the expression [4 0 1]. So 42 [4 0 1] evaluates to 43, after several steps. There is no reason that an "assembly code" should have a decrement operator that must be evaluated more than once in order to get to the final expression. Hoon, the "high-level" langauge is worse. A function to decrement an input by one is specified by the expression: (a=. =+(b=0 |-(?:(=(a +(b)) b $(b +(
Read the rest
b)))))) Like a postmodernist artists asks "what makes art?" and answers that there can be no objective answer, Urbit asks the question "What makes good software engineering?" Unfortunately there are many objectively bad design decisions you can make in software engineering. Forcing even the most basic operations to be incredibly verbose and unintelligible is one of them.
In Urbit user guide, hosted on Urbit
That shit be old, man. Well, not the code... the blog. Lesson 1: your research project is not an open-source project. Until it's done. Lesson 2: extraordinary claims require extraordinary evidence. That said, if you want to see some very odd-looking code: https://github.com/cgyarvin/urbit/blob/master/jupiter/sys/20... Scroll down to the RSA implementation around line 2500. You won't learn anything. And why does a self-compiling compiler need an RSA implementation, anyway?
In How to leave academia (for science PhDs)

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.