@@ -34,7 +34,8 @@ a value, it prints that value out. To try this out, you have to start
3434the app, then you can poke it from the command line with the following
3535commands:
3636
37− ~fintud-macrep:dojo> |start %echo
37+ ~fintud-macrep:dojo> |start %examples-echo
38+ 'prep'
3839 >=
3940 ~fintud-macrep:dojo> :examples-echo 5
4041 [%argument 5]
@@ -57,7 +58,7 @@ do that is to poke it from the command line, which we we did with
5758`:echo 5` (`:[app-name] [argument(s)]`).
5859
5960In this case, `++poke-noun` takes an argument `arg` and prints it out
60−with `~&` ([sigpam](/hoon/twig/sig-hint/pam-dump/)). This is an unusual
61+with `~&` ([sigpam](../../hoon/twig/sig-hint/pam-dump/)). This is an unusual
6162rune that formally "does nothing", but the interpreter detects it and
6263printfs the first child, before executing the second as if the first
6364didn't exist. This is a slightly hacky way of printing to the console,
@@ -169,7 +170,7 @@ Run it with these commands:
169170
170171 ~fintud-macrep:dojo> |start %examples-pong
171172 >=
172− ~fintud-macrep:dojo> :pong &examples-urbit ~sampel-sipnym
173+ ~fintud-macrep:dojo> :examples-pong &urbit ~sampel-sipnym
173174 >=
174175
175176Replace `~sampel-sipnym` with another urbit. The easiest thing to do is
@@ -220,7 +221,7 @@ Let's walk through each of these elements step by step.
220221If you look up `++bone` in `hoon.hoon`, you'll see that it's a number
221222(`@ud`), and that it's an opaque reference to a duct. `++duct` in
222223hoon.hoon is a list of `wire`s, where `++wire` is an alias for `++path`.
223−`++path` is a list of `++span`s, which are ASCII text. Thus, a duct is a
224+`++path` is a list of `++knot`s, which are ASCII text. Thus, a duct is a
224225list of paths, and a bone is an opaque reference to it (in the same way
225226that a Unix file descriptor is an opaque reference to a file structure).
226227Thus, to truly understand bones, we must understand ducts.
@@ -234,7 +235,7 @@ Sometimes, the module can immediately handle the event and produce any
234235necessary results. For example, when we poked the `++poke-atom` arm
235236above, we poked %gall, our application server, which was able to respond
236237to our poke directly. When the module cannot service the request itself,
237−it sends instructions to another kernel module or application (the the
238+it sends instructions to another kernel module or application (through the
238239%gall module) to do a specified action, and produces the result from
239240that.
240241
@@ -283,7 +284,7 @@ The move ends with `*` (that is, any noun) since each type of move takes
283284different data. In our case, a `%poke` move takes a target (urbit and
284285app) and marked data, then pokes the arm of the corresponding mark on
285286that app on that urbit with that data. `[to-urbit-address %pong]` is the
286−target urbit and app, `%atom` is the mark`, and`'howdy'\` is the data.
287+target urbit and app, `%atom` is the `mark`, and`'howdy'` is the data.
287288
288289When arvo receives a `%poke` move, it calls the appropriate `++poke`.
289290The same mechanism is used for sending messages between apps on the same
@@ -304,7 +305,7 @@ urbit as for sending messages between apps on different urbits.
304305
305306- Write two apps, `even` and `odd`. When you pass an atom to `even`,
306307 check whether it's even. If so, divide it by two and recurse;
307− otherwise, poke `odd` with it. When `odd` recieves an atom, check
308+ otherwise, poke `odd` with it. When `odd` receives an atom, check
308309 whether it's equal to one. If so, terminate, printing "%success".
309310 Otherwise, check whether it's odd. If so, multiply it by three, add
310311 one, and recurse; otherwise, poke `even` with it. When either app
@@ -312,30 +313,30 @@ urbit as for sending messages between apps on different urbits.
312313 the end, you should be able to watch Collatz's conjecture play out
313314 between the two apps. Sample output:
314315
315−<!-- -->
316−
317− ~fintud-macrep:dojo> :even &atom 18
318− [%even 18]
319− [%odd 9]
320− [%even 28]
321− [%even 14]
322− [%odd 7]
323− [%even 22]
324− [%odd 11]
325− [%even 34]
326− [%odd 17]
327− [%even 52]
328− [%even 26]
329− [%odd 13]
330− [%even 40]
331− [%even 20]
332− [%even 10]
333− [%odd 5]
334− [%even 16]
335− [%even 8]
336− [%even 4]
337− [%even 2]
338− %success
316+```
317+~fintud-macrep:dojo> :even &atom 18
318+[%even 18]
319+[%odd 9]
320+[%even 28]
321+[%even 14]
322+[%odd 7]
323+[%even 22]
324+[%odd 11]
325+[%even 34]
326+[%odd 17]
327+[%even 52]
328+[%even 26]
329+[%odd 13]
330+[%even 40]
331+[%even 20]
332+[%even 10]
333+[%odd 5]
334+[%even 16]
335+[%even 8]
336+[%even 4]
337+[%even 2]
338+%success
339+```
339340
340341- Put `even` and `odd` on two separate urbits and pass the messages
341342 over the network. Post a link to a working solution in :talk to