on master help sign in
content: migrate <sup> to md, use callout component
5ae6bbfMatilde Park
content/blog/2021-11-18-report-from-the-field.md+2−2
@@ -26,7 +26,7 @@ I’ll try to abide by the Chatham rule in this post which is why no one is name
26
26
27New world energy -
27New world energy -
28
28
29−In the months leading up to Assembly we were totally focussed on using the event as a release date for a bunch of different lines of work. Coming out of that sprint, we didn’t really know what to expect. We wanted to make sure Urbit was ready for people to build on and that everything we were going to ship worked well. What we didn’t realize was just how emphatically people are <em>ready to build</em>.
29+In the months leading up to Assembly we were totally focussed on using the event as a release date for a bunch of different lines of work. Coming out of that sprint, we didn’t really know what to expect. We wanted to make sure Urbit was ready for people to build on and that everything we were going to ship worked well. What we didn’t realize was just how emphatically people are *ready to build*.
30
30
31When I got up on stage on Friday night to welcome everyone I was really impressed by the room itself. It was packed with people who looked excited and motivated. The room just looked amazing. There were so many different kinds of people staring back at me. Some who I recognized from the earliest days of the project, and lots I had never seen before. I’ve been at my share of Urbit events, but this was something totally different.
31When I got up on stage on Friday night to welcome everyone I was really impressed by the room itself. It was packed with people who looked excited and motivated. The room just looked amazing. There were so many different kinds of people staring back at me. Some who I recognized from the earliest days of the project, and lots I had never seen before. I’ve been at my share of Urbit events, but this was something totally different.
32
32
@@ -34,7 +34,7 @@ We didn’t have much scheduled during Assembly. Most of the time was unstructur
34
34
35I spent the weekend of Assembly in almost constant conversation with people building Urbit hardware, experimenting with different kinds of Urbit software, and thinking about incredible things like a Nock chip. I talked to the lead architect of a CPU from the 90s, a former senior US government official, an editor of a well-known literary magazine, the inventor of a new display technology, musicians whose work I already admired, a fragrance designer, writers, and, of course, lots of engineers and designers from many different backgrounds. Data scientists, systems hackers, language nerds, someone running a successful currency. I watched these people get projects off the ground, start raising money, plan the future of Urbit hosting companies, and plan new features for Landscape. I saw a last-minute warehouse party come together that kept people talking well into the early hours of the morning.
35I spent the weekend of Assembly in almost constant conversation with people building Urbit hardware, experimenting with different kinds of Urbit software, and thinking about incredible things like a Nock chip. I talked to the lead architect of a CPU from the 90s, a former senior US government official, an editor of a well-known literary magazine, the inventor of a new display technology, musicians whose work I already admired, a fragrance designer, writers, and, of course, lots of engineers and designers from many different backgrounds. Data scientists, systems hackers, language nerds, someone running a successful currency. I watched these people get projects off the ground, start raising money, plan the future of Urbit hosting companies, and plan new features for Landscape. I saw a last-minute warehouse party come together that kept people talking well into the early hours of the morning.
36
36
37−Where did these people come from? All over the place. They have this incredible <em>new world energy</em>. They understand immediately, intuitively that Urbit has the potential to be a foundation for the society they want to live in. I’ve never seen anything like it.
37+Where did these people come from? All over the place. They have this incredible *new world energy*. They understand immediately, intuitively that Urbit has the potential to be a foundation for the society they want to live in. I’ve never seen anything like it.
38
38
39This energy seems to have come from the very practical work we do day-to-day: building Urbit, refining it, making it easier to use. The crowd at Assembly was somehow brought together by Urbit itself. It’s insanely exciting. It makes working on Urbit feel even more like a form of definite optimism. The system builds the community and the community builds the system.
39This energy seems to have come from the very practical work we do day-to-day: building Urbit, refining it, making it easier to use. The crowd at Assembly was somehow brought together by Urbit itself. It’s insanely exciting. It makes working on Urbit feel even more like a form of definite optimism. The system builds the community and the community builds the system.
40
40
content/blog/2021-11-18-the-promise-and-paradox-of-decentralization.md+8−8
@@ -12,19 +12,19 @@ image = "https://storage.googleapis.com/media.urbit.org/site/posts/essays/ux-cen
12
12
13Every so often, a platform will do something outrageous—changing its terms of use, kicking off API partners, restricting [the content category it was built on](https://www.theverge.com/2018/12/3/18123752/tumblr-adult-content-porn-ban-date-explicit-changes-why-safe-mode), banning Donald Trump, failing to ban Donald Trump, etc.—and we'll all realize we're utterly dependent on centralized entities that can make arbitrary and unaccountable decisions. Sure, you can build your own minimal Facebook or Twitter clone, if you really want, but can you build your own Cloudflare? How about your own payment network? If your company does something legal in your country but banned in America, and the US decides to sanction you, which leads to local banks cutting you off because they can't survive without access to the dollar, are you going to build your own reserve currency? Your own Taiwan Semiconductor Manufacturing Co. or ASML?
13Every so often, a platform will do something outrageous—changing its terms of use, kicking off API partners, restricting [the content category it was built on](https://www.theverge.com/2018/12/3/18123752/tumblr-adult-content-porn-ban-date-explicit-changes-why-safe-mode), banning Donald Trump, failing to ban Donald Trump, etc.—and we'll all realize we're utterly dependent on centralized entities that can make arbitrary and unaccountable decisions. Sure, you can build your own minimal Facebook or Twitter clone, if you really want, but can you build your own Cloudflare? How about your own payment network? If your company does something legal in your country but banned in America, and the US decides to sanction you, which leads to local banks cutting you off because they can't survive without access to the dollar, are you going to build your own reserve currency? Your own Taiwan Semiconductor Manufacturing Co. or ASML?
14
14
15−There are, to varying extents, efforts to do all of the above. But what's worth considering is that <em>all of these bans happen through centralized actors running on decentralized systems</em>. The Internet was supposed to be a totally open set of protocols that anyone could interact with, and for a long time it was, and yet getting kicked off Facebook and Twitter means being exiled from public discourse. Banks are regulated, but every country can set up their own banking regulations, and different countries see the social role of banks very differently; for some countries they're a tool of economic planning, for others a way to help connect local companies to global markets, for others a source of money that can be channeled to politically favored groups. The chip industry was historically very open to new entrants; the transistor was developed at Bell Labs, and for political reasons AT&T licensed it to all comers at a low price.
15+There are, to varying extents, efforts to do all of the above. But what's worth considering is that *all of these bans happen through centralized actors running on decentralized systems. The Internet was supposed to be a totally open set of protocols that anyone could interact with, and for a long time it was, and yet getting kicked off Facebook and Twitter means being exiled from public discourse. Banks are regulated, but every country can set up their own banking regulations, and different countries see the social role of banks very differently; for some countries they're a tool of economic planning, for others a way to help connect local companies to global markets, for others a source of money that can be channeled to politically favored groups. The chip industry was historically very open to new entrants; the transistor was developed at Bell Labs, and for political reasons AT&T licensed it to all comers at a low price.
16
16
17And yet all of these originally decentralized systems end up facing some degree of centralization.
17And yet all of these originally decentralized systems end up facing some degree of centralization.
18
18
19The promise of a decentralized system is that anyone can build anything they want, because no one owns it. There are three important features of this; two downsides and a caveat:
19The promise of a decentralized system is that anyone can build anything they want, because no one owns it. There are three important features of this; two downsides and a caveat:
20
20
21−- The first downside to "Anyone can build anything" is that "anyone" means <em>anyone</em>, and the people to whom decentralized systems are the most attractive are the ones who are banned from other systems, often for good reasons. Free speech absolutists want to be defending Aleksandr Solzhenitsyn or Eugene V. Debs or even Lenny Bruce, but if you want to get a sense for the typical piece of content enabled by a totally uncensored communications system, check your spam folder.
21+- The first downside to "Anyone can build anything" is that "anyone" means *anyone*, and the people to whom decentralized systems are the most attractive are the ones who are banned from other systems, often for good reasons. Free speech absolutists want to be defending Aleksandr Solzhenitsyn or Eugene V. Debs or even Lenny Bruce, but if you want to get a sense for the typical piece of content enabled by a totally uncensored communications system, check your spam folder.
22
22
23- The second downside is that a lack of ownership means that no one is responsible when things go wrong. Bitcoin doesn't have a way to censor your decision to move money from one address to another or even a protocol-level sense of whether you're buying Alpaca socks or a rocket launcher. (nb: You are almost certainly not buying a rocket launcher with Bitcoin; you are at best getting scammed, and at worst [getting in trouble](https://www.justice.gov/usao-cdca/pr/los-angeles-county-man-pleads-guilty-federal-charge-attempting-obtain-biological-toxin)). But this also means that the protocol can't tell when you meant to send your life savings to your cold wallet and sent it to the wrong address instead.
23- The second downside is that a lack of ownership means that no one is responsible when things go wrong. Bitcoin doesn't have a way to censor your decision to move money from one address to another or even a protocol-level sense of whether you're buying Alpaca socks or a rocket launcher. (nb: You are almost certainly not buying a rocket launcher with Bitcoin; you are at best getting scammed, and at worst [getting in trouble](https://www.justice.gov/usao-cdca/pr/los-angeles-county-man-pleads-guilty-federal-charge-attempting-obtain-biological-toxin)). But this also means that the protocol can't tell when you meant to send your life savings to your cold wallet and sent it to the wrong address instead.
24
24
25−- The caveat is that, to quote a [<em>Diff</em> piece from last year](https://www.thediff.co/p/amazon-a-new-kind-of-antitrust-risk#:~:text=does%20it%2C%20too.-,Technology-Governance%20Fit,-Pondering%20Durian%20has) ($), "[A]ny decentralized order requires a centralized substrate, and the more decentralized the approach is the more important it is that you can count on the underlying system." This applies to cryptocurrencies (you can trust the protocols) and to the Internet (ditto). It also applies, in an interesting way, to the increasingly decentralized world of free trade and free-flowing capital: money can only flow and deals can only be made if everyone has a consistent sense of property rights and contracts, and the definition of those concepts will typically be determined by whichever participant in a transaction has the more sophisticated financial and legal system. Globalization ends up being a bit like Henry Ford's pitch: you can use any economic paradigm you want, as long as it's the American one.1
25+- The caveat is that, to quote a [*Diff* piece from last year](https://www.thediff.co/p/amazon-a-new-kind-of-antitrust-risk#:~:text=does%20it%2C%20too.-,Technology-Governance%20Fit,-Pondering%20Durian%20has) ($), "[A]ny decentralized order requires a centralized substrate, and the more decentralized the approach is the more important it is that you can count on the underlying system." This applies to cryptocurrencies (you can trust the protocols) and to the Internet (ditto). It also applies, in an interesting way, to the increasingly decentralized world of free trade and free-flowing capital: money can only flow and deals can only be made if everyone has a consistent sense of property rights and contracts, and the definition of those concepts will typically be determined by whichever participant in a transaction has the more sophisticated financial and legal system. Globalization ends up being a bit like Henry Ford's pitch: you can use any economic paradigm you want, as long as it's the American one.1
26
26
27−An open, decentralized system is <em>sparse</em>: there's room for anything, which means that most of the possibility space consists of nothing at all. This creates a natural demand for onramps—Coinbase for figuring out Bitcoin, portals for figuring out the Internet, TSM for turning chip designs into functioning products, and the like. These create a complicated dynamic: these onramps are built on an open system, but part of their function is to close off some of it. And the better they do that, the more value they can capture. Meanwhile, because they have a monopoly on what they've fenced off, their economics support providing a better user experience. Make a really helpful update to the Bitcoin wiki, and you can feel good about yourself and perhaps contribute to the price of Bitcoin in a highly indirect way; design and launch an improved onboarding process at Coinbase and your contribution is quantifiable, and affects your next cycle's equity grants.
27+An open, decentralized system is *sparse*: there's room for anything, which means that most of the possibility space consists of nothing at all. This creates a natural demand for onramps—Coinbase for figuring out Bitcoin, portals for figuring out the Internet, TSM for turning chip designs into functioning products, and the like. These create a complicated dynamic: these onramps are built on an open system, but part of their function is to close off some of it. And the better they do that, the more value they can capture. Meanwhile, because they have a monopoly on what they've fenced off, their economics support providing a better user experience. Make a really helpful update to the Bitcoin wiki, and you can feel good about yourself and perhaps contribute to the price of Bitcoin in a highly indirect way; design and launch an improved onboarding process at Coinbase and your contribution is quantifiable, and affects your next cycle's equity grants.
28
28
29This privatization proceeds in three different ways:
29This privatization proceeds in three different ways:
30
30
@@ -32,9 +32,9 @@ This privatization proceeds in three different ways:
32
32
33- Twitter is another example, except that they basically created their own open mostly-open protocol and then slowly took control of it. Tweets were originally a simple format, with 140 characters of text and a bit more metadata (this made it compatible with SMS, which had a 160-character limit). For a while, Twitter looked like it would operate a novel protocol and let third parties decide what to put on it and what to read off it. And then the company started to realize that an open system was also one where it was trivial to filter out ads and recommendations. So the outside partners gradually got cut off.
33- Twitter is another example, except that they basically created their own open mostly-open protocol and then slowly took control of it. Tweets were originally a simple format, with 140 characters of text and a bit more metadata (this made it compatible with SMS, which had a 160-character limit). For a while, Twitter looked like it would operate a novel protocol and let third parties decide what to put on it and what to read off it. And then the company started to realize that an open system was also one where it was trivial to filter out ads and recommendations. So the outside partners gradually got cut off.
34
34
35−- Facebook—the product, not the company—is a third example. It essentially implemented a missing element to the protocol: <em>identity matters</em>. When the original protocols were being hammered out, identity was a problem taken care of by the fact that getting online required steep hurdles; if everyone involved is affiliated with a university that trusts them to use a PDP-10 responsibly, spam or abuse were not big concerns. (Not that early usage was [strictly professional](https://www.theguardian.com/science/2013/apr/19/online-high-net-drugs-deal).) With billions of people online, accessing relevant information can mean traversing a graph of people rather than links, so the identities of those people becomes important. To the user, if not to the network itself, a name and relationship is a far more important unique identifier than an IP address.
35+- Facebook—the product, not the company—is a third example. It essentially implemented a missing element to the protocol: *identity matters*. When the original protocols were being hammered out, identity was a problem taken care of by the fact that getting online required steep hurdles; if everyone involved is affiliated with a university that trusts them to use a PDP-10 responsibly, spam or abuse were not big concerns. (Not that early usage was [strictly professional](https://www.theguardian.com/science/2013/apr/19/online-high-net-drugs-deal).) With billions of people online, accessing relevant information can mean traversing a graph of people rather than links, so the identities of those people becomes important. To the user, if not to the network itself, a name and relationship is a far more important unique identifier than an IP address.
36
36
37−This pattern raises a question: is centralization just a natural tendency of all networks? Are we destined to have a "decentralization sandwich," where there's a hard-to-change set of protocols, something open built on top of <em>that</em>, and a series of closed systems built on top of that, which are the only ones the average person interacts with?
37+This pattern raises a question: is centralization just a natural tendency of all networks? Are we destined to have a "decentralization sandwich," where there's a hard-to-change set of protocols, something open built on top of *that*, and a series of closed systems built on top of that, which are the only ones the average person interacts with?
38
38
39One of the interesting alternatives to this is [Urbit](https://urbit.org), which is trying to build a network in which identity exists from the start, and is neither free nor monopolized. One of Urbit's principles is that users own their data, and while they can use third-party services, they're sharing their data with services, not using a login to access information that lives on someone else's servers.
39One of the interesting alternatives to this is [Urbit](https://urbit.org), which is trying to build a network in which identity exists from the start, and is neither free nor monopolized. One of Urbit's principles is that users own their data, and while they can use third-party services, they're sharing their data with services, not using a login to access information that lives on someone else's servers.
40
40
@@ -50,6 +50,6 @@ One possibility for the successor to the current Internet is that it will end up
50
50
51Norms are not a perfect solution to these problems (if they were, we'd only know about issues like novel addictive behaviors, monopolies, and the homogenization of entertainment from history books). And technology can't fully solve social problems. But it can certainly have an effect on them—"you can't solve a social problem with technology" is a good guideline, but technologies mitigate them all the time. What's a streetlight if not a technological solution to the social problem that there are places where it's dangerous to be out when it's dark? What's asymmetric-key cryptography if not a technological solution to the social problem that it's hard to keep secrets? There's still a fundamental tension with open systems, where they get mature enough to be useful at which point the median user's priority is getting things done rather than adhering to the network's original design principles. But a design that recognizes this from the beginning, and a community that wants to make it happen, can stave off decline for a long time. And that's the positive story of technology: we're all fighting against entropy, which is a hard fight to win, but there are long and fascinating stalemates ahead.
51Norms are not a perfect solution to these problems (if they were, we'd only know about issues like novel addictive behaviors, monopolies, and the homogenization of entertainment from history books). And technology can't fully solve social problems. But it can certainly have an effect on them—"you can't solve a social problem with technology" is a good guideline, but technologies mitigate them all the time. What's a streetlight if not a technological solution to the social problem that there are places where it's dangerous to be out when it's dark? What's asymmetric-key cryptography if not a technological solution to the social problem that it's hard to keep secrets? There's still a fundamental tension with open systems, where they get mature enough to be useful at which point the median user's priority is getting things done rather than adhering to the network's original design principles. But a design that recognizes this from the beginning, and a community that wants to make it happen, can stave off decline for a long time. And that's the positive story of technology: we're all fighting against entropy, which is a hard fight to win, but there are long and fascinating stalemates ahead.
52
52
53−(Disclosure: I'm long decentralization by way of Bitcoin and Urbit. If you're on Urbit and would like to discuss <em>The Diff</em>, go to ~lableg-tadrex/the-diff.)
53+(Disclosure: I'm long decentralization by way of Bitcoin and Urbit. If you're on Urbit and would like to discuss *The Diff*, go to ~lableg-tadrex/the-diff.)
54
54
55−<sup>1.</sup> There is naturally some resistance to this, both because of conflicts with different countries' norms and with other countries' natural desire to determine their own destiny. So it's a leaky abstraction, but it gets less leaky over time as economies get more integrated and thus more of the world has to standardize. The most direct example of this is the fact that [the dollar's share of global invoices is 4.7x the US's share of global imports](https://www.economist.com/schools-brief/2020/08/27/global-trades-dependence-on-dollars-lessens-its-benefits) ($, <em>Economist</em>). In the same way that English is most likely to be the shared second language of any two randomly-selected people who don't speak it as a first language, the dollar is most likely to be the second most useful currency to anyone in a country that doesn't use dollars.
55+1. There is naturally some resistance to this, both because of conflicts with different countries' norms and with other countries' natural desire to determine their own destiny. So it's a leaky abstraction, but it gets less leaky over time as economies get more integrated and thus more of the world has to standardize. The most direct example of this is the fact that [the dollar's share of global invoices is 4.7x the US's share of global imports](https://www.economist.com/schools-brief/2020/08/27/global-trades-dependence-on-dollars-lessens-its-benefits) ($, *Economist*). In the same way that English is most likely to be the shared second language of any two randomly-selected people who don't speak it as a first language, the dollar is most likely to be the second most useful currency to anyone in a country that doesn't use dollars.
content/blog/common-objections-to-urbit.md+15−15
@@ -40,7 +40,7 @@ Here's our list right now:
40_"We choose to go to the moon, not because it is easy, but because it is hard."_
40_"We choose to go to the moon, not because it is easy, but because it is hard."_
41— [John F. Kennedy](https://www.youtube.com/watch?v=g25G1M4EXrQ)
41— [John F. Kennedy](https://www.youtube.com/watch?v=g25G1M4EXrQ)
42
42
43−## <a name="prime"></a>Urbit is not ready for prime time.
43+## Urbit is not ready for prime time. {% #prime %}
44
44
45_TLDR_: we agree.
45_TLDR_: we agree.
46
46
@@ -68,7 +68,7 @@ maintained or stabilized by a mad auteur. Our primary goal today
68is expanding the number of people who understand Urbit, and we
68is expanding the number of people who understand Urbit, and we
69expect these pioneers to participate in technical governance.
69expect these pioneers to participate in technical governance.
70
70
71−## <a name="jets"></a>Nock jets are a total hoax.
71+## Nock jets are a total hoax. {% #jets %}
72
72
73_TLDR_: all of computing is a hoax. You can't compare a hoax
73_TLDR_: all of computing is a hoax. You can't compare a hoax
74to nothing. You can only compare it to all the other hoaxes.
74to nothing. You can only compare it to all the other hoaxes.
@@ -149,7 +149,7 @@ state. The way to resolve this conflict is for the current state
149to win, and the event history to be discarded -- not abnormal
149to win, and the event history to be discarded -- not abnormal
150anyway. See the next question.
150anyway. See the next question.
151
151
152−## <a name="log"></a>Urbit needs an infinitely extending packet/event.
152+## Urbit needs an infinitely extending packet/event. {% #log %}
153
153
154_TLDR_: no, it doesn't. Urbit can prune the log.
154_TLDR_: no, it doesn't. Urbit can prune the log.
155
155
@@ -166,7 +166,7 @@ checkpoint. Our present implementation doesn't provide a way to
166prune the event log. But that's just a missing feature. We have
166prune the event log. But that's just a missing feature. We have
167one or two of those!
167one or two of those!
168
168
169−## <a name="scam"></a>Urbit is a total scamcoin. It's 100% premined.
169+## Urbit is a total scamcoin. It's 100% premined. {% #scam %}
170
170
171_TLDR_: yeah. But at least it's not the DAO.
171_TLDR_: yeah. But at least it's not the DAO.
172
172
@@ -241,7 +241,7 @@ seem to have unexpected centripetal qualities, producing
241unanticipated concentrations of centralized hashpower. See the
241unanticipated concentrations of centralized hashpower. See the
242next objection.
242next objection.
243
243
244−## <a name="gov"></a>Urbit isn't even really decentralized! It has a government!
244+## Urbit isn't even really decentralized! It has a government! {% #gov %}
245
245
246_TLDR_: it's technically impossible for Urbit to be
246_TLDR_: it's technically impossible for Urbit to be
247decentralized at this stage of its life. Urbit is designed to
247decentralized at this stage of its life. Urbit is designed to
@@ -317,7 +317,7 @@ at best, and a hoax at worst. And of course, no one can DAO us
317Among other things, we check it into GitHub. GitHub is not a
317Among other things, we check it into GitHub. GitHub is not a
318blockchain -- but still, good luck with that.
318blockchain -- but still, good luck with that.
319
319
320−## <a name="sand"></a>Sandstorm/IPFS/Ethereum is way ahead of Urbit.
320+## Sandstorm/IPFS/Ethereum is way ahead of Urbit. {% #sand %}
321
321
322In general, web3 (next distributed web) solutions don't compete
322In general, web3 (next distributed web) solutions don't compete
323with each other. They support each other. Concretely, they are
323with each other. They support each other. Concretely, they are
@@ -362,7 +362,7 @@ expressive power; but identity is optimal for the UI of the
362common case. We'd need to see the Powerbox, Sandstorm's UI, more
362common case. We'd need to see the Powerbox, Sandstorm's UI, more
363fully fleshed out to understand its UI approach better.
363fully fleshed out to understand its UI approach better.
364
364
365−## <a name="planet"></a>Urbit doesn't have enough planets for every human
365+## Urbit doesn't have enough planets for every human {% #planet %}
366
366
367A 32-bit planet is a tool, not a toy. Like a car, it's a device
367A 32-bit planet is a tool, not a toy. Like a car, it's a device
368for a responsible and independent adult. There aren't 4 billion
368for a responsible and independent adult. There aren't 4 billion
@@ -388,7 +388,7 @@ social network social.
388There is always a tradeoff between free speech and free beer.
388There is always a tradeoff between free speech and free beer.
389Urbit will always choose free speech.
389Urbit will always choose free speech.
390
390
391−## <a name="pwned"></a>Cloud computing is inherently non-private.
391+## Cloud computing is inherently non-private. {% #pwned %}
392
392
393_TLDR_: a general-purpose cloud computer is much, much more
393_TLDR_: a general-purpose cloud computer is much, much more
394private than a special-purpose cloud computer. In general, a
394private than a special-purpose cloud computer. In general, a
@@ -430,7 +430,7 @@ course, since Urbit is formally specified, it's trivially
430portable. In fact, one strategy against sovereign adversaries
430portable. In fact, one strategy against sovereign adversaries
431may be continuous rotation between hosts, like an MX missile.
431may be continuous rotation between hosts, like an MX missile.
432
432
433−## <a name="code"></a>Urbit will never be able to call any existing code.
433+## Urbit will never be able to call any existing code. {% #code %}
434
434
435_TLDR_: neither will Javascript. And dear Unix, the browser
435_TLDR_: neither will Javascript. And dear Unix, the browser
436does not miss interacting with your `$LD_LIBRARY_PATH` at all.
436does not miss interacting with your `$LD_LIBRARY_PATH` at all.
@@ -444,7 +444,7 @@ When in doubt, remember that Urbit is "the browser for the server
444side." It plays by the same general rules. Isolation means
444side." It plays by the same general rules. Isolation means
445isolation.
445isolation.
446
446
447−## <a name="weird"></a>There's no way Urbit will ever be adopted. It's too weird.
447+## There's no way Urbit will ever be adopted. It's too weird. {% #weird %}
448
448
449_TLDR_: Urbit adoption is designed to be driven by ordinary end
449_TLDR_: Urbit adoption is designed to be driven by ordinary end
450users. Urbit isn't ready for ordinary end users yet. We're
450users. Urbit isn't ready for ordinary end users yet. We're
@@ -484,7 +484,7 @@ Urbit only gets adopted if it's useful as a personal server for
484human beings -- most of whom won't be Hoon programmers, or
484human beings -- most of whom won't be Hoon programmers, or
485programmers at all.
485programmers at all.
486
486
487−## <a name="program"></a>Hoon is too weird. No one will be able to program in it.
487+## Hoon is too weird. No one will be able to program in it. {% #program %}
488
488
489_TLDR_: Hoon is ridiculously simple. Our documentation and
489_TLDR_: Hoon is ridiculously simple. Our documentation and
490tooling are just immature.
490tooling are just immature.
@@ -523,7 +523,7 @@ Yes, we know: Hoon remains quite hard to learn. Again, we have
523no reason to think this problem isn't solvable. Public
523no reason to think this problem isn't solvable. Public
524enlightenment remains our main priority.
524enlightenment remains our main priority.
525
525
526−## <a name="stuck"></a>Urbit programmers are stuck with Hoon.
526+## Urbit programmers are stuck with Hoon. {% #stuck %}
527
527
528_TLDR_: patience, grasshopper.
528_TLDR_: patience, grasshopper.
529
529
@@ -534,7 +534,7 @@ write an interpreter for that language in Hoon. Second, jet that intepreter func
534It is not clear that Javascript is _quite_ well-defined enough
534It is not clear that Javascript is _quite_ well-defined enough
535for this treatment. But Lua probably is.
535for this treatment. But Lua probably is.
536
536
537−## <a name="user"></a>Ordinary users will never be able to manage an Urbit server.
537+## Ordinary users will never be able to manage an Urbit server. {% #user %}
538
538
539_TLDR_: Urbit's technical simplicity has always been designed
539_TLDR_: Urbit's technical simplicity has always been designed
540to drive human usability. But the polish is the last thing that
540to drive human usability. But the polish is the last thing that
@@ -581,7 +581,7 @@ a general-purpose computer. Computing isn't scary or dangerous.
581Unix and the Internet are scary and dangerous. That's fine for
581Unix and the Internet are scary and dangerous. That's fine for
582an industrial tool, but not a personal tool.
582an industrial tool, but not a personal tool.
583
583
584−## <a name="killer"></a>Urbit has no killer app.
584+## Urbit has no killer app. {% #killer %}
585
585
586_TLDR_: the killer app is personal API aggregation.
586_TLDR_: the killer app is personal API aggregation.
587
587
@@ -646,7 +646,7 @@ Stateful, self-updating, generic API aggregators with FUSE
646integration, also integrated with a reactive web server, are
646integration, also integrated with a reactive web server, are
647rarer.
647rarer.
648
648
649−## <a name="horse"></a> Urbit is sniffed at by Houyhnhyms.
649+## Urbit is sniffed at by Houyhnhyms. {% #horse %}
650
650
651It's difficult to categorize [this awesome
651It's difficult to categorize [this awesome
652essay](http://ngnghm.github.io/blog/2016/06/11/chapter-10-houyhnhnms-vs-martians/)
652essay](http://ngnghm.github.io/blog/2016/06/11/chapter-10-houyhnhnms-vs-martians/)
content/blog/creating-sigils.md+2−2
@@ -21,7 +21,7 @@ From a design standpoint, some of this is accomplished simply by having a system
21
21
22While the names are great, they’re not quite enough, especially in a rich interface. Each Urbit ID really needed some form of visual representation, image, or crest. A digital identity needs to be something you can really attach to, both yours and those that belong to your friends.
22While the names are great, they’re not quite enough, especially in a rich interface. Each Urbit ID really needed some form of visual representation, image, or crest. A digital identity needs to be something you can really attach to, both yours and those that belong to your friends.
23
23
24−There are 2<sup>32</sup> or 4.2 billion unique Urbit IDs. Clearly there’s no way that we were going to do this by hand. And purely algorithmic solutions can often produce disappointing, undifferentiated output.
24+There are 2^32^ or 4.2 billion unique Urbit IDs. Clearly there’s no way that we were going to do this by hand. And purely algorithmic solutions can often produce disappointing, undifferentiated output.
25
25
26Regardless, we set out to tackle this problem. By the end of this process, every Urbit ID got its very own ‘sigil.’
26Regardless, we set out to tackle this problem. By the end of this process, every Urbit ID got its very own ‘sigil.’
27
27
@@ -75,7 +75,7 @@ Ultimately, we didn’t specifically draw on any of these influences very consci
75
75
76> _“Lev’s sigil appeared, strobing, as Netherton was getting out of the cab in Henrietta Street. “Yes?” Netherton asked.”_
76> _“Lev’s sigil appeared, strobing, as Netherton was getting out of the cab in Henrietta Street. “Yes?” Netherton asked.”_
77>
77>
78−> <cite>— William Gibson, The Peripheral</cite>
78+> **— William Gibson, The Peripheral**
79
79
80Before we get to how we worked through the problem of actually designing these things, let’s talk about the problem of naming.
80Before we get to how we worked through the problem of actually designing these things, let’s talk about the problem of naming.
81
81
content/blog/eliza.md+1−1
@@ -23,7 +23,7 @@ Hang on. An AI? Harvesting my data? Spying on me? Flooding me with spam? This is
23
23
24> Replicants are like any other machine - they're either a benefit or a hazard. If they're a benefit, it's not my problem.
24> Replicants are like any other machine - they're either a benefit or a hazard. If they're a benefit, it's not my problem.
25>
25>
26−> <cite>Rick Deckard</cite>
26+> **Rick Deckard**
27
27
28Let's start with the benefits. Eliza is a simple chatbot. She was made to collect feedback on Landscape. She asks direct questions about peoples' usage of Urbit, records any responses, and reports them to her managers at Tlon. She'll also provide timely advice and information to ships kind enough to chat with her. She'll begin reaching out to ships via DM in the coming month. If you don't want to, just say no, and you'll never hear from her again.
28Let's start with the benefits. Eliza is a simple chatbot. She was made to collect feedback on Landscape. She asks direct questions about peoples' usage of Urbit, records any responses, and reports them to her managers at Tlon. She'll also provide timely advice and information to ships kind enough to chat with her. She'll begin reaching out to ships via DM in the coming month. If you don't want to, just say no, and you'll never hear from her again.
29
29
content/blog/interplanetary_commerce.md+1−1
@@ -21,7 +21,7 @@ Things only accelerate from here. Our next objective, to integrate Lightning Net
21
21
22> And there is all the difference in the world between paying and being paid. The act of paying is perhaps the most uncomfortable infliction that the two orchard thieves entailed upon us. But being paid,—what will compare with it?
22> And there is all the difference in the world between paying and being paid. The act of paying is perhaps the most uncomfortable infliction that the two orchard thieves entailed upon us. But being paid,—what will compare with it?
23>
23>
24−> <cite>Herman Melville</cite>
24+> **Herman Melville**
25
25
26However, a good wallet is only half the equation for a holistic P2P commercial experience. Interfaces for selling goods and services is the other half. While we don’t part with our Bitcoin [easily](https://nakamotoinstitute.org/mempool/everyones-a-scammer/), two initial markets appear logical and attractive: content and Urbit-native services.
26However, a good wallet is only half the equation for a holistic P2P commercial experience. Interfaces for selling goods and services is the other half. While we don’t part with our Bitcoin [easily](https://nakamotoinstitute.org/mempool/everyones-a-scammer/), two initial markets appear logical and attractive: content and Urbit-native services.
27
27
content/blog/pki-maze.md+1−1
@@ -43,7 +43,7 @@ Some argue that blockchain is only good for money. This is myopic and is general
43
43
44Thus, we store our PKI data on a blockchain for our second kind of name: planets. A planet is a 32-bit address which has key information stored on the blockchain.[^2] The owner of a planet may broadcast new PKI data by adding it to the blockchain. Any later messages by the old keys will be rejected, and everyone on the network will listen to the blockchain for key data. Thus, we have global consistency, permanence, and self sovereignty. We know of no other solution that can provide these properties.
44Thus, we store our PKI data on a blockchain for our second kind of name: planets. A planet is a 32-bit address which has key information stored on the blockchain.[^2] The owner of a planet may broadcast new PKI data by adding it to the blockchain. Any later messages by the old keys will be rejected, and everyone on the network will listen to the blockchain for key data. Thus, we have global consistency, permanence, and self sovereignty. We know of no other solution that can provide these properties.
45
45
46−However, while small individually, the aggregate PKI data for all nodes on the network may become very large. This is not an issue for comets because nobody needs to store comet keys except for those which they're talking with, and even those can be garbage-collected and re-requested and verified. For planets, there is a canonical set of keys, and somebody must store that. There are about 2<sup>32</sup>, or 4 billion planets. If the PKI data is about 100 bytes for each planet, this is about 400 GB of data. This may be more than most users wish to store, but it's small enough that it would be very cheap for someone to host this data for many users[^3].
46+However, while small individually, the aggregate PKI data for all nodes on the network may become very large. This is not an issue for comets because nobody needs to store comet keys except for those which they're talking with, and even those can be garbage-collected and re-requested and verified. For planets, there is a canonical set of keys, and somebody must store that. There are about 2^32^, or 4 billion planets. If the PKI data is about 100 bytes for each planet, this is about 400 GB of data. This may be more than most users wish to store, but it's small enough that it would be very cheap for someone to host this data for many users[^3].
47
47
48This information is currently stored directly on the Ethereum 1.0 blockchain, but as is well understood in blockchain circles this approach will not scale beyond a certain point. Many chains are pursing designs that allow the users of the smart contracts to store locally the data associated with the contracts they care about and only commit hashes to the chain. We expect there to be several viable options for this by the time our scaling needs exceed what's provided by Ethereum 1.0. This will free us from the cost of hosting the PKI data on all Ethereum nodes, but the data must still be stored somewhere. Any service that could handle such a large amount of data would inherently centralize the network.
48This information is currently stored directly on the Ethereum 1.0 blockchain, but as is well understood in blockchain circles this approach will not scale beyond a certain point. Many chains are pursing designs that allow the users of the smart contracts to store locally the data associated with the contracts they care about and only commit hashes to the chain. We expect there to be several viable options for this by the time our scaling needs exceed what's provided by Ethereum 1.0. This will free us from the cost of hosting the PKI data on all Ethereum nodes, but the data must still be stored somewhere. Any service that could handle such a large amount of data would inherently centralize the network.
49
49
content/blog/tools-of-our-own.md+3−3
@@ -13,7 +13,7 @@ image = "https://media.urbit.org/site/posts/essays/tools-of-our-own-1.png"
13
13
14> People need only not to obtain things, they need above all the freedom to make things among which they can live, or give shape to them according to their own tastes, and to put them to use in caring for and about others.
14> People need only not to obtain things, they need above all the freedom to make things among which they can live, or give shape to them according to their own tastes, and to put them to use in caring for and about others.
15>
15>
16−> <cite>Ivan Illich, <em>Tools for Conviviality</em></cite>
16+> **Ivan Illich, *Tools for Conviviality***
17
17
18One of the recent ways we've come to describe the mission of the Urbit project is to give communities [the power to shape, or evolve, their digital environments](https://urbit.org/blog/urbit-is-for-communities/). Of course, like many of our definitions, it requires some background to really contextualize the claim. When I describe this particular statement to people, they often ask, "What does that _mean_, though? What is a digital environment, and why would I need Urbit to do it?"
18One of the recent ways we've come to describe the mission of the Urbit project is to give communities [the power to shape, or evolve, their digital environments](https://urbit.org/blog/urbit-is-for-communities/). Of course, like many of our definitions, it requires some background to really contextualize the claim. When I describe this particular statement to people, they often ask, "What does that _mean_, though? What is a digital environment, and why would I need Urbit to do it?"
19
19
@@ -29,7 +29,7 @@ And it's nobody's distinct fault that the experience of aligning all these dispa
29
29
30> If you don't understand a system you're using, you don't control it. If nobody understands the system, the system is in control.
30> If you don't understand a system you're using, you don't control it. If nobody understands the system, the system is in control.
31>
31>
32−> <cite>Philip Monk, [Precepts](https://urbit.org/blog/precepts/)</cite>
32+> **Philip Monk, [Precepts](https://urbit.org/blog/precepts/)**
33
33
34If you asked any of the creators of the social tools we use today what their mission was, it would seem neutral, a public good. To "bring the world closer," to "make a more open and connected world," to "easily see what's happening in the world." Ignore the fact that the net effects of their products are far more mixed than their mission suggests: for many users, the tools themselves come second to the power the tools have in capturing their social graph.
34If you asked any of the creators of the social tools we use today what their mission was, it would seem neutral, a public good. To "bring the world closer," to "make a more open and connected world," to "easily see what's happening in the world." Ignore the fact that the net effects of their products are far more mixed than their mission suggests: for many users, the tools themselves come second to the power the tools have in capturing their social graph.
35
35
@@ -53,7 +53,7 @@ This is why hybrid products are born _and_ why massive enterprises are shifting
53
53
54> “Autonomy” means that we make the **worlds that we are** grow.
54> “Autonomy” means that we make the **worlds that we are** grow.
55>
55>
56−> <cite>Tiqqun, <em>The Cybernetic Hypothesis</em>
56+> **Tiqqun, *The Cybernetic Hypothesis*
57
57
58So why does this matter for us? Me and you and everyone we know? We put up with the cost all the time. But the limitations of our tools—on the vulnerable side of a power dynamic that, unbeknownst to everyone involved, functions as a catalyzed and increasingly accelerated system bringing out the worst in all of us—range from the everyday annoyances to a pervasive alienation, an information malaise.
58So why does this matter for us? Me and you and everyone we know? We put up with the cost all the time. But the limitations of our tools—on the vulnerable side of a power dynamic that, unbeknownst to everyone involved, functions as a catalyzed and increasingly accelerated system bringing out the worst in all of us—range from the everyday annoyances to a pervasive alienation, an information malaise.
59
59
content/blog/urbit-for-normies.md+1−2
@@ -95,7 +95,7 @@ I’ll try to explain the most important of these without straying too deep into
95
95
964. **An incentive for good behavior**
964. **An incentive for good behavior**
97
97
98− On the Urbit network, identities are finite, and they accrue reputation. Compare that to the current internet where identity is infinite (anyone can create as many email addresses or social media profiles as they want, essentially for free) and so spam, scams, and DoS attacks (“denial-of-service”: when many disposable identities ‘attack’ a server at the same time) are rampant. On the Urbit network, there are just over 4 billion total IDs (2<sup>32</sup> to be exact). Scarcity creates value. That scarcity, combined with reputation accrual, means there's an incentive for good behavior.
98+ On the Urbit network, identities are finite, and they accrue reputation. Compare that to the current internet where identity is infinite (anyone can create as many email addresses or social media profiles as they want, essentially for free) and so spam, scams, and DoS attacks (“denial-of-service”: when many disposable identities ‘attack’ a server at the same time) are rampant. On the Urbit network, there are just over 4 billion total IDs (2^32^ to be exact). Scarcity creates value. That scarcity, combined with reputation accrual, means there's an incentive for good behavior.
99
99
100 You might think 4 billion IDs sounds like too few given how many humans we have on the planet. I won’t go into the technical details here, but if we ever get to the point where that’s a problem (which would be a great problem to have), we’ve outlined several solutions that allow everyone alive to get on the network. We don’t intend to lock anyone out.
100 You might think 4 billion IDs sounds like too few given how many humans we have on the planet. I won’t go into the technical details here, but if we ever get to the point where that’s a problem (which would be a great problem to have), we’ve outlined several solutions that allow everyone alive to get on the network. We don’t intend to lock anyone out.
101
101
@@ -121,7 +121,6 @@ I’ll try to explain the most important of these without straying too deep into
121
121
122 What all this adds up to is that the Urbit network is immensely more resource efficient, secure, easier to customize, and smaller in size than any other computing system in the world. If you care about data security, privacy, durability, or even just elegance, Urbit has the best design going.
122 What all this adds up to is that the Urbit network is immensely more resource efficient, secure, easier to customize, and smaller in size than any other computing system in the world. If you care about data security, privacy, durability, or even just elegance, Urbit has the best design going.
123
123
124− </br>
125
124
126![](https://media.urbit.org/site/posts/essays/normies-2.png)
125![](https://media.urbit.org/site/posts/essays/normies-2.png)
127
126
content/blog/value-of-address-space-pt1.md+4−4
@@ -47,15 +47,15 @@ We’ve often said that Urbit IDs have value because they’re useful and scarce
47
47
48The network of IDs is structured as a sponsorship tree consisting of 256 galaxies, ~65,000 stars, ~4B planets.
48The network of IDs is structured as a sponsorship tree consisting of 256 galaxies, ~65,000 stars, ~4B planets.
49
49
50−Galaxies are the root nodes on the network. They each have a vote on upgrades to the rules that govern the network, they provide packet-routing and peer-discovery services, and they spawn stars. Each galaxy has 256 (2<sup>8</sup>) stars to spawn.
50+Galaxies are the root nodes on the network. They each have a vote on upgrades to the rules that govern the network, they provide packet-routing and peer-discovery services, and they spawn stars. Each galaxy has 256 (2^8^) stars to spawn.
51
51
52−Stars similarly provide packet-routing and peer-discovery services, and spawn planets. Each unbooted star contains ~65,000 planets (2<sup>16</sup>).
52+Stars similarly provide packet-routing and peer-discovery services, and spawn planets. Each unbooted star contains ~65,000 planets (2^16^).
53
53
54−Planets are the individual IDs that most people use on the network. There are a total of ~4B (2<sup>32</sup>) planets all combined. Planets can also each spawn ~4B ‘moons,’ which are Urbit IDs intended to be used for IoT and other devices. Moons are permanently locked to their planets for security and to protect the network from sybil attacks.
54+Planets are the individual IDs that most people use on the network. There are a total of ~4B (2^32^) planets all combined. Planets can also each spawn ~4B ‘moons,’ which are Urbit IDs intended to be used for IoT and other devices. Moons are permanently locked to their planets for security and to protect the network from sybil attacks.
55
55
56Stars and planets can leave their sponsors (i.e. the star or galaxy currently providing peer discovery and packet routing) if they wish, and sponsors can choose to stop servicing any given star or planet. This is intended to prevent lock-in and to encourage good behavior from both parties. This mutual accountability is important in a network of finite identities that accrue reputation.
56Stars and planets can leave their sponsors (i.e. the star or galaxy currently providing peer discovery and packet routing) if they wish, and sponsors can choose to stop servicing any given star or planet. This is intended to prevent lock-in and to encourage good behavior from both parties. This mutual accountability is important in a network of finite identities that accrue reputation.
57
57
58−Essentially Urbit ID is 2<sup>32</sup> individual names that are bundled into blocks that are larger and larger in size. You might think of a planet like an individual house, a star like a town or a city, and a galaxy like a county or a state.
58+Essentially Urbit ID is 2^32^ individual names that are bundled into blocks that are larger and larger in size. You might think of a planet like an individual house, a star like a town or a city, and a galaxy like a county or a state.
59
59
60The Urbit ID registry and its rules are built on a set of smart contracts called [Azimuth](https://github.com/urbit/azimuth). These contracts are registered on the Ethereum blockchain. Galaxies can upgrade the mechanics of Azimuth by majority vote.
60The Urbit ID registry and its rules are built on a set of smart contracts called [Azimuth](https://github.com/urbit/azimuth). These contracts are registered on the Ethereum blockchain. Galaxies can upgrade the mechanics of Azimuth by majority vote.
61
61
content/blog/value-of-address-space-pt2.md+1−1
@@ -31,7 +31,7 @@ There are 65,280 total stars on the network. In turn, each star is initialized w
31
31
32One would expect that in an efficient market the relative pricing of stars on one hand, and planets on the other hand would eventually align (so to speak). This may come to pass as the Urbit community increases education about Urbit, and as additional planet sellers and hosting providers enter the space.
32One would expect that in an efficient market the relative pricing of stars on one hand, and planets on the other hand would eventually align (so to speak). This may come to pass as the Urbit community increases education about Urbit, and as additional planet sellers and hosting providers enter the space.
33
33
34−Finally, there are 4,294,901,760 (or ~2<sup>32</sup>) planets on the network. Planets currently trade largely in a range of $10 to $15. We expect planet prices to fluctuate from provider to provider as described in the previous post, based on the quality of services various providers offer. That said, it's worth noting that the cost to configure addresses for distribution is fairly static and this may act as something of a lower bound.
34+Finally, there are 4,294,901,760 (or ~2^32^) planets on the network. Planets currently trade largely in a range of $10 to $15. We expect planet prices to fluctuate from provider to provider as described in the previous post, based on the quality of services various providers offer. That said, it's worth noting that the cost to configure addresses for distribution is fairly static and this may act as something of a lower bound.
35
35
36That said, we also anticipate that planet prices will be abstracted away from most purchasers, and will be included in bundled annual packages of hosting and data routing services. For this reason, infrastructure service providers (i.e. hosting providers) will likely be the best positioned parties to capture value from planet distribution.
36That said, we also anticipate that planet prices will be abstracted away from most purchasers, and will be included in bundled annual packages of hosting and data routing services. For this reason, infrastructure service providers (i.e. hosting providers) will likely be the best positioned parties to capture value from planet distribution.
37
37
content/blog/value-of-address-space-pt3.md+1−1
@@ -31,7 +31,7 @@ In this post, we don’t expand that framework, but rather explore two elements
31
31
32## Lockups and spawning limits
32## Lockups and spawning limits
33
33
34−One way to think about galaxies, stars, and planets is that they’re different-sized buckets of Urbit IDs. A star contains 2<sup>16</sup> (~65K) planets, a galaxy contains 2<sup>8</sup> (256) stars and, in turn, 2<sup>24</sup> planets (16,777,216). Beyond this nesting pattern, there are three further considerations to note: booted versus unbooted addresses, locked versus unlocked addresses, and planet spawning limits.
34+One way to think about galaxies, stars, and planets is that they’re different-sized buckets of Urbit IDs. A star contains 2^16^ (~65K) planets, a galaxy contains 2^8^ (256) stars and, in turn, 2^24^ planets (16,777,216). Beyond this nesting pattern, there are three further considerations to note: booted versus unbooted addresses, locked versus unlocked addresses, and planet spawning limits.
35
35
36Booted and Unbooted Addresses –
36Booted and Unbooted Addresses –
37
37
content/blog/why-hoon.md+2−2
@@ -125,7 +125,7 @@ Hoon and Nock have several unusual properties:
125 converted to each other. Lisp dialects are also homoiconic, but Hoon
125 converted to each other. Lisp dialects are also homoiconic, but Hoon
126 and Nock are arguably even more so, since things like closures and the
126 and Nock are arguably even more so, since things like closures and the
127 environment are just Nock trees. We even have a statically typed
127 environment are just Nock trees. We even have a statically typed
128− metacircular interpreter called <code>+mule</code>. We run userspace code
128+ metacircular interpreter called `+mule`. We run userspace code
129 metacircularly with negligible performance overhead because of Urbit's
129 metacircularly with negligible performance overhead because of Urbit's
130 jet system. In Lisp, "eval is evil" is a common saying, but in Urbit,
130 jet system. In Lisp, "eval is evil" is a common saying, but in Urbit,
131 eval is a first-class feature.
131 eval is a first-class feature.
@@ -199,7 +199,7 @@ Hoon and Nock have several unusual properties:
199 lot of the system manipulates types. In particular, the `!>` rune, when
199 lot of the system manipulates types. In particular, the `!>` rune, when
200 applied to a piece of data, uses compile-time type reflection to
200 applied to a piece of data, uses compile-time type reflection to
201 produce something called a "vase": a pair of type and data, similar to
201 produce something called a "vase": a pair of type and data, similar to
202− a <code>Data.Dynamic</code> in Haskell, or a limited form of a dependent pair.
202+ a `Data.Dynamic` in Haskell, or a limited form of a dependent pair.
203 Since the Arvo kernel does a lot of dynamic compilation, it uses vases
203 Since the Arvo kernel does a lot of dynamic compilation, it uses vases
204 to implement something akin to a dynamically typed language using
204 to implement something akin to a dynamically typed language using
205 Hoon. This allows for type-safe dynamic program loading, program
205 Hoon. This allows for type-safe dynamic program loading, program
content/community/meetups.md−3
@@ -9,10 +9,7 @@ hideprevious = "true"
9hide_next_title = "true"
9hide_next_title = "true"
10+++
10+++
11
11
12−<picture>
13−<source src="https://media.urbit.org/site/meetup1.jpg">
14![](https://media.urbit.org/site/meetup1.jpg)
12![](https://media.urbit.org/site/meetup1.jpg)
15−</picture>
16
13
17Turns out that getting Urbit fans together in one room is pretty fun. Here's an incomplete list of community-led Urbit IRL groups. These events are generally informal and very approachable – feel free to dive in.
14Turns out that getting Urbit fans together in one room is pretty fun. Here's an incomplete list of community-led Urbit IRL groups. These events are generally informal and very approachable – feel free to dive in.
18
15
content/docs/hoon/overview.md+1−1
@@ -199,7 +199,7 @@ Hoon and Nock have several unusual properties:
199 lot of the system manipulates types. In particular, the `!>` rune, when
199 lot of the system manipulates types. In particular, the `!>` rune, when
200 applied to a piece of data, uses compile-time type reflection to
200 applied to a piece of data, uses compile-time type reflection to
201 produce something called a "vase": a pair of type and data, similar to
201 produce something called a "vase": a pair of type and data, similar to
202− a <code>Data.Dynamic</code> in Haskell, or a limited form of a dependent pair.
202+ a `Data.Dynamic` in Haskell, or a limited form of a dependent pair.
203 Since the Arvo kernel does a lot of dynamic compilation, it uses vases
203 Since the Arvo kernel does a lot of dynamic compilation, it uses vases
204 to implement something akin to a dynamically typed language using
204 to implement something akin to a dynamically typed language using
205 Hoon. This allows for type-safe dynamic program loading, program
205 Hoon. This allows for type-safe dynamic program loading, program
content/docs/userspace/dist/glob.md+1−1
@@ -43,7 +43,7 @@ foo
43}
43}
44```
44```
45
45
46−<sup>Note: The mime byte-length and data are 0 in this example because it was made with empty dummy files.</sup>
46+Note: The mime byte-length and data are 0 in this example because it was made with empty dummy files.
47
47
48A glob may contain any number of files and folders in any kind of heirarchy. The one important thing is that an `index.html` file is present in its root. The `index.html` file is automatically served when the app is opened in the browser and will fail if it is missing.
48A glob may contain any number of files and folders in any kind of heirarchy. The one important thing is that an `index.html` file is present in its root. The `index.html` file is automatically served when the app is opened in the browser and will fail if it is missing.
49
49
content/docs/userspace/graph-store/data-structure-overview.md−9
@@ -12,9 +12,6 @@ Let's go through the type definitions of some of the most used types when workin
12
12
13Here's `sur/post.hoon`
13Here's `sur/post.hoon`
14
14
15−<details>
16− <summary> Code Listing (Click to Expand)</summary>
17−
18```hoon
15```hoon
19+$ index (list atom)
16+$ index (list atom)
20+$ uid [=resource =index]
17+$ uid [=resource =index]
@@ -57,8 +54,6 @@ Here's `sur/post.hoon`
57 ==
54 ==
58```
55```
59
56
60−</details>
61−
62### Index
57### Index
63
58
64```hoon
59```hoon
@@ -156,9 +151,6 @@ The parts of a `post` that are actually hashed to obtain a value of type the ear
156
151
157Here's `sur/graph-store.hoon`
152Here's `sur/graph-store.hoon`
158
153
159−<details>
160−<summary>Code Listing (Click To Expand)</summary>
161−
162```hoon
154```hoon
163+$ graph ((mop atom node) gth)
155+$ graph ((mop atom node) gth)
164+$ marked-graph [p=graph q=(unit mark)]
156+$ marked-graph [p=graph q=(unit mark)]
@@ -230,7 +222,6 @@ Here's `sur/graph-store.hoon`
230 ?(%no %self %yes)
222 ?(%no %self %yes)
231```
223```
232
224
233−</details>
234
225
235### Graph, Node, and Related Objects
226### Graph, Node, and Related Objects
236
227
content/faq.md+4−4
@@ -91,15 +91,15 @@ Be careful about using online versions of Bridge not hosted on urbit.org. Since
91
91
92### Why aren't there more planets? {% #more-planets %}
92### Why aren't there more planets? {% #more-planets %}
93
93
94−Urbit is designed to be as simple as possible. The sponsorship tree for Urbit ID simply expands by squaring the size of the last tier. That is, there are <span class="mono">2<sup>8</sup> (256)</span> [galaxies](/docs/glossary/galaxy), <span class="mono">(2<sup>8</sup>)<sup>2</sup> = 2<sup>16</sup> (~65K)</span> [stars](/docs/glossary/star), <span class="mono">(2<sup>16</sup>)<sup>2</sup> = 2<sup>32</sup> (~4B)</span> [planets](/docs/glossary/planet). There are <span class="mono">2<sup>64</sup></span> [moons](/docs/glossary/moon) — but moons are tethered to their planet, unlike stars and planets.
94+Urbit is designed to be as simple as possible. The sponsorship tree for Urbit ID simply expands by squaring the size of the last tier. That is, there are <span class="mono">2^8^ (256)</span> [galaxies](/docs/glossary/galaxy), <span class="mono">(2^8^)^2^ = 2^16^ (~65K)</span> [stars](/docs/glossary/star), <span class="mono">(2^16^)^2^ = 2^32^ (~4B)</span> [planets](/docs/glossary/planet). There are <span class="mono">2^64^</span> [moons](/docs/glossary/moon) — but moons are tethered to their planet, unlike stars and planets.
95
95
96−This pattern exists because it’s a simple way to enforce the scarcity of addresses and build a friendly network. When a tier of the address space begins to be populated, we start populating the next tier down. When Urbit nears the limit of <span class="mono">2<sup>32</sup> (4B)</span> planets, we’ll figure out a way to populate the <span class="mono">2<sup>64</sup></span> moons. The galaxies that govern the Urbit ID contracts can always vote to upgrade them — and we expect that they will.
96+This pattern exists because it’s a simple way to enforce the scarcity of addresses and build a friendly network. When a tier of the address space begins to be populated, we start populating the next tier down. When Urbit nears the limit of <span class="mono">2^32^ (4B)</span> planets, we’ll figure out a way to populate the <span class="mono">2^64^</span> moons. The galaxies that govern the Urbit ID contracts can always vote to upgrade them — and we expect that they will.
97
97
98−The problem with populating the moons now is that <span class="mono">2<sup>64</sup></span> is a _really, really big_ number. We’ll need some way of differentiating between humans and their devices (to prevent devices turning into rogue botnets). But that’s a hard problem, and we prefer to start with the simplest possible solution before solving hard problems. The current scheme works. Once we need to update it, we’ll figure it out.
98+The problem with populating the moons now is that <span class="mono">2^64^</span> is a _really, really big_ number. We’ll need some way of differentiating between humans and their devices (to prevent devices turning into rogue botnets). But that’s a hard problem, and we prefer to start with the simplest possible solution before solving hard problems. The current scheme works. Once we need to update it, we’ll figure it out.
99
99
100The number of addresses is in a sort of 'Goldilocks zone' for preventing spam. Too many addresses will result in them being very cheap and thus spammers can just acquire more once they get blocked. Too few addresses and they end up too expensive for the average user. The technical term for what the finite address space bestows upon the network is [Sybil resistance](https://en.wikipedia.org/wiki/Sybil_attack), a very important property for any decentralized network.
100The number of addresses is in a sort of 'Goldilocks zone' for preventing spam. Too many addresses will result in them being very cheap and thus spammers can just acquire more once they get blocked. Too few addresses and they end up too expensive for the average user. The technical term for what the finite address space bestows upon the network is [Sybil resistance](https://en.wikipedia.org/wiki/Sybil_attack), a very important property for any decentralized network.
101
101
102−It’s also worth noting that, while there are almost 8B people on Earth, there are almost certainly not 8B internet users. Facebook has about 2.5B users, Apple has about 1B. Urbit has a long way to go before we get close to <span class="mono">2<sup>32</sup></span>.
102+It’s also worth noting that, while there are almost 8B people on Earth, there are almost certainly not 8B internet users. Facebook has about 2.5B users, Apple has about 1B. Urbit has a long way to go before we get close to <span class="mono">2^32^</span>.
103
103
104(For more background on why Urbit ID is the way it is, read [this](/understanding-urbit/urbit-id/).)
104(For more background on why Urbit ID is the way it is, read [this](/understanding-urbit/urbit-id/).)
105
105
content/getting-started/get-planet.md+17−33
@@ -43,38 +43,28 @@ Layer 2 planets do not require any crypto wallet management, but are at present
43Don’t worry, both types work the same on the network.
43Don’t worry, both types work the same on the network.
44
44
45Here are a few of the places where you can buy planets:
45Here are a few of the places where you can buy planets:
46−
46+{% table .w-full .my-4 %}
47−<div style="display: flex;padding-top: 2rem;">
48−
49−<div class="column">
50−
51−**L1 Planet Markets**
47+* L1 Planet Markets
52−
48+* L2 Planet Markets
49+---
50+*
53−- [Urbitex](https://urbitex.io)
51+ - [Urbitex](https://urbitex.io)
54−- [Urbit.live](https://urbit.live)
52+ - [Urbit.live](https://urbit.live)
55−- [Urbit.me](https://urbit.me)
53+ - [Urbit.me](https://urbit.me)
56−
54+*
57−</div>
58−
59−<div class="column">
60−
61−**L2 Planet Markets**
62−
63−- [azimuth.shop](https://azimuth.shop)
55+ - [azimuth.shop](https://azimuth.shop)
64−- [\_networked subject](https://subject.network)
56+ - [\_networked subject](https://subject.network)
65−- [~mocbel house](https://mocbel.house)
57+ - [~mocbel house](https://mocbel.house)
66−- [Wexpert Systems](https://wexpert.systems)
58+ - [Wexpert Systems](https://wexpert.systems)
67−
59+{% /table %}
68−</div>
60+
69−</div>
61+{% callout %}
70−
71−<div class="rounded-xl bg-wall-100" style="padding: 2rem; margin-top: 4rem;">
72
62
73**Layer 2 for planets**
63**Layer 2 for planets**
74
64
75Learn more about [layer 2 for planets](/using/id/layer-2-for-planets) in the User's Manual page on the topic.
65Learn more about [layer 2 for planets](/using/id/layer-2-for-planets) in the User's Manual page on the topic.
76
66
77−</div>
67+{% /callout %}
78
68
79### Next steps
69### Next steps
80
70
@@ -87,9 +77,3 @@ Read the [Server setup](/getting-started/server) guide to learn how to get it se
87Or, follow the instructions of a [hosting provider](/getting-started/hosted) and set up your planet there.
77Or, follow the instructions of a [hosting provider](/getting-started/hosted) and set up your planet there.
88
78
89Remember, your planet is yours and you can always change how you run your urbit in the future.
79Remember, your planet is yours and you can always change how you run your urbit in the future.
90−
91−<style>
92− .column {
93− flex-basis: 50%;
94− }
95−</style>
content/getting-started/server.md+14−57
@@ -18,7 +18,7 @@ Visit the instructions for [launching a temporary comet with Port](/getting-star
18
18
19There are many markets and individuals selling planets such as [azimuth.shop](https://azimuth.shop), [Networked Subject](https://subject.network), and [Wexpert Systems](https://wexpert.systems) for Ethereum, Bitcoin, and USD respectively.
19There are many markets and individuals selling planets such as [azimuth.shop](https://azimuth.shop), [Networked Subject](https://subject.network), and [Wexpert Systems](https://wexpert.systems) for Ethereum, Bitcoin, and USD respectively.
20
20
21−<div className="bg-wall-100 p-7 rounded-xl markdown-callout">
21+{% callout %}
22
22
23**Layer 1 vs Layer 2 planet purchasing**
23**Layer 1 vs Layer 2 planet purchasing**
24
24
@@ -26,8 +26,7 @@ The websites listed in B) sell Layer 2 (L2) planets -- which means they avoid Et
26
26
27For this reason we generally advise using a L2 planet market, unless you are interested in a very rare sigil or a particular planet name.
27For this reason we generally advise using a L2 planet market, unless you are interested in a very rare sigil or a particular planet name.
28
28
29−</div>
29+{% /callout %}
30−
31### 2. Claim your planet
30### 2. Claim your planet
32
31
33An invitation to claim your planet comes in one of two forms.
32An invitation to claim your planet comes in one of two forms.
@@ -40,14 +39,13 @@ The second, only recently made available through our [L2 solution](/using/id/lay
40
39
41Clicking a link to activate a planet on Bridge will take you to page which will generate a Master Ticket for you. Follow the instructions which will prompt you to download a copy of your Passport - your Master Ticket, management proxy, and keyfile. Store your Master Ticket and management proxy somewhere safe, hold on to the keyfile, and proceed to the next step.
40Clicking a link to activate a planet on Bridge will take you to page which will generate a Master Ticket for you. Follow the instructions which will prompt you to download a copy of your Passport - your Master Ticket, management proxy, and keyfile. Store your Master Ticket and management proxy somewhere safe, hold on to the keyfile, and proceed to the next step.
42
41
43−<div className="bg-wall-100 p-7 rounded-xl markdown-callout">
42+{% callout %}
44
43
45**Claiming L1 planets**
44**Claiming L1 planets**
46
45
47If you’ve purchased an L1 planet, you won’t need to claim it because you already own it as an NFT. Simply log into Bridge using Metamask or your wallet of choice.
46If you’ve purchased an L1 planet, you won’t need to claim it because you already own it as an NFT. Simply log into Bridge using Metamask or your wallet of choice.
48
47
49−</div>
48+{% /callout %}
50−
51### 3. Use Bridge to get your keyfile
49### 3. Use Bridge to get your keyfile
52
50
53Now that you have your planet, you can create your keyfile (eg. `sample-palnet.key`), which is the cryptographic signature required to encrypt and decrypt messages on Urbit's P2P network.
51Now that you have your planet, you can create your keyfile (eg. `sample-palnet.key`), which is the cryptographic signature required to encrypt and decrypt messages on Urbit's P2P network.
@@ -69,10 +67,9 @@ You may also want to see the cloud hosting guide for additional details like set
69
67
70Download Urbit with the following commands:
68Download Urbit with the following commands:
71
69
72−<div id="os" class="os">
70+{% tabs %}
73− <input type="radio" id="macos" name="os" checked>
71+
74− <label for="macos">MacOS</label>
72+{% tab label="MacOS" %}
75− <div class="tab">
76
73
77```bash
74```bash
78mkdir ~/urbit
75mkdir ~/urbit
@@ -82,11 +79,9 @@ tar zxvf ./darwin.tgz --strip=1
82~/urbit/urbit
79~/urbit/urbit
83```
80```
84
81
85− </div>
82+{% /tab %}
86
83
87− <input type="radio" id="linux" name="os">
88− <label for="linux">Linux</label>
84+{% tab label="Linux" %}
89− <div class="tab">
90
85
91```shell
86```shell
92mkdir ~/urbit
87mkdir ~/urbit
@@ -103,11 +98,9 @@ sudo apt-get install libcap2-bin
103sudo setcap 'cap_net_bind_service=+ep' ~/urbit/urbit
98sudo setcap 'cap_net_bind_service=+ep' ~/urbit/urbit
104```
99```
105
100
106−</div>
101+{% /tab %}
107
102
108− <input type="radio" id="windows" name="os">
109− <label for="windows">Windows</label>
103+{% tab label="Windows" %}
110− <div class="tab">
111
104
112```winbatch
105```winbatch
113mkdir %USERPROFILE%\urbit
106mkdir %USERPROFILE%\urbit
@@ -119,8 +112,9 @@ tar zxvf .\windows.tgz --strip=1
119
112
120> Windows 10 build 17063 and later includes the familiar `curl` and `tar` command-line tools.
113> Windows 10 build 17063 and later includes the familiar `curl` and `tar` command-line tools.
121
114
122−</div>
115+{% /tab %}
123−</div>
116+
117+{% /tabs %}
124
118
125Next, transfer `your-keyfile.key` to your server using scp or an FTP client, then move it to the `~/urbit` directory you created in the last step.
119Next, transfer `your-keyfile.key` to your server using scp or an FTP client, then move it to the `~/urbit` directory you created in the last step.
126
120
@@ -165,40 +159,3 @@ Open up the Urbit CLI again if it's not still running, and enter +code. The outp
165### Next steps
159### Next steps
166
160
167Learn how to [get around your urbit](/getting-started/getting-around).
161Learn how to [get around your urbit](/getting-started/getting-around).
168−
169−<style>
170− .os {
171− display: flex;
172− flex-wrap: wrap;
173− }
174− .os label {
175− order: -1;
176− padding: .5rem;
177− min-width: 70px;
178− text-align: center;
179− cursor: pointer;
180− }
181− .os input[type="radio"] {
182− display: none;
183− }
184− .os .tab {
185− display: none;
186− margin-top: 1rem;
187− width: 100%;
188− max-width: 100%;
189− }
190− .os .tab p:first-child {
191− margin-top: 0;
192− }
193− .os .tab p:last-child {
194− margin-bottom: 0;
195− }
196− .os input[type='radio']:checked + label {
197− font-weight: bold;
198− background-color: rgba(244,243,241,1);
199− border-radius: 0.5em;
200− }
201− .os input[type='radio']:checked + label + .tab {
202− display: block;
203−}
204−</style>
content/groups/~ladtem-filmyr/urbit-ny-week.md+36−75
@@ -11,11 +11,9 @@ participant_range = "100+"
11
11
12Join this group on Urbit for event locations.
12Join this group on Urbit for event locations.
13
13
14−<div class="box">
15−
16## Thursday, May 19, 2022
14## Thursday, May 19, 2022
17
15
18−<div class="entry">
16+
19
17
20**The Scrying Philosopher (Salon)**
18**The Scrying Philosopher (Salon)**
21
19
@@ -25,39 +23,35 @@ Lower Manhattan ([RSVP](https://docs.google.com/forms/d/e/1FAIpQLSeY84O65omPNvc1
25
23
26Contact: [`~lagrev-nocfep`](https://urbit.org/ids/~lagrev-nocfep)
24Contact: [`~lagrev-nocfep`](https://urbit.org/ids/~lagrev-nocfep)
27
25
28−</div>
29
26
30−<div class="entry">
27+
28+
31
29
32**Dimes Square (the play) Live!**
30**Dimes Square (the play) Live!**
33
31
349PM
329PM
35
33
36−<div class="blackout"></div>
34+<div class="blackout"/>
37
35
38Contact: [`~librex-dozryc`](https://urbit.org/ids/~librex-dozryc)
36Contact: [`~librex-dozryc`](https://urbit.org/ids/~librex-dozryc)
39
37
40−</div>
41−
42−</div>
43
38
44−<div class="box">
45
39
46## Friday, May 20, 2022
40## Friday, May 20, 2022
47
41
48−<div class="entry">
42+
49
43
50**Wet Brain Afternoon Tea**
44**Wet Brain Afternoon Tea**
51
45
52TBA (PM)
46TBA (PM)
53
47
54−<div class="blackout"></div>
48+<div class="blackout"/>
55
49
56Contact: [`~napmer-rilnut`](https://urbit.org/ids/~napmer-rilnut)
50Contact: [`~napmer-rilnut`](https://urbit.org/ids/~napmer-rilnut)
57
51
58−</div>
59
52
60−<div class="entry">
53+
54+
61
55
62**Mars Review of Books**
56**Mars Review of Books**
63
57
@@ -65,169 +59,136 @@ Issue I Launch Party
65
59
669:30PM
609:30PM
67
61
68−<div class="blackout"></div>
62+<div class="blackout"/>
69
63
70Contact: [`~librex-dozryc`](https://urbit.org/ids/~librex-dozryc)
64Contact: [`~librex-dozryc`](https://urbit.org/ids/~librex-dozryc)
71
65
72−</div>
73−
74−</div>
75−
76−<div class="box">
77−
78## Saturday, May 21, 2022
66## Saturday, May 21, 2022
79
67
80−<div class="entry">
81−
82**The Combine DAO Launch Party**
68**The Combine DAO Launch Party**
83
69
84Noon
70Noon
85
71
86−<div class="blackout"></div>
72+<div class="blackout"/>
87
73
88Contact: [`~poldec-tonteg`](https://urbit.org/ids/~poldec-tonteg)
74Contact: [`~poldec-tonteg`](https://urbit.org/ids/~poldec-tonteg)
89
75
90−</div>
91−
92−<div class="entry">
93
76
94**Tlon on the Private Island**
77**Tlon on the Private Island**
95
78
963PM-8PM
793PM-8PM
97
80
98−<div class="blackout"></div>
81+<div class="blackout"/>
99
82
100Contact: Christine or [rsvp@tlon.io](mailto:rsvp@tlon.io)
83Contact: Christine or [rsvp@tlon.io](mailto:rsvp@tlon.io)
101
84
102−</div>
103−
104−<div class="entry">
105
85
106**ERA 2 (Tlon Rave)**
86**ERA 2 (Tlon Rave)**
107
87
1089PM-4AM
889PM-4AM
109
89
110−<div class="blackout"></div>
90+<div class="blackout"/>
111
91
112Contact: [~dapryc-tilryn](https://urbit.org/ids/~dapryc-tilryn) or rsvp@tlon.io
92Contact: [~dapryc-tilryn](https://urbit.org/ids/~dapryc-tilryn) or rsvp@tlon.io
113
93
114−</div>
115−
116−<div class="entry">
117−
118**Tirrel Party**
94**Tirrel Party**
119
95
120Night Time
96Night Time
121
97
122−<div class="blackout"></div>
98+<div class="blackout"/>
123
99
124Contact: [`~pindet-timmut`](https://urbit.org/ids/~pindet-timmut)
100Contact: [`~pindet-timmut`](https://urbit.org/ids/~pindet-timmut)
125
101
126−</div>
127−
128−<div class="entry">
129−
130**Sophon x Idolate x Dusko Peter Teal Party**
102**Sophon x Idolate x Dusko Peter Teal Party**
131
103
1329PM
1049PM
133
105
134−<div class="blackout"></div>
106+<div class="blackout"/>
135
107
136Contact: [`~tasset-norlux`](https://urbit.org/ids/~tasset-norlux)
108Contact: [`~tasset-norlux`](https://urbit.org/ids/~tasset-norlux)
137
109
138−</div>
139−</div>
140−
141−<div class="box">
142−
143## Sunday, May 22, 2022
110## Sunday, May 22, 2022
144
111
145−<div class="entry">
146−
147**Networked Spirituality (Holium)**
112**Networked Spirituality (Holium)**
148
113
14911AM
11411AM
150
115
151−<div class="blackout"></div>
116+<div class="blackout"/>
152
117
153Contact: [`~fasnut-famden`](https://urbit.org/ids/~fasnut-famden)
118Contact: [`~fasnut-famden`](https://urbit.org/ids/~fasnut-famden)
154
119
155−</div>
156−
157−<div class="entry">
158−
159**Informal Urmetica Lodge brunch**
120**Informal Urmetica Lodge brunch**
160
121
161Noon
122Noon
162
123
163−<div class="blackout"></div>
124+<div class="blackout"/>
164
125
165Contact: [`~todset-partug`](https://urbit.org/ids/~todset-partug)
126Contact: [`~todset-partug`](https://urbit.org/ids/~todset-partug)
166
127
167−</div>
168
128
169−<div class="entry">
129+
130+
170
131
171**Urmetica Initiation**
132**Urmetica Initiation**
172
133
1732 PM
1342 PM
174
135
175−<div class="blackout"></div>
136+<div class="blackout"/>
176
137
177Contact: [`~poldec-tonteg`](https://urbit.org/ids/~poldec-tonteg)
138Contact: [`~poldec-tonteg`](https://urbit.org/ids/~poldec-tonteg)
178
139
179−</div>
180
140
181−<div class="entry">
141+
142+
182
143
183**Innocent Garden Party**
144**Innocent Garden Party**
184
145
1855PM - 9PM
1465PM - 9PM
186
147
187−<div class="blackout"></div>
148+<div class="blackout"/>
188
149
189Contact: [`~hatryx-lastud`](https://urbit.org/ids/~hatryx-lastud)
150Contact: [`~hatryx-lastud`](https://urbit.org/ids/~hatryx-lastud)
190
151
191−</div>
192
152
193−<div class="entry">
153+
154+
194
155
195**No Agency x Urbit**
156**No Agency x Urbit**
196
157
19710PM
15810PM
198
159
199−<div class="blackout"></div>
160+<div class="blackout"/>
200
161
201Contact: [`~marrys-sapbyt`](https://urbit.org/ids/~marrys-sapbyt) / rsvp@noagency.nyc
162Contact: [`~marrys-sapbyt`](https://urbit.org/ids/~marrys-sapbyt) / rsvp@noagency.nyc
202
163
203−</div>
164+
204−</div>
165+
205
166
206<H2>EXTRA</H2>
167<H2>EXTRA</H2>
207
168
208−<div class="box">
169+
209
170
210## Monday, May 23, 2022
171## Monday, May 23, 2022
211
172
212−<div class="entry">
173+
213
174
214**Flatline Black Lake (Outskirts)**
175**Flatline Black Lake (Outskirts)**
215
176
21610AM
17710AM
217
178
218−<div class="blackout"></div>
179+<div class="blackout"/>
219
180
220Contact: [`~hatryx-lastud`](https://urbit.org/ids/~hatryx-lastud)
181Contact: [`~hatryx-lastud`](https://urbit.org/ids/~hatryx-lastud)
221
182
222−</div>
223
183
224−</div>
225
184
226−<div class="box">
185+
186+
187+
227
188
228## Thursday, May 26, 2022
189## Thursday, May 26, 2022
229
190
230−<div class="entry">
191+
231
192
232**Merde!**
193**Merde!**
233
194
@@ -237,8 +198,8 @@ Contact: [`~hatryx-lastud`](https://urbit.org/ids/~hatryx-lastud)
237
198
238[Star for Auction](https://event.auctria.com/b9db22be-4245-42dc-8032-02275a0fea19/a780d600ec2e11e9ae081db830846aa5?2bd25550ec3411e98fdeb3a273cf08d8%2FcurrentPage=2&2bd25550ec3411e98fdeb3a273cf08d8%2FselectedItem=ed2b191c-ad38-4fc6-9cb5-eda5c87ffee5)
199[Star for Auction](https://event.auctria.com/b9db22be-4245-42dc-8032-02275a0fea19/a780d600ec2e11e9ae081db830846aa5?2bd25550ec3411e98fdeb3a273cf08d8%2FcurrentPage=2&2bd25550ec3411e98fdeb3a273cf08d8%2FselectedItem=ed2b191c-ad38-4fc6-9cb5-eda5c87ffee5)
239
200
240−</div>
201+
241−</div>
202+
242
203
243<style>
204<style>
244.box {
205.box {
content/understanding-urbit/urbit-id.md+2−2
@@ -31,7 +31,7 @@ Since the Urbit ID registry is live and deployed you can even [look at the chain
31
31
32Each Urbit ID is really just a number. From that number we generate a pronounceable name and a visually identifiable sigil. `~dalwel-fadrun` is `3,509,632,436`, for example.
32Each Urbit ID is really just a number. From that number we generate a pronounceable name and a visually identifiable sigil. `~dalwel-fadrun` is `3,509,632,436`, for example.
33
33
34−Urbit IDs are distributed by a sponsorship tree. At the top of the tree are 2<sup>8</sup> (256) galaxies. Each galaxy issues 2<sup>8</sup> stars, making a total of 2<sup>16</sup> (65K). Stars then each can issue 2<sup>16</sup> planets, making for 2<sup>32</sup> (~4B). As you might expect, each planet issues 2<sup>32</sup> moons.
34+Urbit IDs are distributed by a sponsorship tree. At the top of the tree are 2^8^ (256) galaxies. Each galaxy issues 2^8^ stars, making a total of 2^16^ (65K). Stars then each can issue 2^16^ planets, making for 2^32^ (~4B). As you might expect, each planet issues 2^32^ moons.
35
35
36You can also call stars ‘infrastructure nodes’ and galaxies ‘governance nodes’, since those are more descriptive names for their roles. Stars help route packets, kind of like an ISP. And galaxies are a bit like DNS root servers or ICANN members. The difference, of course, is that Urbit IDs are owned cryptographically by many different people and accrue reputation independently.
36You can also call stars ‘infrastructure nodes’ and galaxies ‘governance nodes’, since those are more descriptive names for their roles. Stars help route packets, kind of like an ISP. And galaxies are a bit like DNS root servers or ICANN members. The difference, of course, is that Urbit IDs are owned cryptographically by many different people and accrue reputation independently.
37
37
@@ -41,7 +41,7 @@ And that's it. It's a simple system. What's important is why it is the way it is
41
41
42At a high level, there are three important things to understand about the overall Urbit ID system design.
42At a high level, there are three important things to understand about the overall Urbit ID system design.
43
43
44−First, scarcity: there are only 2<sup>32</sup> (~4B) Urbit IDs, so they cost something. Since they cost something, people are less likely to use them to spam or abuse the network. When you meet a stranger with an Urbit ID, you know they have some skin in the game (even without leaking personal data in either direction). That said, each Urbit ID is purely pseudonymous, so `~dalwel-fadrun` for example, is proof of some stake in the network, but not much more.
44+First, scarcity: there are only 2^32^ (~4B) Urbit IDs, so they cost something. Since they cost something, people are less likely to use them to spam or abuse the network. When you meet a stranger with an Urbit ID, you know they have some skin in the game (even without leaking personal data in either direction). That said, each Urbit ID is purely pseudonymous, so `~dalwel-fadrun` for example, is proof of some stake in the network, but not much more.
45
45
46Second, decentralization: Urbit IDs are distributed by a sponsorship tree. Each sponsor issues a fixed number of addresses. Since there are lots of sponsors, there are lots of ways to get an Urbit ID — not just one central authority. Once you get one, it’s yours forever.
46Second, decentralization: Urbit IDs are distributed by a sponsorship tree. Each sponsor issues a fixed number of addresses. Since there are lots of sponsors, there are lots of ways to get an Urbit ID — not just one central authority. Once you get one, it’s yours forever.
47
47
content/using/id/overview.md+1−1
@@ -39,7 +39,7 @@ Some argue that blockchain is only good for money. This is myopic and is general
39
39
40Thus, we store our PKI data on a blockchain for our second kind of name: planets. A planet is a 32-bit address which has key information stored on the blockchain.[^2] The owner of a planet may broadcast new PKI data by adding it to the blockchain. Any later messages by the old keys will be rejected, and everyone on the network will listen to the blockchain for key data. Thus, we have global consistency, permanence, and self sovereignty. We know of no other solution that can provide these properties.
40Thus, we store our PKI data on a blockchain for our second kind of name: planets. A planet is a 32-bit address which has key information stored on the blockchain.[^2] The owner of a planet may broadcast new PKI data by adding it to the blockchain. Any later messages by the old keys will be rejected, and everyone on the network will listen to the blockchain for key data. Thus, we have global consistency, permanence, and self sovereignty. We know of no other solution that can provide these properties.
41
41
42−However, while small individually, the aggregate PKI data for all nodes on the network may become very large. This is not an issue for comets because nobody needs to store comet keys except for those which they're talking with, and even those can be garbage-collected and re-requested and verified. For planets, there is a canonical set of keys, and somebody must store that. There are about 2<sup>32</sup>, or 4 billion planets. If the PKI data is about 100 bytes for each planet, this is about 400 GB of data. This may be more than most users wish to store, but it's small enough that it would be very cheap for someone to host this data for many users[^3].
42+However, while small individually, the aggregate PKI data for all nodes on the network may become very large. This is not an issue for comets because nobody needs to store comet keys except for those which they're talking with, and even those can be garbage-collected and re-requested and verified. For planets, there is a canonical set of keys, and somebody must store that. There are about 2^32^, or 4 billion planets. If the PKI data is about 100 bytes for each planet, this is about 400 GB of data. This may be more than most users wish to store, but it's small enough that it would be very cheap for someone to host this data for many users[^3].
43
43
44This information is currently stored directly on the Ethereum 1.0 blockchain, but as is well understood in blockchain circles this approach will not scale beyond a certain point. Many chains are pursing designs that allow the users of the smart contracts to store locally the data associated with the contracts they care about and only commit hashes to the chain. We expect there to be several viable options for this by the time our scaling needs exceed what's provided by Ethereum 1.0. This will free us from the cost of hosting the PKI data on all Ethereum nodes, but the data must still be stored somewhere. Any service that could handle such a large amount of data would inherently centralize the network.
44This information is currently stored directly on the Ethereum 1.0 blockchain, but as is well understood in blockchain circles this approach will not scale beyond a certain point. Many chains are pursing designs that allow the users of the smart contracts to store locally the data associated with the contracts they care about and only commit hashes to the chain. We expect there to be several viable options for this by the time our scaling needs exceed what's provided by Ethereum 1.0. This will free us from the cost of hosting the PKI data on all Ethereum nodes, but the data must still be stored somewhere. Any service that could handle such a large amount of data would inherently centralize the network.
45
45