@@ -1,16 +1,12 @@
2+title = "Common Objections to Urbit"
1−:- :~ date/'~2016.6.28'
3+date = 2016-06-28
2− title/'Common Objections to Urbit'
4+author = "Curtis Yarvin"
3− preview/'Some common objections to Urbit, discussed.'
5+description = "Some common objections to Urbit, discussed."
4− author/'Curtis Yarvin'
6+[taxonomies]
5− type/'post'
7+posts = ["Essays"]
9−# Common Objections to Urbit
11−;img@"http://media.urbit.org/site/blog-9.jpg"(border "12");
9+
15We love crowdsourced criticism. We've heard a lot of great
11We love crowdsourced criticism. We've heard a lot of great
16objections to Urbit. Surely there's more out there! If so,
12objections to Urbit. Surely there's more out there! If so,
@@ -22,7 +18,7 @@ Here's our list right now:
22- [Urbit is not ready for prime time.](#prime)
18- [Urbit is not ready for prime time.](#prime)
23- [Nock jets are a total hoax.](#jets)
19- [Nock jets are a total hoax.](#jets)
24- [Urbit needs an infinitely extending packet/event log.](#log)
20- [Urbit needs an infinitely extending packet/event log.](#log)
25−- [Urbit is a total scamcoin. It's 100% premined.](#scam)
21+- [Urbit is a total scamcoin. It's 100% premined.](#scam)
26- [Urbit isn't even really decentralized! It has a government!](#gov)
22- [Urbit isn't even really decentralized! It has a government!](#gov)
27- [Sandstorm/IPFS/Ethereum is way ahead of Urbit.](#sand)
23- [Sandstorm/IPFS/Ethereum is way ahead of Urbit.](#sand)
28- [Urbit doesn't have enough planets for every human being.](#planet)
24- [Urbit doesn't have enough planets for every human being.](#planet)
@@ -37,11 +33,7 @@ Here's our list right now:
37_"We choose to go to the moon, not because it is easy, but because it is hard."_
33_"We choose to go to the moon, not because it is easy, but because it is hard."_
38— [John F. Kennedy](https://www.youtube.com/watch?v=g25G1M4EXrQ)
34— [John F. Kennedy](https://www.youtube.com/watch?v=g25G1M4EXrQ)
42− ;div(id "prime"): Urbit is not ready for prime time.
36+## <a name="prime"></a>Urbit is not ready for prime time.
46*TLDR*: we agree.
38*TLDR*: we agree.
@@ -69,11 +61,7 @@ maintained or stabilized by a mad auteur. Our primary goal today
69is expanding the number of people who understand Urbit, and we
61is expanding the number of people who understand Urbit, and we
70expect these pioneers to participate in technical governance.
62expect these pioneers to participate in technical governance.
74− ;div(id "jets"): Nock jets are a total hoax.
64+## <a name="jets"></a>Nock jets are a total hoax.
78*TLDR*: all of computing is a hoax. You can't compare a hoax
66*TLDR*: all of computing is a hoax. You can't compare a hoax
79to nothing. You can only compare it to all the other hoaxes.
67to nothing. You can only compare it to all the other hoaxes.
@@ -154,11 +142,7 @@ state. The way to resolve this conflict is for the current state
154to win, and the event history to be discarded -- not abnormal
142to win, and the event history to be discarded -- not abnormal
155anyway. See the next question.
143anyway. See the next question.
159− ;div(id "log"): Urbit needs an infinitely extending packet/event.
145+## <a name="log"></a>Urbit needs an infinitely extending packet/event.
163*TLDR*: no, it doesn't. Urbit can prune the log.
147*TLDR*: no, it doesn't. Urbit can prune the log.
@@ -175,12 +159,7 @@ checkpoint. Our present implementation doesn't provide a way to
175prune the event log. But that's just a missing feature. We have
159prune the event log. But that's just a missing feature. We have
176one or two of those!
160one or two of those!
181− ;div(id "scam"): Urbit is a total scamcoin. It's 100% premined
162+## <a name="scam"></a>Urbit is a total scamcoin. It's 100% premined.
185*TLDR*: yeah. But at least it's not the DAO.
164*TLDR*: yeah. But at least it's not the DAO.
@@ -255,11 +234,7 @@ seem to have unexpected centripetal qualities, producing
255unanticipated concentrations of centralized hashpower. See the
234unanticipated concentrations of centralized hashpower. See the
256next objection.
235next objection.
260− ;div(id "gov"): Urbit isn't even really decentralized! It has a government!
237+## <a name="gov"></a>Urbit isn't even really decentralized! It has a government!
264*TLDR*: it's technically impossible for Urbit to be
239*TLDR*: it's technically impossible for Urbit to be
265decentralized at this stage of its life. Urbit is designed to
240decentralized at this stage of its life. Urbit is designed to
@@ -335,11 +310,7 @@ at best, and a hoax at worst. And of course, no one can DAO us
335Among other things, we check it into Github. Github is not a
310Among other things, we check it into Github. Github is not a
336blockchain -- but still, good luck with that.
311blockchain -- but still, good luck with that.
340− ;div(id "sand"): Sandstorm/IPFS/Ethereum is way ahead of Urbit.
313+## <a name="sand"></a>Sandstorm/IPFS/Ethereum is way ahead of Urbit.
344In general, web3 (next distributed web) solutions don't compete
315In general, web3 (next distributed web) solutions don't compete
345with each other. They support each other. Concretely, they are
316with each other. They support each other. Concretely, they are
@@ -414,11 +385,7 @@ social network social.
414There is always a tradeoff between free speech and free beer.
385There is always a tradeoff between free speech and free beer.
415Urbit will always choose free speech.
386Urbit will always choose free speech.
419− ;div(id "pwned"): Cloud computing is inherently non-private.
388+## <a name="pwned"></a>Cloud computing is inherently non-private.
423*TLDR*: a general-purpose cloud computer is much, much more
390*TLDR*: a general-purpose cloud computer is much, much more
424private than a special-purpose cloud computer. In general, a
391private than a special-purpose cloud computer. In general, a
@@ -460,11 +427,7 @@ course, since Urbit is formally specified, it's trivially
460portable. In fact, one strategy against sovereign adversaries
427portable. In fact, one strategy against sovereign adversaries
461may be continuous rotation between hosts, like an MX missile.
428may be continuous rotation between hosts, like an MX missile.
465− ;div(id "code"): Urbit will never be able to call any existing code.
430+## <a name="code"></a>Urbit will never be able to call any existing code.
469*TLDR*: neither will Javascript. And dear Unix, the browser
432*TLDR*: neither will Javascript. And dear Unix, the browser
470does not miss interacting with your `$LD_LIBRARY_PATH` at all.
433does not miss interacting with your `$LD_LIBRARY_PATH` at all.
@@ -478,12 +441,7 @@ When in doubt, remember that Urbit is "the browser for the server
478side." It plays by the same general rules. Isolation means
441side." It plays by the same general rules. Isolation means
479isolation.
442isolation.
483− ;div(id "weird"): There's no way Urbit will ever be adopted. It's too weird.
444+## <a name="weird"></a>There's no way Urbit will ever be adopted. It's too weird.
488*TLDR*: Urbit adoption is designed to be driven by ordinary end
446*TLDR*: Urbit adoption is designed to be driven by ordinary end
489users. Urbit isn't ready for ordinary end users yet. We're
447users. Urbit isn't ready for ordinary end users yet. We're
@@ -523,11 +481,7 @@ Urbit only gets adopted if it's useful as a personal server for
523human beings -- most of whom won't be Hoon programmers, or
481human beings -- most of whom won't be Hoon programmers, or
524programmers at all.
482programmers at all.
528− ;div(id "program"): Hoon is too weird. No one will be able to program in it.
484+## <a name="program"></a>Hoon is too weird. No one will be able to program in it.
532*TLDR*: Hoon is ridiculously simple. Our documentation and
486*TLDR*: Hoon is ridiculously simple. Our documentation and
533tooling are just immature.
487tooling are just immature.
@@ -566,27 +520,18 @@ Yes, we know: Hoon remains quite hard to learn. Again, we have
566no reason to think this problem isn't solvable. Public
520no reason to think this problem isn't solvable. Public
567enlightenment remains our main priority.
521enlightenment remains our main priority.
571− ;div(id "stuck"): Urbit programmers are stuck with Hoon.
523+## <a name="stuck"></a>Urbit programmers are stuck with Hoon.
575*TLDR*: patience, grasshopper.
525*TLDR*: patience, grasshopper.
577There's quite a straightforward way to implement any perfectly
527There's quite a straightforward way to implement any perfectly
578specified language with a reliable interpreter in Hoon. First,
528specified language with a reliable interpreter in Hoon. First,
579−write an interpreter for that language in Hoon. Second, jet that
529+write an interpreter for that language in Hoon. Second, jet that intepreter function with the existing implementation.
580−intepreter function with the existing implementation.
582It is not clear that Javascript is _quite_ well-defined enough
531It is not clear that Javascript is _quite_ well-defined enough
583for this treatment. But Lua probably is.
532for this treatment. But Lua probably is.
587− ;div(id "user"): Ordinary users will never be able to manage an Urbit server.
534+## <a name="user"></a>Ordinary users will never be able to manage an Urbit server.
591*TLDR*: Urbit's technical simplicity has always been designed
536*TLDR*: Urbit's technical simplicity has always been designed
592to drive human usability. But the polish is the last thing that
537to drive human usability. But the polish is the last thing that
@@ -633,11 +578,7 @@ a general-purpose computer. Computing isn't scary or dangerous.
633Unix and the Internet are scary and dangerous. That's fine for
578Unix and the Internet are scary and dangerous. That's fine for
634an industrial tool, but not a personal tool.
579an industrial tool, but not a personal tool.
638− ;div(id "killer"): Urbit has no killer app.
581+## <a name="killer"></a>Urbit has no killer app.
642*TLDR*: the killer app is personal API aggregation.
583*TLDR*: the killer app is personal API aggregation.
@@ -702,11 +643,7 @@ Stateful, self-updating, generic API aggregators with FUSE
702integration, also integrated with a reactive web server, are
643integration, also integrated with a reactive web server, are
707− ;div(id "horse"): Urbit is sniffed at by Houyhnhyms.
646+## <a name="horse"></a> Urbit is sniffed at by Houyhnhyms.
711It's difficult to categorize [this awesome
648It's difficult to categorize [this awesome
712essay](http://ngnghm.github.io/blog/2016/06/11/chapter-10-houyhnhnms-vs-martians/)
649essay](http://ngnghm.github.io/blog/2016/06/11/chapter-10-houyhnhnms-vs-martians/)