on master help sign in
Some updates to /docs/using/: Point people to Fora in setup; update install steps for stars & galaxies; up to date source layout; change to sorting; formatting and additions
30f92feKeaton Dunsford
docs/using/admin.md+72−45
@@ -2,96 +2,123 @@
2navhome: /docs/
2navhome: /docs/
3navuptwo: true
3navuptwo: true
4next: true
4next: true
5−sort: 4
5+sort: 3
6title: Administration and operation
6title: Administration and operation
7---
7---
8
8
9# Administration and operation
9# Administration and operation
10
10
11−<div class="row">
12−<div class="col-md-8">
13−
14−Your Urbit is a persistent Unix process that you mainly control from the console. For some things, a browser will also work.
11+Your Urbit is a persistent Unix process that you mainly control from the
15−
12+console. For some things, a browser will also work.
16−</div>
17−</div>
18
13
19## Shutdown
14## Shutdown
20
15
21−You can turn your Urbit off with `ctrl-d` from the Talk or Dojo prompts.
16+You can turn your Urbit off with `Ctrl-d` from the Talk or Dojo prompts.
22
17
23## Restart
18## Restart
24
19
25To restart your Urbit simply pass the name of your pier:
20To restart your Urbit simply pass the name of your pier:
26
21
22+```
27− $ urbit some-planet
23+$ urbit some-planet
24+```
28
25
29or
26or
30
27
28+```
31− $ urbit comet
29+$ urbit comet
32−
30+```
33
31
34## Logging
32## Logging
35
33
36To log Urbit's command line output to a file, use `script`:
34To log Urbit's command line output to a file, use `script`:
37
35
36+```
38− $ script urbit.log urbit your-urbit
37+$ script urbit.log urbit your-urbit
38+```
39
39
40## Moving your pier
40## Moving your pier
41
41
42+Piers are designed to be portable, but it _must_ be done while the Urbit
42−Piers are designed to be portable, but it *must* be done while the Urbit is turned off. Urbit networking is stateful, so you can't run two copies of the same Urbit in two places.
43+is turned off. Urbit networking is stateful, so you can't run two copies
43−
44+of the same Urbit in two places.
44−To move a pier, simply move the contents of the directory it lives in. To keep these files as small as possible we usually use the `--sparse` option in `tar`. With a pier `your-urbit/` something like this (from inside `urbit/`) should work:
45
45
46− tar -Scvzf your-urbit.tar.gz ./your-urbit/
46+To move a pier, simply move the contents of the directory it lives in.
47+To keep these files as small as possible we usually use the `--sparse`
48+option in `tar`. With a pier `your-urbit/` something like this (from
49+inside `urbit/`) should work:
47
50
48−# Operation
51+```
52+tar -Scvzf your-urbit.tar.gz ./your-urbit/
53+```
49
54
50## Console
55## Console
51
56
52−Your Urbit terminal is separated into two parts: the prompt (the bottom line) and the record (everything above that). The record is shared; all the output from all the apps in your command set appears in it. The prompt is multiplexed.
57+Your Urbit terminal is separated into two parts: the prompt (the bottom
58+line) and the record (everything above that). The record is shared; all
59+the output from all the apps in your command set appears in it. The
60+prompt is multiplexed.
53
61
54−In the CLI Urbit apps can process your input before you hit return. To see this in action try entering `)` as the first character at the Dojo prompt. Since there is no dojo command or hoon expression that starts with ')', the dojo rejects it.
62+In the CLI Urbit apps can process your input before you hit return. To
63+see this in action try entering `)` as the first character at the Dojo
64+prompt. Since there is no Dojo command or Hoon expression that starts
65+with ')', the Dojo rejects it.
55
66
56−`ctrl-x` - Switches the prompt between running console apps
67+`Ctrl-x` - Switches the prompt between running console apps
57
68
58−`ctrl-c` - Crash current event. Processed at the Unix layer and prints a stack trace.
69+`Ctrl-c` - Crash current event. Processed at the Unix layer and prints a stack trace.
59
70
60−`ctrl-d` - From Talk or Dojo stops your Urbit process.
71+`Ctrl-d` - From Talk or Dojo stops your Urbit process.
61
72
62`↑` / `↓` - History navigation
73`↑` / `↓` - History navigation
63
74
64The following emacs-style key bindings are available:
75The following emacs-style key bindings are available:
65
76
77+```
66− ctrl-a cursor to beginning of the line (Home)
78+Ctrl-a Cursor to beginning of the line (Home)
67− ctrl-b cursor one character backward (left-arrow)
79+Ctrl-b Cursor one character backward (left-arrow)
68− ctrl-e cursor to the end of the line (End)
80+Ctrl-e Cursor to the end of the line (End)
69− ctrl-f cursor one character forward (right-arrow)
81+Ctrl-f Cursor one character forward (right-arrow)
70− ctrl-g beep; cancel reverse-search
82+Ctrl-g Beep; cancel reverse-search
71− ctrl-k kill to end of line
83+Ctrl-k Kill to end of line
72− ctrl-l clear the screen
84+Ctrl-l Clear the screen
73− ctrl-n next line in history (down-arrow)
85+Ctrl-n Next line in history (down-arrow)
74− ctrl-p previous line in history (up-arrow)
86+Ctrl-p Previous line in history (up-arrow)
75− ctrl-r reverse-search
87+Ctrl-r Reverse-search
76− ctrl-t transpose characters
88+Ctrl-t Transpose characters
77− ctrl-u kill to beginning of line
89+Ctrl-u Kill to beginning of line
78− ctrl-y yank from kill buffer
90+Ctrl-y Yank from kill buffer
79−
91+```
92+
80−Full coverage of the Urbit shell, the Dojo is covered in the [Shell walkthrough](/docs/using/shell).
93+Full coverage of the Urbit shell, the Dojo is covered in the
94+[Shell walkthrough](../shell/).
81
95
82## Web
96## Web
83
97
98+On startup Urbit tries to bind to `localhost:8080`. If you're already
99+running something on `8080` you'll find your Urbit on `8081`, and so on.
84−On startup Urbit tries to bind to `localhost:8080`. If you're already running something on `8080` you'll find your Urbit on `8081`, and so on. For planets only, we also proxy web domains through Urbit's own servers. Any planet `~your-urbit` is also at
100+For planets only, we also proxy web domains through Urbit's own servers.
85−`your-urbit.urbit.org`.
101+Any planet `~your-urbit` is also at `your-urbit.urbit.org`.
86
102
87−Your Urbit serves a simple homepage from `http://localhost:8080` or `https://your-urbit.urbit.org` that should be self-explanatory. Since our HTTPS isn't audited / battle tested we just call it "secure" HTTPS. You can find that on `8443`. Or `8444` (and so on) if you're already running something on `8443`.
103+Your Urbit serves a simple homepage from `http://localhost:8080` or
104+`https://your-urbit.urbit.org` that should be self-explanatory. Since
105+our HTTPS isn't audited / battle tested we just call it "secure" HTTPS.
106+You can find that on `8443`. Or `8444` (and so on) if you're already
107+running something on `8443`.
88
108
89−A complete walkthrough of the Urbit web interface is [here](/docs/using/web).
109+A complete walkthrough of the Urbit web interface is
110+[here](../web/).
90
111
91## Continuity breaches
112## Continuity breaches
92
113
114+While the Urbit network is in this alpha state we sometimes have to
93−While the Urbit network is in this alpha state we sometimes have to reboot the whole network. This happens either when major changes need to be shipped or we hit a bug that can't be fixed over the air.
115+reboot the whole network. This happens either when major changes need
116+to be shipped or we hit a bug that can't be fixed over the air.
94
117
118+Because Urbit networking is stateful we call this a _continuity breach_.
95−Because Urbit networking is stateful we call this a 'continuity breach'. Everything has to be restarted from scratch. Your pier will continue to function after we have breached, but it wont connect to the rest of the Urbit network.
119+Everything has to be restarted from scratch. Your pier will continue to
120+function after we have breached, but it wont connect to the rest of the
121+Urbit network.
96
122
97−When this happens, back up any files you'd like to save, shut down your Urbit and recreate it (as if you were starting for the first time).
123+When this happens, back up any files you'd like to save, shut down your
124+Urbit and recreate it (as if you were starting for the first time).
docs/using/install.md+64−50
@@ -8,19 +8,19 @@ title: Install
8
8
9# Install
9# Install
10
10
11−Installing Urbit is easy. It just takes a few minutes to get an
11+Installing Urbit is easy. It just takes a few minutes to get an
12−instance up and running on the network.
12+instance up and running on the network.
13
13
14Urbit is designed to run on any Unix box with an internet connection.
14Urbit is designed to run on any Unix box with an internet connection.
15Debian (jessie), Mac OS X, FreeBSD and Fedora all work well.
15Debian (jessie), Mac OS X, FreeBSD and Fedora all work well.
16
16
17If you run into trouble installing Urbit, please let us know via
17If you run into trouble installing Urbit, please let us know via
18email, [questions@urbit.org](mailto:questions@urbit.org), or on the
18email, [questions@urbit.org](mailto:questions@urbit.org), or on the
19−forum: [urbit.org/fora](https://urbit.org/fora). You can also chat
19+forum: [urbit.org/fora](https://urbit.org/fora). You can also chat
20with us at [urbit.org/stream](https://urbit.org/stream).
20with us at [urbit.org/stream](https://urbit.org/stream).
21
21
22−> Urbit is alpha software. It’s not yet completely stable, its crypto
22+> Urbit is alpha software. It’s not yet completely stable, its crypto
23−> hasn’t been audited, and there are plenty of rough edges. Urbit is
23+> hasn’t been audited, and there are plenty of rough edges. Urbit is
24> lots of fun to play with, but not quite ready for your important or
24> lots of fun to play with, but not quite ready for your important or
25> sensitive data.
25> sensitive data.
26
26
@@ -28,10 +28,10 @@ with us at [urbit.org/stream](https://urbit.org/stream).
28
28
29Urbit `0.5.1` is now live! We expect there to be a delay in getting our
29Urbit `0.5.1` is now live! We expect there to be a delay in getting our
30updated `urbit-0.5.1` binary packages propagated to Homebrew, APT and
30updated `urbit-0.5.1` binary packages propagated to Homebrew, APT and
31−the other various package managers. So for now, **please
31+the other various package managers. So for now, **please build and
32−build and install Urbit from source**. The instructions below will walk
32+install Urbit from source**. The instructions below will walk you through
33−you through how to do that. You'll then be free to continue the boot
33+how to do that. You'll then be free to continue the boot and setup
34−and setup process as normal, per the rest of this Using docs section.
34+process as normal, per the rest of this Using docs section.
35
35
36## Build from source
36## Build from source
37
37
@@ -39,41 +39,45 @@ and setup process as normal, per the rest of this Using docs section.
39
39
40Urbit depends on:
40Urbit depends on:
41
41
42+```
42− C compiler (gcc or clang)
43+C compiler (gcc or clang)
43− automake
44+automake
44− autoconf
45+autoconf
45− libtool
46+libtool
46− cmake
47+cmake
47− ragel
48+ragel
48− re2c
49+re2c
49− libcurl
50+libcurl
50− curses
51+curses
51− gmp
52+gmp
52− libsigsegv
53+libsigsegv
53− openssl
54+openssl
55+```
54
56
55Which can usually be installed with the following one-liners:
57Which can usually be installed with the following one-liners:
56
58
59+```
57− # Mac OS X [Homebrew]
60+# Mac OS X [Homebrew]
58− $ brew install gmp libsigsegv openssl libtool autoconf automake cmake
61+$ brew install gmp libsigsegv openssl libtool autoconf automake cmake
59
62
60− # Mac OS X [Macports]
63+# Mac OS X [Macports]
61− $ sudo port install gmp libsigsegv openssl autoconf automake cmake
64+$ sudo port install gmp libsigsegv openssl autoconf automake cmake
62
65
63− # Ubuntu or Debian
66+# Ubuntu or Debian
64− $ sudo apt-get install libgmp3-dev libsigsegv-dev openssl libssl-dev libncurses5-dev make exuberant-ctags automake autoconf libtool g++ ragel cmake re2c libcurl4-gnutls-dev
67+$ sudo apt-get install libgmp3-dev libsigsegv-dev openssl libssl-dev libncurses5-dev make exuberant-ctags automake autoconf libtool g++ ragel cmake re2c libcurl4-gnutls-dev
65
68
66− # Fedora
69+# Fedora
67− $ sudo dnf install gcc gcc-c++ gmp-devel openssl-devel openssl ncurses-devel libsigsegv-devel ctags automake autoconf libtool ragel cmake re2c libcurl-devel
70+$ sudo dnf install gcc gcc-c++ gmp-devel openssl-devel openssl ncurses-devel libsigsegv-devel ctags automake autoconf libtool ragel cmake re2c libcurl-devel
68
71
69− # FreeBSD
72+# FreeBSD
70− $ pkg install gmake gmp libsigsegv curl python automake autoconf ragel cmake re2c libtool curl
73+$ pkg install gmake gmp libsigsegv curl python automake autoconf ragel cmake re2c libtool curl
71
74
72− # Arch
75+# Arch
73− $ pacman -S gcc gmp libsigsegv openssl automake autoconf ragel cmake re2c libtool ncurses curl
76+$ pacman -S gcc gmp libsigsegv openssl automake autoconf ragel cmake re2c libtool ncurses curl
74
77
75− # AWS
78+# AWS
76− $ sudo yum --enablerepo epel install gcc gcc-c++ gmp-devel openssl-devel ncurses-devel libsigsegv-devel ctags automake autoconf libtool cmake re2c libcurl-devel
79+$ sudo yum --enablerepo epel install gcc gcc-c++ gmp-devel openssl-devel ncurses-devel libsigsegv-devel ctags automake autoconf libtool cmake re2c libcurl-devel
80+```
77
81
78### Clone and make
82### Clone and make
79
83
@@ -81,9 +85,11 @@ Once your dependencies are installed the rest is easy.
81
85
82If you're cloning the `urbit/urbit` Git repository for the first time, run:
86If you're cloning the `urbit/urbit` Git repository for the first time, run:
83
87
88+```
84− $ git clone https://github.com/urbit/urbit
89+$ git clone https://github.com/urbit/urbit
85− $ cd urbit
90+$ cd urbit
86− $ make # gmake on FreeBSD
91+$ make # gmake on FreeBSD
92+```
87
93
88_**Updated for the `2017.12.7` continuity breach**_
94_**Updated for the `2017.12.7` continuity breach**_
89
95
@@ -91,23 +97,30 @@ If you already have a clone of the `urbit/urbit` Git repository, assuming
91your `origin` upstream is the `urbit/urbit` repository on Github, run the
97your `origin` upstream is the `urbit/urbit` repository on Github, run the
92following commands to make sure you're on the correct, clean Git branch:
98following commands to make sure you're on the correct, clean Git branch:
93
99
100+```
94− $ cd urbit
101+$ cd urbit
95− $ git fetch --all
102+$ git fetch --all
96− $ git checkout master
103+$ git checkout master
97− $ git reset --hard origin/master
104+$ git reset --hard origin/master
98− $ make # gmake on FreeBSD
105+$ make # gmake on FreeBSD
106+```
99
107
100−After running `make`, your Urbit executable is in `bin/urbit`. Install it wherever you'd like.
108+After running `make`, your Urbit executable is in `bin/urbit`. Install
109+it wherever you'd like.
101
110
111+```
102− # sudo install -m 0755 bin/urbit /usr/local/bin
112+$ sudo install -m 0755 bin/urbit /usr/local/bin
113+```
103
114
104Test that it works:
115Test that it works:
105
116
117+```
106− $ urbit
118+$ urbit
107− simple usage:
119+simple usage:
108− urbit -c <mycomet> to create a comet (anonymous urbit)
120+ urbit -c <mycomet> to create a comet (anonymous urbit)
109− urbit -w <myplanet> -t <myticket> if you have a ticket
121+ urbit -w <myplanet> -t <myticket> if you have a ticket
110− urbit <myplanet or mycomet> to restart an existing urbit
122+ urbit <myplanet or mycomet> to restart an existing urbit
123+```
111
124
112### Boot your urbit
125### Boot your urbit
113
126
@@ -134,3 +147,4 @@ For Amazon there’s a StackOverflow thread
134
147
135Don’t spend a lot of time tweaking these settings; the simplest
148Don’t spend a lot of time tweaking these settings; the simplest
136thing is fine.
149thing is fine.
150+
docs/using/layout.md+75−43
@@ -2,107 +2,139 @@
2navhome: /docs/
2navhome: /docs/
3navuptwo: true
3navuptwo: true
4next: true
4next: true
5−sort: 3
5+sort: 4
6title: Source layout
6title: Source layout
7---
7---
8
8
9−<div class="row">
10−<div class="col-md-8">
11−
12# Arvo source
9# Arvo source
13
10
11+When you boot an Urbit we transfer the current version of the Arvo
12+operating environment to your Urbit over our network. That is, the
14−When you boot an Urbit we transfer the current version of the Arvo operating environment to your Urbit over our network. That is, the source for the system lives on your Urbit. Here we'll take a brief tour through the structure of a base Arvo desk.
13+source for the system lives on your Urbit. Here we'll take a brief tour
14+through the structure of a base Arvo desk.
15+
16+Looking at the top level of
17+[the Arvo repo](http://github.com/urbit/arvo), or any Urbit desk that
18+has been mounted to Unix we see something like:
19+
20+```
21+app/
22+arvo/
23+gen/
24+lib/
25+mar/
26+ren/
27+sec/
28+sur/
29+sys/
30+web/
31+web.md
32+```
15
33
16−</div>
34+Let's step through directory by directory.
17−</div>
18
35
19−Looking at the top level of [the Arvo repo](http://github.com/urbit/arvo), or any Urbit desk that has been mounted to Unix we see something like:
36+## `sys/`
20
37
21− app/
38+This is where the Arvo kernel lives. `sys/` contains:
22− arvo/
23− gen/
24− lib/
25− mar/
26− ren/
27− sec/
28− sur/
29− web/
30− web.md
31
39
32−Let's step through directory by directory.
40+### `sys/hoon.hoon`
33
41
34−## `app/`
42+Hoon is our programming langauge. Since Hoon compiles itself the
43+language is actually specified in this source file.
44+
45+### `sys/zuse.hoon`
46+
47+Zuse is the Arvo standard library.
35
48
36−This is where Gall apps live. Gall apps are stateful servers, sort of like unix daemons. One familiar one is `app/talk.hoon` which is the source code for Talk the urbit messaging transport layer. And there's also `app/dojo.hoon` — that's your shell.
49+### `sys/arvo/hoon`
37
50
38−## `arvo/`
51+This is the source file for the central Arvo event dispatcher.
39
52
40−This is where the Arvo vanes live. Vanes are sort of like kernel modules. These are worth listing one by one:
53+### `sys/vane`
41
54
55+Vanes are sort of like kernel modules. These are worth listing one by one:
56+
42−### `arvo/ames.hoon`
57+### `sys/vane/ames.hoon`
43
58
44Ames is our network protocol.
59Ames is our network protocol.
45
60
46−### `arvo/behn.hoon`
61+### `sys/vane/behn.hoon`
47
62
48Behn is a simple timer.
63Behn is a simple timer.
49
64
50−### `arvo/clay.hoon`
65+### `sys/vane/clay.hoon`
51
66
52Clay is our filesystem.
67Clay is our filesystem.
53
68
54−### `arvo/dill.hoon`
69+### `sys/vane/dill.hoon`
55
70
56Dill is our terminal driver.
71Dill is our terminal driver.
57
72
58−### `arvo/eyre.hoon`
73+### `sys/vane/eyre.hoon`
59
74
60Eyre is our webserver.
75Eyre is our webserver.
61
76
62−### `arvo/ford.hoon`
77+### `sys/vane/ford.hoon`
63
78
64Ford is our build system.
79Ford is our build system.
65
80
66−### `arvo/gall.hoon`
81+### `sys/vane/gall.hoon`
67
82
68Gall is our application model.
83Gall is our application model.
69
84
70−### `arvo/hoon.hoon`
85+### `sys/vane/jael.hoon`
86+
87+Jael is our secret vault.
71
88
72−Hoon is our programming langauge. Since Hoon compiles itself the language is actually specified in this source file.
89+### `sys/vane/xmas.hoon`
73
90
74−### `arvo/zuse.hoon`
91+Xmas is the new Ames, which will go live in our next big release.
75
92
76−Zuse is the Hoon library.
93+That's it. That's the whole system.
77
94
78−That's it. That's the whole system.
95+## `app/`
96+
97+This is where Gall apps live. Gall apps are stateful servers, sort of
98+like unix daemons. One familiar one is `app/hall.hoon` which is the
99+source code for Hall, the Urbit messaging transport layer. And there's
100+also `app/dojo.hoon` — that's your shell.
79
101
80## `gen/`
102## `gen/`
81
103
82−`gen/` holds generators. Generators are short Dojo scripts.
104+`gen/` holds generators. Generators are short Dojo scripts.
83
105
84## `lib/`
106## `lib/`
85
107
108+`lib/` holds shared libraries for programs. `lib/sole` is a good
86−`lib/` holds shared libraries for programs. `lib/sole` is a good example — that's the console library that's shared by both Dojo in the command line, and the Dojo web client.
109+example — that's the console library that's shared by both Dojo in the
110+command line, and the Dojo web client.
87
111
88## `mar/`
112## `mar/`
89
113
90−This is where marks live. Marks are data type definitions used by Ford. A mark is like a mime-type, but specified in executable code.
114+This is where marks live. Marks are data type definitions used by Ford.
115+A mark is like a mime-type, but specified in executable code.
91
116
92## `ren/`
117## `ren/`
93
118
94−These are web renderers. A renderer handles web requests of a particular type.
119+These are web renderers. A renderer handles web requests of a particular
120+type.
95
121
96−Default web requests in urbit are handled as a `.urb`, which is caught by the `urb.hoon` renderer. This wraps the request in our default `css` and `js` and adds some routing magic for certain paths.
122+Default web requests in urbit are handled as a `.urb`, which is caught
123+by the `urb.hoon` renderer. This wraps the request in our default `CSS`
124+and `JS` and adds some routing magic for certain paths.
97
125
98## `sur/`
126## `sur/`
99
127
100−`sur/` contains shared data structures. Files in `sur` are like header files in C.
128+`sur/` contains shared data structures. Files in `sur` are like header
129+files in C.
101
130
102## `web/`
131## `web/`
103
132
104−There are the files publicly accessible to the web, as made possible by Eyre.
133+There are the files publicly accessible to the web, as made possible by
134+Eyre.
105
135
106## `web.md`
136## `web.md`
107
137
108−This is the homepage for your urbit. You'll see it at `http://localhost:8080/` or `http://fintud-macrep.urbit.org/`.
138+This is the homepage for your urbit. You'll see it at
139+`http://localhost:8080/` or `https://your-urbit.urbit.org/`.
140+
docs/using/setup.md+67−27
@@ -10,39 +10,49 @@ title: Setup
10
10
11On disk your urbit is an append-only log and a checkpoint. Or, in
11On disk your urbit is an append-only log and a checkpoint. Or, in
12simpler terms, a directory where we keep your urbit’s state. We call
12simpler terms, a directory where we keep your urbit’s state. We call
13−this a ‘pier’.
13+this a _pier_.
14
14
15## Initialize
15## Initialize
16
16
17To create an urbit, we need an identity. This identity is both a network
17To create an urbit, we need an identity. This identity is both a network
18address and a memorable name.
18address and a memorable name.
19
19
20−You are probably creating one of two kinds of urbit: a 32-bit "planet"
20+You are probably creating one of two kinds of urbit: a 32-bit _planet_
21−or a 128-bit "comet." For a quick terminology guide and high-level
21+or a 128-bit _comet_. For a quick terminology guide and high-level
22−refresher, refer to this [handy reference sheet](/docs/about/glossary).
22+refresher, refer to this [handy reference sheet](../../about/glossary/).
23
23
24If you have an Urbit invitation, you'll have a planet like
24If you have an Urbit invitation, you'll have a planet like
25`~fintud-macrep` and `~fortyv-tombyt-tabsen-sonres`. To create your
25`~fintud-macrep` and `~fortyv-tombyt-tabsen-sonres`. To create your
26pier:
26pier:
27
27
28+```
28− $ urbit -w fintud-macrep -t fortyv-tombyt-tabsen-sonres
29+$ urbit -w fintud-macrep -t fortyv-tombyt-tabsen-sonres
30+```
29
31
30This will create a directory `fintud-macrep/` and begin building your
32This will create a directory `fintud-macrep/` and begin building your
31urbit. This may take a few minutes.
33urbit. This may take a few minutes.
32
34
35+> If you are booting a star, the process is the same as above, with your
36+> respective star name and ticket.
37+>
38+> If you are booting a galaxy, see
39+> [this Fora post](https://urbit.org/fora/posts/~2016.8.17..21.04.11..1450~/).
40+
33−If you do not have a ticket, you can still make a 'comet', a wild urbit
41+If you do not have a ticket, you can still make a _comet_, a wild urbit
34drifting through cyberspace. Pick your own directory name, it doesn't
42drifting through cyberspace. Pick your own directory name, it doesn't
35matter:
43matter:
36
44
45+```
37− $ urbit -c mycomet
46+$ urbit -c mycomet
47+```
38
48
39This will create the directory `mycomet/` and generate a 128-bit
49This will create the directory `mycomet/` and generate a 128-bit
40identity for your urbit.
50identity for your urbit.
41
51
42## Orientation
52## Orientation
43
53
54+After about five to ten minutes, when your urbit is finished booting,
44−When your urbit is finished booting you should see a `dojo>` prompt.
55+you should see a `dojo>` prompt. Welcome!
45−Welcome!
46
56
47By default your urbit is quite bare-bones. Let's stroll through what's
57By default your urbit is quite bare-bones. Let's stroll through what's
48already running:
58already running:
@@ -52,50 +62,79 @@ already running:
52The command prompt in front of you is a simple shell and Hoon REPL.
62The command prompt in front of you is a simple shell and Hoon REPL.
53Let's make sure it works:
63Let's make sure it works:
54
64
65+```
55− ~your-urbit:dojo> (add 2 2)
66+~your-urbit:dojo> (add 2 2)
67+```
56
68
57Should produce:
69Should produce:
58
70
71+```
59− > (add 2 2)
72+> (add 2 2)
60− 4
73+4
74+```
61
75
62Good.
76Good.
63
77
78+
64### Messaging — Talk
79### Messaging — Talk
65
80
66Use `ctrl-x` to change your prompt. Let's join the main Urbit chat
81Use `ctrl-x` to change your prompt. Let's join the main Urbit chat
67channel, `/urbit-meta`:
82channel, `/urbit-meta`:
68
83
84+```
69− ~your-urbit:talk[] ;join ~samzod/urbit-meta
85+~your-urbit:talk[] ;join ~samzod/urbit-meta
86+```
70
87
71Talk is stateful, so your urbit will download a backlog.
88Talk is stateful, so your urbit will download a backlog.
72−`/urbit-meta` is the place to ask questions, get help and talk about
89+`/urbit-meta` is the place to ask questions, get help, talk about
73−anything Urbit-related.
90+anything Urbit-related, and meet everyone on here.
91+
92+### Discussion — Fora
93+
94+Fora is the place for long-form Urbit discussion. It's hosted on an
95+Urbit and served over HTTP via Eyre, Urbit's web server.
96+
97+Head on over to:
98+
99+ https://urbit.org/~~/fora
100+
101+The `/~~/` in the URL will redirect you to a login page, which will
102+provide you steps to run the `+code` generator (shell script) in your
103+Dojo to get your password. Copy and paste that into your password box
104+input and hit Enter. After loading, you'll find yourself redirected to
105+the Fora home page, authenticated, where you can post and comment under
106+the name of your ship.
74
107
75### Web — Tree
108### Web — Tree
76
109
77−Urbit is also accessible through the web. Try opening:
110+Your Urbit is also accessible through its own web interface. Try
111+opening:
78
112
79− http://localhost:8080/
113+ http://localhost:8080/~~/
80
114
81−in your favorite browser. You'll be prompted to use `+code` in your Dojo
115+in your favorite browser. Like on `urbit.org`, you'll be prompted to use
82−to retrive your password and log in. This page was generated by Tree,
116+`+code` in your Dojo to retrive your password and log in. This page was
83−the basic Urbit web interface. You can also access your urbit through
117+generated by Tree, the basic Urbit web interface. You can also access
84−`http://your-urbit.urbit.org`. Note that this latter approach is slower
118+your urbit through `https://your-urbit.urbit.org/~~/`. Note that this
85−for the time being because we proxy over the Urbit network, Ames, but a
119+latter approach is slower for the time being because we proxy over the
86−better, faster solution for this is in the works.
120+Urbit network, Ames, but a better, faster solution for this is in the
121+works.
87
122
88### Filesystem — Clay
123### Filesystem — Clay
89
124
90Clay, the Urbit filesystem, isn't mounted to Unix by default. Switch
125Clay, the Urbit filesystem, isn't mounted to Unix by default. Switch
91to the Dojo prompt and run:
126to the Dojo prompt and run:
92
127
128+```
93− ~your-urbit:dojo> |mount %
129+~your-urbit:dojo> |mount %
130+```
94
131
95This should produce:
132This should produce:
96
133
134+```
97− > |mount %
135+> |mount %
98− >=
136+>=
137+```
99
138
100which indicates the command was processed.
139which indicates the command was processed.
101
140
@@ -105,6 +144,7 @@ folder. Changes to these files are automatically synced into your urbit.
105## Learn more
144## Learn more
106
145
107If you're eager to get started programming you're ready to head over to
146If you're eager to get started programming you're ready to head over to
108−<a href="../../hoon/demo">the Hoon demo</a>.
147+[the Hoon section](../../hoon/mission/).
109
148
110To learn more about using the system, let's keep going:
149To learn more about using the system, let's keep going:
150+